山東省菏澤一中 李澤宇
近年來,隨著自動控制技術的不斷發(fā)展與應用,各種類型和用途的自動控制設備已被廣泛應用的人們的生成生活中。雙輪平衡車作為一種方便快捷的代步工具,已被廣泛應用到個人出行、安保巡邏等多個方面[1-4]。本文設計了基于卡爾曼濾波和雙閉環(huán)PID控制的平衡車控制系統(tǒng)。利用卡爾曼濾波技術提高了平衡車相對于靈敏軸的傾角的計算精確度,采用雙閉環(huán)PID控制算法提高了平衡車運行的穩(wěn)定性,并通過系統(tǒng)調(diào)試和分析獲得適合平衡車運行的各項系統(tǒng)參數(shù),實際運行結果表明,所設計的平衡車運行平穩(wěn),具有較強的適應性和穩(wěn)定性。
平衡車控制系統(tǒng)的控制目標是通過給平衡車底座施加一個力F(控制量),使平衡車停留在預定的位置,同時不超過一個預先定義好的垂直偏離角度范圍。平衡車系統(tǒng)如圖所示,平衡車下部分質(zhì)量為M,平衡車上部分質(zhì)量為m,平衡車上部分長為2l,平衡車的位置為x,擺的角度為θ,作用在平衡車水平方向上的力為F,O1以轉(zhuǎn)軸為質(zhì)心。圖1為兩輪平衡車受力示意圖。
圖1 兩輪平衡車受力示意圖
雙輪平衡車系統(tǒng)角度伺服控制的核心是在保證平衡車不倒的條件下,使平衡車角度可控,因此設計了如圖2所示兩輪平衡車控制系統(tǒng)。
圖2 兩輪平衡車控制系統(tǒng)方框圖
對系統(tǒng)內(nèi)環(huán)采用反饋校正進行控制,其結構圖如圖3所示,反饋校正采用 PD 控制器。外環(huán)結構圖如圖4所示。
圖3 內(nèi)環(huán)反饋校正方框圖
平衡車雙閉環(huán)控制系統(tǒng)進行仿真,建立系統(tǒng)的Simulink仿真結構圖如圖5所示,仿真曲線如圖6所示。
圖4 外環(huán)系統(tǒng)結構圖
圖5 平衡車雙閉環(huán)控制系統(tǒng)Simulink仿真結構圖
圖6 平衡車雙閉環(huán)控制系統(tǒng)仿真曲線
所設計的雙輪平衡車控制系統(tǒng)主要由控制核心模塊MPU6050傳感器模塊、無線遙控模塊、電源模塊、電機驅(qū)動模塊、車速檢測模塊及顯示模塊等組成,系統(tǒng)總體框圖如圖7所示。姿態(tài)傳感器采用MPU6050,主要采集平衡車的角度和角速度信號;采用STM32單片機作為控制芯片,該芯片具有I2C接口和PWM輸出,抗干擾能力強;顯示模塊的主要功能為顯示車體的傾角等相關信息。
圖7 系統(tǒng)硬件整體框圖
控制系統(tǒng)選用STM32F405單片機為控制器,該控制器是以CortexTM-M4為內(nèi)核的高性能MCU,具備并行運算功能,控制器的運算能力大大提高,適用于交復雜環(huán)境下的系統(tǒng)控制。
加速度傳感器采用MMA7260加速度傳感器,其是一款基于重力分量換算原理的低功耗高靈敏度的加速度傳感器,能夠同時輸出x,y,z 三個方向的加速度值,用于測量平衡車的運動姿態(tài)和方向。
角速度傳感器-陀螺儀采用ENC-03陀螺儀測量平衡車相對于靈敏軸的傾角。陀螺儀輸出的模擬電壓信號與角速度成正比;通過將該角速度對時間積分便得到靈敏軸旋轉(zhuǎn)過的角度值,即平衡車的傾角。其具有體積小、重量輕、響應快和功耗低等特征。
數(shù)據(jù)濾波是一種去除噪聲還原真實檢測值的數(shù)據(jù)處理技術,卡爾曼濾波在測量方差己知的前提下可以從存在噪聲的數(shù)據(jù)中估算系統(tǒng)的狀態(tài)[5-6]。在平衡車姿態(tài)檢測系統(tǒng)中,加速度計用于測量車體靜態(tài)時的角度,但對震動較敏感,受動態(tài)加速度的影響較大;陀螺儀用于檢測車體傾斜角的變化,通過對測量的角速率累加計算傾斜角,存在累積漂移誤差。系統(tǒng)采用卡爾曼濾波算法對加速度計和陀螺儀的輸出值進行融合,使加速計得到的角度與陀螺儀積分得到的角度更接近真實的角度值,其邏輯關系如圖8表示:
圖8 加速計與陀螺儀角度的邏輯關系
當雙輪平衡車車體產(chǎn)生傾斜時,系統(tǒng)采用PID控制算法,通過整合車體角度、角速度、車體速度和位置等參數(shù)值,輸出PWM信號驅(qū)動電機,產(chǎn)生相應的力矩,從而保持車體的動態(tài)平衡[7-8]。
采用雙閉環(huán)PID控制算法對平衡車進行控制,其原理如下:
(1)位置閉環(huán)控制實現(xiàn)靜態(tài)自平衡。
利用兩個姿態(tài)傳感器可快速獲取系統(tǒng)的位姿信息,經(jīng)過一系列融合將信息送給主控芯片從而實現(xiàn)機器人位置閉環(huán)控制。位置閉環(huán)主要實現(xiàn)平衡車在平衡點處無外界干擾時的靜態(tài)自平衡。
(2)速度閉環(huán)控制實現(xiàn)動態(tài)自平衡。
利用上次獲得的PWM信號,通過軟件算法的處理,獲得車輪的速度和位置信息,通過處理實現(xiàn)機器人速度閉環(huán)控制。此環(huán)可在沒有編碼盤等傳感器提供硬件支持的前提下,通過軟件編碼算法獲取機器人的速度信息,從而同樣可實現(xiàn)閉環(huán)控制。速度閉環(huán)主要功能在于實現(xiàn)機器人在外界干擾狀態(tài)時的動態(tài)自平衡。
兩輪平衡平衡車控制系統(tǒng)控制框圖如圖9所示。
圖9 兩輪平衡平衡車控制系統(tǒng)控制框圖
為了方便測試方便,將傳感器數(shù)據(jù)通過串口發(fā)送到計算機,通過上位機顯示出來。卡爾曼濾波器的調(diào)試采用波形顯示的方式進行,保持平衡車后輪不動,對平衡車姿態(tài)傾角進行人為改變,通過上位機軟件顯示波形。加入濾波器后,調(diào)節(jié)參數(shù),使得輸出波形變得相對平滑一些,如圖10和圖11所示 。
圖10 加速度計輸出波形濾波效果對比
圖11 陀螺儀輸出波形濾波效果對比
通過不斷地改變參數(shù),可以得到十分接近實際值的波形,使卡爾曼濾波器具有十分良好的效果。
本文采用工程經(jīng)驗法對PID控制參數(shù)進行整定??紤]到直立控制環(huán)為外環(huán),因此先對直立控制環(huán)進行參數(shù)整定,再對速度控制環(huán)進行參數(shù)整定。
4.2.1 兩輪自平衡平衡車直立控制調(diào)試
直立控制環(huán)采用PD(比例微分控制器),以保證系統(tǒng)對干擾能做出迅速響應。比例參數(shù)kp保證平衡車保持直立狀態(tài),過小平衡車無法保持直立,過大會導致平衡車來回擺動;微分參數(shù)kd能有效抑制系統(tǒng)的來回擺動,過大會造成系統(tǒng)過阻尼,從而導致車體抖動。表1為直立控制實驗調(diào)試過程參數(shù)。
表1 直立控制實驗調(diào)試過程參數(shù)
此確定得到kp=500,kd=1.7是參數(shù)最大值,根據(jù)工程經(jīng)驗,將最大值乘以0.6,可得kp=300,kd=1。此時,平衡車非常平穩(wěn),無抖動。
4.2.2 速度控制
采用PI控制器對系統(tǒng)進行速度控制。表2為速度控制實驗調(diào)試過程參數(shù)。
表1 速度控制實調(diào)試過程參數(shù)
本文完成了基于卡爾曼濾波和雙閉環(huán)PID控制的平衡車控制系統(tǒng)設計。在系統(tǒng)硬件設計上,完成了以STM32為控制核心的控制系統(tǒng)硬件結構設計;在軟件設計上,利用卡爾曼濾波技術提高了平衡車相對于靈敏軸的傾角的計算精確度,同時采用雙閉環(huán)PID控制算法,提高了平衡車運行的穩(wěn)定性;通過系統(tǒng)調(diào)試和分析獲得適合實際運行的各項系統(tǒng)參數(shù),實際運行結果表明,該平衡車能保持直立行走運動并快速移動,具有較強的適應性和穩(wěn)定性。
[1]賴義漢,王凱.基于MPU6050的雙輪平衡車控制系統(tǒng)設計[J].河南工程學院學報(自然科學版),2014,26(1): 53-57.
[2]紀偉,曾憲陽,左翠翠,等.基于STM32與Android系統(tǒng)遠程控制的兩輪自平衡車設計[J].微型機與應用,2017(2): 90-92.
[3]秦富康,孟凡曦.基于線性CCD的雙輪平衡車控制系統(tǒng)設計[J].機電產(chǎn)品開發(fā)與創(chuàng)新,2016,29(4):38-40.
[4]林楓,蔡延光.雙輪自平衡車的雙閉環(huán)式PID控制系統(tǒng)設計與實現(xiàn)[J].工業(yè)控制計算機,2017,30(6): 73-76.
[5]崔平遠,黃曉瑞.基于聯(lián)合卡爾曼濾波的多傳感器信息融合算法及其應用[J].電機與控制學報,2001,5(3):204-207.
[6]劉二林,姜香菊.基于卡爾曼濾波的兩輪自平衡車姿態(tài)檢測[J].自動化與儀器儀表,2015(2): 52-54.
[7]金奇,鄧志杰.PID控制原理及參數(shù)整定方法[J].重慶理工大學學報,2008,22(5):91-94.
[8]王耀輝,強天偉.PID控制原理簡析[J].潔凈與空調(diào)技術,2013(3):79-82.