CCS之最少拍控制器設計

序言

此時的我正在寫計算機控制系統的實驗報告,一共六個實驗,第五個就是關於最少拍控制的,特此來總結一下最少拍設計原理。

最少拍控制是一種直接數字設計方法。所謂最少拍控制,就是要求閉環系統對於某種給定的輸入在最少個採樣週期內達到無靜差的穩態。使系統輸出值儘快跟蹤期望值的變化,它的脈衝傳遞函數具有如下形式
Φ(z)=Φ1z1+Φ2z2++ΦNzN \Phi(z) = \Phi_1z^{-1}+\Phi_2z^{-2}+\dots+\Phi_Nz^{-N}
這裏的N是可能情況下的最小正整數,這一形式表明閉環系統的脈衝響應在N個採樣週期後變爲零,意味着系統在N個採樣週期內到達穩態。

最少拍控制的基本原理

典型的離散控制系統包含三個部分:輸入R(z)R(z),控制器D(z)D(z),零階保持器與被控對象一起構成的廣義被控對象G(z)G(z)

爲了討論方便,我們再引入一些推導部分:誤差脈衝傳遞函數Φe(z)\Phi_e(z),閉環脈衝傳遞函數Φ(z)\Phi(z)

以上部分之間有如下關係
{Φ(z)=D(z)G(z)1+D(z)G(z)Φe(z)=E(z)R(z)=R(z)Y(z)R(z)=1Φ(z)=11+D(z)G(z)D(z)=Φ(z)1Φ(z)1G(z)=Φ(z)G(z)Φe(z) \begin{cases} \Phi(z)=\frac{D(z)G(z)}{1+D(z)G(z)}\\ \Phi_e(z)=\frac{E(z)}{R(z)}=\frac{R(z)-Y(z)}{R(z)}=1-\Phi(z)=\frac{1}{1+D(z)G(z)}\\ D(z)=\frac{\Phi(z)}{1-\Phi(z)}\frac{1}{G(z)}=\frac{\Phi(z)}{G(z)\Phi_e(z)} \end{cases}
最少拍設計的基本思想是:根據設計目標確定Φ(z)\Phi(z)Φe(z)\Phi_e(z),再根據確定的Φ(z)\Phi(z)Φe(z)\Phi_e(z)確定D(z)D(z)

最少拍的設計目標

上面我們說過,我們是根據設計目標來確定Φ(z)\Phi(z)Φe(z)\Phi_e(z)。那麼,設計目標到底是哪些呢?

設計目標主要分成如下四個部分

  • 穩定性:一切控制系統設計必須滿足的目標
  • 準確性:系統穩定後,不能存在穩態誤差
  • 快速性:系統要在儘可能短的時間內到達穩態
  • 物理可實現性:D(z)D(z)要能夠實現

設計步驟

前面的四個設計目標,對應着一系列要確定的未知參數,這些未知參數決定着最終的Φ(z)\Phi(z)和所Φe(z)\Phi_e(z),我們寫出帶參的Φ(z)\Phi(z)Φe(z)\Phi_e(z)表達式,如下所示
{Φ(z)=z(r1)(b1z1+b2z2++bpzp)N(z)F1(z)Φe(z)=(1z1)pM(z)F2(z)Φ(z)=1Φe(z) \begin{cases} \Phi(z)=z^{-(r-1)}(b_1z^{-1}+b_2z^{-2}+\dots+b_pz^{-p})N^{`}(z)F_1(z)\\ \Phi_e(z)=(1-z^{-1})^pM^{`}(z)F_2(z)\\ \Phi(z)=1-\Phi_e(z) \end{cases}
下面我來看看如何確定Φ(z)\Phi(z)Φe(z)\Phi_e(z)

  1. 求出含有零階保持器的廣義被控對象G(z)G(z)
  2. 根據G(z)G(z)含有的單位圓外零極點來確定M(z)M^{`}(z)N(z)N^{`}(z),M(z)M^{`}(z)由極點確定,N(z)N^{`}(z)由零點確定
  3. 根據G(z)G(z)含有的延時因子確定r
  4. 根據R(z)R(z)確定p
  5. 依據最少拍要求,確定F1(z)=1F_1(z)=1
  6. 依據方程組求出剩下的未知數
  7. 確定控制器D(z)D(z),並檢查其穩定性、可實現性等
  8. 檢查系統輸出響應Y(z)Y(z)是否以最快響應跟蹤輸入且無靜差
  9. D(z)D(z)轉化成差分方程,編程實現

例題

設廣義被控對象傳遞函數爲
G(z)=0.265z1(1+2.78z1)(1+0.2z1)(1z1)2(10.286z1) G(z)=\frac{0.265z^{-1}(1+2.78z^{-1})(1+0.2z^{-1})}{(1-z^{-1})^2(1-0.286z^{-1})}
輸入信號爲單位階躍,設計最少拍控制器

  1. 求出含有零階保持器的廣義被控對象G(z)G(z)
    直接給出,如果沒有的話,需要自己進行對應的Z變換,所以,Z變換要熟悉

  2. 根據G(z)G(z)含有的單位圓外零極點來確定M(z)M^{`}(z)N(z)N^{`}(z),M(z)M^{`}(z)是由極點確定,N(z)N^{`}(z)是由零點確定
    單位圓外極點無,所以M(z)=1M^{`}(z)=1
    單位圓外零點 p1=2.78p_1=-2.78,所以N(z)=(1+2.78z1)N^{`}(z)=(1+2.78z^{-1})

  3. 根據G(z)G(z)含有的延時延時因子確定r
    r=1

  4. 根據R(z)R(z)確定p
    R(z)R(z)爲單位階躍,所以p=1

  5. 依據最少拍要求,確定F1(z)=1F_1(z)=1

  6. 依據方程組求出剩下的未知數

將上述所求帶入方程組得
{Φ(z)=b1z1(1+2.78z1)Φe(z)=(1z1)(1+c1z1)Φ(z)=1Φe(z) \begin{cases} \Phi(z)=b_1z^{-1}(1+2.78z^{-1})\\ \Phi_e(z)=(1-z^{-1})(1+c_1z^{-1})\\ \Phi(z)=1-\Phi_e(z) \end{cases}
求得b1=0.265,c1=0.735b_1=0.265,c_1=0.735

最少拍無紋波控制器設計

按照上面的原理設計得最少拍控制器,雖然採樣點時刻的輸出值是穩定快速跟蹤的,但是,採樣點之間的輸出值是存在紋波的,並且,這些紋波是無法觀察到的,這些紋波的形成是控制器在若干拍後輸出不爲定值或零造成的,這種現象會導致執行機構頻繁動作,浪費功率,增加機械磨損,所以要採取辦法予以消除。

下面直接給出解決辦法

將上面的N(z)N^{`}(z)換成N(z)N(z)就可以了,N(z)N(z)代表的是廣義被控對象的所有零點,而不僅是圓外零點,其它部分和有紋波設計是一樣的。


詳見 李華老師的《計算機控制系統》第二版

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章