1. 程式人生 > >控制演算法--1 二值位式控制演算法

控制演算法--1 二值位式控制演算法

控制演算法(The control algorithm)是在機電一體化中,在進行任何一個具體控制系統的分析、綜合或設計時,首先應建立該系統的數學模型,確定其控制演算法。

所謂數學模型就是系統動態特性的數學表示式。它反映了系統輸入、內部狀態和輸出之間的數量和邏輯關係。這些關係式為計算機進行運算處理提供了依據,即由數學模型推出控制演算法。所謂計算機控制,就是按照規定的控制演算法進行控制,因此,控制演算法的正確與否直接影響控制系統的品質,甚至決定整個系統的成敗。 –摘抄自百度百科

控制演算法決定了一個系統的品質,好的控制演算法可以優化整個系統的組成。

二值位式控制演算法

位式控制演算法的控制框圖如下圖所示:
這裡寫圖片描述

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

我們以一個水溫控制系統為例來說明位式控制演算法的原理。

使用者設定部分輸入一個溫度值,比如我們希望控制水溫為80℃,則Sv = 80;執行部件可以是一個繼電器控制的加熱絲,控制物件就是水箱裡的水,感測器是一個溫度感測器。

二值位式控制演算法的原理是:

當 Pv > Sv ==> out = L 關斷繼電器,停止加熱
當Pv ≤ Sv ==>out = H 開啟繼電器,開始加熱

由以上分析我們得出二值位式控制演算法有以下特點:

1、需要是一個閉環控制系統,可以採集到被控制物件的當前狀態。
2、控制簡單,只是判斷當前系統值和設定值的差值來調節。
3、只能輸出高或者低兩種狀態值。
4、誤差較大,因為被控制物件具有慣性,永遠不可能有被控制物件狀態值等於設定值這種情況。舉例來說:溫度加熱和停止加熱不是一個立即結束的動作,我們導通繼電器開始加熱,由於加熱絲的溫度不會一下子提升到我們所需的溫度,中間是有一段升溫過程,同理停止加熱中間也是有一段降溫的過程。

改進方案:

雖然系統硬體設計已定,但是通過改進控制演算法,我們可以克服二值位式控制演算法的一些弊端,儘量達到輸出值和我們設定值接近,減少誤差。

PID控制演算法就是其中一種該進方法,關於PID演算法的詳細討論我們在後續文章中分析。