《計算機(jī)仿真大作業(yè)姚雷陽班.doc》由會員分享,可在線閱讀,更多相關(guān)《計算機(jī)仿真大作業(yè)姚雷陽班.doc(23頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、
《計算機(jī)仿真》
MATLAB課程設(shè)計報告
學(xué)院: 自動化學(xué)院
專業(yè): 自動化專業(yè)
班級: 2011211410
姓名: 姚雷陽
學(xué)號: 2011211977
2013年12月27日
0
計算機(jī)仿真期末大作業(yè)
計算機(jī)仿真大作業(yè)
摘要:本次計算機(jī)仿真大作業(yè)主要是利用Matlab進(jìn)行操作的。
內(nèi)容主要涉及對Matlab程序文件的寫入和讀出、函數(shù)式的表達(dá)、波形的繪制,應(yīng)用Simul
2、ink建立子系統(tǒng)并對子系統(tǒng)進(jìn)行封裝,以及對PID控制器的參數(shù)進(jìn)行整定這三個方面。
PID的參數(shù)整定要用到Simulink建立系統(tǒng),并且要設(shè)計M文件,采用編程法求取系統(tǒng)階躍響應(yīng)的性能指標(biāo)。
關(guān)鍵詞: PID整定法 Simulink 子系統(tǒng)封裝 M文件
1
目錄
一、基本操作 1
1、寫文件操作 1
2、讀文件數(shù)據(jù)并畫圖操作 2
3、構(gòu)造新函數(shù)并繪圖操作 2
4、讀取數(shù)據(jù)
3、繪制傳遞函數(shù)波特圖操作 4
二、子系統(tǒng)封裝 4
1、用Simulink建立系統(tǒng) 5
2、觀察輸入輸出波形 6
3、數(shù)據(jù)導(dǎo)出 7
三、PID 控制器參數(shù)整定 9
1、采用工程整定法分別設(shè)置控制器參數(shù) 9
1.1先建立原控制系統(tǒng)的Simulink仿真模型 9
1.2對原控制系統(tǒng)進(jìn)行仿真 9
1.3在該控制系統(tǒng)中引入PID控制器 10
1.4求取系統(tǒng)臨界穩(wěn)定增益并設(shè)置參數(shù) 11
2、PID控制仿真并繪圖 13
2.1 P控制仿真 13
2.2 PI控制仿真 15
2.3PID控制仿真 16
4、3、制作M文件求取系統(tǒng)階躍響應(yīng)性能指標(biāo) 17
四、總結(jié) 19
五、參考文獻(xiàn) 20
1
一、基本操作
1、寫文件操作
程序?qū)崿F(xiàn):
1.1 自己定義一組數(shù)據(jù),并將其保存到文件data.dat。要求第一列為時間t(t為等差數(shù)列,0≤t≤200);第二列為與t對應(yīng)的201個幅值數(shù)據(jù),作為信號f 1 (t )的幅值;第三列為按s的降冪排列的傳遞函數(shù)分子系數(shù);第四列為按s的降冪排列的分母系數(shù)。第三列、第四列的數(shù)據(jù)個數(shù)不能超過5個。
MATLAB文本:
>> a=0:1:200;
>> b= random(Poisson,0:2
5、00,1,201);
>> c=[9 8 6 2 1];
>> d=[7 5 4 3 1];
>> fid=fopen(d:\data.dat,wt);
>> fprintf(fid,%4d,a);
>> fprintf(fid,\n);
>> fprintf(fid,%4d,b);
>> fprintf(fid,\n);
>> fprintf(fid,%4d,c);
>> fpri
6、ntf(fid,\n);
>> fprintf(fid,%4d,d);
>>fclose(fid);
圖1 data.dat 的讀入
2、讀文件數(shù)據(jù)并畫圖操作
2.1讀入data.dat數(shù)據(jù),畫出f 1 (t )的時域波形。
MATLAB文本:
fid=fopen(d:\data.dat,rt);
>> t=fscanf(fid,%d,201);
>> f1=fscanf(fid,%d,201);
>> fclose(fid);
7、
>> plot(t,f1)
title(f1-t曲線圖);
xlabel(t);ylabel(f1);
圖2 f1曲線圖
3、構(gòu)造新函數(shù)并繪圖操作
3.1
求取f 2 (t ),將結(jié)果保存到result.mat文件,畫出其時域波形。
MATLAB文本:
for n=1:10
f2(n)=2*f1(n);
end
for n=11:100
if abs(f1(n))<15
8、f2(n)=f1(n)*f1(n);
else
f2(n)=f1(n-3);
end
end
for n=101:201
f2(n)=f1(n-3);
end
plot(t,f2)
title(f2-t曲線圖);
xlabel(t);ylabel(f2);
fid=fopen(d:\result.mat,wt);
fprintf(fid,%4d,f2);
fclose(fid);
圖3 f2曲線圖
4、讀取數(shù)據(jù)繪制傳遞函數(shù)波特圖操作
4.1 按 data.dat中的第三
9、列、第四列,求取其對應(yīng)的傳遞函數(shù),繪制其bode圖。
fid=fopen(d:\data.dat,rt);
f=fscanf(fid,%d,402);
num=fscanf(fid,%d,5);
den=fscanf(fid,%d,5);
fclose(fid);
num1=ctranspose(num);
den1=ctranspose(den);
Gs=tf(num1,den1)
Gs =
9 s^4 + 8 s^3 + 6 s^2 + 2 s + 1
-
10、------------------------------
7 s^4 + 5 s^3 + 4 s^2 + 3 s + 1
Continuous-time transfer function.
bode(Gs)
圖4 系統(tǒng)波特圖
二、子系統(tǒng)封裝
1、用Simulink建立系統(tǒng)
程序要求:
1.1用 SIMULINK 建立系統(tǒng):y = ax 3+ bx + c,x為輸入,y為輸出,a、b、c 為常數(shù)。對該系統(tǒng)進(jìn)行封裝,要求通過對話框能修改a、b、c的值。
圖5 未封裝系統(tǒng)
11、 圖6 封裝后系統(tǒng)
圖7 參數(shù)更改界面
2、觀察輸入輸出波形
2.1若輸入x為幅度為5、頻率為0.25Hz的鋸齒波,采用示波器顯示輸出y及輸入x的波形。
圖8 輸入x波形
圖9 輸出y波形
3、數(shù)據(jù)導(dǎo)出
3.1將輸入x和輸出y導(dǎo)入到工作空間,并采用plot命令,將兩個波形在同一波形窗口顯示,帶網(wǎng)格線、圖例。
Matlab文本:
>> x=sim
12、out;
>> y=simout1;
>> plot(x);
>> hold on;
>> plot(y);
>> x=simout;
>>y=simout1;
>>plot(x,r);
>>hold on;
>>plot(y,k);
>> grid on
>> legend(x,y)
圖10 輸入輸出導(dǎo)入工作空間
圖11 導(dǎo)入工作空間的波形
三、PID 控制器參數(shù)整定
某控制系統(tǒng)的開環(huán)傳遞函數(shù)為,采用單位負(fù)反饋。
程序要求:
(1)試采用工
13、程整定法,設(shè)置合適的P、PI、PID控制器的參數(shù)。
(2)將仿真時間定為300秒,繪制整定后的系統(tǒng)的單位階躍響應(yīng)曲線。
(3)設(shè)計M文件,采用編程法求取系統(tǒng)階躍響應(yīng)性能指標(biāo):超調(diào)量、調(diào)節(jié)時間。
1、采用工程整定法分別設(shè)置控制器參數(shù)
1.1先建立原控制系統(tǒng)的Simulink仿真模型
圖12 原系統(tǒng)仿真模型
1.2對原控制系統(tǒng)進(jìn)行仿真
輸入為單位階躍函數(shù),得階躍響應(yīng)如圖13所示,可知原控制系統(tǒng)是不穩(wěn)定的。
圖13 原系統(tǒng)仿真輸出波形圖
1.3在該控制系
14、統(tǒng)中引入PID控制器
采用工程整定法中的臨界比例度法來設(shè)置合適的P、PI、PID控制器參數(shù)。引入PID控制器后的系統(tǒng)仿真模型如圖14所示。
圖14 封裝前的仿真模型
圖15 封裝后仿真模型
通過下面的對話框可以修改個各比例系數(shù)的值。
圖16 修改比例系數(shù)截圖
1.4求取系統(tǒng)臨界穩(wěn)定增益并設(shè)置參數(shù)
采用工程整定法進(jìn)行PID調(diào)整。具體做法是:令Ti為無窮,Td為零,只有Kp控制系統(tǒng);首先,隨意設(shè)置一個增益Kp(初始值一般
15、為1)并且不斷加大或者減小Kp,直到系統(tǒng)出現(xiàn)等幅震蕩,可以測出Kp=0.9的時候,系統(tǒng)恰好出現(xiàn)等幅震蕩情況,此時的比例系數(shù)稱為臨界增益,用Kc表示。
圖17 Kp=0.9臨界震蕩波形
求此時震蕩周期Tc:
Matlab 文本:
>> num=9;
>> den=[1 1 10 1];
>> G1=tf(num,den);
>> G=feedback(G1,1);
>> step(G)
圖18 matlab仿真臨界震蕩波形 Tcr=2s
根據(jù)整定法公式,計算所需參數(shù)。
表1 經(jīng)驗法公式
根據(jù)表
16、1可以求得各個控制器的參數(shù):
P控制:K=0.45
PI控制:K=0.405 Ti=1.66
PID控制:K=0.54 Ti=1 Td=0.24
2、PID控制仿真并繪圖
2.1 P控制仿真
將I,D連線斷開,設(shè)置Pk為0.45,比例控制系統(tǒng)的單位階躍響應(yīng)波形如下:
圖19 Kp=0.45(P) 波形(1)
圖20 Kp=0.45(P) 波形(2)
P值的改變只改變信號的增益而不影響其相位。
從圖中可以看出,經(jīng)過調(diào)整P值參數(shù),系統(tǒng)的超調(diào)量和調(diào)節(jié)時間(動態(tài)性能)有很大的提高,但是造成了一定的穩(wěn)態(tài)誤差(因為此時Kp<1)。
2.2 PI控制仿真
比
17、例積分控制系統(tǒng)的單位階躍響應(yīng):
圖21 Kp=0.405 Ti=1.66 (PI) 波形(1)
圖22 Kp=0.405 Ti=1.66 (PI) 波形(2)
從圖中可以看出,在P控制的基礎(chǔ)上加入I控制后,形成PI控制,系統(tǒng)穩(wěn)態(tài)誤差有所減少,但是超調(diào)量和調(diào)節(jié)時間有所加大,這可以看出,PI控制適用于對系統(tǒng)穩(wěn)態(tài)誤差(穩(wěn)態(tài)性能)要求精度大,但是對于調(diào)節(jié)時間(動態(tài)性能)要求精度小的實際模型。
2.3PID控制仿真
將仿真時間定為300秒,繪制整定后的系統(tǒng)的單位階躍響應(yīng)曲線(PID)。 比例積分微分控制下的單位階躍響應(yīng):
圖23 Kp=0.
18、54 Ti=1Td=0.24(PID) 波形(1)
圖24 Kp=0.54 Ti=1Td=0.24(PID) 波形(2)
由圖形可以看出,PID控制后,無論是穩(wěn)態(tài)誤差(穩(wěn)態(tài)性能)還是調(diào)節(jié)時間(動態(tài)性能)都有所加強(qiáng),但是超調(diào)量超過了40%,不符合實際要求,再次調(diào)整PID參數(shù),把PID中的參數(shù)Ti改為7,其它兩個參數(shù)不變,得到如下階躍響應(yīng)曲線,可以看出調(diào)整后系統(tǒng)的階躍響應(yīng)的超調(diào)量小于20%,可以實現(xiàn)穩(wěn)、準(zhǔn)、快三大要求,也符合實際工程要求,因此PID聯(lián)合控制適用于對動態(tài)性能和穩(wěn)態(tài)性能都有要求的實際系統(tǒng)。
圖25
19、 調(diào)整后的PID階躍響應(yīng)曲線
3、制作M文件求取系統(tǒng)階躍響應(yīng)性能指標(biāo)
PID控制后系統(tǒng)的傳遞函數(shù)為:
G =
1.3 s^2 + 5.4 s + 0.77
-----------------------------------
s^4 + s^3 + 11.3 s^2 + 6.4 s + 0.77
Continuous-time transfer function.
M文件如下:
num=[1.3 5.4 0.77];
den=[1 1 11.3 6.4 0.77];
t=0:0.01:100;
y=step(num,
20、den,t);
plot(t,y)
G=tf(num,den);
C=dcgain(G);
[Y,k]=max(y);
chaotiao=(Y-C)/C
chaotiao =
0.0558
i=length(t);
while(y(i)>0.98*C)&(y(i)<1.02*C);
i=i-1;
end
ts=t(i)
ts =
16.4600
圖26 系統(tǒng)階躍響應(yīng)波形
四、總結(jié)
(1)校正方法總結(jié)
P控制器只改變信號的增益,而不影響其相位。Kp增大可以減小系統(tǒng)的穩(wěn)態(tài)誤差,從而提高系統(tǒng)
21、的控制精度,但會降低系統(tǒng)的相對穩(wěn)定性,甚至可能造成閉環(huán)系統(tǒng)不穩(wěn)定,所以,很少單獨使用P控制規(guī)律。
PI控制器在系統(tǒng)中增加一個位于原點的開環(huán)極點和一個位于S左半平面的開環(huán)零點,只要積分時間常數(shù)足夠大,PI控制器對系統(tǒng)穩(wěn)定性的不利影響可大為減弱,主要用來改善控制系統(tǒng)的穩(wěn)態(tài)性能。
PID在系統(tǒng)中增加一個位于原點的開環(huán)極點和兩個負(fù)實零點,具有提高系統(tǒng)穩(wěn)態(tài)性能的優(yōu)點外,在提高系統(tǒng)動態(tài)性能方面有更大的優(yōu)越性。
(2)總體體會
此次計算機(jī)仿真大作業(yè),使我更加熟練地運用Matlab,特別是Simulink模塊,實踐出真知,只有在實踐中才能真正明白如何運用Matlab解決實際中的問題。這次大作業(yè)讓我更加透徹地理解本學(xué)期所學(xué)習(xí)的知識,不僅僅是計算機(jī)仿真,還有自動控制原理,對我以后的學(xué)習(xí)和工作有著很大的幫助。
五、參考文獻(xiàn)
[1] 薛定宇. 控制系統(tǒng)仿真與計算機(jī)輔助設(shè)計. 機(jī)械工業(yè)出版社 2009.
[2] 胡壽松. 自動控制原理. 國防工業(yè)出版社 2005.
20