最近跟一個(gè)同事聊了聊天,他說一直用的位置式PID,從來沒在具體項(xiàng)目中用過增量式PID,感覺兩者沒啥區(qū)別呀?
于是跟他討論了一番,不由得讓人深思~
1
“萬能”的PID
PID是一種非常經(jīng)典的控制類算法,憑著它的簡單易用在工程上得到了廣泛的應(yīng)用,并且影響力也是極高,那為什么說其簡單易用呢?
可以說只要你對PID的主要的參數(shù)對系統(tǒng)的影響理解得足夠好,完全可以通過手動(dòng)試湊的方式來獲得一套合適的PID參考,所以對一些非控制類的工程師應(yīng)用起來也是非常友好的。
當(dāng)然還有一個(gè)非常重要的原因,PID算法對大部分系統(tǒng)穩(wěn)定性、魯棒性以及可靠性都非常的高,有調(diào)試PID控制算法經(jīng)驗(yàn)的朋友應(yīng)該都有類似的感覺,即便根據(jù)經(jīng)驗(yàn)隨便給系統(tǒng)一套參數(shù)都可以到達(dá)一個(gè)不錯(cuò)的控制效果。
所以在很多人眼里這算法就是"萬能的",適應(yīng)的場景也非常的廣泛,然而自古有一種規(guī)律"熊掌和魚不可以兼得",PID算法雖然適應(yīng)性非常廣泛,對于處理一些特定的應(yīng)用場景,或許其并不會(huì)最優(yōu)的解決辦法。
基于大家在實(shí)際應(yīng)用中各種各樣的需求,曾經(jīng)一個(gè)發(fā)展涌現(xiàn)了非常的PID的變種,也就是對PID算法在特定的應(yīng)用場景進(jìn)行優(yōu)化、或者與其他一些控制方法進(jìn)行結(jié)合,以便達(dá)到相應(yīng)控制場景下的不錯(cuò)控制效果,比如微分先行PID、PID與智能控制的算法的結(jié)合等等。
當(dāng)然如果PID算法實(shí)在無法滿足需求了,那也不能勉強(qiáng),就只能考慮尋找另外更為匹配的控制策略,比如現(xiàn)在非常流行的自抗擾控制技術(shù)等等。
2
PID的理解
PID算法主要就是三項(xiàng),比例(P)-積分(I)-微分(D),在連續(xù)的時(shí)間域內(nèi)的表達(dá)式如下:
從上面的公式可以看出PID算法是一個(gè)非常純粹的數(shù)學(xué)表達(dá)式,既然是數(shù)學(xué)表達(dá)式那必然可以通過數(shù)學(xué)的方式進(jìn)行分析,拉式變換一下,獲得傳遞函數(shù),然后采用控制理論分析方法,結(jié)合被控對象分析其對動(dòng)態(tài)系統(tǒng)的穩(wěn)定性、準(zhǔn)確性以及快速性進(jìn)行分析,從而達(dá)到性能上的最優(yōu)解,這個(gè)控制系統(tǒng)的設(shè)計(jì)過程不是本文重點(diǎn),暫時(shí)就不進(jìn)行展開了。
還記得最開始了解這個(gè)算法的時(shí)候,有一句話非常相信的彰顯其魅力所在:P-I-D分別代表著當(dāng)前、過去和未來。P對當(dāng)前誤差的抑制作用;I對歷史誤差的累積控制,以便消除靜態(tài)誤差;D根據(jù)誤差的變化率進(jìn)行補(bǔ)償,從表達(dá)式也非常容易從根本上理解這幾句話。
3
數(shù)字PID
在前面跟大家簡單描述了連續(xù)域內(nèi)的PID算法表達(dá)式,而連續(xù)域中該算法需要通過相應(yīng)的模擬電路來進(jìn)行實(shí)現(xiàn),特別是一些沒有數(shù)字芯片的嵌入式系統(tǒng)是經(jīng)??梢姷摹?/p>
但隨著數(shù)字系統(tǒng)的應(yīng)用,特別是單片機(jī)系統(tǒng),數(shù)字PID更加得到廣泛的應(yīng)用,被大部分人所熟知的兩種數(shù)字PID,分別是位置式PID和增量式PID。
大部分的教材都會(huì)描述著兩種形式的數(shù)字PID,然而這些教材一上來就介紹位置式PID與歷史狀態(tài)相關(guān),過去會(huì)對現(xiàn)在的控制輸出產(chǎn)生影響,而增量式PID僅僅只與最近的幾次誤差數(shù)據(jù)相關(guān)。
如下是位置式PID表達(dá)式:
而增量式PID的形式則可以通過位置式進(jìn)行如下表達(dá)式處理得到:
如下便可以得到增量式的表達(dá)式:
這樣看來增量式PID只與最近的兩次誤差有關(guān)系,不會(huì)存在累積誤差的問題,說來增量式PID必然是更好的,那為何還要介紹位置式PID呢?
也有伙計(jì)在自己的程序中使用增量式PID的表達(dá)式,畢竟增量式PID其輸出僅僅只是控制量的增量,最后還是需要把輸出量進(jìn)行累積,這與位置式根本沒啥區(qū)別。
于是很多初學(xué)者,甚至一些用PID多年的工程師對此都抱有一絲疑問。
其實(shí)這兩種數(shù)字PID的應(yīng)用場景是有區(qū)別的,增量式PID控制輸出的僅僅只是控制量的增量,其主要是應(yīng)用在執(zhí)行機(jī)構(gòu)帶有積分部件的被控對象,而位置式PID其輸出的是實(shí)際的控制量,則用于不帶積分環(huán)節(jié)的執(zhí)行機(jī)構(gòu)。
當(dāng)然如果在一些不帶積分環(huán)節(jié)的執(zhí)行結(jié)構(gòu)系統(tǒng)中你執(zhí)意要使用增量PID的形式也無傷大雅,只是最后用數(shù)字積分進(jìn)行處理后輸出,其與位置式PID式?jīng)]有差異,增量式PID的優(yōu)勢并沒有展現(xiàn),因?yàn)檎嬲龁为?dú)使用增量式PID的執(zhí)行機(jī)構(gòu)的積分環(huán)節(jié)是連續(xù)的,這是數(shù)字離散的方式無法比擬的。
審核編輯 :李倩
-
模擬電路
+關(guān)注
關(guān)注
125文章
1591瀏覽量
103932 -
PID算法
+關(guān)注
關(guān)注
2文章
172瀏覽量
24990
原文標(biāo)題:不要只成為PID調(diào)參工程師
文章出處:【微信號:pzh_mcu,微信公眾號:痞子衡嵌入式】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
效率大升!AI賦能鴻蒙萬能卡片開發(fā)

評論