錢炳鋒+何奉泊+陳嘉裕
【摘 要】雙輪平衡車是一個高度不穩(wěn)定兩輪機器人,單獨使用陀螺儀或者加速度計都不能提供有效而可靠的信息來保證車體的平衡。介紹了以 STM32單片機作為核心控制器的雙輪平衡車控制系統(tǒng)設計方案,采用 MPU6050 六軸傳感器采集角度和角速度信號,應用卡爾曼融合濾波方式和PID 控制算法,以實現(xiàn)雙輪平衡車的平衡和簡單的直立行走。
【關鍵詞】STM32;陀螺儀;加速度計;濾波;MPU6050
引言
兩輪自平衡小車,其本質(zhì)上是一個底端可以自由移動的倒立擺系統(tǒng),屬于同軸平行布置的結構,該系統(tǒng)是非線性、強耦合、多變量和自然不穩(wěn)定的系統(tǒng),是檢驗各種控制理論的理想模型。在控制過程中平衡小車能有效地反映諸如穩(wěn)定性、魯棒性、隨動性以及跟蹤性等許多控制中的關鍵問題。
本文通過對平衡車系統(tǒng)建立合理的數(shù)學模型,基于ARM內(nèi)核的32位微控制系統(tǒng),通過融合陀螺儀、加速度傳感器等信息,實現(xiàn)平衡車反饋系統(tǒng)的控制。
1. 系統(tǒng)構成
1.1機械結構
平衡車機械外型結構一般由一個兩輪同軸,左右平行布置結構,兩輪分別由一個直流電機驅(qū)動,直流電機末端都帶有反饋用的編碼器,車身中心位于車輪軸上方,通過控制兩輪的轉速差實現(xiàn)直行和定半徑轉彎。
優(yōu)秀的機械結構需要具備以下特點:質(zhì)量集中、重心低、質(zhì)量輕。質(zhì)量集中為了減少轉動慣量,這里的控制電池是關鍵,即電池盡量離車軸近;重心低為了防止過彎側滑,抬輪等,能夠使過彎更平滑順暢;質(zhì)量輕是便于控制,減少整車慣性。不到萬不得已不要加配重。當然,可以看到不少跑得好的車子都加了配重的,這樣是為了控制角度或速度,而不是想要車子變得更“穩(wěn)重”。抓住這九個字的,如何將傳感器、電池、主板組裝將會是一個決定小車速度的要點。
1.2系統(tǒng)工作原理
平衡車基本工作原理如圖1所示。兩個直流電動機安裝在車體平臺下面,通過直流電機分別驅(qū)動左右車輪運動。采用MPU6050檢測車體平臺運行姿態(tài)。
MPU6050 六軸傳感器芯片為全球首例整合性6軸運動處理組件,相較于多組件方案,免除了組合陀螺儀與加速器時間軸之差的問題,減少了大量的封裝空間。其集成了3 軸MEMS陀螺儀和3軸MEMS加速度計,每個軸對應有一個16位AD轉換器,測量范圍達±16 g,其高分辨率( 3.9 mg /LSB)能夠測量不到1.0°的傾斜角度變化。其中陀螺儀檢測平臺繞轉動輪軸轉動的角速率,加速度計得到的數(shù)據(jù)與陀螺儀檢測值,經(jīng)過卡爾曼濾波器,得到補償后的角度值,解決陀螺儀零票問題。采用可編程邏輯器件對電動機編碼器產(chǎn)生的脈沖量進行計數(shù),從而檢測出車體平臺的位移和速度。跟據(jù)姿態(tài)監(jiān)測和位置傳感,通過一定的控制算法計算出控制電壓信號,再通過驅(qū)動電機,調(diào)整車體平臺運行姿態(tài),從而使車體平臺始終保持平衡狀態(tài)。
2.信號處理
2.1 姿態(tài)信號
在雙輪平衡車姿態(tài)檢測系統(tǒng)中,加速度計、陀螺儀主要用于檢測車體傾斜角和傾斜角的變化速度,其中加速度計屬于測量線性運動的傳感器,其靜態(tài)響應好,能夠準確測量車體靜態(tài)時的角度,但對震動較敏感,受動態(tài)加速度的影響較大。在角度測量時,除了小車角度變化的信號外,還伴隨著因車體運動而產(chǎn)生的噪聲,這個噪聲會隨著車體運動速度的增加而增大。陀螺儀屬于測量旋轉運動的傳感器,其輸出值圍繞某個軸向的旋轉角速率,通過角速率對時間積分即可得到角度值。 系統(tǒng)采用微控制器循環(huán)采樣獲取陀螺儀的角速率信息,即每隔一段很短的時間采樣一次,采用累加的方法實現(xiàn)積分的功能來計算角度值,所以存在累積漂移誤差,不適合長時間單獨工作。
2.2 濾波融合
為獲得準確的車體傾角值,需對加速度計和陀螺儀的輸出值進行融合,系統(tǒng)采用一種簡易的卡爾曼濾波方法進行數(shù)據(jù)融合??柭鼮V波器是一種遞歸的估算,例如要估算K時刻車體的實際角度值,首先要根據(jù)K-1時刻的角度值預測得到K時刻的角度值,再根據(jù)K時刻的預測角度值和高斯噪聲的方差,進行遞歸運算,直到獲得最優(yōu)的車體角度值當雙輪平衡車車體產(chǎn)生傾斜時,系統(tǒng)采用PID控制算法,通過整合車體角度、角速度、車體速度和位置等參數(shù)值,輸出PWM信號驅(qū)動電機,產(chǎn)生相應的力矩,從而保持車體的動態(tài)平衡,其結構框圖如圖2 所示,圖中的 Kd,Kp,Ksp,Kis 是PID控制器的相關參數(shù)。
3.軟件設計
軟件的主要功能包括有:
(1)車模運行狀態(tài)檢測;
(2)電機 PWM 輸出;
(3)車模運行控制:直立控制、速度控制、方向控制;
(4)車模運行流程控制:程序初始化、車模啟動與結束;
(5)系統(tǒng)界面:狀態(tài)顯示、上位機監(jiān)控、參數(shù)設定等。
主程序框架如圖3所示。
4.結語
雙輪平衡車控制系統(tǒng)以STM32單片機為控制芯片,采用卡爾曼融合濾波方式對MPU6050傳感器的角度和角速度信號進行融合處理,從而得到實時、穩(wěn)定的角度和角速度信號,應用實驗測試法確定 PID算法中的各個參數(shù),從而實現(xiàn)對雙輪平衡車的控制。經(jīng)多次測試,能初步實現(xiàn)車體的平衡和簡單的直立行走。
參考文獻:
[1]賴義漢,王 凱 基于 MPU6050 的雙輪平衡車控制系統(tǒng)設計 河南工程學院學報( 自然科學版) 第 26 卷 第 1 期 2014 年 3 月.
[2]王素青, 熊維堂 基于 STM32 的兩輪自平衡小車系統(tǒng)設計 實 驗 室 研 究 與 探 索第 35 卷 第 5 期 2016 年 5 月.
基金資助:
本項目受上海電機學院車輛工程學科建設項目資助,項目編號:16TSXK01;上海市大學生創(chuàng)新計劃資助。endprint