日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > windows >内容正文

windows

最小拍控制系统详细解读(阶跃输入+速度输入2个案例)【Simulink仿真】

發布時間:2025/3/11 windows 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 最小拍控制系统详细解读(阶跃输入+速度输入2个案例)【Simulink仿真】 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

目錄索引

  • 1.符號說明與結構框圖
  • 2.最小拍控制系統構造原則
    • 2.1數字控制器D(z)的構造
  • 3.簡單控制對象的最小拍控制器設計
    • 3.1階躍輸入
    • 3.2速度輸入

1.符號說明與結構框圖

  • y(k)——系統響應輸出的離散值
  • u(k)——數字PID控制輸出的離散值
  • r(k)——期望輸出的離散值(事先已知),在本例中為常數(即階躍輸入)
  • e(k)——e(k)=r(k)-y(k),為期望值-實際值,是單位負反饋的誤差比較信號
  • D(z)——數字控制器的脈沖傳遞函數
  • G(s)——被控對象的傳遞函數,G(z)——廣義被控對象的脈沖傳遞函數
  • Φ(z)=C(z)/R(z)\Phi(z)=C(z)/R(z)Φ(z)=C(z)/R(z)——系統的閉環傳遞函數,Φe(z)=E(z)/C(z)\Phi_e(z)=E(z)/C(z)Φe?(z)=E(z)/C(z)——系統的閉環誤差傳遞函數
    系統的結構框圖如下:
  • 2.最小拍控制系統構造原則

    最少拍系統是指系統對某些典型的輸入(階躍、速度、加速度輸入)具有最快的響應特性。具體來說,最少拍系統應滿足對典型輸入在有限個采樣周期內結束過渡過程且穩態誤差為零。研究誤差序列e(k)e(k)e(k)的特性之前,不妨通過在Z域研究Φe(z)\Phi_e(z)Φe?(z)的表達式來得出使得e(k)e(k)e(k)最快收斂至0的條件。
    最小拍控制系統的設計原理是使得系統的閉環誤差傳遞函數Φ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具有最簡單的表達式。因為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的值是有限的說明系統能在有限拍內達到最小,n的值越小,Φe(z)\Phi_e(z)Φe?(z)的表達式越簡單,能達到穩態值所需的拍數(周期數)越少。而我們的目的就是設計控制器D(z)使其達到穩態誤差e(k)(甚至是e(t))的要求。
    設計步驟大體如下:

  • 根據被控對象的數學模型求出廣義被控對象的脈沖傳遞函數G(z)
  • 根據輸入信號的類型,確定模型Φe(z)=1?Φ(z)\Phi_e(z)=1-\Phi(z)Φe?(z)=1?Φ(z),其對應關系如下表:
  • 典型輸入Z域表達式Φe(z)的形式\Phi_e(z)的形式Φe?(z)
    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)

    當被控對象不含有不穩定零極點,不含有純滯后環節z?1z^{-1}z?1時,F(z)=1,此時的被控對象也稱為簡單對象。
    滿足以上條件的任意一個,被控對象稱為復雜對象,當G(s)中含有不穩定零點或純滯后環節時,不能使用D(z)或者Φe(z)\Phi_e(z)Φe?(z)中增加因式消除,只能保留至Φ(z)\Phi(z)Φ(z),當G(s)中含有不穩定極點時,在Φe(z)\Phi_e(z)Φe?(z)中增加對應的零點抵消Φ(z)\Phi(z)Φ(z)中的不穩定極點。
    3. 求控制器的脈沖傳遞函數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)在單位負反饋系統中Φ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. 根據D(z)生成控制算法(或者脈沖傳遞函數)求出輸出序列,畫出系統的響應曲線。

    2.1數字控制器D(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)?,因此欲求出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)保留的的廣義被控對象G(z)不穩定零點,z?mz^{-m}z?m是閉環傳遞函數Φ(z)\Phi(z)Φ(z)保留的,在G(z)里面出現的純滯后環節z?mz^{-m}z?m,而輸入形式決定了前面多項式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的階數n,階數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,系數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重零點z=1,因此它的0階導到p-1階導在z=1處的值都應該是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?
    根據上面的方程組可以解出Φe(z)\Phi_e(z)Φe?(z)中的未知參數a0、a1、...、ana_0、a_1、...、a_na0?a1?...an?,因此Φe(z)\Phi_e(z)Φe?(z)已經確定,D(z)即可求得。

    3.簡單控制對象的最小拍控制器設計

    3.1階躍輸入

    假設被控對象的傳遞函數為G(s)=9.40.017s+1G(s)=\frac{9.4}{0.017s+1}G(s)=0.017s+19.4?求階躍輸入下的最小拍控制器D(z)的表達式。在Simulink的仿真中,我們設定了Z變換的采樣頻率是0.005s,(其他地方默認為-1,即服從系統的采樣頻率)

    先求取廣義被控對象的傳遞函數
    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?
    沒有不穩定零極點和純滯后環節,因此選取Φ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
    此時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仿真電路如下:

    按照我們的理論,系統的應該在控制算法作用的第一拍(0.005s處)時達到0穩態誤差,仿真曲線如下圖(給定值為1500):

    可以看到驗證結果與我們理論推導相符。注意我們這里示波器取的采樣周期為-1(inherited),說明是Matlab內置的采樣時間,會比我們定的Ts=1s要短的多,非常接近于連續系統的仿真結果。可以看出響應曲線在上升段有很微小的紋波抖動,在進入穩態值后,紋波消失。產生紋波的原因在于Y(z)Y(z)Y(z)

    3.2速度輸入

    假設被控對象的傳遞函數為G(s)=2s(s+1)G(s)=\frac{2}{s(s+1)}G(s)=s(s+1)2?,求系統在采樣時間1s,輸入信號為單位速度輸入的條件下的最小拍控制器D(z)。系統的結構框圖如下圖所示:

    下面我們借助Matlab的命令輕松地解決這個問題。首先按照第二部分最小拍控制系統的設計原則的步驟,我們應該求出帶零階保持器的廣義被控對象的Z域脈沖傳遞函數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工作區輸入代碼并獲得輸出的脈沖傳遞函數:

    >> syms s;%定義符號變量s >> s=tf('s');%s定義為tf(transfer function傳遞函數)類型的結構體 >> Gs=2/(s*(s+1)); >> Ts=1; >> Gz=c2d(Gs,Ts,'zoh')%帶零階保持器(ZOH)的離散化,采樣時間為1sGz =0.7358 z + 0.5285----------------------z^2 - 1.368 z + 0.3679Sample time: 1 seconds Discrete-time transfer function.>> zpk(Gz)%展示為零極點模式ans =0.73576 (z+0.7183)------------------(z-1) (z-0.3679)Sample time: 1 seconds Discrete-time zero/pole/gain model.

    可以看出脈沖傳遞函數G(z)中含有1個不穩定極點z=1,但是考慮到此時的Φe(z)=(1?z?1)2F(z)\Phi_e(z)={(1-z^{-1})}^2F(z)Φe?(z)=(1?z?1)2F(z),具有z=1這個零點,說明D(z)的表達式D(z)=Φ(z)G(z)Φe(z)D(z)=\frac{\Phi(z)}{G(z)\Phi_e(z)}D(z)=G(z)Φe?(z)Φ(z)?中可以將極點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,此時Φ(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,根據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(z)。

    >> syms z; >> z=tf('z'); >> Phiez=(1-z^(-1))^2; >> Phiz=1-Phiez;%得到Φ(z) >> Dz=Phiz/(Gz*Phiez);%得到數字控制器的脈沖傳遞函數 >> minreal(zpk(Dz))%得到最簡零極點式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設置為1(因為我們的采樣時間是Ts=1s),仿真時間設為10s(差不多可以清楚地看見過渡過程)

    黃色為指令信號(單位速度輸入),藍色為響應曲線。我們將示波器的圖形(print to figure)打印到圖形。利用數據游標工具找到t=1和t=2的點。如果我們的理論正確,那么e(0)=0,e(1)=1,e(2)=0.e(3)=e(4)=…=0;

    t數據游標(采樣時刻的值)
    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。
    從我們仿真的結果看,采樣點處的值只需要兩拍就達到了穩態,但是采樣點之間有紋波(這是因為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并不是有限項,U(z)也并不是有限項,即u(k)最終并沒有達到恒定,誤差也并沒有最終嚴格歸0),這種控制屬于有紋波的最小拍控制。還可以通過增加積分可犧牲控制拍數的手段,達到無紋波的最小拍控制,這是連續系統所做不到的。
    希望本文對您有幫助,感謝大家對本站點的支持。

    總結

    以上是生活随笔為你收集整理的最小拍控制系统详细解读(阶跃输入+速度输入2个案例)【Simulink仿真】的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。