山東省菏澤一中 李澤宇
近年來,隨著自動控制技術的不斷發展與應用,各種類型和用途的自動控制設備已被廣泛應用的人們的生成生活中。雙輪平衡車作為一種方便快捷的代步工具,已被廣泛應用到個人出行、安保巡邏等多個方面[1-4]。本文設計了基于卡爾曼濾波和雙閉環PID控制的平衡車控制系統。利用卡爾曼濾波技術提高了平衡車相對于靈敏軸的傾角的計算精確度,采用雙閉環PID控制算法提高了平衡車運行的穩定性,并通過系統調試和分析獲得適合平衡車運行的各項系統參數,實際運行結果表明,所設計的平衡車運行平穩,具有較強的適應性和穩定性。
平衡車控制系統的控制目標是通過給平衡車底座施加一個力F(控制量),使平衡車停留在預定的位置,同時不超過一個預先定義好的垂直偏離角度范圍。平衡車系統如圖所示,平衡車下部分質量為M,平衡車上部分質量為m,平衡車上部分長為2l,平衡車的位置為x,擺的角度為θ,作用在平衡車水平方向上的力為F,O1以轉軸為質心。圖1為兩輪平衡車受力示意圖。

圖1 兩輪平衡車受力示意圖

雙輪平衡車系統角度伺服控制的核心是在保證平衡車不倒的條件下,使平衡車角度可控,因此設計了如圖2所示兩輪平衡車控制系統。

圖2 兩輪平衡車控制系統方框圖
對系統內環采用反饋校正進行控制,其結構圖如圖3所示,反饋校正采用 PD 控制器。外環結構圖如圖4所示。

圖3 內環反饋校正方框圖
平衡車雙閉環控制系統進行仿真,建立系統的Simulink仿真結構圖如圖5所示,仿真曲線如圖6所示。

圖4 外環系統結構圖

圖5 平衡車雙閉環控制系統Simulink仿真結構圖

圖6 平衡車雙閉環控制系統仿真曲線
所設計的雙輪平衡車控制系統主要由控制核心模塊MPU6050傳感器模塊、無線遙控模塊、電源模塊、電機驅動模塊、車速檢測模塊及顯示模塊等組成,系統總體框圖如圖7所示。姿態傳感器采用MPU6050,主要采集平衡車的角度和角速度信號;采用STM32單片機作為控制芯片,該芯片具有I2C接口和PWM輸出,抗干擾能力強;顯示模塊的主要功能為顯示車體的傾角等相關信息。

圖7 系統硬件整體框圖
控制系統選用STM32F405單片機為控制器,該控制器是以CortexTM-M4為內核的高性能MCU,具備并行運算功能,控制器的運算能力大大提高,適用于交復雜環境下的系統控制。
加速度傳感器采用MMA7260加速度傳感器,其是一款基于重力分量換算原理的低功耗高靈敏度的加速度傳感器,能夠同時輸出x,y,z 三個方向的加速度值,用于測量平衡車的運動姿態和方向。
角速度傳感器-陀螺儀采用ENC-03陀螺儀測量平衡車相對于靈敏軸的傾角。陀螺儀輸出的模擬電壓信號與角速度成正比;通過將該角速度對時間積分便得到靈敏軸旋轉過的角度值,即平衡車的傾角。其具有體積小、重量輕、響應快和功耗低等特征。
數據濾波是一種去除噪聲還原真實檢測值的數據處理技術,卡爾曼濾波在測量方差己知的前提下可以從存在噪聲的數據中估算系統的狀態[5-6]。在平衡車姿態檢測系統中,加速度計用于測量車體靜態時的角度,但對震動較敏感,受動態加速度的影響較大;陀螺儀用于檢測車體傾斜角的變化,通過對測量的角速率累加計算傾斜角,存在累積漂移誤差。系統采用卡爾曼濾波算法對加速度計和陀螺儀的輸出值進行融合,使加速計得到的角度與陀螺儀積分得到的角度更接近真實的角度值,其邏輯關系如圖8表示:

圖8 加速計與陀螺儀角度的邏輯關系
當雙輪平衡車車體產生傾斜時,系統采用PID控制算法,通過整合車體角度、角速度、車體速度和位置等參數值,輸出PWM信號驅動電機,產生相應的力矩,從而保持車體的動態平衡[7-8]。
采用雙閉環PID控制算法對平衡車進行控制,其原理如下:
(1)位置閉環控制實現靜態自平衡。
利用兩個姿態傳感器可快速獲取系統的位姿信息,經過一系列融合將信息送給主控芯片從而實現機器人位置閉環控制。位置閉環主要實現平衡車在平衡點處無外界干擾時的靜態自平衡。
(2)速度閉環控制實現動態自平衡。
利用上次獲得的PWM信號,通過軟件算法的處理,獲得車輪的速度和位置信息,通過處理實現機器人速度閉環控制。此環可在沒有編碼盤等傳感器提供硬件支持的前提下,通過軟件編碼算法獲取機器人的速度信息,從而同樣可實現閉環控制。速度閉環主要功能在于實現機器人在外界干擾狀態時的動態自平衡。
兩輪平衡平衡車控制系統控制框圖如圖9所示。

圖9 兩輪平衡平衡車控制系統控制框圖
為了方便測試方便,將傳感器數據通過串口發送到計算機,通過上位機顯示出來。卡爾曼濾波器的調試采用波形顯示的方式進行,保持平衡車后輪不動,對平衡車姿態傾角進行人為改變,通過上位機軟件顯示波形。加入濾波器后,調節參數,使得輸出波形變得相對平滑一些,如圖10和圖11所示 。

圖10 加速度計輸出波形濾波效果對比

圖11 陀螺儀輸出波形濾波效果對比
通過不斷地改變參數,可以得到十分接近實際值的波形,使卡爾曼濾波器具有十分良好的效果。
本文采用工程經驗法對PID控制參數進行整定??紤]到直立控制環為外環,因此先對直立控制環進行參數整定,再對速度控制環進行參數整定。
4.2.1 兩輪自平衡平衡車直立控制調試
直立控制環采用PD(比例微分控制器),以保證系統對干擾能做出迅速響應。比例參數kp保證平衡車保持直立狀態,過小平衡車無法保持直立,過大會導致平衡車來回擺動;微分參數kd能有效抑制系統的來回擺動,過大會造成系統過阻尼,從而導致車體抖動。表1為直立控制實驗調試過程參數。

表1 直立控制實驗調試過程參數
此確定得到kp=500,kd=1.7是參數最大值,根據工程經驗,將最大值乘以0.6,可得kp=300,kd=1。此時,平衡車非常平穩,無抖動。
4.2.2 速度控制
采用PI控制器對系統進行速度控制。表2為速度控制實驗調試過程參數。

表1 速度控制實調試過程參數
本文完成了基于卡爾曼濾波和雙閉環PID控制的平衡車控制系統設計。在系統硬件設計上,完成了以STM32為控制核心的控制系統硬件結構設計;在軟件設計上,利用卡爾曼濾波技術提高了平衡車相對于靈敏軸的傾角的計算精確度,同時采用雙閉環PID控制算法,提高了平衡車運行的穩定性;通過系統調試和分析獲得適合實際運行的各項系統參數,實際運行結果表明,該平衡車能保持直立行走運動并快速移動,具有較強的適應性和穩定性。
[1]賴義漢,王凱.基于MPU6050的雙輪平衡車控制系統設計[J].河南工程學院學報(自然科學版),2014,26(1): 53-57.
[2]紀偉,曾憲陽,左翠翠,等.基于STM32與Android系統遠程控制的兩輪自平衡車設計[J].微型機與應用,2017(2): 90-92.
[3]秦富康,孟凡曦.基于線性CCD的雙輪平衡車控制系統設計[J].機電產品開發與創新,2016,29(4):38-40.
[4]林楓,蔡延光.雙輪自平衡車的雙閉環式PID控制系統設計與實現[J].工業控制計算機,2017,30(6): 73-76.
[5]崔平遠,黃曉瑞.基于聯合卡爾曼濾波的多傳感器信息融合算法及其應用[J].電機與控制學報,2001,5(3):204-207.
[6]劉二林,姜香菊.基于卡爾曼濾波的兩輪自平衡車姿態檢測[J].自動化與儀器儀表,2015(2): 52-54.
[7]金奇,鄧志杰.PID控制原理及參數整定方法[J].重慶理工大學學報,2008,22(5):91-94.
[8]王耀輝,強天偉.PID控制原理簡析[J].潔凈與空調技術,2013(3):79-82.