資源描述:
《模糊PID參數(shù)自整定.docx》由會員上傳分享,免費在線閱讀,更多相關內容在行業(yè)資料-天天文庫。
1、模糊PID參數(shù)自整定設被控對象為523500,+87?35疋+10470$采樣時間為Inis,采樣模糊PID控制進行階躍響應,在第300個釆樣時間時控制加的干擾,相應的響應結果如下圖:Ki的錄屬度函數(shù)joae6aoKp的錄屬度函數(shù)-2-10123ecec的錄屬度函數(shù)下面是系統(tǒng)在外界有干擾輸入時普通PID和模糊PID參數(shù)自整定控制的階躍響應曲線:0.2°00.050.10.150.20.250.30.350.40.450.5time{s}模糊PID控制階躍響應_08=0.6°00.050.10.150.20.250.30.350.40.450.5time(s)普通PI
2、D控制階躍響應.從上面的仿真圖可以看出,經(jīng)過模糊PID參數(shù)自整定后,在外界干擾輸入時,可以得到很好的控制效果。下面是PID參數(shù)的整定曲線:.0.420.40.380.360.340.320.30.050.10.150.20.250.30.350.40.450.5time(s)Kp的自整定調整time(s)Ki的自整定調整time(s)Kd的自整定調整程序文本:%FuzzyTunningP1DControlclearal1;closealI;%Parameterea=newfis(fuzzpid*);a=addvar(at1input*,‘J,[-3.3]);a=ad
3、dmf(a,*input*tlt*NBr,'zmf',[-3,-1]);a=addmf(a,*input*.1,*NMr,1trimf1,[-3,-2,0])a=addmf(a,'input*tlt*NSr,rtrimfr,[-3,-1,l])t儲Parametereca=addmf(a,'input*,1/Z*,1triinf*t[-2,0,2]);a=addmf(at'input',lt'PS','trimf1,[T.1,3]);a=addmf(a,*input*.lt*PMr,*trinif*,[0.2,3]);a=addmf(a,*input',lt1PlV
4、,*smf*,[1,3]);a=addvar(at*inputr/ec*.[-3,3]);a=addmf(a,*input*,2,*a=addmf(a,"input'2'a=addmf(a,*input*2'a=addmf(a,*input*,2,'a=addmf(a,'input*,2.'■a=addmf(a,*input*,2,'a=addmf(a,*input't2,'a=addvar(a.*output*.'a=addmf(a,*output',1,a=addmf(a,'output*,1,a=addmf(a,'outputr,1,a=addmf(a,*ou
5、tput',1,a=addmf(a,*output',1,a=addmf(a,'outputr,1,a=addmf(a,'output1,1,NBr/zmfr,[-3,-l]);NMr/trimf[-3.-2,0]);NSr/trimf[-3.-ltl]);Z'Jtrinf.[-2.0.2]);PSr/trimf[-1,1,3]);[0.2,3]);PBr,rsmfr,[lt3]);kp',[,]);?NB'/zmfJJ);NS'?'trimf*.[?,]);Z','trimfr,[,0J):PS;trimf*丄,]);PM*,?trimf1,[0,J);PB
6、Tsmf■?[.]);%Parameterkp%Parameterkia=addvar(a.*output*.'kir,[.]);a=addmf(a,'output1.2,,*zmf*.[.]);a=addmf(a,'output*.2,'NM',1trimf*.[t,0]);a=addmf(at*output',2.?'11「“1?[?,]);a=addmf(a,'output'.2,'Z‘?'trimf*,[?0,]);a=addmf(a,'outputr,2,IS;11訕「?[.,]);a=addmf(a,'outputr.2,*PM*,*trimf*.[0
7、,tJ);a=addmf(a,'output*,2,*PB',*smf'?[.]);%Parameterkpa=addvar(a,*output',*kd1.[-3,3]);a=addmf(a,*outputf.3,*NB',*zmf'■[-3,-1]);a=addmf(a,*outputf.3,*NM*,*trimf1.[-3,-2.0]);a=addmf(a,'output*,3,*XS*,*trimf*.[-3,-1,1]);a=addmf(at'output*,3,Z,'trimf*,[-2.0,2]);a=addmf(at*output*,3,*PS*