PID控制實(shí)驗(yàn)報告.doc_第1頁
PID控制實(shí)驗(yàn)報告.doc_第2頁
PID控制實(shí)驗(yàn)報告.doc_第3頁
PID控制實(shí)驗(yàn)報告.doc_第4頁
PID控制實(shí)驗(yàn)報告.doc_第5頁
已閱讀5頁,還剩27頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、實(shí)驗(yàn)二數(shù)字 PID 控制計算機(jī)控制是一種采樣控制,它只能根據(jù)采樣時刻的偏差值計算控制量。因此連續(xù)PID控制算法不能直接使用,需要采用離散化方法。在計算機(jī)PID 控制中,使用的是數(shù)字PID控制器。一、位置式PID控制算法按模擬PID控制算法,以一系列的采樣時刻點(diǎn)kT代表連續(xù)時間t,以矩形法數(shù)值積分近似代替積分,以一階后向差分近似代替微分,可得離散PID位置式表達(dá)式:式中, kik p,k dk pTD ,e 為誤差信號(即 PID 控制器的輸入),u 為控制信號(即控制器的TI輸出)。在仿真過程中,可根據(jù)實(shí)際情況,對控制器的輸出進(jìn)行限幅。二、連續(xù)系統(tǒng)的數(shù)字PID 控制仿真連續(xù)系統(tǒng)的數(shù)字 PID

2、控制可實(shí)現(xiàn) D/A 及 A/D 的功能,符合數(shù)字實(shí)時控制的真實(shí)情況,計算機(jī)及 DSP 的實(shí)時 PID 控制都屬于這種情況。1 Ex3 設(shè)被控對象為一個電機(jī)模型傳遞函數(shù)G (s)1Bs ,式中 J=0.0067,B=0.1。輸入信Js2號為 0.5 sin( 2t ) ,采用 PD 控制,其中 k p 20,k d0.5。采用 ODE45 方法求解連續(xù)被控對象方程。因 為 G ( s)Y( s)1, 所 以d 2 ydyu , 另 y1 y, y2 y , 則U ( s)Js2J2BBsdtdty1y2,因此連續(xù)對象微分方程函數(shù)ex3f.m 如下y2 ( B /2 J(1)/ yJ ) * uf

3、unction dy = ex3f(t,y,flag,para)u=para;J=0.0067;B=0.1;dy=zeros(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);%被控對象經(jīng) A/D 轉(zhuǎn)換器的輸出信號 y的初值e_1=0;%誤差 e(k-1)初值u_1=0;%控制信號 u(k-1)初值for k=1:1:2000 %k為采樣步數(shù)time(k) = k*ts; %time 中存放著各采樣時刻 rin(k)=0.50*si

4、n(1*2*pi*k*ts); % 計算輸入信號的采樣值para=u_1;% D/AtSpan=0 ts;tt,xx=ode45(ex3f,tSpan,xk,para); %ode45解系統(tǒng)微分方程%xx有兩列,第一列為 tt時刻對應(yīng)的 y,第二列為 tt時刻對應(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);% 計算當(dāng)前誤差de(k)=(e(k)-e_1)/ts; %計算 u(k)中微分項(xiàng)輸出u(k)=20.0*e(k

5、)+0.50*de(k);% 計算當(dāng)前 u(k)的輸出%控制信號限幅if u(k)10.0u(k)=10.0;endif u(k)=10u(k)=10;endif u(k)=-10u(k)=-10;end%根據(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)

6、;y_3=y_2;y_2=y_1;y_1=yout(k);x(1)=error(k);%比例輸出x(2)=(error(k)-error_1)/ts;%微分輸出x(3)=x(3)+error(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

7、Ex6 針對于 Ex5 被控對象所對應(yīng)的離散系統(tǒng),設(shè)計針對三角波、 鋸齒波和隨機(jī)信號的位置式響應(yīng)。仿真程序:ex6.m。程序中當(dāng) S=1 時為三角波, S=2 時為鋸齒波, S=3 時為隨機(jī)信號。如果 D=1,則通過 pause命令實(shí)現(xiàn)動態(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;

8、x=0,0,0;error_1=0;disp(S=1-Triangle,S=2-Sawtooth,S=3-Random)% S=1三角, S=2鋸齒, S=3隨機(jī) S=input(Number of input signal S:)%接收輸入信號代號disp(D=1-Dynamic display,D=1-Direct display)%D=1 動畫顯示, D=1直接顯示 D=input(D=)for k=1:1:3000time(k)=k*ts;kp=1.0;ki=2.0;kd=0.01;if S=1%Triangle Signalif mod(time(k),2)=5.0rin(k)=ra

9、nd;vr(k)=abs(rin(k)-r_1)/ts);endendu(k)=kp*x(1)+kd*x(2)+ki*x(3); %PID Controller %Restricting the output of controller if u(k)=10u(k)=10;endif u(k)=10u(k)=10;endif u(k)0;2)當(dāng) e(k)時,采用 PD 控制,可避免產(chǎn)生過大的超調(diào),又使系統(tǒng)有較快的響應(yīng);3)當(dāng) e(k)時,采用 PID 控制,以保證系統(tǒng)的控制精度。積分分離算法可表示為:式中, T 為采樣時間, 為積分項(xiàng)的開關(guān)系數(shù),1| e(k) |0| e(k) |e 80 s

10、Ex9 設(shè)備控對象為一個延遲對象 G (s),采樣周期為 20s,延遲時間為 4 個采樣周期,60s1即 80s。輸入信號 r(k)=40,控制器輸出限制在 -110,110。 k p 0.8, ki 0.005, kd 3被控對象離散化為 y(k )den(2) y(k 1) num( 2)u(k5)仿真方法一: 仿真程序: ex9_1.m。當(dāng) M=1 時采用分段積分分離法,M=2 時采用普通 PID 控制。%Integration Separation PID Controllerclear all;close all;ts=20;%Delay plantsys=tf(1,60,1,inp

11、utdelay,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 integration separation,M=2-Not using integration separation)M=input(whether or not use integration separation method:)for k=1:1:200ti

12、me(k)=k*ts;%輸出信號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)=10&abs(error(k)=110u(k)=110;endif u(k)umax,則只累加負(fù)偏差;若 u(k-1)=umu(k)=um;endif u(k)=umif error(k)0alpha=0;elsealpha=1;endelseif u(k)0a

13、lpha=1;elsealpha=0;endelsealpha=1;endelseif M=2%Not using intergration sturationalpha=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);% 計算比例項(xiàng)x(2)=(error(k)-error_1)/ts;% 計算微分項(xiàng)x(3)=x(3)+alpha*error(k)*ts;% 計算積分項(xiàng)xi(k)=x(3);endfigure(1);

14、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(Controller output);subplot(313);plot(time,xi,r);xlabel(time(s);ylabel(Integration);其運(yùn)行結(jié)果如表3 所示。表3 例 10仿真結(jié)果M=1 時采用抗積分飽和算法M=2 時采用抗積分飽和算法分析 : 比較仿真結(jié)果知,采用普通的算法時,積分項(xiàng)的存在,有時可能

15、會引起積分飽和,增加系統(tǒng)的調(diào)整時間和超調(diào)量, 而采用了抗積分飽和的方法, 可以消除靜態(tài)誤差, 使控制量不易進(jìn)入飽和區(qū),即使進(jìn)入了,也能較快,系統(tǒng)的輸出特性得到了一定改善。三、不完全微分PID 控制算法在 PID 控制中,微分信號的引入可改善系統(tǒng)的動態(tài)特性,但也易引入高頻干擾,在誤差擾動突變時尤其顯出微分項(xiàng)的不足。 若在控制算法中加入低通濾波器, 則可使系統(tǒng)性能得到改善。 具體做法就是在 PID 算法中加入一個一階慣性環(huán)節(jié)(低通濾波器)1,T f 為濾波器系數(shù)。1 T f s可得此時的微分項(xiàng)輸出為uD (k)Tfk pTDe(k )e(k 1)uD (k 1)Ts T f,其中Ts T fKD(

16、1) e(k )e( k1)uD (k1)T f1),KDk p TD ,Ts 為采樣時間, TD 為微分時間常數(shù)。TsuD (kTfTsEx11 被控對象為時滯系統(tǒng)傳遞函數(shù)G( s)e 80 s,在對象的輸出端加幅值為0.01的隨機(jī)信號。60 s1采樣周期為 20ms。采用不完全微分算法, k p0.3, ki0.0055,TD140 。所加的低通濾波器為Q (s)1180s1仿真程序: ex11.m。M=1 時采用不完全微分, M=2 時采用普通 PID%PID Controler with Partial differentialclear all;close all;ts=20;sys

17、=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;%uD(k-1) 初值y_1=0;y_2=0;y_3=0;%輸出信號初值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; % 輸出信號差分方程D(k)=0.01*rands(1);% 干擾信號yout(k)=yout(k)+D(k); % 加入干擾后的

18、輸出信號error(k)=rin(k)-yout(k);ei=ei+error(k)*ts; % 矩形面積求和計算的積分項(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(whether or not use Partial differentia

19、l PID:)if M=1%M=1 時用不完全微分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 時用普通 PIDu(k)=kp*error(k)+kd*(error(k)-error_1)+ki*ei;end%輸出限幅if u(k)=10u(k)=10;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);plot(time,rin,r,time,yout,b);xlabel(time(s);ylabel(rin,yout);figure(2);plot(time,u,r);xla

溫馨提示

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

評論

0/150

提交評論