本文主要探討PID算法在使用時的一些實際問題、處理技巧和方法,學習本節內容需要先對PID控制算法有基本的了解。
1)PID控制的基本原理
PID是一個二階線性控制器,它具有不需要建立數學模型,控制效果好,良好的魯棒性等等優點。
它的原理如下圖:

PID的基本定義公式如下:

其中u(t)是控制器的輸出;
e(t)是控制器的輸入,一般是設定值與控制值的差,即e(t) = r(t) - c(t);
Kp、Ti、Td分別是比例、積分、微分系數。
PID是對輸入偏差進行比例(P)、積分(I)、微分(D)運算,將結果疊加,去控制執行機構。通過調節比例、微分、積分的系數,使得控制系統達到良好的閉環控制性能。實際中使用PID調節控制系統的輸出,主要難點是進行PID的參數確定,這要根據實際情況進行調節。
2)離散形式的PID公式
一般的系統應用中,是使用離散形式的PID進行計算。將積分換為求和,微分換為差分,就可以得到離散形式的PID公式:

這里的u(k)就是輸出,直接對應執行機構的輸出值。
3)增量式PID控制
在上面的PID公式中,公式的輸出u(k)直接對應於執行機構的輸出值,稱為位置式PID算法。
位置式PID算法有一定的缺點:一是計算量大,需要對e(k)進行累加;二是如果意外出現計算錯誤,會使執行機構出現大幅度動作,容易發生危險。
所以有了增量式PID的出現,增量式PID每次輸出值是對應於本次執行機構位置的增量,而不是對應執行機構的實際位置,它的計算如下:

其中:Δe(k) = e(k) - e(k-1)。
一般計算機控制系統的采樣周期T是不變的,所以,一旦確定了參數和前三次的測量值,就可以利用上式計算出后續的控制增量。增量式PID解決了位置式PID的一些缺點,一般在工程上編程實現時,往往都是采用的增量式PID。
4)PID的積分飽和及處理方法
在實際控制系統中,控制量的輸出值是受執行機構性能的限制的,(比如閥門打開的程度,開到最大就不能再大了),而可能PID計算的輸出要求更大,這時實際執行機構的控制量就不再是PID的計算值,這種情況就是飽和效應。
如果負載突變,引起誤差的跳變,那么很容易出現飽和效應,此時,誤差e(k)將會在很長一段時間內保持正值,而且值比較大,會使得累加后積分項非常大,當到達誤差為0的情況時,積分項不能很快歸0 ,而出現嚴重的超調現象。這是由於積分項引起的,所以叫積分飽和。
常用的抗飽和方法有積分分離法、遇限削弱積分法以及變速積分法等等。下面分別介紹這幾種處理積分飽和的方法:
a)積分分離法
積分分離法的基本思路是當被調量與設定值偏差較大時,取消積分作用,以免積分作用使得后期超調量太大;當被控量接近給定值時,重新引入積分控制。
具體方法是依據實際情況人為設定一個閾值ε>0;當e(k)的絕對值大於ε時,取消積分項,采用PD控制;當e(k)絕對值小於等於ε時,使用通常的PID控制。用公式表達如下:

在實現時,實際上是e(k)的絕對值大於ε時,計算方法同3)增量式PID;當e(k)絕對值小於等於ε時,對應於增量式PID中即去掉含Ki的項:

b)遇限削弱積分法
遇限削弱積分法,實現方法是,當控制量進入飽和區時,便不再進行積分項累加,而只執行削弱積分的運算;在計算u(k)時,先判斷u(k-1)是否已經超出最大的控制量,如果已經有u(k-1) > Umax,則只累加負偏差;如果已經有u(k-1) < Umin,則只累加正偏差。
使用遇限削弱積分法,可以使得控制量u(k)的計算值不會偏離實際能控制的量太遠,這樣當需要反向調節時能較快地響應,避免輸出長時間停留在飽和區,不會產生過多的超調量。
c)變速積分法
變速積分法,主要思想是,改變積分項的累加速度:當誤差值e(k)絕對值很大時,減慢積分速度;當誤差值e(k)絕對值很小時,加快積分速度。
這個方法相當於a)積分分離法的強化版;積分分離法在誤差較大時,直接去除了積分量,誤差較小時才引入積分量,屬於有和無的變化;而變速積分法,對積分量的調節要緩和一些。
至於加快和減慢由何種方法實現,可以由用戶自己定義,最簡單的方法就是構造一個隨e(k)負相關變化的函數f(e(k))作為系數,在計算積分量時,用e(k)*f(e(k))來代替e(k)累加。
歡迎大家關注我的公眾號,更多學習資源分享:

