摘 要:文章鑒于平衡車在當今世界的發展熱潮提出了一種設計方案。文章基于STM32微處理器,通過卡爾曼濾波法和PID控制實現了兩輪平衡車的自平衡控制。該設計方案采用加速度計和陀螺儀共同采集獲取姿態角,得到可靠的輸出。
關鍵詞:平衡車;加速度計;陀螺儀;卡爾曼濾波;PID算法
前言
平衡車作為一種交通工具,廣泛應用于航空、安保等領域。鑒于其綠色、節能、方便、靈活、輕巧等優點,解決了很多諸如交通、能源、環保等問題帶來的壓力,平衡車作為一種理想的交通工具具有很大的市場。隨著現代科技的不斷進步,對于市場上平衡車的響應的精確度和速度的要求不斷提高,文章設計方案通過陀螺儀測量角度和角速度,并通過加速度計來矯正陀螺儀的角度漂移,實現了精確度的提高。
1 力學原理分析
如圖1所示,類比倒立擺,控制車輪做加速運動,得到車模恢復力:
F=mgsin?茲-macos?茲≈mg?茲-mk1?茲(1)
式(1)中k1是車輪加速度a與偏角θ的比例。因為空氣中存在摩擦力,即阻尼力,則式(1)變作:
F=mg?茲-mk1?茲-mk2■ (2)
可得:a=k1?茲+k2■ (3)
式(3)中k1大于g,k2大于0;k1決定了車模平衡的位置,k2決定了車模的響應時間。
從上述數學模型中可以看出,只需知道車模的傾角及角速度,即可推得車輪的加速度,從而可以控制電機的轉速,實現對車輪的正確控制。
2 控制系統設計
控制系統的整體設計方案是:通過陀螺儀測得車模的傾角和角速度,加速度計用來消除陀螺儀角度漂移。兩者測得數據經過A/D轉換輸入到控制器中,經過卡爾曼濾波得到可靠的車模角度。同時編碼器測得車輪速度傳遞到控制器中。處理器經過PID算法結合車模角度和車輪速度輸出PWM控制量驅動電機運轉,改變車輪的轉速。具體框圖如圖2所示。
圖2
系統整體采用PID控制算法,如圖3所示。在速度控制和角度控制中都使用了微分環節,目的是使車??焖俚姆€定下來,加快了響應時間。速度控制的積分環節是為了消除速度的控制誤差。
圖3
3 主要硬件設計
3.1 電源模塊
單片機、各傳感器、電機驅動模塊、顯示模塊都要用到直流電。本設計采用12V,1A鋰電池供電,采用LM2596穩壓片進行降壓,最后輸出5V到主板和各個傳感器。
3.2 姿態角采集傳感器
通過前面的力學分析可知要使車模能夠穩定的直立,需要測得車模的角度與角速度的信息,然后通過卡爾曼濾波得到可靠的姿態角。姿態角的獲取采用陀螺儀和加速度計測量。該模塊采用了六軸慣性傳感器MPU6050,該芯片集成了3軸陀螺儀MEMS傳感器和3軸加速度計MEMS傳感器。該設計有效避免了兩路傳感器的軸間差問題。現簡述陀螺儀和加速度計的工作機理:
陀螺儀:陀螺儀安裝在車模上,可以測量車模的角速度,角速度通過積分便可得到角度值。車模運動會產生噪聲,同時其他因素會產生噪聲,但車模運動的噪聲占主要部分,而車模的運動不會對車模的角速度產生影響,所以噪聲對陀螺儀的測量信號影響很小,因此通過陀螺儀可以得到可靠的角速度信號。積分又使得信號更加平滑,所以陀螺儀可以得到角度值。但是,陀螺儀輸出的角度值是通過角速度積分得到的,如果角速度存在即使很微小的偏差,經過積分后就會形成累計誤差,從而將偏差放大,從而輸出錯誤的角度信號。為了解決此問題,該設計通過其他途徑同時獲得角度信號,然后與陀螺儀輸出角度信號進行比對,從而獲得可靠的角度信號。另一角度信號的獲得通過加速度計來實現。
加速度計:加速度計可以測量重力作用或者物體運動所產生的加速度。該設計采用加速度計z軸上的信號。當車模直立時,輸出信號的電壓值為0,當車模傾斜時,重力在z軸方向上產生加速度g的分量,從而使電壓值發生改變。其中:
△u=kgsin?茲≈kg?茲(4)
式(4)中k代表加速度計的靈敏系數;?茲值很小。
從該式中可以看出,加速度計可以獲得車模的角度值。但同時車模的運動會對車模的加速度產生很大影響,從而使加速度計產生的角度信號發生偏差。
該設計通過比對陀螺儀和加速度計產生的角度信號,將其比對誤差進行比例放大,疊加到陀螺儀測得的角速度值里共同積分,從而獲得可靠的角度信號值。
3.3 編碼器
該模塊采用AB相增量式霍爾編碼器,自帶上拉整形,單片機可以直接讀取。該編碼器可以通過轉動時輸出脈沖來檢測確定其位置。該編碼器內部有兩對光電耦合器,輸出脈沖是相位差是90的兩組脈沖序列,通過判斷兩路脈沖的超前和滯后判斷車輪的正轉和反轉。
圖4 正轉圖 圖5 反轉圖
3.4 電機驅動模塊
本設計采用額定電壓12V電機,通過TB6612FNG驅動芯片進行供電。左右兩輪單獨控制,所以采用兩個電機。驅動電機PWM采用單極性驅動,以便提高電源效率。又由于車輪轉動存在正轉和反轉兩個方向,所以兩個電機共采用四個PWM信號。
3.5 顯示模塊
該模塊采用OLED顯示屏,可以顯示車模的角度,車輪轉速,以及PID控制中的各個參數,方便對車模進行調試。
4 軟件設計
算法圖如圖6。
軟件部分主要包括對各傳感器的數據的采集和處理;輸出可靠的PWM控制信號控制電機的運行;車模的直立、速度和方向控制;車模運行初始化和顯示部分。
PID算法是將卡爾曼濾波后的角度值與速度反饋得到值進行反饋控制。
卡爾曼濾波是一種遞歸的最優化估計,其原理是:根據k-1時刻的最優角度值和其偏差預測得到k時刻的角度值,同時用k-1時刻的最優值的偏差和k時刻的預測值的偏差共同產生k時刻的預測值的高斯白噪聲,同時根據測量值和預測值的協方差來判斷出兩個值的權重的大小,從而計算出此刻的最優角度值。再根據k時刻的最優角度值和計算出的偏差進行預測k+1時刻的角度值。
5 測試結果
對代碼中直立控制,方向控制,速度控制中的參數進行多次調整,最終經過上位機測試,由圖7可以看出平衡車平衡十分穩定,系統運行平穩可靠。
6 結束語
兩輪平衡車是一個相對復雜的系統,它對傳感器技術和智能控制技術有很高的要求。文章給出了一種設計方案并成功實現兩輪平衡車的自平衡控制。對于具體的軟件設計代碼、遙控控制、超聲波避障功能未做深入的討論。雙輪平衡車作為一種可以代步的使用工具,其節能、靈巧、高效、環保等優點使其具有很大的市場潛力,積極投資和研發雙輪平衡車的優化設計,將帶來更大的市場經濟效益,促進經濟的發展。
參考文獻
[1]彭丁聰.卡爾曼濾波的基本原理及應用[J].軟件導刊,2009.
[2]袁澤睿.兩輪自平衡機器人控制算法的研究[D].哈爾濱:哈爾濱工業大學,2006.
[3]胡壽松.自動控制原理[M].北京:科學出版社,2001.
[4]曹志杰.一種自平衡雙輪移動機器人控制系統的設計與實現[D].北京郵電大學,2008.
作者簡介:張洪偉(1993,9-),男,河北省保定人,西南大學自動化專業,本科生。