方曉毅,丁浩,王睿麟,裴彤
基于STM32的模塊化平衡車設(shè)計(jì)
方曉毅,丁浩,王睿麟,裴彤
(常州工學(xué)院電氣與光電工程學(xué)院,江蘇常州,213000)
介紹了一種基于模塊化設(shè)計(jì)的兩輪自平衡小車,分析了系統(tǒng)軟硬件模塊和調(diào)試過程。為了增強(qiáng)系統(tǒng)靈活性,設(shè)計(jì)了上位機(jī)和手機(jī)應(yīng)用,對小車姿態(tài)數(shù)據(jù)進(jìn)行實(shí)時(shí)顯示、對系統(tǒng)參數(shù)進(jìn)行實(shí)時(shí)調(diào)節(jié)。實(shí)踐表明,模塊化設(shè)計(jì)的自平衡小車控制穩(wěn)定,調(diào)試方便,擴(kuò)展靈活。
平衡車;模塊化;STM32
兩輪自平衡車以單級倒立擺模型為基礎(chǔ),控制方法具有很強(qiáng)的靈活性,是當(dāng)前比較熱門的實(shí)驗(yàn)研究平臺。兩輪自平衡車系統(tǒng)結(jié)構(gòu)具有傳統(tǒng)的一階倒立擺的特性,其動力學(xué)系統(tǒng)具有多變量、非線性、強(qiáng)耦合等綜合特性,受力可以看成在左右平臺上移動的倒立著的單擺。平衡車屬于同軸平行布置的結(jié)構(gòu),兩個車輪軸連接在一根軸線上,依靠兩輪電機(jī)驅(qū)動,為自平衡車提供動力。單片機(jī)通過姿態(tài)傳感器測量車體傾角,調(diào)節(jié)兩輪電機(jī)的轉(zhuǎn)速和轉(zhuǎn)向從而使車體保持直立、轉(zhuǎn)向和運(yùn)行。
兩輪自平衡小車模塊化硬件電路主要由STM32最小系統(tǒng)模塊、姿態(tài)傳感器模塊、直流電機(jī)驅(qū)動模塊、串口藍(lán)牙模塊、無線WIFI模塊、電源模塊等構(gòu)成。為便于調(diào)試和擴(kuò)展,所有模塊通過接插件在一塊主板上連接。
STM32最小系統(tǒng)模塊由STM32芯片、OLED顯示器、LDO穩(wěn)壓器LM1117-3.3、USB轉(zhuǎn)串口芯片CH340、LED、KEY組成。程序下載、串口通訊可以由USB進(jìn)行,預(yù)留SWD四線調(diào)試接口。姿態(tài)傳感器模塊采用內(nèi)部集成3軸陀螺儀、3軸加速度計(jì)的傳感器MPU6050。電機(jī)驅(qū)動模塊采用雙路直流電機(jī)驅(qū)動芯片TB6612。串口轉(zhuǎn)藍(lán)牙模塊采用HC-06模塊。串口轉(zhuǎn)WIFI模塊采用HC-11模塊,控制器通過增量式編碼器采集電機(jī)速度信息,電源模塊采用LM2904-5V芯片將8V鋰電池轉(zhuǎn)成5V。軟件IIC實(shí)現(xiàn),通過讀取其內(nèi)部寄存器,讀出三軸加速度傳感器和三軸陀螺儀數(shù)據(jù)。平衡車只在一個軸上是不穩(wěn)定的,所以只要測量其中一個方向上的加速度值,就可以計(jì)算出車模傾角。陀螺儀測量的是運(yùn)動物體的角速度,將角速度積分也可以得到角度。但由于陀螺儀的積分有累積誤插,加速度計(jì)輸出疊加有波動噪聲,故需要采用相關(guān)算法進(jìn)行角度的解算。姿態(tài)角度的解算有互補(bǔ)濾波、卡爾曼濾波、dmp讀取等好幾種方法,各有優(yōu)缺點(diǎn)。
2.2 運(yùn)動控制模塊
小車的運(yùn)動控制,包括直立控制、速度控制和方向控制。都在中斷程序里面執(zhí)行,三種控制中直立控制是關(guān)鍵,在控制其它量時(shí),必須盡量減少對直立控制的干擾。
直立控制函數(shù),也叫角度環(huán),是平衡車?yán)锩孀钪匾目刂崎]環(huán),使用PD控制,即每次根據(jù)角度偏差和角速度偏差分別進(jìn)行比例P和微分D控制。在定時(shí)器中斷中每5ms執(zhí)行一次。
速度控制函數(shù),也叫速度環(huán),在直立控制中,速度值設(shè)定為0,以輔助角度環(huán)進(jìn)行平衡控制。速度環(huán)的控制用PI實(shí)現(xiàn),即根據(jù)當(dāng)前速度值和設(shè)定值0的偏差進(jìn)行比例P控制,根據(jù)速度值的偏差累積做積分I控制。為減少速度控制對直立控制的影響,對速度采集進(jìn)行低通濾波,并且在定時(shí)器中斷中每50ms執(zhí)行一次。
方向控制函數(shù),也叫轉(zhuǎn)向環(huán),由于對轉(zhuǎn)向要求不高,采用以Z軸陀螺儀的數(shù)據(jù)作為轉(zhuǎn)向速度偏差的比例P控制實(shí)現(xiàn)。在定時(shí)器中斷中每50ms執(zhí)行一次。
2.1 MPU6050姿態(tài)傳感器模塊
2.3 上位機(jī)通訊模塊
在平衡車的調(diào)試過程中,我們用labwindowsCVI開發(fā)了用于監(jiān)測平衡車實(shí)時(shí)狀態(tài)的實(shí)時(shí)監(jiān)測系統(tǒng),將姿態(tài)角、速度、電壓值等傳感器參數(shù)傳遞到上位機(jī),姿態(tài)角以波形曲線直觀顯
控制器通過IIC接口與MPU6050通訊,可以用硬件IIC或者示,并實(shí)現(xiàn)了利用上位機(jī)讀取和修改平衡車的PID參數(shù),大大提高了調(diào)試效率。上位機(jī)和下位機(jī)通訊連接使用無線串口模塊連接,LabwindowsCVI利用RS-232函數(shù)庫對串口進(jìn)行打開關(guān)閉、讀取發(fā)送等操作。
2.4 手機(jī)App模塊
在平衡車程序調(diào)試的過程中,很多時(shí)候需要脫離電腦運(yùn)行,這時(shí)候通過OLED屏幕或者上位PC機(jī)進(jìn)行參數(shù)的檢查和調(diào)試,都很不方便。如果我們能將手機(jī)作為平衡車參數(shù)的顯示和修改工具,無疑將極大地方便控制和調(diào)試工作。由于Android的APP編程比較麻煩,要搭建開發(fā)環(huán)境,要熟悉SDK開發(fā)包,要學(xué)JavaScript等,而我們這里只需要傳遞、修改幾個下位機(jī)參數(shù),顯然是牛刀殺雞了。這里我們使用的是AppInvent。
2.5 OLED信息顯示模塊
OLED因?yàn)榫邆漭p薄、省電、響應(yīng)速度快于TFT、價(jià)格便宜等特性,應(yīng)用越來越廣泛??刂破魍ㄟ^SPI接口和OLED顯示模塊相連,實(shí)現(xiàn)了電量、角度、PID參數(shù)等信息顯示。
2.6 電機(jī)測速和調(diào)速模塊
電機(jī)的測速使用的是STM32的定時(shí)器T2和T4的正交編碼模式,對電機(jī)的增量式編碼器進(jìn)行數(shù)據(jù)采集。電機(jī)的調(diào)速通過定時(shí)器T1的PWM模式,利用PID計(jì)算得到的PWM數(shù)據(jù)對電機(jī)進(jìn)行調(diào)速。
首先,利用上位機(jī)或者手機(jī)app進(jìn)行各模塊的獨(dú)立調(diào)試,包括通訊協(xié)議處理、姿態(tài)傳感器的角度融合算法、電機(jī)PWM控制調(diào)節(jié)等。然后,進(jìn)行小車的PID調(diào)試。在調(diào)試直立環(huán)的時(shí)候,為了屏蔽掉速度環(huán)和方向環(huán)的干擾,必須先將速度環(huán)和方向環(huán)的控制輸出關(guān)閉。
本文介紹了一種基于模塊化設(shè)計(jì)的兩輪自平衡小車,分析了系統(tǒng)的軟硬件模塊和調(diào)試過程。為了增強(qiáng)系統(tǒng)靈活性,利用虛擬儀器軟件LabwindowsCVI設(shè)計(jì)了上位機(jī)和Appinventor設(shè)計(jì)了手機(jī)應(yīng)用對小車姿態(tài)數(shù)據(jù)進(jìn)行實(shí)時(shí)顯示、對系統(tǒng)參數(shù)進(jìn)行實(shí)時(shí)調(diào)節(jié)。實(shí)踐表明,模塊化設(shè)計(jì)的自平衡小車不僅控制穩(wěn)定、調(diào)試方便,而且在此基礎(chǔ)上可以很容易增加其它傳感器接口。
[1]趙韶華,黃金明,劉鵬等.倒立擺理論在直立自平衡智能車系統(tǒng)中的應(yīng)用[J].電子技術(shù),2014.2.
[2]劉二林,姜香菊.基于PD算法的兩輪自平衡車直立控制[J]自動化與儀器儀表,2015.1.
Design of modular balancing vehicle based on STM32
Fang Xiaoyi , Ding Hao, Wang Ruilin, Pei Tong
(School of electrical and opto electronic engineering,Changzhou Institute of Technology,Changzhou Jiangsu,213000)
This paper introduces a kind of self balancing vehicle modular design based on the two, analyzes the software and hardware modules and debugging process. In order to enhance the flexibility of the system, the design of the host computer and mobile phone applications, real-time display of vehicle attitude data, the parameters of the system real-time control. Practice shows that the modular design of self balancing vehicle control and stability, convenient adjustment, flexible expansion.
balance ;car modular ;STM32
江蘇省大學(xué)生創(chuàng)新訓(xùn)練指導(dǎo)項(xiàng)目S2016041