版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、頁眉內(nèi)容實(shí)驗(yàn)二數(shù)字PID控制計(jì)算機(jī)控制是一種采樣控制,它只能根據(jù)采樣時(shí)刻的偏差值計(jì)算控制量。因此連續(xù)PID控制算法不能直接使用,需要采用離散化方法。在計(jì)算機(jī)PID控制中,使用的是數(shù)字PID控制器。一、位置式PID控制算法按模擬PID控制算法,以一系列的采樣時(shí)刻點(diǎn) kT代表連續(xù)時(shí)間t,以矩形 法數(shù)值積分近似代替積分,以一階后向差分近似代替微分,可得離散PID位置式表達(dá)式:式中,ki ,kd kpTD, e為誤差信號(hào)(即PID控制器的輸入),u為控制 Ti信號(hào)(即控制器的輸出)。在仿真過程中,可根據(jù)實(shí)際情況,對(duì)控制器的輸出進(jìn)行限幅。二、連續(xù)系統(tǒng)的數(shù)字PID控制仿真連續(xù)系統(tǒng)的數(shù)字PID控制可實(shí)現(xiàn)D/
2、A及A/D的功能,符合數(shù)字實(shí)時(shí)控制的 真實(shí)情況,計(jì)算機(jī)及DSP的實(shí)時(shí)PID控制都屬于這種情況1. Ex3設(shè)被控對(duì)象為一個(gè)電機(jī)模型傳遞函數(shù) G(s) 一一 ,式中Js2 BsJ=0.0067,B=0.1。輸入信號(hào)為 0.5sin(2 t),采用 PD 控制,其中 kp 20, kd0.5采用ODE45方法求解連續(xù)被控對(duì)象方程。y2因?yàn)镚(s)Y(s)U(s)J/1?所以J竽嚕-另,1 y,y2人則y1 y2.(B/J)y2 (1/J)*u,因此連續(xù)對(duì)象微分方程函數(shù)ex3f.m如下function dy = ex3f(t,y,flag,para)u=para;J=0.0067;B=0.1;dy=z
3、eros(2,1);dy(1) = y(2);dy(2) = -(B/J)*y(2) + (1/J)*u;控制主程序ex3.mclear all;close all;ts=0.001; %采樣周期xk=zeros(2,1);%被控對(duì)象經(jīng)A/D轉(zhuǎn)換器的輸出信號(hào)y的初值e_1=0;%誤差 e(k-1)初值u_1=0;%控制信號(hào)u(k-1)初值for k=1:1:2000 %k為采樣步數(shù)time(k) = k*ts; %time 中存放著各采樣時(shí)刻rin(k)=0.50*sin(1*2*pi*k*ts); % 計(jì)算輸入信號(hào)的采樣值para=u_1;% D/AtSpan=0 ts;tt,xx=ode4
4、5('ex3f,tSpan,xk,para); %ode45® 系統(tǒng)微分方程%xx有兩列,第一列為tt時(shí)刻對(duì)應(yīng)的y,第二列為tt時(shí)刻對(duì)應(yīng)的y導(dǎo)數(shù) xk = xx(end,:); % A/D ,提取xx中最后一行的值,即當(dāng)前y和y導(dǎo)數(shù) yout(k)=xk(1); %xk(1) 即為當(dāng)前系統(tǒng)輸出采樣值y(k)e(k)=rin(k)-yout(k);% 計(jì)算當(dāng)前誤差de(k)=(e(k)-e_1)/ts; % 計(jì)算 u(k)中微分項(xiàng)輸出 u(k)=20.0*e(k)+0.50*de(k);% 計(jì)算當(dāng)前 u(k) 的輸出 %控制信號(hào)限幅if u(k)>10.0 u(k)=10
5、.0;endif u(k)<-10.0 u(k)=-10.0;end% 更新 u(k-1)和 e(k-1)u_1=u(k);e_1=e(k);endfigure(1);plot(time,rin,'r',time,yout,'b');% 輸入輸出信號(hào)圖xlabel('time(s)'),ylabel('rin,yout');figure(2);plot(time,rin-yout,'r');xlabel('time(s)'),ylabel('error');% 誤差圖程序運(yùn)行結(jié)
6、果顯示表1所示。表1程序運(yùn)行結(jié)果輸入輸出圖誤差圖分析:輸出跟隨輸入,PD控制中,微分控制可以改善動(dòng)態(tài)特性,調(diào)節(jié)時(shí)間縮短,允許加大比例控制,使穩(wěn)態(tài)誤差減小,提高了控制精度. .523500一 一2. Ex4被控對(duì)象是一個(gè)三階傳遞函數(shù) -523500,米用Simulinks 87.35s10470s與m文件相結(jié)合的形式,利用ODE45方法求解連續(xù)對(duì)象方程,主程序由Simulink模塊實(shí)現(xiàn),控制器由m文件實(shí)現(xiàn)。輸入信號(hào)為一個(gè)采樣周期 1ms的正弦信號(hào)。采用PID方法設(shè)計(jì)控制器,其中kp 1.5, ki 2,kd 0.05。誤差初始化由時(shí)鐘功能實(shí)現(xiàn),從而在 m文件中實(shí)現(xiàn)了誤差的積分和微分控制主程序:e
7、x4.mdl控制子程序:ex4f.mfunction u=ex4f(u1,u2)%u1 為Clock, u2為圖2-1 中Sumjg塊輸出的誤差信號(hào) e 的采樣值persistent errori error_1if u1=0%當(dāng)Clock=0時(shí),即初始時(shí),e(k)=e(k-1)=0errori=0error_1=0endts=0.001;kp=1.5;ki=2.0;kd=0.05;error=u2;errord=(error-error_1)/ts;%一階后向差分誤差信號(hào)表示的誤差微分errori=errori+error*ts;%累積矩形求和計(jì)算的誤差的積分u=kp*error+kd*er
8、rord+ki*errori;% 由PID算式得出的當(dāng)前控制信號(hào) u(k) error_1=error;%誤差信號(hào)更新圖2-1 Simulink仿真程序其程序運(yùn)行結(jié)果如表2所示。Matlab輸出結(jié)果errori =0error_1 =0表2例4程序運(yùn)行結(jié)果kp=1.5;ki=2.0;kd=0.05;kp=3.5;ki=2.0;kd=0.05;三、離散系統(tǒng)的數(shù)字PID控制仿真-5235001. Ex5設(shè)被控對(duì)象為G(s)-5235200,采樣時(shí)間為1ms,對(duì)其S3 87.35s2 10470 s進(jìn)行離散化。針對(duì)離散系統(tǒng)的階躍信上 離散PID控制器。其中S為信號(hào)選擇 蹤,S=3時(shí)為正弦跟蹤。求出G
9、(s)對(duì)應(yīng)的離散形式G(z)則可以得到其對(duì)應(yīng)的差分表達(dá)式仿真程序:ex5.m%PID Controller人正弦信號(hào)和方波信號(hào)的位置響應(yīng),設(shè)計(jì) 變量,S=1時(shí)是階躍跟蹤,S=2時(shí)為方波跟丫 ,其中Y(z)和U(z)是關(guān)于z的多項(xiàng)式,U(z)clear all;close all;ts=0.001;%采樣周期sys=tf(5.235e005,1,87.35,1.047e004,0);%S空對(duì)象連續(xù)傳遞函數(shù)dsys=c2d(sys,ts,'z');%專換成離散z傳遞函數(shù)的形式num,den=tfdata(dsys,'v');%提取z傳遞函數(shù)中的分子和分母多項(xiàng)式系數(shù)
10、u_1=0.0;u_2=0.0;u_3=0.0;%u(k-1> u(k-2)、u(k-3)的初值y_1=0.0;y_2=0.0;y_3=0.0; %y(k-1)、y(k-2)、y(k-3)的初值x=0,0,0' % 比例、微分、積分項(xiàng)的初值error_1=0;%e(k-1)的初值disp('S=1-step,S=2-sin,S=3-square')% S=階躍,S=2方波,S=3正弦 S=input('Number of input signal S:')% 接收輸入信號(hào)代號(hào)for k=1:1:1500time(k)=k*ts;% 各采樣時(shí)刻if
11、S=1%階躍輸入時(shí)%各項(xiàng)PID系數(shù)%階躍信號(hào)輸入%各項(xiàng)PID系數(shù)%方波信號(hào)輸入%各項(xiàng)PID系數(shù)%正弦信號(hào)輸入%PID控制信號(hào)輸出u(k)kp=0.50;ki=0.001;kd=0.001;rin(k)=1;elseif S=2kp=0.50;ki=0.001;kd=0.001;rin(k)=sign(sin(2*2*pi*k*ts);elseif S=3kp=1.5;ki=1.0;kd=0.01;rin(k)=0.5*sin(2*2*pi*k*ts);endu(k)=kp*x(1)+kd*x(2)+ki*x(3);%控制信號(hào)輸出限幅if u(k)>=10u(k)=10;endif u(k
12、)<=-10u(k)=-10;end%根據(jù)差分方程計(jì)算系統(tǒng)當(dāng)前輸出y(k)yout(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;error(k)=rin(k)-yout(k);% 當(dāng)前誤差%更新 u(k-1)、u(k-2)、u(k-3)、y(k-1)、y(k-2)、y(k-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);乂二的他);%比例輸出x(2)=(error(k)-error_1)/ts;% 微分輸出x(3)=x(3)+erro
13、r(k)*ts;%積分輸出error_1=error(k);% 更新 e(k-1)endfigure(1);% 作圖plot(time,rin,'r',time,yout,'b');xlabel('time(s)'),ylabel('rin,yout');其程序運(yùn)行結(jié)果如表3所示。kp=0.50;ki=0.001;kd=0.001;kp=1.50;ki=0.001;kd=0.001;S=1階躍跟蹤S=2方波跟蹤S=3正弦跟蹤2. Ex6針對(duì)于Ex5被控對(duì)象所對(duì)應(yīng)的離散系統(tǒng),設(shè)計(jì)針對(duì)三角波、鋸齒波 和隨機(jī)信號(hào)的位置式響應(yīng)。仿真程序:
14、ex6.m。程序中當(dāng)S=1時(shí)為三角波,S=2時(shí)為鋸齒波,S=3時(shí)為 隨機(jī)信號(hào)。如果D=1,則通過pause命令實(shí)現(xiàn)動(dòng)態(tài)演示仿真。%PID Controllerclear all;close all;ts=0.001;sys=tf(5.235e005,1,87.35,1.047e004,0);dsys=c2d(sys,ts,'z');num,den=tfdata(dsys,'v');u_1=0.0;u_2=0.0;u_3=0.0;r_1=rand;y_1=0;y_2=0;y_3=0;x=0,0,0'error_1=0;disp('S=1-Trian
15、gle,S=2-Sawtooth,S=3-Random')% S=£角,S=2鋸齒,S=3 隨機(jī)S=input('Number of input signal S:')% 接收輸入信號(hào)代號(hào)disp('D=1-Dynamic display,D=1-Direct display')%D=1 動(dòng)畫顯示,D=1 直接 顯示D=input('D=')for k=1:1:3000頁眉內(nèi)容time(k)=k*ts;kp=1.0;ki=2.0;kd=0.01;if S=1 %Triangle Signalif mod(time(k),2)&l
16、t;1rin(k)=mod(time(k),1);elserin(k)=1-mod(time(k),1);endrin(k)=rin(k)-0.5;endif S=2 %Sawtooth Signal rin(k)=mod(time(k),1.0);endif S=3 %Random Signalrin(k)=rand;vr(k)=(rin(k)-r_1)/ts; %Max speed is 5.0while abs(vr(k)>=5.0 rin(k)=rand;vr(k)=abs(rin(k)-r_1)/ts);endendu(k)=kp*x(1)+kd*x(2)+ki*x(3); %
17、PID Controller %Restricting the output of controllerif u(k)>=10 u(k)=10;endif u(k)<=-10 u(k)=-10;endyout(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;error(k)=rin(k)-yout(k);r_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);x(1)=error(k);%Calculating Px(2
18、)=(error(k)-error_1)/ts; %Calculating Dx(3)=x(3)+error(k)*ts;%Calculating Ixi(k)=x(3);error_1=error(k);if D=1 %Dynamic Simulation Displayplot(time,rin,'b',time,yout,'r');pause(0.000001);endendplot(time,rin,'r',time,yout,'b');xlabel('time(s)');ylabel('rin,y
19、out');Matlab 運(yùn)行結(jié)果為:S=1-Triangle,S=2-Sawtooth,S=3-RandomNumber of input signal S:1(2、 3)S =1D=1-Dynamic display,D=0-Direct display %D=1 動(dòng)畫顯示,D=1 直接顯示D=0D =0%D=0 直接顯示,如果D=1 ,則通過 pause 命令實(shí)現(xiàn)動(dòng)態(tài)演示仿真。其程序運(yùn)行結(jié)果如表4 所示。表 4 程序運(yùn)行結(jié)果S=1 d=1S=2 d=1S=3 d=1分析:s=1時(shí)為三角波的位置式響應(yīng),s=2時(shí)為鋸齒波的位置式響應(yīng);s=3 時(shí)為隨機(jī)信號(hào)的位置式響應(yīng)。3. Ex7采用
20、Simulink實(shí)現(xiàn)PID控制器的設(shè)計(jì),如圖2-2所示,其中離散PID 控制的子系統(tǒng)如圖2-3所示,其封裝界面如圖2-4所示。仿真程序:ex7.mdl圖2-2離散PID控制的Simulink主程序圖2-3離散PID控制的Simulink控制器程序圖2-4離散PID控制的封裝界面其程序運(yùn)行結(jié)果如表5所示。表5 Simulink仿真結(jié)果Kp=0.5;Ki=0.001;Kd=0.001;T=0.001Kp=1.5;Ki=0.01;Kd=0.01;T=0.001分析:位置式PID控制算法的缺點(diǎn)是,由于采用全量輸出,所以每次輸出 均與過去的狀態(tài)有關(guān),計(jì)算時(shí)要對(duì) e(k)量進(jìn)行累加,計(jì)算機(jī)輸出控制量 u(
21、k)對(duì)應(yīng) 的是執(zhí)行機(jī)構(gòu)的實(shí)際位置偏差,如果位置傳感器出現(xiàn)故障,u(k)可能會(huì)出現(xiàn)大幅度變化。u (k)大幅度變化會(huì)引起執(zhí)行機(jī)構(gòu)未知的大幅度變化,這種情況在生產(chǎn) 中是不允許的,在某些重要場(chǎng)合還可能造成重大事故。為了避免這種情況的發(fā)生, 可采用增量式PID控制算法。四、增量式PID控制算法及仿真當(dāng)執(zhí)行機(jī)構(gòu)需要的是控制量的增量(例如驅(qū)動(dòng)步進(jìn)電機(jī))時(shí),應(yīng)采用增量式 PID控制,根據(jù)遞推原理可得增量式 PID控制算法為Ex8設(shè)被控對(duì)象G(s)2400 ,采用增量式控制算法,PID控制參數(shù)s 50skp 8,ki 0.1, kd 10。仿真程序:ex8.m%Increment PID Controller
22、clear all;close all;ts=0.001;sys=tf(400,1,50,0);dsys=c2d(sys,ts,'z');num,den=tfdata(dsys,'v');u_1=0.0;u_2=0.0;u_3=0.0;y_1=0;y_2=0;y_3=0;x=0,0,0'error_1=0;error_2=0;for k=1:1:1000time(k)=k*ts;rin(k)=1.0;kp=8;ki=0.10;kd=10;du(k)=kp*x(1)+kd*x(2)+ki*x(3);u(k)=u_1+du(k);if u(k)>=10
23、u(k)=10;endif u(k)<=-10u(k)=-10;endyout(k)=-den(2)*y_1-den(3)*y_2+num(2)*u_1+num(3)*u_2;error=rin(k)-yout(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);x(1)=error-error_1;%Calculating Px(2)=error-2*error_1+error_2; %Calculating Dx(3)=error;%Calculating I error_2=error_1;error_1=error;en
24、dplot(time,rin,'b',time,yout,'r');xlabel('time(s)');ylabel('rin,yout');其程序運(yùn)行結(jié)果如圖5所示。分析:增量式PID控制算法計(jì)算的誤差小。由于他只輸出控制量,所以誤動(dòng) 作時(shí)影響小,系統(tǒng)的超調(diào)及振動(dòng)也少。由于控制算法中不需要累加,控制增量Au(k) 僅與最近k次的采樣有關(guān),所以誤動(dòng)作影響小,而且較容易通過加權(quán)處理獲得比 較好的控制效果。仿真程序ex8.m運(yùn)行結(jié)果:PID控制參數(shù)kp 8,ki 01kd 10。圖5增量式PID控制算法仿真結(jié)果實(shí)驗(yàn)三PID控制的改進(jìn)算
25、法在計(jì)算機(jī)控制系統(tǒng)中,PID控制是通過計(jì)算機(jī)程序?qū)崿F(xiàn)的,因此靈活性很大。一些原來在模擬PID控制器中無法實(shí)現(xiàn)的問題,在引入計(jì)算機(jī)以后,就可以得 到解決,于是產(chǎn)生了一系列的改進(jìn)算法,形成非標(biāo)準(zhǔn)的控制算法,以改善系統(tǒng)品 質(zhì),滿足不同控制系統(tǒng)的需要。一、積分分離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),甚至引起系統(tǒng)較大的振蕩,這在生產(chǎn)中是絕對(duì)不允 許的。積分分離控制基本思路是,當(dāng)被控量與設(shè)定
26、值偏差較大時(shí),取消積分作用,以免由于積分作用使系統(tǒng)穩(wěn)定性降低,超調(diào)量增大;當(dāng)被控量接近給定值時(shí),引入積分控制,以便消除靜差,提高控制精度。其具體實(shí)現(xiàn)步驟是:1)根據(jù)實(shí)際情況,人為設(shè)定閾值e >02)當(dāng)|e(k)|時(shí),采用PD控制,可避免產(chǎn)生過大的超調(diào),又使系統(tǒng)有較快的響應(yīng);3)當(dāng)|e(k)時(shí),采用PID控制,以保證系統(tǒng)的控制精度積分分離算法可表示為:式中,T為采樣時(shí)間,B為積分項(xiàng)的開關(guān)系數(shù),1 ©k)l0 ©k)lEx9設(shè)備控對(duì)象為一個(gè)延遲對(duì)象G(s)80se60s 1采樣周期為20s,延遲時(shí)間為4個(gè)采樣周期,即80s。輸入信號(hào)r(k)=40,控制器輸出限制在-110
27、,110kp 0.8,ki0.005, kd3被控對(duì)象離散化為 y(k) den(2)y(k 1) num(2)u(k 5)仿真方法一:仿真程序:ex9_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=
28、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 integration separation,M=2-Not using integration separation') M=input('whether or not use integration separation method:')for k=1:1:200time(k)=k*ts;頁眉內(nèi)容%輸出信號(hào)yout(k)=-den(2)*y_1+num(2)*u
29、_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)<=40 beta=0.3;elseif abs(error(k)>=20&abs(error(k)<=30beta=0.6;elseif abs(error(k)>=10&abs(error(k)<=20 beta=0.9;elsebeta=1.0;endelseif M=2beta=1.0;endkp=0.80;ki
30、=0.005;kd=3.0;u(k)=kp*error(k)+kd*(error(k)-error_1)/ts+beta*ki*ei;if u(k)>=110% 控制信號(hào)限幅u(k)=110;endif u(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);endfigure(1);plot(time,rin,'b',time,yout,'r');xlabe
31、l('time(s)');ylabel('rin,yout');figure(2);plot(time,u,'r');xlabel('time(s)');ylabel('u');其程序運(yùn)行結(jié)果表1所示。表1例9仿真方法一結(jié)果m=1m=2輸入輸出信號(hào)控制信號(hào)分析:積分飽和的防止方法有積分分離法和預(yù)限削弱法。積分作用使系統(tǒng)穩(wěn) 定性降低,超調(diào)量增大。比較仿真結(jié)果,當(dāng)被控量與設(shè)定值偏差較大時(shí),刪除積k分作用,以使e(j)不至過大。只有當(dāng)e(k)較小時(shí)方引入積分作用,以消除靜j 0差,提高控制精度,控制量不宜進(jìn)入飽和區(qū)。仿真
32、方法二:采用Simulink仿真初始化程序ex9_2f.mclear all;close all;ts=20;sys=tf(1,60,1,'inputdelay',80);dsys=c2d(sys,ts,'zoh');num,den=tfdata(dsys,'v');kp=1.80;ki=0.05;kd=0.20;Simulink 主程序 ex9_2f.mdl,如圖 3-1 所示。圖3-1 Simulink主程序其運(yùn)行結(jié)果如表2所示。表2 Simulink仿真結(jié)果PID參數(shù)kp=1.80;ki=0.05;kd=0.20kp=1.80;ki=0.0
33、1;kd=0.20仿真結(jié)果分析:由圖可知,積分時(shí)間常數(shù)能消除系統(tǒng)的穩(wěn)態(tài)誤差, 提高系統(tǒng)控制精度, 只有當(dāng)積分時(shí)間常數(shù)合適時(shí),過度過程的特性才比較理想。積分時(shí)間常數(shù)過小, 系統(tǒng)震蕩次數(shù)多,積分時(shí)間常數(shù)過大,對(duì)系統(tǒng)性能影響減少。二、抗積分飽和PID控制算法所謂積分飽和是指若系統(tǒng)存在一個(gè)方向的偏差,PID控制器的輸出由于積分作用的不斷累加而加大,從而導(dǎo)致執(zhí)行機(jī)構(gòu)達(dá)到極限位置Xmax ,若控制器輸出u(k)繼續(xù)增大,閥門開度不可能在增大,此時(shí)就稱計(jì)算機(jī)輸出控制超出正常運(yùn)行 范圍而進(jìn)入了飽和區(qū)。一旦系統(tǒng)出現(xiàn)反向偏差,u(k)逐漸從飽和區(qū)推出。進(jìn)入飽和區(qū)越深,則退出飽和區(qū)所需時(shí)間越長(zhǎng)。在這段時(shí)間內(nèi),執(zhí)行機(jī)
34、構(gòu)仍停留在極限 位置而不能隨偏差反向立即作出相應(yīng)的改變,這時(shí)系統(tǒng)就像失去控制一樣,造成控制性能惡化。這種現(xiàn)象稱為積分飽和現(xiàn)象或積分失控現(xiàn)象。抗積分飽和的思路是,在計(jì)算 u(k)時(shí),首先判斷上一時(shí)刻的控制量 u(k-1)是否已超出限制范圍。若u(k-1)>umax,則只累加負(fù)偏差;若u(k-1)<umin,則只累加正偏差。這種算法可以避免控制量長(zhǎng)時(shí)間停留在飽和區(qū)Ex10設(shè)被控對(duì)象為G(s)523500s3 87.35s2 10470 s采樣周期1ms。輸入r(k)=30, kp 0.85,ki9,kd0仿真程序:ex10.m。M=1時(shí)采用抗積分飽和算法,M=2時(shí)采用普通PID算法。%
35、PID Controler with intergration sturationclear all;close all;ts=0.001;sys=tf(5.235e005,1,87.35,1.047e004,0);dsys=c2d(sys,ts,'z');num,den=tfdata(dsys,'v');u_1=0.0;u_2=0.0;u_3=0.0;y_1=0;y_2=0;y_3=0;x=0,0,0'error_1=0;um=6;%控制信號(hào)限幅值kp=0.85;ki=9.0;kd=0.0;rin=30;%Step Signal% M=1抗積分飽和,M
36、=2普通PIDdisp('M=1-Using intergration sturation,M=2-Not using iintergration sturation') M=input('whether or not use integration separation method:') for k=1:1:800time(k)=k*ts;u(k)=kp*x(1)+kd*x(2)+ki*x(3);% PID Controllerif u(k)>=umu(k)=um;endif u(k)<=-umu(k)=-um;end%Linear modely
37、out(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;頁眉內(nèi)容error(k)=rin-yout(k);if M=1 %Using intergration sturationif u(k)>=umif error(k)>0alpha=0;elsealpha=1;endelseif u(k)<=-umif error(k)>0alpha=1;elsealpha=0;endelsealpha=1;endelseif M=2 %Not using intergration stu
38、ration alpha=1;end%Return of PID parametersu_3=u_2;u_2=u_1;u_1=u(k);y_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(
39、39;time(s)');ylabel('Position tracking');subplot(312);plot(time,u,'r');xlabel('time(s)');ylabel('Controller output');subplot(313);plot(time,xi,'r');xlabel('time(s)');ylabel('Integration');其運(yùn)行結(jié)果如表3所示。表3例10仿真結(jié)果M=1時(shí)采用抗積分飽和算法M=2時(shí)采用抗積分飽和算法分析:比較仿
40、真結(jié)果知,采用普通的算法時(shí),積分項(xiàng)的存在,有時(shí)可能會(huì)引 起積分飽和,增加系統(tǒng)的調(diào)整時(shí)間和超調(diào)量,而采用了抗積分飽和的方法,可以 消除靜態(tài)誤差,使控制量不易進(jìn)入飽和區(qū),即使進(jìn)入了,也能較快,系統(tǒng)的輸出 特性得到了一定改善。三、不完全微分PID控制算法在PID控制中,微分信號(hào)的引入可改善系統(tǒng)的動(dòng)態(tài)特性,但也易引入高頻干 擾,在誤差擾動(dòng)突變時(shí)尤其顯出微分項(xiàng)的不足。 若在控制算法中加入低通濾波器, 則可使系統(tǒng)性能得到改善。具體做法就是在PID算法中加入一個(gè)一階慣性環(huán)節(jié)1(低通濾波器),Tf為濾波器系數(shù)。1 Tfs可得此時(shí)的微分項(xiàng)輸出為TfTd (k)UD(k 1) kp- e(k) e(k 1)Ts
41、TfTs Tf,其中Kd(1) e(k) e(k 1)Up(k 1)Tf Ud* 1), Kd kpTD , Ts為采樣時(shí)間,Td為微分時(shí)間常數(shù)。Ts TfTs80sEx11被控對(duì)象為時(shí)滯系統(tǒng)傳遞函數(shù) G(s)-,在對(duì)象的輸出端加幅值60s 1為0.01的隨機(jī)信號(hào)。采樣周期為20ms。采用不完全微分算法,kp0.3,ki0.0055,Td140。1所加的低通濾波器為Q(s) 1180s 1仿真程序:ex11.m。M=1時(shí)采用不完全微分,M=2時(shí)采用普通PID%PID Controler with Partial differentialclear all;close all;ts=20;sys
42、=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; %空制信號(hào)初值ud_1=0;%uD(k-1)初值y_1=0;y_2=0;y_3=0; %輸出信號(hào)初值error_1=0;ei=0;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)
43、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);%低通濾波器%M=1選擇不完全微分,M=2選擇普通PIDdisp('M=1 Using Partial differential PID,M=2- Using PID Controler without Partial differential')M=input('
44、;whether or not use Partial differential PID:')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í)用普通 PIDu(k)=kp*error(k)+kd*(error(k)-error_1)+ki*ei;end%輸出限幅if u(k)>=10u(k)=10;endif u(k)<=-10u(k)=-10;en
45、d%更新采樣值u_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_1=error(k);endfigure(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');figure(3);p
46、lot(time,rin-yout,'r');xlabel('time(s)');ylabel('error');figure(4);bode(Q,'r');dcgain(Q);其運(yùn)行結(jié)果如表4所示。分析:比較m=1與m=2的圖可得知:在標(biāo)準(zhǔn)PID算式中,當(dāng)有階躍信號(hào)輸 入時(shí),微分想輸出急劇增加,容易引起調(diào)節(jié)過程的震蕩,導(dǎo)致品質(zhì)因數(shù)下降,為 了克服這點(diǎn)才引入不完全微分的 PID算法。其微分作用逐漸下降,微分輸出信 號(hào)按指數(shù)規(guī)律逐漸衰減到零,因而系統(tǒng)變化比較緩慢,不容易引起振蕩。微分控 制可以改善動(dòng)態(tài)特性,如超調(diào)量減少,調(diào)節(jié)時(shí)間縮短
47、,使穩(wěn)態(tài)誤差減少,提高控 制精度。表4例11運(yùn)行結(jié)果M=1時(shí)米用不完全微分M=2時(shí)采用普通PID輸入信號(hào)1(藍(lán)線)輸出信號(hào)(紅線)采樣輸出誤差輸出Bode 圖四、微分線性PID控制算法微分線性的PID控制結(jié)構(gòu)如圖3-2所示,其特點(diǎn)是只對(duì)輸出量y(k)進(jìn)行微分, 而對(duì)給定值r(k)不進(jìn)行微分。這樣,在改變給定值時(shí),輸出不會(huì)改變,而被控量 的變化通常是比較緩和的,它適用于給定值r(k)頻繁升降的場(chǎng)合,可以避免給定值升降時(shí)引起的系統(tǒng)振蕩,從而改善系統(tǒng)的動(dòng)態(tài)特性。圖3-2微分先行PID控制結(jié)構(gòu)圖令微分部分的傳遞函數(shù)為 匹01,式中 一1一相當(dāng)于低通y(s)TdS 1TdS 1濾波器則有TdduD由差分
48、得:TUD(k) UD(k 1)UD(k)Tdy(k) y(k 1)y(k)整理得微分部分的輸出:ud (k)CiUd (k1)c2y(k) c3y(k 1)其中 CiTD- ,c2-TD , 03Td TTd TTdTdT比例積分部分的傳遞函數(shù)為:Upi(s)IIsTkpTiS,其中Ti為積分時(shí)間常數(shù)。離散控制算式為u(k) upi(k)UD(k)80SEx12設(shè)被控對(duì)象為一個(gè)延遲對(duì)象 G(s)60s 1采樣周期為20so輸入信號(hào)為帶有高頻干擾的方波信號(hào):r(t) sgn(sin(0.0005 t) 0.05sin(0.03 t)普通PID控制中kp 0.36, ki0.0021,kd14。
49、微分先行PID 中=0.5。仿真程序:ex12.m。M=1時(shí)使用微分先行PID, M=2使用普通PID%PID Controler with differential in advanceclear all;close all;ts=20;sys=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;ud_1=0;y_1=0;y_2=0;y_3=0;error_1=0;error_2=0;ei
50、=0;dyu dT dydt%M=1使用微分先行PID , M=2使用普通PIDdisp('M=1?aUsing PID Controler with differential in advance ,M=2- Using commonPID Controler')M=input('whether or not use PID Controler with differential in advance:');for k=1:1:400time(k)=k*ts;%Linear modelyout(k)=-den(2)*y_1+num(2)*u_5;kp=0.36
51、;kd=14;ki=0.0021;rin(k)=1.0*sign(sin(0.00025*2*pi*k*ts);rin(k)=rin(k)+0.05*sin(0.03*pi*k*ts);error(k)=rin(k)-yout(k);ei=ei+error(k)*ts;gama=0.50;Td=kd/kp;c1=gama*Td/(gama*Td+ts);c2=(Td+ts)/(gama*Td+ts);c3=Td/(gama*Td+ts);if M=1 %PID Control with differential in advanceud(k)=c1*ud_1+c2*yout(k)-c3*y_1
52、;u(k)=kp*error(k)+ud(k)+ki*ei;elseif M=2 %Simple PID Controlu(k)=kp*error(k)+kd*(error(k)-error_1)/ts+ki*ei;endif u(k)>=110u(k)=110;endif u(k)<=-110u(k)=-110;end%Update parametersu 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);endfigure(1);
53、plot(time,rin,'r',time,yout,'b');xlabel('time(s)');ylabel('rin,yout');figure(2);plot(time,u,'r');xlabel('time(s)');ylabel('u');其運(yùn)行結(jié)果如表5所示。分析:微分先行PID算法將微分算法放在前面,適用于給定量頻繁升降的場(chǎng) 合,可以避免給定值升降時(shí)引起的系統(tǒng)振蕩,從而改善系統(tǒng)的動(dòng)態(tài)特性。表5例12仿真結(jié)果M=1時(shí)使用微分先行PIDM=2使用普通PID輸入輸 出圖采
54、樣圖五、帶死區(qū)的PID控制算法某些系統(tǒng)為了避免控制作用過于頻繁,消除由于頻繁動(dòng)作所引起的振蕩,可采用帶死區(qū)的PID控制算法,控制算法為:e(k)0 e(k)e(k) e(k)B ,式中e(k)B為位置跟蹤偏差,B為可調(diào)的死區(qū)參數(shù),具體可根據(jù)實(shí)際控制對(duì)象由試驗(yàn)確定。若B太小,會(huì)使控制動(dòng)作過于頻繁,達(dá)不到穩(wěn)定被控對(duì)象的目的;若B太大,則系統(tǒng)將產(chǎn)生較大的滯后Ex13設(shè)被控對(duì)象為G(s)523500287.35s2 10470 s,采樣周期為1ms,對(duì)象輸出上有一個(gè)幅值為0.5的正態(tài)分布的隨機(jī)干擾信號(hào)。采用積分分離式PID控制算法進(jìn)行階躍響應(yīng),取=0.2,死區(qū)參數(shù)B=0.1,采用低通濾波器對(duì)對(duì)象輸出信
55、號(hào)1進(jìn)行濾波,濾波器為Q(s)1。0.04s 1仿真程序:ex13.m。M=1時(shí),采用一般積分分離式 PID控制算法,M=2時(shí) 采用帶死區(qū)的積分分離式PID控制算法。%PID Controler with dead zoneclear all;close all;ts=0.001;sys=tf(5.235e005,1,87.35,1.047e004,0);dsys=c2d(sys,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
56、_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 Controler ,M=2- Usingintegration 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)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2019粵教版 高中美術(shù) 選擇性必修2 中國書畫 《第二單元 中國書法》大單元整體教學(xué)設(shè)計(jì)2020課標(biāo)
- 2024屆河北省邯鄲市六校第一次教學(xué)質(zhì)量檢測(cè)試題(合肥一模)數(shù)學(xué)試題
- 茶樓合伙協(xié)議書范本
- 北京統(tǒng)一租賃房屋租賃合同
- 童謠兒歌我來讀活動(dòng)
- 腎臟移植手術(shù)
- 山東省濱州市2024-2025學(xué)年八年級(jí)上學(xué)期期中考試語文試題(含答案)
- 湖南省益陽市赫山區(qū)箴言龍光橋?qū)W校2024-2025學(xué)年一年級(jí)上學(xué)期期中考試數(shù)學(xué)試題(無答案)
- 【初中地理】影響氣候的因素課件-2024-2025學(xué)年湘教版地理七年級(jí)上冊(cè)
- 電影機(jī)械行業(yè)相關(guān)投資計(jì)劃提議
- 醫(yī)院藥房人員培訓(xùn)課件
- 2024年度Logo設(shè)計(jì)及品牌形象重塑合同
- 2024-2030年中國干細(xì)胞醫(yī)療行業(yè)趨勢(shì)分析及投資戰(zhàn)略研究報(bào)告
- 消防安全培訓(xùn)內(nèi)容
- 2024-2030年鋁型材行業(yè)市場(chǎng)深度調(diào)研及前景趨勢(shì)與投資戰(zhàn)略研究報(bào)告
- 2024-2030年辣椒種植行業(yè)市場(chǎng)深度分析及發(fā)展策略研究報(bào)告
- 變電站綠化維護(hù)施工方案
- 校園展美 課件 2024-2025學(xué)年人美版(2024)初中美術(shù)七年級(jí)上冊(cè)
- 初中英語研修方案
- 2024版《糖尿病健康宣教》課件
- 化工廠拆除施工方案
評(píng)論
0/150
提交評(píng)論