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