最小拍控制系统详细解读(阶跃输入+速度输入2个案例)【Simulink仿真】
目錄索引
- 1.符號(hào)說(shuō)明與結(jié)構(gòu)框圖
- 2.最小拍控制系統(tǒng)構(gòu)造原則
- 2.1數(shù)字控制器D(z)的構(gòu)造
- 3.簡(jiǎn)單控制對(duì)象的最小拍控制器設(shè)計(jì)
- 3.1階躍輸入
- 3.2速度輸入
1.符號(hào)說(shuō)明與結(jié)構(gòu)框圖
系統(tǒng)的結(jié)構(gòu)框圖如下:
2.最小拍控制系統(tǒng)構(gòu)造原則
最少拍系統(tǒng)是指系統(tǒng)對(duì)某些典型的輸入(階躍、速度、加速度輸入)具有最快的響應(yīng)特性。具體來(lái)說(shuō),最少拍系統(tǒng)應(yīng)滿足對(duì)典型輸入在有限個(gè)采樣周期內(nèi)結(jié)束過(guò)渡過(guò)程且穩(wěn)態(tài)誤差為零。研究誤差序列e(k)e(k)e(k)的特性之前,不妨通過(guò)在Z域研究Φe(z)\Phi_e(z)Φe?(z)的表達(dá)式來(lái)得出使得e(k)e(k)e(k)最快收斂至0的條件。
最小拍控制系統(tǒng)的設(shè)計(jì)原理是使得系統(tǒng)的閉環(huán)誤差傳遞函數(shù)Φe(z)=a1z?1+a2z?2+...+anz?n\Phi_e(z)=a_1z^{-1}+a_2z^{-2}+...+a_nz^{-n}Φe?(z)=a1?z?1+a2?z?2+...+an?z?n具有最簡(jiǎn)單的表達(dá)式。因?yàn)?span id="ze8trgl8bvbq" class="katex--inline">z?kz^{-k}z?k的反Z變換為δ(t?k)\delta(t-k)δ(t?k),因此e(k)=a1δ(t?T)+a2δ(t?2T)+...+anδ(t?nT)(an≠0)e(k)=a_1\delta(t-T)+a_2\delta(t-2T)+...+a_n\delta(t-nT)(a_n≠0)e(k)=a1?δ(t?T)+a2?δ(t?2T)+...+an?δ(t?nT)(an???=0),即e(1)=a1,e(2)=a2,...,e(n)=ane(1)=a_1,e(2)=a_2,...,e(n)=a_ne(1)=a1?,e(2)=a2?,...,e(n)=an?n的值是有限的說(shuō)明系統(tǒng)能在有限拍內(nèi)達(dá)到最小,n的值越小,Φe(z)\Phi_e(z)Φe?(z)的表達(dá)式越簡(jiǎn)單,能達(dá)到穩(wěn)態(tài)值所需的拍數(shù)(周期數(shù))越少。而我們的目的就是設(shè)計(jì)控制器D(z)使其達(dá)到穩(wěn)態(tài)誤差e(k)(甚至是e(t))的要求。
設(shè)計(jì)步驟大體如下:
| u(t)u(t)u(t) | 11?z?1\frac{1}{1-z^{-1}}1?z?11? | (1?z?1)F(z)(1-z^{-1})F(z)(1?z?1)F(z) |
| tu(t)tu(t)tu(t) | Tz?1(1?z?1)2\frac{Tz^{-1}}{{(1-z^{-1})}^2}(1?z?1)2Tz?1? | (1?z?1)2F(z){(1-z^{-1})}^2F(z)(1?z?1)2F(z) |
| 12t2u(t)\frac{1}{2}t^2u(t)21?t2u(t) | T2z?1(1+z?1)2(1?z?1)3\frac{T^2z^{-1}(1+z^{-1})}{2{(1-z^{-1})}^3}2(1?z?1)3T2z?1(1+z?1)? | (1?z?1)3F(z){(1-z^{-1})}^3F(z)(1?z?1)3F(z) |
當(dāng)被控對(duì)象不含有不穩(wěn)定零極點(diǎn),不含有純滯后環(huán)節(jié)z?1z^{-1}z?1時(shí),F(z)=1,此時(shí)的被控對(duì)象也稱為簡(jiǎn)單對(duì)象。
滿足以上條件的任意一個(gè),被控對(duì)象稱為復(fù)雜對(duì)象,當(dāng)G(s)中含有不穩(wěn)定零點(diǎn)或純滯后環(huán)節(jié)時(shí),不能使用D(z)或者Φe(z)\Phi_e(z)Φe?(z)中增加因式消除,只能保留至Φ(z)\Phi(z)Φ(z),當(dāng)G(s)中含有不穩(wěn)定極點(diǎn)時(shí),在Φe(z)\Phi_e(z)Φe?(z)中增加對(duì)應(yīng)的零點(diǎn)抵消Φ(z)\Phi(z)Φ(z)中的不穩(wěn)定極點(diǎn)。
3. 求控制器的脈沖傳遞函數(shù)D(z),求取原理如下:
由于C(z)=E(z)D(z)G(z)C(z)=E(z)D(z)G(z)C(z)=E(z)D(z)G(z),所以C(z)R(z)=D(z)G(z)E(z)R(z)\frac{C(z)}{R(z)}=D(z)G(z)\frac{E(z)}{R(z)}R(z)C(z)?=D(z)G(z)R(z)E(z)?,即Φe(z)=D(z)G(z)Φe(z)\Phi_e(z)=D(z)G(z)\Phi_e(z)Φe?(z)=D(z)G(z)Φe?(z)在單位負(fù)反饋系統(tǒng)中Φe(z)=1?Φ(z)\Phi_e(z)=1-\Phi(z)Φe?(z)=1?Φ(z),因此D(z)=Φ(z)G(z)(1?Φ(z))D(z)=\frac{\Phi(z)}{G(z)(1-\Phi(z))}D(z)=G(z)(1?Φ(z))Φ(z)?
4. 根據(jù)D(z)生成控制算法(或者脈沖傳遞函數(shù))求出輸出序列,畫(huà)出系統(tǒng)的響應(yīng)曲線。
2.1數(shù)字控制器D(z)的構(gòu)造
我們已經(jīng)知道D(z)=Φ(z)G(z)(1?Φ(z))D(z)=\frac{\Phi(z)}{G(z)(1-\Phi(z))}D(z)=G(z)(1?Φ(z))Φ(z)?,因此欲求出D(z)只需知道Φ(z)\Phi(z)Φ(z)或Φe(z)\Phi_e(z)Φe?(z)即可。
Φ(z)=(a0+a1z?1+a2z?2+...+anz?n)(1?z1z?1)(1?z2z?1)...(1?zkz?1)z?m\Phi(z)=(a_0+a_1z^{-1}+a_2z^{-2}+...+a_nz^{-n})(1-z_1z^{-1})(1-z_2z^{-1})...(1-z_kz^{-1})z^{-m}Φ(z)=(a0?+a1?z?1+a2?z?2+...+an?z?n)(1?z1?z?1)(1?z2?z?1)...(1?zk?z?1)z?m
其中z1,z2,...,zkz_1,z_2,...,z_kz1?,z2?,...,zk?為Φ(z)\Phi(z)Φ(z)保留的的廣義被控對(duì)象G(z)不穩(wěn)定零點(diǎn),z?mz^{-m}z?m是閉環(huán)傳遞函數(shù)Φ(z)\Phi(z)Φ(z)保留的,在G(z)里面出現(xiàn)的純滯后環(huán)節(jié)z?mz^{-m}z?m,而輸入形式?jīng)Q定了前面多項(xiàng)式a0+a1z?1+a2z?2+...+anz?na_0+a_1z^{-1}+a_2z^{-2}+...+a_nz^{-n}a0?+a1?z?1+a2?z?2+...+an?z?n的階數(shù)n,階數(shù)n和Φe(z)=(1?z?1)pF(z)\Phi_e(z)={(1-z^{-1})}^pF(z)Φe?(z)=(1?z?1)pF(z)中的p是一致的,即n=p,系數(shù)a0、a1、...、ana_0、a_1、...、a_na0?、a1?、...、an?依賴于條件Φe(z)=(1?z?1)pF(z)\Phi_e(z)={(1-z^{-1})}^pF(z)Φe?(z)=(1?z?1)pF(z)而定,Φe(z)\Phi_e(z)Φe?(z)中含有p重零點(diǎn)z=1,因此它的0階導(dǎo)到p-1階導(dǎo)在z=1處的值都應(yīng)該是0,即
{Φe(z)∣z=1=0dΦe(z)dz∣z=1=0d2Φe(z)dz2∣z=1=0...dnΦe(z)dzn∣z=1=0\begin{cases} \left. \Phi_e(z) \right| _{z=1}=0 \\ \left. \frac{{\rm d}\Phi_e(z)}{{\rm d}z} \right| _{z=1}=0 \\ \left. \frac{{\rm d^2}\Phi_e(z)}{{\rm d}z^2} \right| _{z=1}=0 \\ ...\\ \left. \frac{{\rm d^n}\Phi_e(z)}{{\rm d}z^n} \right| _{z=1}=0 \end{cases}????????????????????Φe?(z)∣z=1?=0dzdΦe?(z)?∣∣∣?z=1?=0dz2d2Φe?(z)?∣∣∣?z=1?=0...dzndnΦe?(z)?∣∣∣?z=1?=0?
根據(jù)上面的方程組可以解出Φe(z)\Phi_e(z)Φe?(z)中的未知參數(shù)a0、a1、...、ana_0、a_1、...、a_na0?、a1?、...、an?,因此Φe(z)\Phi_e(z)Φe?(z)已經(jīng)確定,D(z)即可求得。
3.簡(jiǎn)單控制對(duì)象的最小拍控制器設(shè)計(jì)
3.1階躍輸入
假設(shè)被控對(duì)象的傳遞函數(shù)為G(s)=9.40.017s+1G(s)=\frac{9.4}{0.017s+1}G(s)=0.017s+19.4?求階躍輸入下的最小拍控制器D(z)的表達(dá)式。在Simulink的仿真中,我們?cè)O(shè)定了Z變換的采樣頻率是0.005s,(其他地方默認(rèn)為-1,即服從系統(tǒng)的采樣頻率)
先求取廣義被控對(duì)象的傳遞函數(shù)
G(z)=Z[1?e?Tss9.40.017s+1]=(1?z?1)Z[(9.4s(0.017s+1))]=2.394z?11?0.745z?1G(z) =Z[\frac{1-e^{-Ts}}{s}\frac{9.4}{0.017s+1}] =(1-z^{-1})Z[(\frac{9.4}{s(0.017s+1)})] =\frac{2.394z^{-1}}{1-0.745z^{-1}} G(z)=Z[s1?e?Ts?0.017s+19.4?]=(1?z?1)Z[(s(0.017s+1)9.4?)]=1?0.745z?12.394z?1?
沒(méi)有不穩(wěn)定零極點(diǎn)和純滯后環(huán)節(jié),因此選取Φe(z)=(1?z?1),Φ(z)=z?1\Phi_e(z)=(1-z^{-1}),\Phi(z)=z^{-1}Φe?(z)=(1?z?1),Φ(z)=z?1
此時(shí)D(z)=Φ(z)G(z)(1?Φ(z))=0.4174z?0.7452z?1D(z)=\frac{\Phi(z)}{G(z)(1-\Phi(z))}=0.4174\frac{z-0.7452}{z-1}D(z)=G(z)(1?Φ(z))Φ(z)?=0.4174z?1z?0.7452?
我們搭建好Simulink仿真電路如下:
按照我們的理論,系統(tǒng)的應(yīng)該在控制算法作用的第一拍(0.005s處)時(shí)達(dá)到0穩(wěn)態(tài)誤差,仿真曲線如下圖(給定值為1500):
可以看到驗(yàn)證結(jié)果與我們理論推導(dǎo)相符。注意我們這里示波器取的采樣周期為-1(inherited),說(shuō)明是Matlab內(nèi)置的采樣時(shí)間,會(huì)比我們定的Ts=1s要短的多,非常接近于連續(xù)系統(tǒng)的仿真結(jié)果。可以看出響應(yīng)曲線在上升段有很微小的紋波抖動(dòng),在進(jìn)入穩(wěn)態(tài)值后,紋波消失。產(chǎn)生紋波的原因在于Y(z)Y(z)Y(z)
3.2速度輸入
假設(shè)被控對(duì)象的傳遞函數(shù)為G(s)=2s(s+1)G(s)=\frac{2}{s(s+1)}G(s)=s(s+1)2?,求系統(tǒng)在采樣時(shí)間1s,輸入信號(hào)為單位速度輸入的條件下的最小拍控制器D(z)。系統(tǒng)的結(jié)構(gòu)框圖如下圖所示:
下面我們借助Matlab的命令輕松地解決這個(gè)問(wèn)題。首先按照第二部分最小拍控制系統(tǒng)的設(shè)計(jì)原則的步驟,我們應(yīng)該求出帶零階保持器的廣義被控對(duì)象的Z域脈沖傳遞函數(shù)G(z)=Z[1?e?Tss?G(s)]G(z)=Z[\frac{1-e^{-Ts}{s}\cdot G(s)}]G(z)=Z[]1?e?Tss?G(s)?,在Matlab工作區(qū)輸入代碼并獲得輸出的脈沖傳遞函數(shù):
可以看出脈沖傳遞函數(shù)G(z)中含有1個(gè)不穩(wěn)定極點(diǎn)z=1,但是考慮到此時(shí)的Φe(z)=(1?z?1)2F(z)\Phi_e(z)={(1-z^{-1})}^2F(z)Φe?(z)=(1?z?1)2F(z),具有z=1這個(gè)零點(diǎn),說(shuō)明D(z)的表達(dá)式D(z)=Φ(z)G(z)Φe(z)D(z)=\frac{\Phi(z)}{G(z)\Phi_e(z)}D(z)=G(z)Φe?(z)Φ(z)?中可以將極點(diǎn)z=1約去,不必再增加額外的(1?z?1)(1-z^{-1})(1?z?1)因式,因此可以取F(z)=1即Φe(z)=(1?z?1)2\Phi_e(z)={(1-z^{-1})}^2Φe?(z)=(1?z?1)2,此時(shí)Φ(z)=1?Φe(z)=1?(1?z?1)2=2z?1?z?2\Phi(z)=1-\Phi_e(z)=1-{(1-z^{-1})}^2=2z^{-1}-z^{-2}Φ(z)=1?Φe?(z)=1?(1?z?1)2=2z?1?z?2,根據(jù)D(z)=Φ(z)G(z)Φe(z)D(z)=\frac{\Phi(z)}{G(z)\Phi_e(z)}D(z)=G(z)Φe?(z)Φ(z)?可以求出控制器表達(dá)式D(z)。
>> syms z; >> z=tf('z'); >> Phiez=(1-z^(-1))^2; >> Phiz=1-Phiez;%得到Φ(z) >> Dz=Phiz/(Gz*Phiez);%得到數(shù)字控制器的脈沖傳遞函數(shù) >> minreal(zpk(Dz))%得到最簡(jiǎn)零極點(diǎn)式ans =2.7183 (z-0.5) (z-0.3679)-------------------------(z+0.7183) (z-1)Sample time: 1 seconds Discrete-time zero/pole/gain model.我們按照此要去搭建好Simulink仿真圖如下
D(z)的Sample time設(shè)置為1(因?yàn)槲覀兊牟蓸訒r(shí)間是Ts=1s),仿真時(shí)間設(shè)為10s(差不多可以清楚地看見(jiàn)過(guò)渡過(guò)程)
黃色為指令信號(hào)(單位速度輸入),藍(lán)色為響應(yīng)曲線。我們將示波器的圖形(print to figure)打印到圖形。利用數(shù)據(jù)游標(biāo)工具找到t=1和t=2的點(diǎn)。如果我們的理論正確,那么e(0)=0,e(1)=1,e(2)=0.e(3)=e(4)=…=0;
| 1 | |
| 2 | |
| 3 | |
| 4 |
由于r(k)=k,y(k)的采樣值依次為0,2,3.002,3.997,e(k)=r(k)-y(k)基本滿足e(0)=0,e(1)=1,e(2)=0.e(3)=e(4)=…=0。
從我們仿真的結(jié)果看,采樣點(diǎn)處的值只需要兩拍就達(dá)到了穩(wěn)態(tài),但是采樣點(diǎn)之間有紋波(這是因?yàn)?span id="ze8trgl8bvbq" class="katex--inline">E(z)=a1z?1+a2z?2+...+anz?nE(z)=a_1z^{-1}+a_2z^{-2}+...+a_nz^{-n}E(z)=a1?z?1+a2?z?2+...+an?z?n并不是有限項(xiàng),U(z)也并不是有限項(xiàng),即u(k)最終并沒(méi)有達(dá)到恒定,誤差也并沒(méi)有最終嚴(yán)格歸0),這種控制屬于有紋波的最小拍控制。還可以通過(guò)增加積分可犧牲控制拍數(shù)的手段,達(dá)到無(wú)紋波的最小拍控制,這是連續(xù)系統(tǒng)所做不到的。
希望本文對(duì)您有幫助,感謝大家對(duì)本站點(diǎn)的支持。
總結(jié)
以上是生活随笔為你收集整理的最小拍控制系统详细解读(阶跃输入+速度输入2个案例)【Simulink仿真】的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: struts的开发模式
- 下一篇: 二进制文件的操作