彭博涵 朱慧珠 張清 李玉潔


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