資源描述:
《matlab語言課件 第9講 控制系統(tǒng)仿真》由會員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。
1、6.2.1狀態(tài)空間法的系統(tǒng)仿真6.2.2非線性環(huán)節(jié)的仿真6.2.3離散系統(tǒng)的仿真6.2.4控制系統(tǒng)SIMULINK仿真6.2控制系統(tǒng)仿真控制系統(tǒng)仿真信號流圖狀態(tài)空間單輸入單輸出系統(tǒng)(SISO)主要研究內(nèi)容通過系統(tǒng)的數(shù)學(xué)模型和計算方法,編寫程序運(yùn)算語句,使之能自動求解各環(huán)節(jié)變量的動態(tài)變化情況,從而得到關(guān)于系統(tǒng)輸出和所需要的中間各變量的有關(guān)數(shù)據(jù)、曲線等,以實現(xiàn)對控制系統(tǒng)性能指標(biāo)分析與設(shè)計。實現(xiàn)步驟根據(jù)數(shù)學(xué)模型、要求的精度和時間,確定數(shù)值計算方法按算法要求通過分解、綜合、等效變換等方法轉(zhuǎn)換成適于在計算機(jī)上運(yùn)行的公式上機(jī)調(diào)試并不斷改進(jìn),滿足系統(tǒng)各項動態(tài)性能指標(biāo),并得到理想的仿真結(jié)果
2、用合適的開發(fā)語言進(jìn)行算法編程和實現(xiàn)多輸入多輸出系統(tǒng)(MIMO)6.2.1狀態(tài)空間法的系統(tǒng)仿真一、四階龍格-庫塔(Runge-Kutta)法1、Runge-Kutta法推導(dǎo)實際上,可以由對求導(dǎo)得到為了提高精度,用r階展開計算公式:我們考慮計算不同點(diǎn)上的值,由歐拉公式:用高階差分代替各級導(dǎo)數(shù)這一思想得到各階Runge-Kutta法。定義運(yùn)算格式為:計算不同點(diǎn)上的函數(shù)值的線性組合為待定參數(shù)由式(1)用h冪次重新整理得通過臺勞展開得(1)相比較系數(shù),盡可能重合到較高冪次,而求得待定參數(shù)。以i=2為例,只計算兩次函數(shù)的值。如何求出四個系數(shù),將在點(diǎn)展開為在處取值則如此有:如果取,則滿足
3、上式有遞推公式:其局部截斷誤差為如果進(jìn)而考慮計算兩次函數(shù)值,而提高截斷誤差階次呢?k2多展開一項:而有但注意:兩式中的難以消掉,因此達(dá)不到兩次計算函數(shù)值為此必須增加函數(shù)值的計算。來達(dá)到4階精度,一般常用是計算4階函數(shù)值,得到每步截斷誤差為的四階Runge-Kutta法其遞推公式為:2、根據(jù)四階龍格-庫塔法的遞推公式:已知開環(huán)系統(tǒng)的狀態(tài)方程為采用四階龍格-庫塔法進(jìn)行求解和仿真,其求解步驟和方法如下::1、由,可知;2、仿真算法3、由時刻的狀態(tài)為,得到取不斷遞推,便可得到所需時刻各點(diǎn)的狀態(tài)變量和輸出量。二、閉環(huán)系統(tǒng)的模型建立典型閉環(huán)控制系統(tǒng)的方框圖對SISO系統(tǒng)r、u、y、v均
4、為標(biāo)量,由圖可知,得可得到系統(tǒng)的閉環(huán)狀態(tài)方程:又由ode4()函數(shù)實現(xiàn)上述算法,其程序框圖如下:ode4()函數(shù)調(diào)用格式為:[t,y]=ode4(A,B,C,D,x0,h,r,v,t0,tf)其中:{A,B,C,D}為系統(tǒng)的系數(shù)矩陣,x0為狀態(tài)向量初值,h為仿真步長,r為輸入信號的幅值,v為反饋系數(shù),t0為仿真的起始時間,tf終止時間,輸出值t為仿真時間,y為輸出量。MATLAB中的ode45()函數(shù)可實現(xiàn)四階/五階龍格-庫塔算法,其調(diào)用格式為:[t,y]=ode45('f',tspa,x0)其中:f為定義的常微分方程函數(shù)名,tspa為起止時間向量,x0為初始狀態(tài)向量,例6
5、-1:已知系統(tǒng)的開環(huán)傳遞函數(shù)為:在零初始條件下,當(dāng)輸入信號的幅值為1時,試?yán)L制單位負(fù)反饋系統(tǒng)的仿真曲線。令K=0.1,1,10,繪制單位負(fù)反饋系統(tǒng)的仿真曲線。例6-2:已知系統(tǒng)的狀態(tài)方程為:在零初始條件下,階躍信號的輸入幅值為100,試應(yīng)用狀態(tài)空間法對系統(tǒng)進(jìn)行仿真。當(dāng)K=0.1時,令v=0.1,1,10,繪制反饋系統(tǒng)的仿真曲線。6.2.2非線性環(huán)節(jié)的仿真一、飽和非線性飽和非線性環(huán)節(jié)的數(shù)學(xué)表達(dá)式:uro-s1s1ucSaturation()函數(shù)調(diào)用格式為:uc=Saturation(ur,s1)其中:ur為輸入向量s1為非線性環(huán)節(jié)的飽和值uc為輸出向量N開始ur≥s1?ur>
6、0?uc=s1uc=-s1uc=ur返回NYYSaturation()函數(shù)實現(xiàn)上述算法,其程序框圖如下:二、死區(qū)非線性死區(qū)非線性環(huán)節(jié)的數(shù)學(xué)表達(dá)式:Os1-s1ucurDeadZone()函數(shù)調(diào)用格式為:uc=DeadZone(ur,s1)其中:ur為輸入向量s1為死區(qū)非線性環(huán)節(jié)的死區(qū)值uc為輸出向量DeadZone()函數(shù)實現(xiàn)上述算法,其程序框圖如下:N開始ur≥s1?ur>0?uc=ur-s1uc=0返回NYYuc=ur+s1三、間隙非線性間隙非線性環(huán)節(jié)的數(shù)學(xué)表達(dá)式:s1-s1ucurObacklash()函數(shù)調(diào)用格式為:[uc,uss]=backlash(urs,ur,
7、ucs,s1)其中:ur為輸入向量,uc為輸出向量urs,ucs為ur,uc前一時刻的值uss為下次運(yùn)算保留的輸入值s1為環(huán)節(jié)的間隙寬度值YYNNN開始ur>urs?ur-s1≥ucs?uc=ur-s1uc=ur+s1返回NYYuc=ucsur