李亞文 常亮
(商洛學院電子信息與電氣工程學院商洛726000)
一種基于ARM-STM32的兩輪自平衡小車的設計與實現?
李亞文 常亮
(商洛學院電子信息與電氣工程學院商洛726000)
隨著交通安全問題日益突出,以及人們對智能化生活的追求,促使了輕巧靈便的兩輪平衡小車的發展。通過分析了平衡小車的平衡控制原理,進行合理的硬件選材和設計,應用ARM-STM32為核心控制器件,加入藍牙智能通信協議實現了客戶端遠程控制,最終組裝了兩輪自平衡小車。大量的實驗測試結果表明,該設計的兩輪自平衡小車具有較強的自適應調節平衡性,穩定性好,可以實現藍牙遠程智能控制等顯著優勢。
兩輪自平衡小車;ARM-STM32;陀螺儀;機械中值;卡爾曼濾波
Class NumberTP273
兩輪自平衡小車的設計思想來源于倒立擺系統,是一種三維空間的倒立擺,也是一個復雜的非線性欠驅動系統[1],是電子機械智能化不斷發展的產物。目前已經廣泛應用于小區安防、警務、交通安全,火災地震救援、餐飲服務等領域。早在20世紀50年代,美國麻省理工學院的控制理論專家為了研究火箭和導彈制導過程中的姿態控制問題設計了倒立擺系統,用于驗證所提出的各種姿態控制策略[2];1963年,美國Standdord大學Higdon及 Schaefer采用Bang-Bang最優控制等理論實現了對倒立擺的控制[2~3];2002年,瑞士聯邦工業大學的FelixGrasser等研制出兩輪移動機器人“Joe”[4],2008年,美國Tiger電子公司和日本Sega玩具公司應用先進的陀螺儀技術,配有紅外傳感器和聲納技術,推出了兩輪機器人玩具AMP[5](Automated Mu?sical Personality)。我國在倒立擺控制技術的研究起步較晚一些,但是現在已經達到了國際的領先水平,2006年,臺灣清云科技大學Chih-Hui Chiu課題組基于模糊控制器設計了一臺兩輪運輸機[6~7];2015年,中國小米納恩博公司推出了經典“九號平衡車”[8~9](Ninebot),改款平衡小車具有穩定性好,價格適中的優點。
兩輪自平衡小車的動力來源是兩個車輪,小車的平衡、速度、方向全部通過車輪的速度來完成。從控制角度來分析,小車的輸入量是兩個電機的速度,所以控制好兩個電機的轉動速度就可以完成平衡小車的平衡,速度,方向控制[10]。通過控制小車的仰角或傾角來完成小車速度控制,最后也是通過控制兩個電機的同向轉速來控制;由于小車的運行速度和傾角是相關的,比如要提高小車向前行駛的速度,就需要增加小車向前傾斜的角度,傾斜角度增加后,車輪在直立控制下需要向前運動保持小車平衡,速度增大;考慮到編碼電機可能存在噪聲,為了防止噪聲被放大,速度控制選擇使用PI控制。同時為了PID參數的整合和調試,將速度確定為一個固定值。速度控制系統將由一個負反饋直立PD控制器和一個正反饋速度PI控制器組成[11]。控制算法如式(1)所示。

其中θ是角度,θ'是角速度,e() k是速度控制偏差,Σe(k)是速度控制偏差的積分,平衡小車速度控制原理如圖1所示。

圖1平衡小車速度控制原理
兩輪自平衡小車主要由兩個部分組成,即機械部分和控制部分。機械部分包括兩個輪胎,小車支架和平臺,連接桿等,主要負責支撐硬件電路,搭建工作平臺。控制部分主要包括兩個直流電機,電機驅動模塊,單片機最小系統,無線藍牙模塊,穩壓模塊等,主要負責小車平衡,運動的控制,數據的采集和發送。
3.1 硬件設計
兩輪自平衡小車的系統設計對單片機的處理速度和外部資源要求相對比較高。本設計中選擇單片機最小系統為:STM32F103C8T6。STM32F103[11~12]是基于ARM的32位增強型微處理器,有48個引腳,64k字節的閃存,20k字節RAM;通信端口有2個SPI,2個IIC,3個UART,1個USB和1個CAN;32個通用I/O端口;2個10通道的12位同步ADC;CPU工作頻率為72MHz;工作電壓2.0V~3.6V;LQFP封裝,工業級溫度范圍為-40℃~85℃。功能比較完善,可以作為小車平衡系統的主控芯片。最小系統原理圖如圖2所示。

圖2單片機最小系統原理圖
2)陀螺儀MPU6050
MPU-6050是一個9軸運動處理傳感器。它集成了3軸MEMS陀螺儀,3軸MEMS加速度計以及一個可擴展的數字運動處理器DMP,可用I2C接口連接一個第三方的數字傳感器。在本次設計中,需要使用MPU-6050對小車的傾角以及傾角角速度進行測量,然后通過濾波算法精確的計算出小車的實施姿態,再利用PID控制算法實現小的自平衡控制。
3)電機驅動模塊選擇
本次設計選擇兩個帶編碼器的直流電機,電機搭配多級齒輪減速箱,體積小,傳遞扭矩大。電機模塊使用東芝公司生產的TB6612FNG直流電機驅動器件,它具有大電流MOSDET-H橋結構,雙通道電路輸出,最大輸入電壓15V,最大輸出電流1.2A,可以同時驅動兩個電機。外圍電路簡單,只需外接電源濾波電容就可以直接驅動電機。對于PWM信號輸入頻率,高達100kHz,足以滿足小車的設計需求。
4)電源及穩壓模塊選擇
兩輪自評衡小車設計中主要供電部分有單片機最小系統5V供電。TB6612FNG驅動模塊正常工作要求5V的使能供點電,在VM端接入不超過15V的電機工作電壓。根據實際情況選擇12V的鋰離子電池供電,穩壓模塊選擇12VO5V的穩壓模塊。
由于物聯網技術是多種技術的融合,所以物聯網工程專業大三年級開設的專業課程較多,而且每門課都包括理論課和實踐課,所以每門課程課時較緊張,“射頻識別原理與應用”課程也不例外。在有限的課堂上,知識信息量大,學生不能完全接受和消化教師所講內容,也來不及深入思考,使得知識停留于淺層,達不到深度學習的效果。
平衡小車控制系統連線如圖3所示,Forest V1單片機最小系統板已經焊接好單片機和陀螺儀MPU-6050的引腳,PB10PB11與陀螺儀相連,實現加速度和傾角的測量。3.2軟件設計

圖3平衡小車系統連接接口原理電路
軟件程序設計流程中先對電機、最小系統等進行初始化,并進行前期的車模直立檢測,寫入相關指令,啟動并控制車模的方向、速度直立等控制命令,通過發送監控數據對車模進行跌倒檢測,并進行預警處理。最終實現了六個功能包括:傳感器信號的采集和處理、電機PWM輸出、平衡小車的直立,速度,方向控制、平衡小車運行控制流程設計、平衡小車信息顯示與參數設定、通過編寫相關藍牙通信協議等,實現對平衡小車的遠程控制操作命令。
主程序框架設計如圖4所示。

圖4程序設計流程圖
1)平衡小車直立控制調試
平衡小車需要對干擾做出迅速的響應,控制過程需要D(微分)控制。調試過程需要確定平衡小車的機械中值,確定kp值得極性和大小,kd值的極性和大小。在調試直立環控制時,需要屏蔽中斷服務函數中的速度環和轉向環控制。
首先需要確定機械中值。將平衡小車放在地上繞電機軸轉動接近平衡位置的角度即機械中值。經過確定機械中值為0度,所以Bias=An?gle-0。圖5所示是機械中值調試的過程。

圖5機械中值調試圖

圖6小車速度測試過程
通過多次的實驗調試小車的直立平衡狀態,得到kp值在0~720之間;kd值的引入是為了抑制kp值過大的低頻抖動,所以它的效果和kp值的效果相反,需要小車輪胎對小車傾斜方向有一個跟隨的效果。表1所示為多次兩輪平衡小車的實物測試直立情況。

表1 小車直立情況參數測試
2)平衡小車速度控制調試
平衡小車速度環使用PI(比例積分)控制器。PI控制器是一種線性控制器,它根據給定值與實際輸出值構成控制偏差,將偏差的比例(P)和積分(I)通過線性組合構成控制量,對被控對象進行控制。偏差=測量值-目標值
可以得到:Encoder_Least=(Encoder_Left+En?coder_Right)-0;
由于偏差代表的是速度的變化量,所以測量值使用左右編碼器之和。
確定kp和ki值的極性只需要打開速度環控制,需要達到的效果是轉動一個電機時,另一個電機跟隨,向同一方向轉動。在平衡小車速度控制系統中PID參數之間的比例關系是ki=kp/200。所以kp和ki極性相同,并且當kp和ki同時為正時,旋轉其中一個輪胎,兩個輪胎同時向同一個方向同時加速,直至電機最大速度。如圖6所示為兩輪自平衡小車速度測試的過程。通過多次對兩輪平衡小車進行速度控制參數的改變,選取了代表性的幾組測試結果,如表2所示。

表2 小車速度控制參數測試
3)平衡小車轉向調試
平衡小車轉向環由于對響應要求不高,所以只使用P(比例)控制器。使用Z軸陀螺儀的數據作為轉向速度偏差進行P控制,目標是保持轉向速度為設定值。kp值大小估算原理和速度環控制類似,確定kp值在0~2之間。表3所示為小車實物調試中轉向參數的改變影響小車的轉向情況的測試。

表3 小車轉向參數測試
兩輪自平衡小車具有操作簡單、環保、靈活性較好等多種優點,應用于小區安防、火災地震現場、餐飲服務等領域,得到了廣泛的關注。本文通過分析平衡小車的主要控制系統原理,包括直立平衡、速度控制和轉向控制等,經過合理的選硬件選材以ARM-STM32為研發核心的控制系統,利用常見的卡爾曼濾波對采集的數據進行篩選,設計了一款自平衡性較好的兩輪小車,實驗中進行了小車直立測試、速度控制調試和轉向調試,測試結果表明,該設計中的兩輪平衡小車,自平衡性顯著,抗抖動性較好,并能在手機終端實現藍牙遠程控制,因此,相信該兩輪自平衡小車的設計,必將廣泛服務于人們生活,使未來變得更加智能、便捷。
[1]LI Z,Yang C,Fan L.Advanced Control of Wheeled Invert?ed Pendulum Systems[M].Springer London,2014.
[2]高彪.基于雙輪平衡小車的多智能體平臺設計[D].大連:大連理工大學,2016. GAOBiao.Multi-agentplatformdesigenbasedon two-wheeled balancing robot[D].Dalian:Dalian Universi?ty of Technology,2016.
[3]Kim Y.Kim S.H.,Kwak Y.K.Dynamaic Analysis of o Non?holonmic Two-Wheeled Inverted Pendulum Robot[J]. Journal of Intelligent&Robotic Systems,2005,44(1):25-44.
[4]Yue M.,Wei X.,Li Z.Adaptive sliding-mode control for two-wheeled inverted pendulum vehicle base on zero-dy?namics theory[J].Nonlinear Dynamics,2013,76(1):456-471.
[5]霍亮.兩輪自平衡電動車的關鍵技術研究[D].哈爾濱:哈爾濱工程大學,2010. HUOLiang.ResarchonKeyTechnologiesof Two-wheeled Self-balacing Electric Vehicle[D].Harbin:Harbin Engineering University,2010.
[6]范敏,余海,石為人,等.兩輪自平衡小車模型參考自適應控制平衡算法[J].計算機工程與應用,2016,52(9):258-262.
FAN Min,YU Hai,SHI Weiren,et al.Model reference adaptivecontrolbalancealgorithmfortwo-wheeled self-balancing vehicle[J].Computer Engineering and Ap?plications,2016,52(9):258-262.
[7]茹斐斐.雙閉環控制方法在兩輪自平衡小車中的應用研究[D].鄭州:河南大學,2013. RU Feifei.Research on a double closed-loop control algo?rithm for the two-wheeled self-balancing vehicle[D]. Zhengzhou:Henan University,2013.
[8]陳偉峰,張培建,吳建國,等.基于STM32和CDMA的污水曝氣裝置遠程監控系統[J].儀表技術與傳感器,2016(12):152-156. CHEN Weifeng,ZHANG Peijian,WU Jianguo,et al.Re?mote Monitoring and Control System for Sewage Aeration Device Based on STM32 and CDMA[J].Instrument Tech?nique and Sensor,2016(12):152-156.
[9]Wu Wei,Xiaoning Ma,Jijun Wang.Intelligent control in two-wheel self-balanced robot[C]//Computer Mechatron?ics Control And Electronic Engineering(CMCE)2010 In?ternational Conference.2010,3:470~473.
[10]GUO Wei,KANG Haigui,CHEN Bin,et al.Numerical and Experimental Study of the 3D Effect on Connecting Arm of Vertical Axis Tidal Current Turbine[J].China Ocean Engineering,2016,30(1):83-96.
[11]Mi Ching Tsai,Jia Sheng Hu,Feng Rung Hu.Actuator Fault And Ab-normal Operation Diagnoses For Au?to-balancing Two-wheeled Cart Control[J].Mechatron?ics,2009,19(5):647-655.
[12]楊明極,祝慶峰,李碩,等.基于STM32的嵌入式網絡控制器設計[J].測控技術,2014,33(10):93-96. YANG Mingji,ZHU Qingfeng,LI Shuo,et al.Design of Embedded Internet Terminal Controller Based on STM32[J].Measurement&Control Technology,2014,33(10):93-96.
Design and Implementation of Wheeled Inverted Pendulum Vehicle Based on ARM-STM32
LI YawenCHANG Liang
(Electronic Information and Electrical College of Engineering,Shangluo University,Shangluo726000)
With the increasing traffic safety problems,as well as the pursuit of intelligent life,the development of light and flexible wheeled inverted pendulum vehicle is promoted.It is reasonable to select and design the hardware,through the analysis of the balance of the balance of the car control principle,Application of ARM-STM32 as the core control device,Bluetooth intelligent communication protocol is added to achieve the client remote control,and wheeled inverted pendulum vehicle is assembled finally. A large number of experimental results show that the design of wheeled inverted pendulum vehicle has a strong adaptive adjustment balance,good stability to achieve remote control with Bluetooth significant advantages.
wheeled inverted pendulum vehicle,ARM-STM32,gyro,mechanical median,Kalman filter
TP273
10.3969/j.issn.1672-9722.2017.07.041
2017年1月12日,
2017年2月27日
2016年國家級大學生創新創業訓練計劃項目(編號:201611396015)資助。
李亞文,女,碩士,講師,研究方向:圖像處理,模式識別。