葉秀敏,魏巍
(杭州電子科技大學 電子信息學院,杭州 310018)
載人自平衡電動獨輪車的控制系統設計
葉秀敏,魏巍
(杭州電子科技大學 電子信息學院,杭州 310018)
針對電動獨輪車的載人自平衡功能,建立電動獨輪車控制系統,設計控制系統的硬件和軟件。硬件部分主要由以STM32單片機為核心的控制系統、MPU6050姿態感知系統、電機驅動系統和直流無刷電機等模塊組成。軟件部分是在KEIL軟件平臺下采用C語言編寫程序,主要實現對采集到的姿態數據進行卡爾曼濾波處理、PID控制算法以及電機驅動等功能。研究結果表明,電動獨輪車具有較好的載人自平衡效果。
電動獨輪車;自平衡;卡爾曼濾波;PID控制算法
由于近年來汽油價格的顯著提高和化石燃料造成的全球變暖問題,許多節能環保的輕量級交通工具應運而生。例如,電動自行車和電動汽車已經被廣泛用于人們的短途運輸中。作為一種新型的智能代步工具,載人自平衡電動獨輪車也逐漸出現在人們的生活中,這是一種僅靠直流電機驅動的、結構緊湊的、由軟件控制的機電一體化產品[1-2]。載人自平衡電動獨輪車可以被看作是一種特殊的輪式移動倒立擺,通過驅動車輪來實現自我平衡。通過騎行者重心前后移動實現獨輪車向前和向后運動,而左右方向的平衡則通過身體來控制。
圖1解釋了騎行電動獨輪車的工作原理,如果騎手向前傾斜,電動獨輪車將向前運動以保持騎手的身體不傾倒。同樣,如果騎手向后傾斜,電動獨輪車將向后運動以保持騎手的穩定。

圖1 騎行電動獨輪車示意圖
電動獨輪車的系統框圖如圖2所示,控制模塊采用STM32單片機來執行自平衡控制算法。姿態檢測模塊采用MPU6050六軸傳感器,其整合了陀螺儀和加速度傳感器。傳感器檢測傾角信號和角速度信號,在單片機內部經過一系列控制算法,最終輸出控制信號給驅動模塊,以驅動電機轉動。

圖2 電動獨輪車系統框圖
2.1 電壓變換模塊
電壓變換模塊包含3個子部分,分別是60 V轉15 V電壓變換電路、15 V轉5 V電壓變換電路、5 V轉3.3 V電壓變換電路。60 V轉15 V電壓變換電路采用串聯型穩壓電路[3],將60 V鋰電池的輸入電壓轉換成15 V的輸出電壓,從而給15 V電壓網絡供電。15 V轉5 V電壓變換電路利用78M05電壓轉換芯片,將15 V的輸入電壓轉換成5 V的輸出電壓,從而給5 V電壓網絡供電。5 V轉3.3 V電壓變換電路利用ASM1117電壓轉換芯片,將5 V的輸入電壓轉換成3.3 V的輸出電壓,從而給5 V電壓網絡供電。
2.2 姿態檢測模塊
姿態檢測模塊采用MPU6050姿態傳感器,其集成了3軸 MEMS陀螺儀和3軸MEMS加速度計,可用來檢測3個方向的角速度和加速度信息。MPU6050對陀螺儀和加速度計分別用了3個16位的ADC,將其測量的模擬量轉化為可輸出的數字量。為了精確跟蹤快速和慢速的運動,傳感器的測量范圍都是用戶可控的,陀螺儀可測范圍為±250/±500/±1000/±2000°/s,加速度計可測范圍為±2/±4/±8/±16g。一個片上1024字節的FIFO有助于降低系統功耗。MPU6050模塊與主控設備寄存器之間的通信采用400 kHz的I2C總線接口,片上還內嵌了一個溫度傳感器和在工作環境下僅有±1%變動的振蕩器。MPU6050姿態檢測模塊如圖3所示,通過SDA和SCL與STM32單片機進行I2C總線通信,從而把角度和角速度的原始數據傳輸給STM32單片機[4]。

圖3 姿態檢測模塊電路圖
2.3 控制模塊
控制模塊采用ST公司的STM32F103C8T6作為主控芯片,它使用來自于ARM公司具有突破性的Cortex-M3內核,該內核集高性能、低功耗、實時應用、競爭性價格于一體。其主要性能參數有:主頻最高為72 MHz,128 KB字節閃存程序存儲器,20 KB SRAM,外設有定時器、ADC、SPI、12C、USART和USB等。控制模塊的主要功能包括采集傳感器的原始數據,解算出角度和角速度,進行卡爾曼濾波算法,然后通過平衡控制算法,得到合適的PWM,從而控制獨輪車電機轉動,以達到自平衡載人功能。
2.4 霍爾位置檢測模塊
電動獨輪車所用的無刷直流電機在定子的非驅動端嵌有三個霍爾傳感器,當轉子磁極經過霍爾傳感器時,霍爾傳感器將會產生高低電平。通過3個霍爾傳感器輸出信號的組合可以得到電機的當前位置,從而得到電機的換相時序。利用圖4所示的霍爾位置檢測模塊,微控制器可以檢測到每個輸出信號的上升沿和下降沿,從而控制電機精確換相。

圖4 霍爾位置檢測模塊電路圖
2.5 驅動模塊
驅動模塊采用上海居逸電子科技發展有限公司的JY01作為無刷直流電機驅動控制芯片,可適用于有霍爾與無霍爾電機,其具有應用方便、外圍電路簡單、低成本的特點;SPWM驅動方式具有噪音小、效率高等特點。采用3個MOS管驅動芯片IR2101和6個MOS場效應管HY3610組成一個全橋驅動電路[5],部分全橋驅動電路如圖5所示。

圖5 驅動模塊電路圖
3.1 卡爾曼濾波算法
卡爾曼濾波器是一種高效率的遞歸濾波器(自回歸濾波器),能夠從一系列的不完全及包含噪聲的測量中,估計動態系統的狀態。卡爾曼濾波器不僅能估計信號的過去和當前狀態,甚至能估計將來的狀態。
卡爾曼濾波器的操作主要包括兩個階段:預估與更新。在預估階段,濾波器根據上一時刻狀態估算出當前時刻狀態;在更新階段,濾波器利用當前時刻觀測值優化在預估階段獲得的測量值,以獲得一個更準確的新估計值[6]。
電動獨輪車要實現自平衡控制,首先要得到準確的姿態信息,可以采用卡爾曼濾波算法,對MPU6050得到的角度和角速度信息進行濾波處理。
3.2 平衡控制算法
PID控制是最早發展起來也是應用最廣泛的一種控制規律。現在的工業領域,由于系統復雜,構建系統模型比較困難,PID控制算法能夠在不知道系統數學模型的基礎上,使得控制器控制效果達到理想狀態。PID控制算法的優點是參數容易調整,具有高可靠性和穩定性,因此在現在的工業測控系統中,應用PID控制算法能夠達到穩定控制的目的[7]。
計算機控制系統中,數字PID調節器的差分方程模型為:

對電動獨輪車系統進行建模及推導,可得PWM輸出與最終角度和角速度的反饋關系如下:
3.3 系統程序設計
系統程序需要在定時器周期10 ms內完成角度和角速度采集、計算、卡爾曼濾波等,并在定時器周期內完成PID控制算法并發送PWM,本設計在1 s中完成100次姿態運算,實驗證明此時間周期可行,程序流程圖如圖6所示。

圖6 程序流程圖
4.1 自平衡實驗
對獨輪車進行自平衡實驗,由圖7可知,獨輪車初始傾角為10°左右,啟動獨輪車,經過1.2 s,獨輪車基本恢復平衡狀態。

圖7 獨輪車自平衡實驗波形
4.2 階躍干擾沖擊實驗
對獨輪車進行階躍干擾沖擊實驗。由圖8可知,獨輪車在1.1 s時進入動態平衡狀態,在1.5 s時用手對獨輪車施加外力進行階躍干擾,經過1.0 s,即在2.5 s時獨輪車基本恢復平衡狀態。

圖8 獨輪車階躍干擾沖擊實驗
本文完成了電動獨輪車系統從整個硬件系統
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