PID控制算法

1 位式控制算法

1.1 位式控制算法框圖

在這裏插入圖片描述

首先,用戶可以通過按鍵、滑動電阻或者其他方式輸入一個控制信號Sv給控制算法, 然後控制算法會結合輸入信號Sv和輸出採集回來的信號Pv來計算輸出量out,然後由out信號控制執行部件,最後由執行部件作用到具體的控制對象上。最後我們要從被控制對象上採集需要控制的變量(可以是溫度、溼度等等)反饋給控制算法做修正。

我們以一個水溫控制系統爲例來說明位式控制算法的原理。
用戶設置部分輸入一個溫度值,比如我們希望控制水溫爲80℃,則Sv = 80;執行部件可以是一個繼電器控制的加熱絲,控制對象就是水箱裏的水,傳感器是一個溫度傳感器。

1.2 位式控制算法的特點

  1. 位式控制算法輸出信號只有H、L兩種狀態。
  2. 算法輸出信號out的依據(二位式):
    當 Pv > Sv ==> out = L (關斷繼電器,停止加熱)
    當Pv ≤ Sv ==>out = H (打開繼電器,開始加熱)
  3. 控制簡單,只是判斷當前系統值和設定值的差值來調節。僅僅考慮了控制對象當前的狀態值。
  4. 誤差較大,因爲被控制對象具有慣性,永遠不可能有被控制對象狀態值等於設定值這種情況。舉例來說:由於熱慣性的存在,當我們檢測到溫度達到設定溫度時,關閉繼電器,停止加熱。雖然此時,加熱絲不工作,但是由於熱慣性的存在,導致溫度還會繼續上升;在開啓加熱時,也會出現類似的情況,雖然已經開啓了加熱,但是由於熱慣性的存在,溫度會繼續下降一定範圍,然後再開始升溫。

2 PID算法

2.1 PID算法框圖

在這裏插入圖片描述
Sv:用戶設置值,目標值。
Pv:控制對象的當前值。

2.2 比例控制

我們假設,從開機以來傳感器所有采樣點的數據序列如下:
x1,x2,x3 ... xk-2, xk-1,xk

分析採樣點的數據序列,可以挖掘出3方面的信息:

Ek = Sv - Xk

  • >0:當前未達標
  • =0:正好達標
  • <0:當前已超標

此時的OUT = Kp * Ek + OUT0,這就是比例控制。我們需要注意,此時的輸出已經不是二位式控制方式的輸出,而是PWM波的輸出。另外,也需要注意到比例控制是在有誤差的時候才控制,沒誤差的時候不參與控制。雖然,在最後加上了控制常數OUT0,但是這樣做在某些情況下可能會取得適得其反的效果。

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