資源描述:
《PID控制改進(jìn)算法的MATLAB仿真.doc》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。
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控制中,積分的目的是為了消除誤差提高精度,但在過程的啟動(dòng)、結(jié)束或大幅度增減設(shè)定是,短時(shí)間內(nèi)系統(tǒng)輸出有很大偏差,會(huì)造成PID運(yùn)算的積分積累,致使控制量超過執(zhí)行機(jī)構(gòu)可能允許的最大動(dòng)作范圍對(duì)應(yīng)的極限控制量,引起系統(tǒng)較大的超調(diào)
2、,甚至引起系統(tǒng)較大的振蕩,這在生產(chǎn)中是絕對(duì)不允許的。積分分離控制基本思路是,當(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)生過大的超調(diào),又使系統(tǒng)有較快的響應(yīng);3)當(dāng)時(shí),采用PID控制,以保證系統(tǒng)的控制精度。積分分離算法可表示為:式中,T為采樣時(shí)間,β為積分項(xiàng)的開關(guān)系數(shù),仿真1設(shè)備控對(duì)象為一個(gè)延遲對(duì)象,采樣周期為20s,延
3、遲時(shí)間為4個(gè)采樣周期,即80s。輸入信號(hào)r(k)=40,控制器輸出限制在[-110,110]。被控對(duì)象離散化為仿真方法:仿真程序:ex9_1.m。當(dāng)M=1時(shí)采用分段積分分離法,M=2時(shí)采用普通PID控制。%IntegrationSeparationPIDControllerclearall;closeall;ts=20;%Delayplantsys=tf([1],[60,1],'inputdelay',80);dsys=c2d(sys,ts,'zoh');[num,den]=tfdata(dsys,'v');u
4、_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--Usingintegrationseparation,M=2--Notusingintegrationseparation')M=input('whetherornotuseintegrationseparationmethod:')fork=1:1:200time(k)=k*ts;%輸出信號(hào)yout(k)=-
5、den(2)*y_1+num(2)*u_5;rin(k)=40;error(k)=rin(k)-yout(k);ei=ei+error(k)*ts;%積分項(xiàng)輸出ifM==1%使用分段積分分離ifabs(error(k))>=30&abs(error(k))<=40beta=0.3;elseifabs(error(k))>=20&abs(error(k))<=30beta=0.6;elseifabs(error(k))>=10&abs(error(k))<=20beta=0.9;elsebeta=1.0;ende
6、lseifM==2beta=1.0;endkp=0.80;ki=0.005;kd=3.0;u(k)=kp*error(k)+kd*(error(k)-error_1)/ts+beta*ki*ei;ifu(k)>=110%控制信號(hào)限幅u(k)=110;endifu(k)<=-110u(k)=-110;endu_5=u_4;u_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);end
7、figure(1);plot(time,rin,'b',time,yout,'r');xlabel('time(s)');ylabel('rin,yout');figure(2);plot(time,u,'r');xlabel('time(s)');ylabel('u');將仿真獲得結(jié)果的截圖附于如下空白處:當(dāng)M=1時(shí)采用分段積分分離法,如圖1-1所示;當(dāng)M=1時(shí)采用普通PID控制,如圖1-2所示。當(dāng)M=2時(shí)采用分段積分分離法,如圖1-3所示;當(dāng)M=2時(shí)采用普通PID控制,如圖1-4所示。圖1-1M=1時(shí)采用分
8、段積分分離法圖1-2M=1時(shí)采用普通PID控制圖1-3M=2時(shí)采用分段積分分離法圖1-4M=2時(shí)采用普通PID控制仿真結(jié)果分析:采用分段積分分離法的控制效果如圖1-1,圖1-3所示,分別與圖1-2,圖1-4對(duì)比可見采用分段積分分離法的控制系統(tǒng)的性能有了較大的改善。因此,通過仿真可得出:采用積分分離法,可以在系統(tǒng)誤差較大時(shí),取消積分作用,在誤差減小到某一值之后,再接上積分作用,這樣可以既