PID控制改進(jìn)算法的MATLAB仿真_第1頁(yè)
PID控制改進(jìn)算法的MATLAB仿真_第2頁(yè)
PID控制改進(jìn)算法的MATLAB仿真_第3頁(yè)
PID控制改進(jìn)算法的MATLAB仿真_第4頁(yè)
PID控制改進(jìn)算法的MATLAB仿真_第5頁(yè)
已閱讀5頁(yè),還剩28頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、 江蘇科技大學(xué) 電子信息學(xué)院 實(shí) 驗(yàn) 報(bào) 告評(píng)定成績(jī)指導(dǎo)教師宋英磊實(shí)驗(yàn)課程:計(jì)算機(jī)控制技術(shù)實(shí)驗(yàn)名稱:PID控制改進(jìn)算法的MATLAB仿真學(xué)號(hào): 姓名: 胡文千 班級(jí): 完成日期: 2015年 11月 16日一、 實(shí)驗(yàn)?zāi)康模?)對(duì)PID數(shù)字控制的改進(jìn)算法用MATLAB進(jìn)行仿真。二、 實(shí)驗(yàn)內(nèi)容1、積分分離PID控制算法在普通PID控制中,積分的目的是為了消除誤差提高精度,但在過(guò)程的啟動(dòng)、結(jié)束或大幅度增減設(shè)定是,短時(shí)間內(nèi)系統(tǒng)輸出有很大偏差,會(huì)造成PID運(yùn)算的積分積累,致使控制量超過(guò)執(zhí)行機(jī)構(gòu)可能允許的最大動(dòng)作范圍對(duì)應(yīng)的極限控制量,引起系統(tǒng)較大的超調(diào),甚至引起系統(tǒng)較大的振蕩,這在生產(chǎn)中是絕對(duì)不允許的。積

2、分分離控制基本思路是,當(dāng)被控量與設(shè)定值偏差較大時(shí),取消積分作用,以免由于積分作用使系統(tǒng)穩(wěn)定性降低,超調(diào)量增大;當(dāng)被控量接近給定值時(shí),引入積分控制,以便消除靜差,提高控制精度。其具體實(shí)現(xiàn)步驟是:1) 根據(jù)實(shí)際情況,人為設(shè)定閾值0;2) 當(dāng) 時(shí),采用PD控制,可避免產(chǎn)生過(guò)大的超調(diào),又使系統(tǒng)有較快的響應(yīng);3) 當(dāng)時(shí),采用PID控制,以保證系統(tǒng)的控制精度。積分分離算法可表示為:式中,T為采樣時(shí)間,為積分項(xiàng)的開(kāi)關(guān)系數(shù), 仿真1 設(shè)備控對(duì)象為一個(gè)延遲對(duì)象,采樣周期為20s,延遲時(shí)間為4個(gè)采樣周期,即80s。輸入信號(hào)r(k)=40,控制器輸出限制在-110,110。被控對(duì)象離散化為仿真方法:仿真程序:ex9

3、_1.m。當(dāng)M=1時(shí)采用分段積分分離法,M=2時(shí)采用普通PID控制。%Integration Separation PID Controllerclear all;close all; ts=20;%Delay plantsys=tf(1,60,1,inputdelay,80);dsys=c2d(sys,ts,zoh);num,den=tfdata(dsys,v); u_1=0;u_2=0;u_3=0;u_4=0;u_5=0;y_1=0;y_2=0;y_3=0;error_1=0;error_2=0;ei=0; % M=1分段積分分離,M=2普通PIDdisp(M=1-Using integr

4、ation separation,M=2-Not using integration separation)M=input(whether or not use integration separation method:)for k=1:1:200time(k)=k*ts; %輸出信號(hào)yout(k)=-den(2)*y_1+num(2)*u_5; rin(k)=40;error(k)=rin(k)-yout(k);ei=ei+error(k)*ts;%積分項(xiàng)輸出 if M=1 %使用分段積分分離 if abs(error(k)=30&abs(error(k)=20&abs(error(k)=

5、10&abs(error(k)=110 % 控制信號(hào)限幅 u(k)=110;endif u(k)umax,則只累加負(fù)偏差;若u(k-1)=um u(k)=um;endif u(k)=um if error(k)0 alpha=0; else alpha=1; endelseif u(k)0 alpha=1; else alpha=0; endelse alpha=1;end elseif M=2 %Not using intergration sturation alpha=1; end %Return of PID parametersu_3=u_2;u_2=u_1;u_1=u(k); y_

6、3=y_2;y_2=y_1;y_1=yout(k);error_1=error(k); x(1)=error(k); % 計(jì)算比例項(xiàng)x(2)=(error(k)-error_1)/ts; % 計(jì)算微分項(xiàng)x(3)=x(3)+alpha*error(k)*ts; % 計(jì)算積分項(xiàng) xi(k)=x(3);endfigure(1);subplot(311);plot(time,rin,b,time,yout,r);xlabel(time(s);ylabel(Position tracking);subplot(312);plot(time,u,r);xlabel(time(s);ylabel(Contr

7、oller output);subplot(313);plot(time,xi,r);xlabel(time(s);ylabel(Integration);將仿真獲得結(jié)果的截圖附于如下空白處:當(dāng)M=1時(shí)采用抗積分飽和算法,如圖1-5所示;當(dāng)M=2時(shí)采用普通PID算法,如圖1-6所示。圖1-5 M=1時(shí)采用抗積分飽和算法圖1-6 M=2時(shí)采用普通PID算法仿真結(jié)果分析: 由圖1-5,圖1-6對(duì)比可得,加上抗積分飽和后超調(diào)量明顯減小,而且系統(tǒng)能較快的達(dá)到穩(wěn)定值,系統(tǒng)的穩(wěn)定性和精確性得到改善。3、不完全微分PID控制算法在PID控制中,微分信號(hào)的引入可改善系統(tǒng)的動(dòng)態(tài)特性,但也易引入高頻干擾,在誤差擾

8、動(dòng)突變時(shí)尤其顯出微分項(xiàng)的不足。若在控制算法中加入低通濾波器,則可使系統(tǒng)性能得到改善。具體做法就是在PID算法中加入一個(gè)一階慣性環(huán)節(jié)(低通濾波器),Tf為濾波器系數(shù)??傻么藭r(shí)的微分項(xiàng)輸出為,其中,Ts為采樣時(shí)間,TD為微分時(shí)間常數(shù)。 仿真3 被控對(duì)象為時(shí)滯系統(tǒng)傳遞函數(shù),在對(duì)象的輸出端加幅值為0.01的隨機(jī)信號(hào)。采樣周期為20ms。采用不完全微分算法,。所加的低通濾波器為仿真方法:仿真程序:ex11.m。M=1時(shí)采用不完全微分,M=2時(shí)采用普通PID算法%PID Controler with Partial differentialclear all;close all;ts=20;sys=tf(

9、1,60,1,inputdelay,80);dsys=c2d(sys,ts,zoh);num,den=tfdata(dsys,v); u_1=0;u_2=0;u_3=0;u_4=0;u_5=0; %控制信號(hào)初值ud_1=0; %uD(k-1)初值y_1=0;y_2=0;y_3=0; %輸出信號(hào)初值error_1=0;ei=0; %M=1選擇不完全微分,M=2選擇普通PIDdisp(M=1Using Partial differential PID,M=2- Using PID Controler without Partial differential)M=input(whether or n

10、ot use Partial differential PID:)for k=1:1:100time(k)=k*ts;rin(k)=1.0; yout(k)=-den(2)*y_1+num(2)*u_5; %輸出信號(hào)差分方程D(k)=0.01*rands(1);%干擾信號(hào)yout(k)=yout(k)+D(k); %加入干擾后的輸出信號(hào)error(k)=rin(k)-yout(k);ei=ei+error(k)*ts; %矩形面積求和計(jì)算的積分項(xiàng)輸出kp=0.30;ki=0.0055;TD=140;kd=kp*TD/ts; Tf=180;%Q的濾波器系數(shù)Q=tf(1,Tf,1); %低通濾波器

11、if M=1 %M=1時(shí)用不完全微分 alfa=Tf/(ts+Tf); ud(k)=kd*(1-alfa)*(error(k)-error_1)+alfa*ud_1; u(k)=kp*error(k)+ud(k)+ki*ei; ud_1=ud(k);elseif M=2 %M=2時(shí)用普通PID u(k)=kp*error(k)+kd*(error(k)-error_1)+ki*ei;end%輸出限幅if u(k)=10 u(k)=10;endif u(k)=110 u(k)=110;endif u(k)=-110 u(k)=-110;end%Update parametersu_5=u_4;u

12、_4=u_3;u_3=u_2;u_2=u_1;u_1=u(k);y_3=y_2;y_2=y_1;y_1=yout(k); error_2=error_1;error_1=error(k);endfigure(1);plot(time,rin,r,time,yout,b);xlabel(time(s);ylabel(rin,yout);figure(2);plot(time,u,r);xlabel(time(s);ylabel(u);將仿真獲得結(jié)果的截圖附于如下空白處:當(dāng)M=1時(shí)使用普通PID算法,如圖1-9所示;當(dāng)M=1時(shí)使用微分先行PID算法,如圖1-10所示。當(dāng)M=2時(shí)使用普通PID算法,

13、如圖1-11所示;當(dāng)M=2時(shí)使用微分先行PID算法,如圖1-12所示。圖1-9 M=1時(shí)使用普通PID算法圖1-10 M=1時(shí)使用微分先行PID算法圖1-11 M=2時(shí)使用普通PID算法圖1-12 M=2時(shí)使用微分先行PID算法仿真結(jié)果分析: 通過(guò)比較微分先行與普通PID算法的輸出可發(fā)現(xiàn),當(dāng)輸入r(t)具有高頻干擾信號(hào)時(shí),采用微分先行PID算法,只對(duì)輸出進(jìn)行微分,可以避免給定值頻繁升降引起的振蕩,從而改善系統(tǒng)動(dòng)態(tài)特性。5、帶死區(qū)的PID控制算法某些系統(tǒng)為了避免控制作用過(guò)于頻繁,消除由于頻繁動(dòng)作所引起的振蕩,可采用帶死區(qū)的PID控制算法,控制算法為:,式中e(k)為位置跟蹤偏差,B為可調(diào)的死區(qū)參

14、數(shù),具體可根據(jù)實(shí)際控制對(duì)象由試驗(yàn)確定。若B太小,會(huì)使控制動(dòng)作過(guò)于頻繁,達(dá)不到穩(wěn)定被控對(duì)象的目的;若B太大,則系統(tǒng)將產(chǎn)生較大的滯后。仿真5 設(shè)被控對(duì)象為,采樣周期為1ms,對(duì)象輸出上有一個(gè)幅值為0.5的正態(tài)分布的隨機(jī)干擾信號(hào)。采用積分分離式PID控制算法進(jìn)行階躍響應(yīng),取=0.2,死區(qū)參數(shù)B=0.1,采用低通濾波器對(duì)對(duì)象輸出信號(hào)進(jìn)行濾波,濾波器為,設(shè)計(jì)代碼對(duì)控制系統(tǒng)進(jìn)行仿真。仿真代碼:%PID Controler with dead zoneclear all;close all; ts=0.001;sys=tf(5.235e005,1,87.35,1.047e004,0);dsys=c2d(sy

15、s,ts,z);num,den=tfdata(dsys,v); u_1=0;u_2=0;u_3=0;u_4=0;u_5=0;y_1=0;y_2=0;y_3=0;yy_1=0;error_1=0;error_2=0;ei=0; sys1=tf(1,0.04,1); %Low Freq Signal Filterdsys1=c2d(sys1,ts,tucsin);num1,den1=tfdata(dsys1,v);f_1=0; %M=1選擇普通積分分離式PID,M=2選擇帶死區(qū)的積分分離式PID算法disp(M=1-Using common integration seperation PID C

16、ontroler ,M=2- Using integration seperation PID Controler with dead zone)M=input(whether or not use integration seperation PID Controler with dead zone:); for k=1:1:2000time(k)=k*ts; rin(k)=1; %Step Signal %Linear modelyout(k)=-den(2)*y_1-den(3)*y_2-den(4)*y_3+num(2)*u_1+. num(3)*u_2+num(4)*u_3; D(k

17、)=0.50*rands(1); %Disturbance signalyyout(k)=yout(k)+D(k); %Low frequency filterfilty(k)=-den1(2)*f_1+num1(1)*(yyout(k)+yy_1);error(k)=rin(k)-filty(k); if abs(error(k)=0.20 ei=ei+error(k)*ts;else ei=0;end kp=0.50;ki=0.10;kd=0.020;u(k)=kp*error(k)+ki*ei+kd*(error(k)-error_1)/ts; if M=1 u(k)=u(k);else

18、if M=2 %Using Dead zone if abs(error(k)=10 u(k)=10;endif u(k)=-10 u(k)=-10;end%-Return of PID parameters-rin_1=rin(k);u_3=u_2;u_2=u_1;u_1=u(k); y_3=y_2;y_2=y_1;y_1=yout(k); f_1=filty(k);yy_1=yyout(k); error_2=error_1;error_1=error(k);endfigure(1);subplot(211);plot(time,rin,r,time,filty,b);xlabel(tim

19、e(s);ylabel(rin,yout);subplot(212);plot(time,u,r);xlabel(time(s);ylabel(u);figure(2);plot(time,D,r);xlabel(time(s);ylabel(Disturbance signal);將仿真獲得結(jié)果的截圖附于如下空白處:當(dāng)M=1采用普通PID控制算法如圖1-13所示,干擾信號(hào)D(k)如圖1-15所示;當(dāng)M=2時(shí)采用帶死區(qū)PID控制算法,如圖1-14所示,干擾信號(hào)D(k)如圖1-16所示。圖1-13 M=1采用普通PID控制算法圖1-14 M=2采用帶死區(qū)PID控制算法圖1-15 M=1時(shí)干擾信號(hào)

20、D(k)圖1-16 M=2時(shí)干擾信號(hào)D(k)仿真結(jié)果分析: 帶死區(qū)的PID的控制對(duì)控制器的輸出有較好的控制作用,使得實(shí)際的直接控制對(duì)象執(zhí)行器的閥門(mén)開(kāi)度更加穩(wěn)定,波形變化大大減小,在控制精度要求不太高,控制過(guò)程要求盡量平穩(wěn)的場(chǎng)合,為了避免控制動(dòng)作過(guò)于頻繁,消除由此產(chǎn)生的震蕩,可以認(rèn)為設(shè)置一靈敏區(qū)。死區(qū)是一可調(diào)參數(shù),參數(shù)太小,調(diào)節(jié)動(dòng)作過(guò)于頻繁,達(dá)不到穩(wěn)定控制的目的,參數(shù)太大,又會(huì)產(chǎn)生很大的純滯后。三、 實(shí)驗(yàn)總結(jié)由以上5例仿真實(shí)驗(yàn)中可以得出以下結(jié)論:(1) 采用分段積分分離法的控制效果如圖1-1,圖1-3所示,分別與圖1-2,圖1-4對(duì)比可見(jiàn)采用分段積分分離法的控制系統(tǒng)的性能有了較大的改善。因此,通

21、過(guò)仿真可得出:采用積分分離法,可以在系統(tǒng)誤差較大時(shí),取消積分作用,在誤差減小到某一值之后,再接上積分作用,這樣可以既減小超調(diào)量,改善系統(tǒng)動(dòng)態(tài)特性,又保持了積分作用。(2) 采用抗積分飽和PID方法,可以避免控制量長(zhǎng)時(shí)間停留在飽和區(qū),防止系統(tǒng)產(chǎn)生超調(diào)量。并且,調(diào)節(jié)時(shí)間和峰值時(shí)間變短,系統(tǒng)響應(yīng)速度變快,系統(tǒng)跟蹤曲線更加平穩(wěn)光滑,動(dòng)態(tài)誤差減小。由圖1-5,圖1-6對(duì)比可得,加上抗積分飽和后超調(diào)量明顯減小,而且系統(tǒng)能較快的達(dá)到穩(wěn)定值,系統(tǒng)的穩(wěn)定性和精確性得到改善。(3) 引入不完全微分后,能有效地克服普通PID的不足。仿真結(jié)果,曲線光滑平整,擾動(dòng)較小,穩(wěn)定裕度得到提高,動(dòng)態(tài)偏差減小,振蕩頻率降低,很好地改善了該系統(tǒng)的動(dòng)態(tài)特性。 由圖1-7,圖1-8對(duì)比可得,采用不完全微分法能夠抑制高頻干擾,數(shù)字控制器輸出的微分作用能在各個(gè)采樣周期按照誤差變化的趨勢(shì)均勻地輸出,有效地改善

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論