這樣深入淺出的講解PID算法,你見過沒?

PID算法網上不少,往往都是基於數學模型,在實際中導致使用難的問題,而數學模型屬於理想的,沒有深入本質講解,本文從控制學的基礎講解。

這樣深入淺出的講解PID算法,你見過沒?

我們看一個生活例子,冬天洗熱水澡,需要先放掉一段時間的冷水,因為水管裡有一段冷水,熱水器也需要一個加熱過程,等過了這段時間之後水溫有些接近目標值後,開始調節水龍頭來調節冷、熱水之間的比例及出水量,之後再慢慢的微調,在洗浴過程中感覺溫度不合適,再一點點的調節。這個過程,其實就是PID算法過程。我們之所以微調,是因為水溫的變化速度與我調節的速度不相匹配,存在一個滯後效應,我們需要調節一點點,等一下再感覺一下溫度,不夠再條件一點點,再感覺,這個過程就叫PID算法,也可以說,滯後效應是引入PID的原因。

失去的能否找回來?能、只是我找回了紐扣,卻發現衣服已經不再了。這個就是滯後效應。

負反饋系統,都有滯後效應,但為什麼運放、電源這類的卻從來不提PID算法呢?這是因為這類系統的滯後延時時間非常短,若考慮這個延時,負反饋引入180度相位,延時恰好引入180度相位,則完全可能引起振盪。問題在於這個延時時間足夠短,它的諧振頻率點比較高,以運放為例,加入延時加上負反饋引起的諧振點為10MHz,但這顆運放的頻率響應是1MHz,則在10MHz下完全不可能導致振盪,因為這個芯片的頻響特性只有1MHz。我們常用的線性電源IC,比如SOT23封裝的LDO,假如輸出不加電容,就會輸出一個振盪的波形,相對來說電源IC的滯後效應比運放要大,但是,因為電源一般後面都要接大電容的,它的頻響特性很低,接近直流0Hz,所以當有電容時候,就無法振盪了。

而工業控制領域,比如溫度等,都是滯後效應很嚴重的,往往都是mS,甚至是10mS級別的,若直接用負反饋,因為激勵與反饋的不同步,必然導致強烈的振盪,所以為了解決這個問題,我們需要引入PID算法,來實現這類滯後效應嚴重系統的負反饋控制,我們以高頻感應加熱設備加熱工件,從常溫25度加熱到700度為例做說明:

1、25~600度,100%的全功率加熱工件,這是因為溫差太大,前期要全功率,先加熱到靠近目標溫度。之所以考慮在600度,是因為滯後效應,若設定太高,當發現接近700度再停下來,但實際上,溫度會衝過700度。當然,600度是一個經驗值,以下幾個溫度點都是經驗值,根據實際情況而來。

2、600以上,開啟P算法,P就是根據測量值與目標值的誤差來決定負反饋的大小。P算法公式:反饋=P*(當前溫度-目標溫度)。但因為負反饋是基於存在誤差為前提的,所以P算法導致一個問題,永遠到不了想要的值:700度。因為到了700度,反饋值就沒有了。P算法的開啟,進一步逼近了目標溫度,假設穩態下可以達到650度,這樣就算因為滯後效應導致的延時,也不會超過700度太多。

3、當達到P算法的穩態極限650度附近的時候,比如640度,就應該開啟另外一個算法解決P算法引起的極限誤差,那就是I算法。I算法就是為了消除這個P算法導致的誤差值,畢竟我們想要的是700度,而不是650度。I算法,本質上講就是獲取一個700度下對應的一個驅動值,之後用這個驅動值來取代P算法,那麼我們怎麼得到這個驅動值呢,唯一的手段就是把之前的誤差都累加起來,最後得到一個期望值,這個期望值就是我們想要的驅動值。因為只要與目標值存在誤差,那麼把這些誤差值積累起來再去反饋控制,就能一步步的逼近目標值,這如同水溫不夠高,再加一點點熱水,不夠高再加,這樣總能達到想要的水溫。值得注意的是,I算法不能接入太高,必須要在P算法的後期介入,不然很容易積累過大。這個時候可以引入一個誤差門限,比如誤差為60,當作6來處理,誤差為50,當作5來處理,消除大的誤差值,具體根據項目情況決定。

4、當I算法把工件溫度加熱到很接近目標溫度後,那麼可以調節的範圍就很小了,最後一點點的微動,讓調節的每一次的變化,不要太大,這就是D算法。D算法本質上講就是反對劇烈的變化,所以適用於達到目標溫度的時候。

PID算法其實不復雜,但從目前看,很多人都是因為對這三者的使用條件不瞭解導致的問題,都是從加熱一開始,三個要素都上,結果可想而知。P算法是溫度接近目標值的時候用,I算法是在P算法到穩態極限的時候用,D算法是達到目標值附近的時候用。實際項目中,D算法一般不用,效果不大。假如非要找一個現實中對應的實物,那麼以開關電源為例,TL431基準電源比較器可以認為是P,輸出濾波電容C是I,輸出濾波電感是D,兩者完全等價。它們各自的應用工作點可以認為:假設目標溫度700度,600~800度:P算法;640~760度:I算法;690~710度:D算法。具體值,以實驗為準,數據僅供參考。

最後給出一個PID最通俗的解讀:我們設計一樣東西,一般都是先打個樣,這個樣跟我們想要的接近,但細節沒到位,這就是P,樣有差異,所以就要修改,擬合逼近,這就是I,到了定稿,就不允許隨便修改了,就算要修改,也是有限制的修改,這就是D。


分享到:


相關文章: