熊超偉 王峰 揭云飛 智凱旋 李學(xué)易
摘要:為了實現(xiàn)單軌車輛的自平衡控制,設(shè)計了一種基于PID控制的單軌自平衡小車控制系統(tǒng),該系統(tǒng)將STM32作為主控制器,通過加速度計和陀螺儀采集到的加速度和角速度信號進(jìn)行數(shù)據(jù)融合得到小車傾角,然后經(jīng)過PID控制算法來調(diào)整PWM的占空比來控制直流減速電機(jī)的轉(zhuǎn)速和舵機(jī)的轉(zhuǎn)向,進(jìn)而實現(xiàn)單軌車輛的自平衡控制。該控制算法使用STM32微處理器,控制模型自行車,實現(xiàn)機(jī)器人自行車的自動平衡。關(guān)鍵詞:PID控制; 機(jī)器人自行車;自平衡; STM32; 加速度計; 陀螺儀; 數(shù)據(jù)融合
中圖分類號:TP273 文獻(xiàn)標(biāo)識碼:A 文章編號:1009-3044(2018)19-0274-02
Abstract:In order to realize the self-balanced control of monorail vehicles, a monorail self-balancing vehicle control system based on PID control is designed. The system uses STM32 as the main controller and obtains acceleration and angular velocity signals collected by accelerometers and gyroscopes for data fusion. The tilt angle of the trolley then passes through a PID control algorithm to adjust the duty cycle of the PWM to control the speed of the DC geared motor and the steering of the steering gear, thereby realizing the self-balanced control of the monorail vehicle. The control algorithm uses the STM32 microprocessor to control the model bike and achieve automatic balance of the robot bike.
Key words: PID control; robotic bicycle; self-balancing; STM32; accelerometer; gyro; data fusion
1 引言
目前,電動小型單軌車輛被廣泛應(yīng)用于城市短距離交通。這些車輛不僅價格便宜,而且也節(jié)能環(huán)保,深受廣大用戶的歡迎。然而,單軌車輛一個突出的問題就是安全性,由于單軌車輛本身是不穩(wěn)定的[1],并且在駕駛過程中也受駕駛?cè)思夹g(shù)水平影響,單軌車輛出事故的概率也遠(yuǎn)高于汽車。
雖然左右輪平衡車Segway問世以來,技術(shù)和市場都比較成功,但由于其左右輪的設(shè)計結(jié)構(gòu)使得它的制動距離比較的長,這樣使得其剎車方式在很大程度上限制了平衡車的性能和應(yīng)用范圍。因此,為了讓不穩(wěn)定的單軌車輛變成安全穩(wěn)定的交通工具,對單軌車輛自平衡控制的研究就具有十分重要的意義[2]。
單軌自平衡控制系統(tǒng)整體可以分為姿態(tài)自平衡,速度控制以及轉(zhuǎn)向控制。通過對姿態(tài)傳感器采集到的信息進(jìn)行數(shù)據(jù)融合得到傾角,并經(jīng)過PID控制算法來得到所需的控制量進(jìn)而控制驅(qū)動電機(jī)和舵機(jī)來達(dá)到單軌小車的自平衡。在整個的循環(huán)控制過程中,采用5ms定時中斷來確保對小車的姿態(tài)進(jìn)行實時更新。
2 自平衡控制系統(tǒng)原理
2.1 系統(tǒng)總體結(jié)構(gòu)
單軌自平衡控制系統(tǒng)主要由STM32主控芯片、姿態(tài)傳感器、舵機(jī)、帶編碼器的直流電機(jī)等模塊組成。其系統(tǒng)總體結(jié)構(gòu)框圖如圖1所示。單片最小系統(tǒng)采用STM32作為主控芯片,其中主要包括復(fù)位電路、時鐘電路、串口通訊電路,并且需要控制板內(nèi)部集成的PWM模塊能夠輸出至少兩路PWM信號來分別控制舵機(jī)轉(zhuǎn)向以及電機(jī)轉(zhuǎn)動。
在系統(tǒng)結(jié)構(gòu)框圖中可知,STM32主控芯片要處理本軟件系統(tǒng)的大量工作。包括讀取線加速度傳感器以及陀螺儀上的加速度和角速度信息,并將這些采集到的信息進(jìn)行數(shù)據(jù)融合得到小車當(dāng)前狀態(tài)的傾斜角度,再經(jīng)過PID直立控制算法來計算出小車需要保持平衡狀態(tài)所需的控制量,然后將得出的控制量作用于直流減速電機(jī)和舵機(jī),使小車保持平衡,再通過姿態(tài)傳感器采集姿態(tài)信息并進(jìn)行處理,如此反復(fù),使得小車保持動態(tài)平衡。
此外,穩(wěn)定的電源也對整個平衡系統(tǒng)起到了至關(guān)重要的作用。整個平衡車系統(tǒng)通過12V的航模鋰電池供電,通過穩(wěn)壓芯片產(chǎn)生3.3V和5V電源,其中3.3V來給STM32以及MPU6050線加速度傳感器供電,5V來為OLED顯示屏等外圍設(shè)備供電,而帶編碼器的直流減速電機(jī)可以工作在7~13V之間。
2.2 單軌自平衡直立控制
在小車直立控制中,若要保持小車的平衡,首先要知道小車的傾角以及傾角方向,然后根據(jù)傾角大小通過直立PID控制器計算出小車平衡所需要的控制量,并根據(jù)傾角的方向來確定舵機(jī)的轉(zhuǎn)把方向以此來使得小車能夠保持平衡。其控制原理如下圖2所示。
在小車傾角測量的過程中,線加速度傳感器根據(jù)慣形變來測量加速度,它反映的是合力對運動物體所造成的影響[3]。陀螺儀用來測量小車的角速度,并對傾斜角速度進(jìn)行積分就能得到小車的傾角,但是如果采集到的角速度信息存在很小的偏差或者漂移[4],緊接著通過積分運算就會有一個累計誤差。然而由于陀螺儀和加速度傳感器有著不同的誤差特性,所以在小車的平衡控制中,通常的做法是使用加速度傳感器和陀螺儀來對加速度和角速度進(jìn)行采集并進(jìn)行數(shù)據(jù)融合來得到需要的角度[5]。
2.3 速度閉環(huán)控制
速度閉環(huán)控制根據(jù)單位時間內(nèi)編碼器得到的脈沖數(shù)來測量直流電機(jī)的速度信息,并且和目標(biāo)值進(jìn)行對比來得到控制偏差[6],再經(jīng)過對該偏差進(jìn)行比例、積分、微分控制來使得該偏差趨于零的一個過程。其速度控制原理如下圖3所示。
2.4 自平衡控制系統(tǒng)流程
在自平衡控制系統(tǒng)初始化后,在5ms定時中斷里STM32和MUP6050加速度計傳感器通過I2C通信來讀取單軌小車的姿態(tài)信息,然后將加速度計所得到的信息和陀螺儀采集到的角速度信息通過數(shù)據(jù)融合得到傾斜角。然后通過PID控制算法計算出主控芯片需要給舵機(jī)和電機(jī)驅(qū)動器控制量。整個平衡控制系統(tǒng)軟件功能流程圖如下圖4所示。
在小車的直立控制中,通過直立PID控制器計算出的控制量用來作用于舵機(jī)來實現(xiàn)車把的轉(zhuǎn)向,通俗來說,當(dāng)小車往前進(jìn)方向左偏時,舵機(jī)應(yīng)該控制車把往左打方向,當(dāng)小車往前進(jìn)方向又偏時,舵機(jī)也就需要控制車把往右打方向,即通過車把轉(zhuǎn)向來實現(xiàn)小車的平衡。
在把整個平衡控制系統(tǒng)所需的硬件搭建好之后,把其應(yīng)用在單軌模型小車上,如圖5所示,可以看到,在基于PID控制系統(tǒng)中,單軌車輛是可以實現(xiàn)自平衡的,也驗證了該方法的可行性。
3 結(jié)論
單軌車輛能夠通過PID控制來實現(xiàn)自平衡,其自平衡控制系統(tǒng)以STM32作為主控芯片,通過5ms定時中斷來讀取加速度傳感器和陀螺儀的姿態(tài)信息,并進(jìn)行數(shù)據(jù)融合得到可靠的傾角,再通過PID算法計算出相應(yīng)的控制量,從而對電機(jī)和舵機(jī)進(jìn)行相應(yīng)的控制,以此來實現(xiàn)單軌車輛的自平衡,最后本設(shè)計在模型自行車硬件上實現(xiàn)平衡,驗證本方法的有效性。
參考文獻(xiàn):
[1] 黃用華,廖啟征,魏世民,等.前輪驅(qū)動自行車機(jī)器人定車運動的建模與實現(xiàn)[J].北京郵電大學(xué)學(xué)報,2012,35(2):5-9.
[2] 沈凌偉.單軌車輛自平衡控制研究[D].杭州電子科技大學(xué),2015.
[3] 馬思遠(yuǎn),魯庭勇,張麗君.兩輪自平衡車運動姿態(tài)的測量和控制[J].測控技術(shù),2015,34(4):71-73.
[4] 師樹恒,曹陽, 師素娟.一種直立智能循跡小車的設(shè)計[J].自動化儀表,2014,35(2):66-68.
[5] 趙翔, 杜普選,李虎,等.基于MEMS加速度計和陀螺儀的姿態(tài)檢測系統(tǒng)[J].鐵路計算機(jī)應(yīng)用,2012,21(3):15-18.
[6] 曹杰,藍(lán)賢桂,周書民,等.基于單片機(jī)的自平衡小車設(shè)計與實現(xiàn)[J].科技廣場,2017(6):79-81.