增量式pid和位置式pid相比各有什麼優缺點?

好像在網上看起來增量式pid似乎優點更多啊。。有沒有什麼情況下只能使用其中一種,或者是使用其中一種的效果比另外一種要好的多?


在另一個問題「增量式pid和位置式pid具體是什麼???」中作了回復,以下內容直接複製過來:

僅考慮PI調節器,PID類似。

請參考機械工業出版社,阮毅、陳伯時主編的《電力拖動自動控制系統:運動控制系統(第4版)》第46頁:

  • 位置式PI:u(k)=K_{p}e(k)+K_{i}T_{sam}sum_{i=1}^{k}{e(i)} =K_{p} e(k)+u_{i}(k)=K_{p}e(k)+K_{i}T_{sam}e(k)+u_{i}(k-1)

式中 T_{sam} ——採樣周期。

可以看出,比例部分只與當前的偏差有關,而積分部分則是系統過去所有偏差的累積。位置式PI調節器的結構清晰,P和I兩部分作用分明,參數調整簡單明了。

但直觀上看,要計算第k拍的輸出值u(k),需要存儲e(0)...e(k)等每一拍的偏差,當k很大時,則佔用很大的內存空間,並且需要花費很多時間去計算,這是目前書籍及網路上普遍認為的位置式PI的缺點。

然而在具體編程操作中,可在每一拍對積分部分進行累積,再加上當前拍的比例部分,即為當前u(k)的輸出,根本不需要大量的內存空間;另外由於輸出有可能超過允許值,因此需要對輸出進行限幅,而當輸出限幅的時候,積分累加部分也應同時進行限幅,以防輸出不變而積分項繼續累加,也即所謂的積分飽和過深。

  • 增量式PI:

由位置式PI的式子可知,PI調節器的第(k-1)拍(也即上一拍)輸出為

u(k-1)=K_{p}e(k-1)+K_{i}T_{sam}sum_{i=1}^{k-1}{e(i)}

兩式相減,可得出PI調節器輸出增量

Delta u(k)=u(k)-u(k-1)=K_{p}[e(k)-e(k-1)]+K_{i}T_{sam}e(k)

上式僅僅為增量,只需要當前的和上一拍的偏差即可得出結果,不需要存儲每一拍的偏差,因此占內存空間小,這也是普遍認為的增量式的優點。

然而很多場合下需要的往往不只增量,還有上一拍的輸出值,於是可知增量式PI調節器演算法為

u(k)=u(k-1)+Delta u(k)=u(k-2)+Delta u(k-1)+Delta u(k)
=u(0)+Delta u(1)+...+Delta u(k)

由於u(0)=0,在具體編程操作中,對每一拍的Delta u(k)進行累積,即為PI調節器的輸出;同樣地,為了避免超過允許值,僅需對輸出限幅即可

  • 結論:

事實上,由增量式PI

u(k)=u(k-1)+Delta u(k)=u(k-1)+K_{p}[e(k)-e(k-1)]+K_{i}T_{sam}e(k)

可得

u(k-1)=u(k-2)+Delta u(k-1)=u(k-2)+K_{p}[e(k-1)-e(k-2)]+K_{i}T_{sam}e(k-1)

代入上式即可約去e(k-1)項,不斷迭代,由於e(0)=0,可發現其最終結果與位置式PI的表達式一致,也即兩種PI演算法完全相同(未超出限幅值的前提下)

因此,可以理解為無論用增量疊加的方式來計算位置式PI,還是直接計算,結果都是相同的。兩者唯一的區別就是位置式PI需要同時設置積分限幅和輸出限幅,而增量式PI只需輸出限幅。


這個問題其實我一直也很好奇。其實只要能寫出增量式pi的傳遞函數應該就可以找到差別了(這個一直懶得去求)。如果求出來一樣應該可以說兩者本質相同把。

就看增量式的方程主觀感覺就是似乎調節的速度要慢一點。

不過增量式的pi還有個問題就是他的限幅值似乎沒有直觀的物理意義,不像傳統的pi,我可以輕易的計算出限幅值。


位置式PID和增量式PID只是數字PID控制演算法的兩種實現形式而已,本質完全相同。主要區別是積分項存儲方式不同,位置式PID積分項單獨存儲,增量式PID積分項作為輸出的一部分存儲。

說的簡單點,兩種PID演算法就像加法交換率,算出來的結果完全相同,只是計算過程不同罷了!


推薦閱讀:

Multisim模擬對學習模電的幫助?
工業4.0時代不再需要PLC?談未來高端PLC必備5大特點
如何把電氣專業和計算機專業結合?

TAG:自動化 | 電氣工程及其自動化專業 | 控制理論 |