http://www.kadhoai.com.cn 2026-04-08 06:00:35 來源:

掌握如何減少噪聲,使用中斷服務例程,以及更多關於PID控製傳遞函數的信息。
雖然在 s 域中處理控製係統是完全合乎邏輯的,因為受控係統是連續(時間)運行的,但控製係統的實現是另一回事。現在,幾乎所有的控製係統都是基於微處理器(微控製器)或數字信號處理器的數字係統,如圖 1所示。

圖 1 :此框圖顯示了一個數字閉環控製係統。
用於離散時間控製係統的 PID
模擬 PID 控製器,仍然被認為是非常強大的(圖 2),可以修改為離散時間控製係統,因為將其微分方程(等式 1)重寫為其差分形式(等式 2)並不困難。

其中 u[n] 是當前時間 n 的驅動值,e[n] 是時間 n 的調節誤差, e [n-1] 是前一采樣時間 n-1 的調節誤差。T 是采樣的時間段。相同的時間段 T 用於信號處理,即用於 u[n] 的計算。
對於實際應用,等式 2 需xu要yao從cong積ji分fen部bu分fen開kai始shi進jin行xing某mou些xie修xiu改gai。積ji分fen部bu分fen將jiang調tiao節jie誤wu差cha的de每mei個ge值zhi相xiang加jia,然ran後hou將jiang該gai和he乘cheng以yi時shi間jian常chang數shu和he積ji分fen常chang數shu。如ru果guo時shi間jian或huo積ji分fen常chang數shu的de值zhi突tu然ran變bian化hua(這可能發生,尤其是在整定過程中),則ze驅qu動dong值zhi將jiang突tu然ran變bian化hua並bing導dao致zhi問wen題ti。更geng好hao的de方fang法fa是shi先xian將jiang調tiao節jie誤wu差cha乘cheng以yi這zhe兩liang個ge常chang數shu,然ran後hou再zai累lei加jia其qi乘cheng積ji。通tong過guo使shi用yong梯ti形xing近jin似si積ji分fen代dai替ti矩ju形xing近jin似si積ji分fen,可ke以yi從cong另ling外wai一yi方fang麵mian實shi現xian改gai進jin。
如何減少噪聲?
等式 2 的導數是問題的第二個來源。在其簡單形式中,該成員往往是噪聲。為了減少噪聲,可以使用兩個以上(例如四個)連續的調節誤差采樣。結果就好像調節誤差的差值通過了一個微小的(4 階)有限脈衝響應(FIR)濾波器。修改後的 PID 公式如下等式 3 所示。該差分方程可以在任何編程語言和任何微處理器 / 微控製器中實現。

中斷服務程序
盡管如此,關於采樣 / 處理周期 T 還有一個懸而未決的問題。控製過程周期(頻率)是(shi)多(duo)少(shao),它(ta)取(qu)決(jue)於(yu)什(shen)麼(me)?控(kong)製(zhi)頻(pin)率(lv)僅(jin)取(qu)決(jue)於(yu)閉(bi)環(huan)傳(chuan)遞(di)函(han)數(shu)的(de)時(shi)間(jian)常(chang)數(shu)。請(qing)記(ji)住(zhu),這(zhe)個(ge)時(shi)間(jian)常(chang)數(shu)可(ke)以(yi)比(bi)受(shou)控(kong)係(xi)統(tong)本(ben)身(shen)的(de)時(shi)間(jian)常(chang)數(shu)小(xiao)一(yi)個(ge)數(shu)量(liang)級(ji)。最(zui)佳(jia)情(qing)況(kuang)下(xia),運(yun)行(xing)控(kong)製(zhi)程(cheng)序(xu)的(de)頻(pin)率(lv)應(ying)比(bi)閉(bi)環(huan)時(shi)間(jian)常(chang)數(shu) τ 的值高 5 到 10 倍。在控製過程開始運行之前,應具有 r[n] 和y[n] 的最新樣本。
最好的安排是,如果控製程序被稱為中斷服務例程(ISR),則由提供 y[n] 值的 A/D轉換器觸發。控製程序計算的結果,即執行變量 u[n],應盡快發送到 D/A 轉換器。否則,受控係統的傳遞函數將受到傳輸延遲的影響,這可能會破壞控製係統(使其不穩定)。
為了避免噪聲,必須徹底過濾所有測量變量,如 y(t)信號,因為噪聲總是可以從外部滲透到控製係統中,例如,由電子部件(主要是開關電源)引起的板載噪聲。它們應通過適當的抗混疊濾波器,並且截止頻率遠低於采樣頻率 1/T 的一半。如果由於某種原因,它們無法通過適當的模擬濾波器進行過濾,則至少應過采樣並進行數字濾波。

圖 2: PID 控製器根據比例、積分和微分分量計算驅動值
關於 PID 控製傳遞函數的更多信息
等式 3 不是實現離散 PID 控製器的唯一方法。另一種可能性是將 PID 控製傳遞函數從其 s 域(等式 4)轉換為 z 域。實際上,這種轉變有兩種方式。兩者都是從離散時間積分的不同近似推導而來的。最常見的近似離散時間積分是矩形(等式 5)和梯形(等式 6)近似。

如果在 z 域中表達 ,對於矩形近似,您將得到

這是梯形近似的結果 :

等式 7 和 8 對應於積分項,其在 s 域中表示為 1/s。因此,如果取等式 7 右側的倒數(s),並用其替換等式 4中的每個 s 算子,則會得到 PID 補償的以下傳遞函數(在z 域中):

類似地,如果取等式 8 右側的倒數,並用其替換等式 4 中的每個 s 算子,則會得到以下 PID 補償的傳遞函數(在 z 域中):

z 域中的控製係統建模
等式 9 和等式 10 適用於在 z 域中對控製係統建模(例如在 Matlab 中),但不能由任何控製器直接實現。然而,在對等式 9 進行 z 逆變換後,您將得到以下等式

和等式 10 的 z 逆變換 :

等式 11 和等式 12 非常適合在任何微處理器(微控製器)或數字信號處理器上實現。如果將 K1、K2 和 K3作為預先計算好的常數(而不是變量),整個控製過程將需要三次乘法、四次加法並需要記住四個先前計算的變量——兩個調節誤差 e[n-1] 和 e[n-2],以及兩個驅動變量 u[n-1] 和 u[n-2](僅適用於等式 12)。e[n] 計算需要一次減法。
無限脈衝響應濾波器
您可以進一步優化控製程序。數字信號處理行業有非常流行的遞歸濾波器,即所謂的無限脈衝響應(IIR)濾波器。通常,它們是級聯二階濾波器。圖 3 顯示了一個這樣的二階濾波器,通常稱為“雙二階”,轉換為其標準形式,即級聯形式 II。

圖 3 :二階規範 IIR 濾波器部分用作 PID 控製器。
實現這種雙二階需要更少的內存空間,隻需要記住兩個狀態變量 d[n-1]、d[n-2],而不是四個變量。標準無限脈衝響應濾波器段由以下兩個差分方程描述 :

盡管選擇有限,但 A1 和 A2 的值仍然有選擇的餘地。然而,必須遵守兩條規則 :A1 和 A2 值的總和必須始終為1.0,並且任何值都不能大於 1.0。因此,可以使用的 A1和 A2 係數如,值 1.0 和 0,或 0.5 和 0.5,或 0 和 1.0,或介於兩者之間的任何值。
最後一種組合,其響應與等式 12 的相同。A2 值越低,控製係統響應越快。這可以簡化整定過程,因為您可以將 KI 常數(以及 KP 和 K D 值)設置為某個合理的值,而不是頻繁修改 KI 值(如果您想使 KP 和 K D 值達到最優則需要重新計算,即取消受控係統的極點),例如,將 KI 調整為值 10/(τ1+τ2)(其中 τ1 和 τ2 是受控係統的主要時間常數),並通過調整 A1 和 A2 值完成最終的整定。
並非每個 PID 實現都令人滿意
雖然在必須實現任何算法問題時有一個選擇總是很好的,但並非每個實現都能提供令人滿意的結果。這同樣適用於本文所描述的 PID 控製過程。理論上,所有這些過程在紙麵上都很好地工作,但是當實施時,就會出現問題。
雖然第一個公式,等式 3 的實現需要比其餘兩個更多的數學運算(乘法、加法)和記住更多先前的結果,但它提供了非常平滑的結果。等式 11 的行為也類似。然而,等式 12 的實現將無法產生令人滿意的結果,因為它在穩定邊緣上運行,其輸出將永久振蕩。等式13/14 將正常工作,但 A1 係數必須保持 >0,否則的話,其行為將與等式 12 實現完全相同,並產生永久振蕩。