一文看懂數字PID

前言

在介紹數字PID之前首先簡單介紹PID控制器調節原理,圖1爲常規PID控制器結構框圖,該控制器通過求出控制量與輸出反饋量的偏差e(t),對偏差進行比例(P)、積分(I)和微分(D)運算,得到的調節量相加得到最終控制量u(t),實現對受控對象的實時調節[1]。

 PID控制控制算法可以寫成:

其中r(t)爲目標輸入,y(t)爲系統輸出,輸入值與系統輸出的偏差e(t) = r(t) - y(t),KP是比例係數,KI和KD分別是積分和微分時間常數, 控制器控制效果的優劣與這三個參數的整定結果有關。

使用工業微處理器實現數字PID算法是電機控制最常用的控制手段,通過將編碼器實時採集的數據與當前的輸入量的偏差值來計算下一次的控制量,數字式PID調節算法的具體工作原理如下。

數字式PID比例調節(P)

以帶編碼器的電機爲例,當電機開始運行,微處理器就會採樣一系列編碼器產生的數據,將所採集的數據序列記爲y1,y2, ...,yk-1,yk,將目標設定值記爲Rv,當前採樣數據記爲Yk,則當前誤差爲Ek=Rv-Yk。根據Ek的值有三種情況:當Ek>0時,表示當前控制未達標;當Ek=0時,表示當前控制正好達標;當Ek<0時表示當前控制超標。故PID控制器中的比例調節器可以根據Ek的值對輸出信號做出調整,將當前誤差Ek乘以一個係數KP,該係數值可以理解成一個衰減器或放大器來調節當前誤差值作爲系統的控制信號。爲防止Ek=0時控制失控,引入常數out0,因此比例控制可表示爲Pout=KP*Ek+out0,從公式可以看出比例控制必須在系統存在誤差的條件下才能工作,如果Ek=0,則通過out0對系統進行一個微弱的控制,以保證誤差的隨時存在,比例控制只考慮當前誤差,因此控制效果最明顯。

數字式PID積分調節(I)

通過編碼器採集的數據序列y1,y2, ...,yk-1,yk,我們可以根據誤差公式Ek=Rv-Yk得到一組誤差序列E1,E2,...,Ek1,Ek,將該序列稱爲歷史偏差序列。由於誤差值Ek存在三種狀態,將1~k時刻的誤差序列求代數和記Sk=E1+E2+...+Ek-1+Ek,其Sk不會無窮大且也會存在三種情況:當Sk>0時,表示1~k時刻的誤差值以正數居多,根據Ek=Rv-Yk可知1~k時刻控制輸出總體上較設定值偏低;當Sk=0時,表示當前控制正好達標,但這種情況機率較小;當Sk<0時表示1~k時刻控制輸出總體上較設定值偏高。故在調節方式上應做如下調整,當Sk>0在過去一段時間總體上控制信號未達標時,將Sk乘一個係數KI放大控制信號。當Sk=0時,只能表示在1~k時刻系統偏差滿足設定條件,但不能代表當前時刻輸出達標,爲防止在Sk=0時積分項停止工作,同樣引入常數項out0,故積分控制器可表示爲Iout=KP*Sk+out0,積分控制根據歷史偏差輸出控制信號,顯然具有滯後性。

數字式PID微分調節(D)

根據控制系統1~k時刻誤差序列E1,E2,...,Ek1,Ek,將最近兩次的偏差值相減記爲Dk=Ek-Ek-1, 的值表示偏差的變化率,同樣存在三種情況,值的大小則說明了偏差的變化趨勢。當 時表示當前時刻偏差較上一時刻偏差大,說明當前輸出已經越來越偏離目標值,反之亦然。微分調節器的工作原理主要是利用最近時刻偏差的變化率預測接下來的控制量。爲提高微分算法的控制靈敏度,在 前面乘一個係數 來提高系統的控制靈敏度,同樣爲保持微分控制器的穩定性,也要加上一個係數 保持微分控制器的正常工作,故有 ,微分控制不可獨立使用,因爲微分控制不考慮偏差是否存在,而是根據偏差的變化率進行控制。

 

 

 

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