葉秀敏,魏巍
(杭州電子科技大學(xué) 電子信息學(xué)院,杭州 310018)
載人自平衡電動(dòng)獨(dú)輪車的控制系統(tǒng)設(shè)計(jì)
葉秀敏,魏巍
(杭州電子科技大學(xué) 電子信息學(xué)院,杭州 310018)
針對(duì)電動(dòng)獨(dú)輪車的載人自平衡功能,建立電動(dòng)獨(dú)輪車控制系統(tǒng),設(shè)計(jì)控制系統(tǒng)的硬件和軟件。硬件部分主要由以STM32單片機(jī)為核心的控制系統(tǒng)、MPU6050姿態(tài)感知系統(tǒng)、電機(jī)驅(qū)動(dòng)系統(tǒng)和直流無刷電機(jī)等模塊組成。軟件部分是在KEIL軟件平臺(tái)下采用C語言編寫程序,主要實(shí)現(xiàn)對(duì)采集到的姿態(tài)數(shù)據(jù)進(jìn)行卡爾曼濾波處理、PID控制算法以及電機(jī)驅(qū)動(dòng)等功能。研究結(jié)果表明,電動(dòng)獨(dú)輪車具有較好的載人自平衡效果。
電動(dòng)獨(dú)輪車;自平衡;卡爾曼濾波;PID控制算法
由于近年來汽油價(jià)格的顯著提高和化石燃料造成的全球變暖問題,許多節(jié)能環(huán)保的輕量級(jí)交通工具應(yīng)運(yùn)而生。例如,電動(dòng)自行車和電動(dòng)汽車已經(jīng)被廣泛用于人們的短途運(yùn)輸中。作為一種新型的智能代步工具,載人自平衡電動(dòng)獨(dú)輪車也逐漸出現(xiàn)在人們的生活中,這是一種僅靠直流電機(jī)驅(qū)動(dòng)的、結(jié)構(gòu)緊湊的、由軟件控制的機(jī)電一體化產(chǎn)品[1-2]。載人自平衡電動(dòng)獨(dú)輪車可以被看作是一種特殊的輪式移動(dòng)倒立擺,通過驅(qū)動(dòng)車輪來實(shí)現(xiàn)自我平衡。通過騎行者重心前后移動(dòng)實(shí)現(xiàn)獨(dú)輪車向前和向后運(yùn)動(dòng),而左右方向的平衡則通過身體來控制。
圖1解釋了騎行電動(dòng)獨(dú)輪車的工作原理,如果騎手向前傾斜,電動(dòng)獨(dú)輪車將向前運(yùn)動(dòng)以保持騎手的身體不傾倒。同樣,如果騎手向后傾斜,電動(dòng)獨(dú)輪車將向后運(yùn)動(dòng)以保持騎手的穩(wěn)定。
圖1 騎行電動(dòng)獨(dú)輪車示意圖
電動(dòng)獨(dú)輪車的系統(tǒng)框圖如圖2所示,控制模塊采用STM32單片機(jī)來執(zhí)行自平衡控制算法。姿態(tài)檢測(cè)模塊采用MPU6050六軸傳感器,其整合了陀螺儀和加速度傳感器。傳感器檢測(cè)傾角信號(hào)和角速度信號(hào),在單片機(jī)內(nèi)部經(jīng)過一系列控制算法,最終輸出控制信號(hào)給驅(qū)動(dòng)模塊,以驅(qū)動(dòng)電機(jī)轉(zhuǎn)動(dòng)。
圖2 電動(dòng)獨(dú)輪車系統(tǒng)框圖
2.1 電壓變換模塊
電壓變換模塊包含3個(gè)子部分,分別是60 V轉(zhuǎn)15 V電壓變換電路、15 V轉(zhuǎn)5 V電壓變換電路、5 V轉(zhuǎn)3.3 V電壓變換電路。60 V轉(zhuǎn)15 V電壓變換電路采用串聯(lián)型穩(wěn)壓電路[3],將60 V鋰電池的輸入電壓轉(zhuǎn)換成15 V的輸出電壓,從而給15 V電壓網(wǎng)絡(luò)供電。15 V轉(zhuǎn)5 V電壓變換電路利用78M05電壓轉(zhuǎn)換芯片,將15 V的輸入電壓轉(zhuǎn)換成5 V的輸出電壓,從而給5 V電壓網(wǎng)絡(luò)供電。5 V轉(zhuǎn)3.3 V電壓變換電路利用ASM1117電壓轉(zhuǎn)換芯片,將5 V的輸入電壓轉(zhuǎn)換成3.3 V的輸出電壓,從而給5 V電壓網(wǎng)絡(luò)供電。
2.2 姿態(tài)檢測(cè)模塊
姿態(tài)檢測(cè)模塊采用MPU6050姿態(tài)傳感器,其集成了3軸 MEMS陀螺儀和3軸MEMS加速度計(jì),可用來檢測(cè)3個(gè)方向的角速度和加速度信息。MPU6050對(duì)陀螺儀和加速度計(jì)分別用了3個(gè)16位的ADC,將其測(cè)量的模擬量轉(zhuǎn)化為可輸出的數(shù)字量。為了精確跟蹤快速和慢速的運(yùn)動(dòng),傳感器的測(cè)量范圍都是用戶可控的,陀螺儀可測(cè)范圍為±250/±500/±1000/±2000°/s,加速度計(jì)可測(cè)范圍為±2/±4/±8/±16g。一個(gè)片上1024字節(jié)的FIFO有助于降低系統(tǒng)功耗。MPU6050模塊與主控設(shè)備寄存器之間的通信采用400 kHz的I2C總線接口,片上還內(nèi)嵌了一個(gè)溫度傳感器和在工作環(huán)境下僅有±1%變動(dòng)的振蕩器。MPU6050姿態(tài)檢測(cè)模塊如圖3所示,通過SDA和SCL與STM32單片機(jī)進(jìn)行I2C總線通信,從而把角度和角速度的原始數(shù)據(jù)傳輸給STM32單片機(jī)[4]。
圖3 姿態(tài)檢測(cè)模塊電路圖
2.3 控制模塊
控制模塊采用ST公司的STM32F103C8T6作為主控芯片,它使用來自于ARM公司具有突破性的Cortex-M3內(nèi)核,該內(nèi)核集高性能、低功耗、實(shí)時(shí)應(yīng)用、競爭性價(jià)格于一體。其主要性能參數(shù)有:主頻最高為72 MHz,128 KB字節(jié)閃存程序存儲(chǔ)器,20 KB SRAM,外設(shè)有定時(shí)器、ADC、SPI、12C、USART和USB等??刂颇K的主要功能包括采集傳感器的原始數(shù)據(jù),解算出角度和角速度,進(jìn)行卡爾曼濾波算法,然后通過平衡控制算法,得到合適的PWM,從而控制獨(dú)輪車電機(jī)轉(zhuǎn)動(dòng),以達(dá)到自平衡載人功能。
2.4 霍爾位置檢測(cè)模塊
電動(dòng)獨(dú)輪車所用的無刷直流電機(jī)在定子的非驅(qū)動(dòng)端嵌有三個(gè)霍爾傳感器,當(dāng)轉(zhuǎn)子磁極經(jīng)過霍爾傳感器時(shí),霍爾傳感器將會(huì)產(chǎn)生高低電平。通過3個(gè)霍爾傳感器輸出信號(hào)的組合可以得到電機(jī)的當(dāng)前位置,從而得到電機(jī)的換相時(shí)序。利用圖4所示的霍爾位置檢測(cè)模塊,微控制器可以檢測(cè)到每個(gè)輸出信號(hào)的上升沿和下降沿,從而控制電機(jī)精確換相。
圖4 霍爾位置檢測(cè)模塊電路圖
2.5 驅(qū)動(dòng)模塊
驅(qū)動(dòng)模塊采用上海居逸電子科技發(fā)展有限公司的JY01作為無刷直流電機(jī)驅(qū)動(dòng)控制芯片,可適用于有霍爾與無霍爾電機(jī),其具有應(yīng)用方便、外圍電路簡單、低成本的特點(diǎn);SPWM驅(qū)動(dòng)方式具有噪音小、效率高等特點(diǎn)。采用3個(gè)MOS管驅(qū)動(dòng)芯片IR2101和6個(gè)MOS場效應(yīng)管HY3610組成一個(gè)全橋驅(qū)動(dòng)電路[5],部分全橋驅(qū)動(dòng)電路如圖5所示。
圖5 驅(qū)動(dòng)模塊電路圖
3.1 卡爾曼濾波算法
卡爾曼濾波器是一種高效率的遞歸濾波器(自回歸濾波器),能夠從一系列的不完全及包含噪聲的測(cè)量中,估計(jì)動(dòng)態(tài)系統(tǒng)的狀態(tài)。卡爾曼濾波器不僅能估計(jì)信號(hào)的過去和當(dāng)前狀態(tài),甚至能估計(jì)將來的狀態(tài)。
卡爾曼濾波器的操作主要包括兩個(gè)階段:預(yù)估與更新。在預(yù)估階段,濾波器根據(jù)上一時(shí)刻狀態(tài)估算出當(dāng)前時(shí)刻狀態(tài);在更新階段,濾波器利用當(dāng)前時(shí)刻觀測(cè)值優(yōu)化在預(yù)估階段獲得的測(cè)量值,以獲得一個(gè)更準(zhǔn)確的新估計(jì)值[6]。
電動(dòng)獨(dú)輪車要實(shí)現(xiàn)自平衡控制,首先要得到準(zhǔn)確的姿態(tài)信息,可以采用卡爾曼濾波算法,對(duì)MPU6050得到的角度和角速度信息進(jìn)行濾波處理。
3.2 平衡控制算法
PID控制是最早發(fā)展起來也是應(yīng)用最廣泛的一種控制規(guī)律?,F(xiàn)在的工業(yè)領(lǐng)域,由于系統(tǒng)復(fù)雜,構(gòu)建系統(tǒng)模型比較困難,PID控制算法能夠在不知道系統(tǒng)數(shù)學(xué)模型的基礎(chǔ)上,使得控制器控制效果達(dá)到理想狀態(tài)。PID控制算法的優(yōu)點(diǎn)是參數(shù)容易調(diào)整,具有高可靠性和穩(wěn)定性,因此在現(xiàn)在的工業(yè)測(cè)控系統(tǒng)中,應(yīng)用PID控制算法能夠達(dá)到穩(wěn)定控制的目的[7]。
計(jì)算機(jī)控制系統(tǒng)中,數(shù)字PID調(diào)節(jié)器的差分方程模型為:
對(duì)電動(dòng)獨(dú)輪車系統(tǒng)進(jìn)行建模及推導(dǎo),可得PWM輸出與最終角度和角速度的反饋關(guān)系如下:
3.3 系統(tǒng)程序設(shè)計(jì)
系統(tǒng)程序需要在定時(shí)器周期10 ms內(nèi)完成角度和角速度采集、計(jì)算、卡爾曼濾波等,并在定時(shí)器周期內(nèi)完成PID控制算法并發(fā)送PWM,本設(shè)計(jì)在1 s中完成100次姿態(tài)運(yùn)算,實(shí)驗(yàn)證明此時(shí)間周期可行,程序流程圖如圖6所示。
圖6 程序流程圖
4.1 自平衡實(shí)驗(yàn)
對(duì)獨(dú)輪車進(jìn)行自平衡實(shí)驗(yàn),由圖7可知,獨(dú)輪車初始傾角為10°左右,啟動(dòng)獨(dú)輪車,經(jīng)過1.2 s,獨(dú)輪車基本恢復(fù)平衡狀態(tài)。
圖7 獨(dú)輪車自平衡實(shí)驗(yàn)波形
4.2 階躍干擾沖擊實(shí)驗(yàn)
對(duì)獨(dú)輪車進(jìn)行階躍干擾沖擊實(shí)驗(yàn)。由圖8可知,獨(dú)輪車在1.1 s時(shí)進(jìn)入動(dòng)態(tài)平衡狀態(tài),在1.5 s時(shí)用手對(duì)獨(dú)輪車施加外力進(jìn)行階躍干擾,經(jīng)過1.0 s,即在2.5 s時(shí)獨(dú)輪車基本恢復(fù)平衡狀態(tài)。
圖8 獨(dú)輪車階躍干擾沖擊實(shí)驗(yàn)
本文完成了電動(dòng)獨(dú)輪車系統(tǒng)從整個(gè)硬件系統(tǒng)
Control System of Man Riding Self-balancing Electric Unicycle
Ye Xiumin,Wei Wei
(College of Electronic Information,Hangzhou Dianzi University,Hangzhou 310018,China)
Aiming at the riding and self-balancing function of electric unicycle,the electric unicycle control system is established,and the hardware and software of the control system are designed.The hardware parts include the control system using the STM32 MCU,the MPU6050 attitude perception system,the motor drive system and the brushless DC motor.The software is programed on the KEIL software platform,which using C language.The collected attitude data is applied with Kalman filter,the PID control algorithm and motor drive are achieved by the program.The research results show that the electric unicycle has better self-balancing effect.
electric unicycle;self-balancing;Kalman filter;PID control algorithm
TP13
A
單片機(jī)與嵌入式系統(tǒng)應(yīng)用2017年3期