彭博涵 朱慧珠 張清 李玉潔
摘? ?要:系統(tǒng)出現(xiàn)了誤差,就要對(duì)它進(jìn)行糾錯(cuò),讓它能按照穩(wěn)定的狀態(tài)運(yùn)行,通常在自動(dòng)控制理論中,有3種常用的調(diào)節(jié)手段—P(比例調(diào)節(jié))、I(積分調(diào)節(jié))、D(微分調(diào)節(jié)),簡(jiǎn)單來說,就是把這3種調(diào)節(jié)手段通過數(shù)學(xué)方法結(jié)合起來組成一個(gè)系統(tǒng)完備、邏輯嚴(yán)謹(jǐn)?shù)墓剑\(yùn)用到控制系統(tǒng)中,這就是PID算法。使用PID時(shí)我們通常設(shè)計(jì)3個(gè)參數(shù)運(yùn)用到公式中,來體現(xiàn)比例、積分、微分的調(diào)節(jié)作用,通過控制這3個(gè)參數(shù),就可以逐漸調(diào)節(jié)控制系統(tǒng)使其趨于穩(wěn)定,達(dá)到想要的效果。
關(guān)鍵詞:比例-積分-微分算法;自動(dòng)控制理論;平衡車;單片機(jī)
1? ? PID算法之于控制系統(tǒng)
其實(shí)提起比例-積分-微分(Proportion Integral Derivative,PID)算法,學(xué)習(xí)自動(dòng)化控制系統(tǒng)和單片機(jī)開發(fā)的朋友也許并不陌生,文章根據(jù)近幾個(gè)月的了解學(xué)習(xí)與PID算法在平衡車上的應(yīng)用,淺談學(xué)習(xí)經(jīng)驗(yàn)以及對(duì)PID算法的看法,希望為剛?cè)腴T的學(xué)習(xí)者們提供一些幫助。
1.1? PID算法的概念
目前,PID算法是最普遍最簡(jiǎn)單的一種調(diào)節(jié)控制系統(tǒng)的手段,若是希望自己做出來的電子產(chǎn)品更加穩(wěn)定,必須輔助運(yùn)用各種各樣的調(diào)節(jié)手段。當(dāng)然,隨著大數(shù)據(jù)的發(fā)展以及深入學(xué)習(xí)的推廣,僅一個(gè)PID算法是遠(yuǎn)遠(yuǎn)不夠用的,但是如果想從各式各樣的算法開始學(xué)習(xí)的話,PID就是敲門磚,是學(xué)習(xí)各式豐富控制理論的第一步。
1.2? PID算法中的重要公式
PID算法是有公式的,對(duì)于急不可耐想立刻利用PID算法的學(xué)習(xí)者,只需要掌握公式如何運(yùn)用即可,至于公式是如何總結(jié)出來的,文章不再詳細(xì)贅述,如果想要深入了解的話建議學(xué)習(xí)自動(dòng)控制理論系列的讀物以及高等數(shù)學(xué)。
1.2.1? 3個(gè)重要參數(shù)
使用PID時(shí),通常設(shè)計(jì)3個(gè)參數(shù)運(yùn)用到公式中,來體現(xiàn)比例、積分、微分的調(diào)節(jié)作用,通過控制這3個(gè)參數(shù),就可以逐漸調(diào)節(jié)控制系統(tǒng)使其趨于穩(wěn)定,達(dá)到想要的效果。
P—KP—比例調(diào)節(jié)的作用體現(xiàn)為快速性,是對(duì)系統(tǒng)偏差的瞬間反應(yīng),KP越大,系統(tǒng)反應(yīng)越快,振蕩越大。
I—KI—積分調(diào)節(jié)的作用體現(xiàn)為準(zhǔn)確性,其作用在于消除系統(tǒng)偏差,KI越大,系統(tǒng)越準(zhǔn)確穩(wěn)定,但響應(yīng)時(shí)間會(huì)變慢。
D—KD—微分調(diào)節(jié)的作用體現(xiàn)為穩(wěn)定性,其作用在于阻止偏差的變化,微分調(diào)節(jié)不僅要對(duì)系統(tǒng)偏差作出快速響應(yīng),還要根據(jù)偏差的變化趨勢(shì)消除偏差,是非常重要的調(diào)節(jié)參數(shù)。
1.2.2? PID算法的兩個(gè)重要公式
兩個(gè)公式都是對(duì)系統(tǒng)誤差進(jìn)行的數(shù)學(xué)運(yùn)算,增量式公式中與系統(tǒng)前一次的誤差E(k-1)和前兩次的誤差E(k-2)有關(guān)。而且此公式應(yīng)用時(shí)控制的不是輸出量,而是輸出量的增量,與積分環(huán)節(jié)無關(guān)。適用于步進(jìn)電機(jī)的調(diào)節(jié),尤其適用于沒有積分環(huán)節(jié)的控制系統(tǒng)。
位置式公式中與系統(tǒng)前一次的誤差E(k-1)和誤差的累加值ΣE(k)有關(guān),其輸出與整個(gè)系統(tǒng)的過去狀態(tài)有關(guān),是對(duì)系統(tǒng)每一次不同狀態(tài)的分析和調(diào)整,對(duì)系統(tǒng)本身有著較大的影響,適用于一切控制系統(tǒng)[1]。
2? ? PID算法應(yīng)用—平衡車設(shè)計(jì)方案
2.1? 電子器件的選擇
2.1.1? 主控芯片STM32RCT6模塊
STM系列芯片具有良好的電氣性能,是自動(dòng)控制系統(tǒng)中廣泛應(yīng)用的微型控制芯片。其實(shí)網(wǎng)上有很多現(xiàn)成的平衡車程序,都是基于STM32C8T6芯片的,但是筆者選擇了STM32RCT6芯片,首先它的引腳比較多,價(jià)格相對(duì)來說也比較便宜,如果某個(gè)引腳出現(xiàn)不能正常工作的現(xiàn)象,也有足夠的更換空間。雖然我需要重新根據(jù)程序進(jìn)行一系列的配置,卻也提供給了充分學(xué)習(xí)平衡車的空間[2]。
2.1.2? 電機(jī)與驅(qū)動(dòng)模塊
電機(jī)選擇的為減速比為1∶30,供電電壓為12 V的直流減速電機(jī),電機(jī)型號(hào)為520。驅(qū)動(dòng)模塊型號(hào)為TB12FNG模塊,TB6612FNG是東芝半導(dǎo)體公司生產(chǎn)的一款直流電機(jī)驅(qū)動(dòng)器件,具有大電流MOSFET-H橋結(jié)構(gòu),雙通道電路輸出,可同時(shí)驅(qū)動(dòng)兩個(gè)電機(jī)。
2.1.3? 電機(jī)測(cè)速模塊
像平衡小車這樣的平衡控制系統(tǒng),仰賴于對(duì)小車電機(jī)速度的控制。而對(duì)電機(jī)速度實(shí)現(xiàn)的精準(zhǔn)控制,在于對(duì)電機(jī)速度的實(shí)時(shí)檢測(cè)。霍爾編碼器是電機(jī)測(cè)速中常用的電子元件,通過輸出兩個(gè)通道正交相位90°的方波把速度數(shù)據(jù)傳輸給單片機(jī)。
2.1.4? 平衡模塊
MPU6050是平衡車小車的核心模塊,通過對(duì)小車各個(gè)方位狀態(tài)的檢測(cè),我們才能根據(jù)不同狀態(tài)作出不同的反應(yīng),通過對(duì)不同狀態(tài)下電機(jī)的控制,來實(shí)現(xiàn)平衡的狀態(tài)。MPU6050整合了3軸陀螺儀、3軸加速器,由主要IIC端口以單一數(shù)據(jù)流的形式,向應(yīng)用端輸出9軸融合演算數(shù)據(jù)。
2.2? 小車整體控制
小車整體控制如圖1所示。
3? ? 平橫車參數(shù)調(diào)節(jié)經(jīng)驗(yàn)
PID算法中的3個(gè)重要參數(shù)上面已經(jīng)介紹過了,根據(jù)想要系統(tǒng)實(shí)現(xiàn)的功能,選擇好合適的公式之后,再用C語言轉(zhuǎn)化完成,最后對(duì)PID的參數(shù)進(jìn)行調(diào)節(jié)。
KP的調(diào)節(jié):KP越大,可以認(rèn)為小車反應(yīng)越快,但是越不穩(wěn)定,可能會(huì)來回?cái)[動(dòng),根本無法立住而且擺動(dòng)幅度極大,所以,KP的調(diào)節(jié)一旦固定下來不可輕易更改,做到盡量少改,能不改就不改,否則一旦改動(dòng)會(huì)對(duì)其他兩個(gè)參數(shù)造成很大的影響。
KI的調(diào)節(jié):KI越大,可以認(rèn)為小車站立會(huì)越來越穩(wěn),但是可能會(huì)出現(xiàn)不是直立站立,可能躺著站立,或者扶小車站起時(shí)某一時(shí)是穩(wěn)定的,保持這種穩(wěn)定較久才會(huì)變換另一種狀態(tài),也就是說不會(huì)根據(jù)不平衡的狀態(tài)作出及時(shí)的反應(yīng)。
KD的調(diào)節(jié):在調(diào)節(jié)這個(gè)參數(shù)的時(shí)候一定要注意外界噪聲的影響,這里的“噪聲”在小車系統(tǒng)中可以理解為電機(jī)的輸入信號(hào)不穩(wěn)定。所以在調(diào)參前應(yīng)保證芯片是嶄新完好的,電源穩(wěn)定充足,電機(jī)驅(qū)動(dòng)模塊性能良好,這種噪聲影響其實(shí)完全不用考慮。這種顧慮排除后,要秉持著“曲線振蕩頻率快,先把微分降下來;動(dòng)差大來波動(dòng)慢,微分時(shí)間應(yīng)加長(zhǎng)”的原則進(jìn)行調(diào)節(jié)。
[參考文獻(xiàn)]
[1]熊中剛,葉振環(huán),賀娟,等.基于免疫模糊PID的小型農(nóng)業(yè)機(jī)械路徑智能跟蹤控制[J].機(jī)器人,2015(2):212-223.
[2]滿紅,鄭富榮,胡偉華,等.基于STM32單片機(jī)的教學(xué)用尋跡平衡車的設(shè)計(jì)與實(shí)現(xiàn)[J].機(jī)器人技術(shù)與應(yīng)用,2018(4):39-42.