PID基礎理解

PID基礎理解

本文摘抄之芯片之家公衆號,想着從現在開始搞搞PID算法,準備基於溫控和電機兩個項目來學習,先查查資料瞭解下相關概念先!

調PID時留下的

 

經典的增量式PID算法

 

在智能車競賽中,要想讓智能車根據賽道的不斷變化靈活的行進,PID算法的採用很有意義。

 

首先必須明確PID算法是基於反饋的。一般情況下,這個反饋就是速度傳感器返回給單片機當前電機的轉速。簡單的說,就是用這個反饋跟預設值進行比較,如果轉速偏大,就減小電機兩端的電壓;相反,則增加電機兩端的電壓。

 

顧名思義,P指是比例(Proportion),I指是積分(Integral),D指微分(Differential)。在電機調速系統中,輸入信號爲正,要求電機正轉時,反饋信號也爲正(PID算法時,誤差=輸入-反饋),同時電機轉速越高,反饋信號越大。要想搞懂PID算法的原理,首先必須先明白P,I,D各自的含義及控制規律:

 

比例P:比例項部分其實就是對預設值和反饋值差值的發大倍數。舉個例子,假如原來電機兩端的電壓爲U0,比例P爲0.2,輸入值是800,而反饋值是1000,那麼輸出到電機兩端的電壓應變爲U0+0.2*(800-1000)。從而達到了調節速度的目的。顯然比例P越大時,電機轉速回歸到輸入值的速度將更快,及調節靈敏度就越高。從而,加大P值,可以減少從非穩態到穩態的時間。但是同時也可能造成電機轉速在預設值附近振盪的情形,所以又引入積分I解決此問題。

 

積分I:顧名思義,積分項部分其實就是對預設值和反饋值之間的差值在時間上進行累加。當差值不是很大時,爲了不引起振盪。可以先讓電機按原轉速繼續運行。當時要將這個差值用積分項累加。當這個和累加到一定值時,再一次性進行處理。從而避免了振盪現象的發生。可見,積分項的調節存在明顯的滯後。而且I值越大,滯後效果越明顯。

 

微分D:微分項部分其實就是求電機轉速的變化率。也就是前後兩次差值的差而已。也就是說,微分項是根據差值變化的速率,提前給出一個相應的調節動作。可見微分項的調節是超前的。並且D值越大,超前作用越明顯。可以在一定程度上緩衝振盪。比例項的作用僅是放大誤差的幅值,而目前需要增加的是“微分項”,它能預測誤差變化的趨勢,這樣,具有比例+微分的控制器,就能夠提前使抑制誤差的控制作用等於零,甚至爲負值,從而避免了被控量的嚴重超調。

 

參數調整一般規則

由各個參數的控制規律可知,比例P使反應變快,微分D使反應提前,積分I使反應滯後。在一定範圍內,P,D值越大,調節的效果越好。各個參數的調節原則如下:

PID調試一般原則:

a. 在輸出不振盪時,增大比例增益P。

b. 在輸出不振盪時,減小積分時間常數Ti。

c. 輸出不振盪時,增大微分時間常數Td。

 

參數調整一般步驟

 

a.確定比例增益

P確定比例增益P 時,首先去掉PID的積分項和微分項,一般是令Ti=0、Td=0,PID爲純比例調節。輸入設定爲系統允許的最大值的60%~70%,由0逐漸加大比例增益P,直至系統出現振盪;再反過來,從此時的比例增益P逐漸減小,直至系統振盪消失,記錄此時的比例增益P,設定PID的比例增益P爲當前值的60%~70%。比例增益P調試完成。

 

b.確定積分時間常數Ti

比例增益P確定後,設定一個較大的積分時間常數Ti的初值,然後逐漸減小Ti,直至系統出現振盪,之後在反過來,逐漸加大Ti,直至系統振盪消失。記錄此時的Ti,設定PID的積分時間常數Ti爲當前值的150%~180%。積分時間常數Ti調試完成。

 

c.確定積分時間常數Td

積分時間常數Td一般不用設定,爲0即可。若要設定,與確定 P和Ti的方法相同,取不振盪時的30%。

 

d.系統空載、帶載聯調,再對PID參數進行微調,直至滿足要求

 

 

 

 

本文是芯片電子之家所作,留存學習!

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