《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技術(shù) > 設(shè)計應(yīng)用 > 基于STM32與Android系統(tǒng)遠(yuǎn)程控制的兩輪自平衡車設(shè)計
基于STM32與Android系統(tǒng)遠(yuǎn)程控制的兩輪自平衡車設(shè)計
2017年微型機(jī)與應(yīng)用第2期
紀(jì)偉1,,曾憲陽2,左翠翠2,,李士垚3
1.南京工程學(xué)院 自動化學(xué)院,,江蘇 南京,211167,;2.南京工程學(xué)院 工業(yè)中心,,江蘇 南京,211167,;3.南京工程學(xué)院 電力工程學(xué)院,,江蘇 南京,211167
摘要: 當(dāng)前市場上已有的平衡車需要站在車上操作遙桿來進(jìn)行控制,,應(yīng)用范圍小,,因此設(shè)計了以STM32單片機(jī)作為主控芯片,配合Android上位機(jī)進(jìn)行遠(yuǎn)程控制的系統(tǒng),。車載攝像頭傳感器和溫濕度傳感器可以實時記錄周邊環(huán)境情況,,促使相應(yīng)處理機(jī)制對環(huán)境做出應(yīng)答,保證使用者擁有一個更加安全,、可靠,、使用壽命更長的可遠(yuǎn)程控制自主平衡車。實驗結(jié)果表明,,設(shè)計的兩輪自平衡車平衡穩(wěn)定性好,,抗干擾能力強(qiáng),能實現(xiàn)Android系統(tǒng)的遠(yuǎn)程平衡控制,。
Abstract:
Key words :

  紀(jì)偉1,,曾憲陽2,左翠翠2,,李士垚3

 ?。?.南京工程學(xué)院 自動化學(xué)院,江蘇 南京,,211167,;2.南京工程學(xué)院 工業(yè)中心,,江蘇 南京,211167,;3.南京工程學(xué)院 電力工程學(xué)院,,江蘇 南京,211167)

         摘要:當(dāng)前市場上已有的平衡車需要站在車上操作遙桿來進(jìn)行控制,,應(yīng)用范圍小,,因此設(shè)計了以STM32單片機(jī)作為主控芯片,配合Android上位機(jī)進(jìn)行遠(yuǎn)程控制的系統(tǒng),。車載攝像頭傳感器和溫濕度傳感器可以實時記錄周邊環(huán)境情況,,促使相應(yīng)處理機(jī)制對環(huán)境做出應(yīng)答,保證使用者擁有一個更加安全,、可靠,、使用壽命更長的可遠(yuǎn)程控制自主平衡車。實驗結(jié)果表明,,設(shè)計的兩輪自平衡車平衡穩(wěn)定性好,,抗干擾能力強(qiáng),能實現(xiàn)Android系統(tǒng)的遠(yuǎn)程平衡控制,。

  關(guān)鍵詞:STM32單片機(jī);Android系統(tǒng);遠(yuǎn)程控制;自平衡車;攝像頭

  中圖分類號:U283.1文獻(xiàn)標(biāo)識碼:ADOI: 10.19358/j.issn.1674-7720.2017.02.027

  引用格式:紀(jì)偉,,曾憲陽,左翠翠,,等.基于STM32與Android系統(tǒng)遠(yuǎn)程控制的兩輪自平衡車設(shè)計[J].微型機(jī)與應(yīng)用,,2017,36(2):90-92,99.

0引言

  *基金項目:江蘇省高等學(xué)校大學(xué)生實踐創(chuàng)新訓(xùn)練計劃項目(201411276041Y)當(dāng)前,,隨著傳感器技術(shù)的發(fā)展,,平衡車越來越被廣泛地應(yīng)用于交通、安保,、巡查等方面[12],。作為一種新的交通、安保等行業(yè)方面的工具,,平衡車不僅在穩(wěn)定性上有著較高的要求,,還在遠(yuǎn)程遙控、實時監(jiān)控方面有著迫切的需要,。本文設(shè)計一種基于遠(yuǎn)程Android上位機(jī)客戶端進(jìn)行操控的平衡車,,使其能在遠(yuǎn)程駕駛、安保,、巡查等方面有著更廣泛的應(yīng)用,。

1系統(tǒng)設(shè)計思路

  1.1系統(tǒng)原理分析[3 4]

  平衡車的力學(xué)原理類似于倒立擺的力學(xué)原理,如圖1所示,,根據(jù)分析得平衡車的回復(fù)力算式:

001.jpg

  mgsinθ-macosθ≈mgθ-mk1θ

  其中k1為負(fù)反饋控制下車輪加速度a與偏角θ的比例因子,。忽略空氣阻力及摩擦力,,得出下式:

  F=mgθ-mk1θ-mk2θ′

  其加速度a為:

  a=k1θ+k2θ′

  θ為車模傾角,θ′是角速度,,所以只要得到傾角和角速度就可以推算出車模的加速度,,從而得到對應(yīng)的占空比的PWM波,對平衡車進(jìn)行準(zhǔn)確的控制,。

  1.2系統(tǒng)整體的設(shè)計思路

  系統(tǒng)選用STM32單片機(jī)作為主控芯片,,采集并處理攝像頭傳感器、編碼器,、溫濕度傳感器以及上位機(jī)發(fā)送的指令,,將數(shù)據(jù)處理后通過無線視頻傳輸模塊發(fā)送到上位機(jī),使用基于Android手機(jī)系統(tǒng)的APP進(jìn)行遠(yuǎn)程控制和遠(yuǎn)程處理數(shù)據(jù),,以提高系統(tǒng)的自主性,、安全性,、可靠性,。系統(tǒng)整體設(shè)計框圖如圖2所示。

002.jpg

2硬件電路設(shè)計

  2.1STM32單片機(jī)最小系統(tǒng)電路設(shè)計

  本系統(tǒng)選用ST公司生產(chǎn)的STM32F103C8T6單片機(jī)作為主控單元[5],,主頻高達(dá)72 MHz,,可以輸出多路PWM信號,片內(nèi)集成外設(shè)資源豐富,。其最小系統(tǒng)電路如圖3所示,,包含了外部時鐘電路、復(fù)位電路,、OLED顯示電路和按鍵交互電路,。 

003.jpg

  2.2電機(jī)驅(qū)動模塊的電路設(shè)計

  本文設(shè)計的L298N電機(jī)驅(qū)動模塊電路如圖4所示[67],,該模塊由12 V供電,,輸出5 V??梢暂斎?路PWM信號,,2路使能信號,完全滿足控制平衡車兩個輪子正反轉(zhuǎn)的實際需求,?!?/p>

004.jpg

  2.3WiFi視頻傳輸模塊的設(shè)計

  系統(tǒng)設(shè)計了RobotLink V5.0 WiFi模塊,300 Mb/s帶寬的OPENWRT路由器,,該模塊相當(dāng)于一個服務(wù)端,,開放了TCP連接,接入外網(wǎng)后可以通過網(wǎng)絡(luò)進(jìn)行視頻傳輸,,工作穩(wěn)定,,視頻清晰,。使用者可以通過手機(jī)APP或者PC端的上位機(jī)程序通過TCP協(xié)議來獲取攝像頭所拍攝視頻。

  2.4傳感器模塊電路的設(shè)計

  為滿足平衡車傾角檢測需要,,使用六軸傳感器MPU6050來檢測傾角[8],,該芯片內(nèi)部有16位的AD轉(zhuǎn)換器,16位數(shù)據(jù)的輸出,,供電3~5 V,,標(biāo)準(zhǔn)的I2C通信協(xié)議。MPU6000系列整合了3軸陀螺儀,、3軸加速器運(yùn)動處理(DMP)硬件加速引擎,,由主要I2C端口以單一數(shù)據(jù)流的形式向應(yīng)用端圖5MPU6050傳感器模塊電路

  輸出完整的9軸融合演算技術(shù)。也可以自行進(jìn)行數(shù)據(jù)解算,,得到穩(wěn)定的角度值,,設(shè)計的電路如圖5所示。

005.jpg

  2.5溫濕度傳感器模塊的設(shè)計

  為滿足設(shè)計需要,,系統(tǒng)還配備了溫濕度傳感器DHT11[910],,可以檢測周圍環(huán)境的濕度和溫度,濕度測量范圍:20~95 %RH(0~50℃范圍),,濕度測量誤差:±5%,,溫度測量范圍:0~50℃,溫度測量誤差:±2℃,,以數(shù)字量形式輸出,。DHT11不僅可以適應(yīng)正常的平衡車的工作環(huán)境,而且單總線的設(shè)計方式節(jié)約了IO口,,有助于簡化電路設(shè)計,,設(shè)計的電路原理圖如圖6所示。

007.jpg

  2.6電源模塊的設(shè)計

  由于電機(jī)的驅(qū)動會對電路穩(wěn)定性產(chǎn)生較大的干擾,,以及WiFi視頻傳輸模塊需要穩(wěn)定的1 A電流,,綜上考慮本系統(tǒng)的電源電路采用多電源設(shè)計方式,既有效地隔離了電機(jī)對電路的影響,,又能提供給WiFi模塊穩(wěn)定的輸入電流,,增強(qiáng)了系統(tǒng)運(yùn)行的穩(wěn)定性。圖7為系統(tǒng)電源模塊供電分配方式圖,。

 

008.jpg

3軟件程序設(shè)計

  3.1姿態(tài)解算與數(shù)據(jù)濾波[11 13]

  由于陀螺儀數(shù)據(jù)隨著時間的累積會產(chǎn)生誤差,,姿態(tài)解算主要就圍繞著對陀螺儀的長期誤差進(jìn)行補(bǔ)償,首先將加速度計采集到的值轉(zhuǎn)化成單位向量,,也就是向量除以模,,傳入?yún)?shù)是陀螺儀X、Y、Z三軸的數(shù)值以及加速度的X,、Y,、Z三軸的數(shù)值,通過四元數(shù)計算出上一次重力的單位向量,,由于向量的誤差就是向量的叉積,,計算出加速度表示的重力的單位向量與四元素得到的重力單位向量進(jìn)行叉積得到重力的誤差,將誤差進(jìn)行積分并且補(bǔ)償?shù)酵勇輧x,,使用一階龍格庫塔方法求解四元數(shù),,最后根據(jù)四元數(shù)與歐拉角的關(guān)系求解出歐拉角。得到歐拉角之后將數(shù)據(jù)進(jìn)行濾波處理,,嘗試使用互補(bǔ)濾波,、卡爾曼濾波和DMP,最后發(fā)現(xiàn)卡爾曼數(shù)據(jù)跟隨性滿足要求,,穩(wěn)定性很好,。

  卡爾曼濾波前后波形如圖8所示,從圖中可以看出濾波前數(shù)據(jù)干擾較大,,存在諸多不穩(wěn)定信號,,經(jīng)過卡爾曼濾波之后波形較為平滑,穩(wěn)定性得到很大提高,,對后期PID控制提供了保障,。

  

009.jpg

  3.2控制算法設(shè)計

  系統(tǒng)控制流程如圖9所示,。

010.jpg

  本系統(tǒng)使用了應(yīng)用非常廣泛的PID調(diào)節(jié)控制算法[1415],,系統(tǒng)分為三環(huán)控制,分別是:直立環(huán),、速度環(huán)和轉(zhuǎn)動環(huán),。顧名思義:直立環(huán)就是保持車體的狀態(tài),采用PD調(diào)節(jié)控制算法,,但是單一的直立環(huán)很難維持車體在外界干擾的情況下依舊保持直立,,所以引入了速度環(huán),速度環(huán)使用PI控制器,,是對編碼器讀出的數(shù)據(jù)信號進(jìn)行控制,,其積分量可以保持小車停在原地不動。轉(zhuǎn)向環(huán)由于對精度要求并不是很高,,使用了單獨的P控制,。在三個環(huán)的配合下最終實現(xiàn)了小車的平穩(wěn)站立行走。

  3.3系統(tǒng)軟件設(shè)計

  本系統(tǒng)使用MPU6050的中斷引腳10 ms作為系統(tǒng)的采樣周期,,一周期內(nèi)采集一次傳感器的數(shù)據(jù)并進(jìn)行姿態(tài)解算輸出歐拉角,,然后通過濾波算法進(jìn)行數(shù)據(jù)處理。緊接著讀取左右輪編碼器得到當(dāng)前小車的速度值,,讀取溫濕度傳感器的值,,判斷當(dāng)前環(huán)境溫濕度是否適合平衡車的放置,,并將數(shù)據(jù)通過OLED顯示在界面上,將得到角度,、角速度,、期望角度、左右輪編碼器的值以及上位機(jī)的控制數(shù)據(jù)等值帶入PID控制器里,,得到輸出PWM的占空比值,。WiFi視頻傳輸模塊會不斷采集攝像頭的視頻數(shù)據(jù)通過TCP協(xié)議發(fā)送出去。使用者可以通過TCP協(xié)議來獲取小車的視頻并且實現(xiàn)遠(yuǎn)程控制小車,。

  3.4PID參數(shù)整定

  對于平衡車來說最重要的是直立環(huán),,所以必須先調(diào)節(jié)直立環(huán),直立環(huán)使用了PD控制器,,先調(diào)試P參數(shù),,從小到大,直到剛開始出現(xiàn)了震蕩,,增大參數(shù)D以消除震蕩,。速度環(huán)使用了PI控制器,參數(shù)P可以增強(qiáng)平衡車回中的能力,,參數(shù)I可以對其進(jìn)行細(xì)調(diào),。轉(zhuǎn)向環(huán)是保證小車能夠水行駛,使用P控制器,逐漸修改參數(shù)直到小車可以保持水平,,停在原地,。

4結(jié)論

  本文實現(xiàn)了兩輪平衡車的穩(wěn)定站立,并且能夠通過Android客戶端程序進(jìn)行遠(yuǎn)程的視頻傳輸和遠(yuǎn)程控制,,視頻質(zhì)量清晰,,遠(yuǎn)程控制穩(wěn)定性高。平衡車無需使用者隨時攜帶,,只要打開APP,,可以操控平衡車到達(dá)任何你想要去的地方,可用于日常的交通,、安保,、巡查等多方面無人操作領(lǐng)域。

  參考文獻(xiàn)

 ?。?] 段其昌, 袁洪躍, 金旭東. 兩輪自平衡車無速度傳感器平衡控制仿真研究[J]. 控制工程, 2013, 20(4): 618 622.

 ?。?] 張曉華, 張志軍. 自平衡式兩輪電動車耦合控制研究[J]. 控制工程, 2013, 20(1):26-29.

  [3] 李曉峰, 崔云飛, 高學(xué)山,等. 小擺角兩輪機(jī)器人動力學(xué)建模及控制器設(shè)計[J]. 北京理工大學(xué)學(xué)報, 2014,34(10):1049-1053.

 ?。?] 馬思遠(yuǎn), 魯庭勇, 張麗君. 兩輪自平衡車運(yùn)動姿態(tài)的測量和控制[J]. 測控技術(shù), 2015, 34(4):71-73.

 ?。?] 陳致遠(yuǎn),朱葉承,周卓泉,等.一種基于STM32的智能家居控制系統(tǒng)[J].電子技術(shù)應(yīng)用,2012,38(9):138-140.

  [6] 雷紅淼, 程耀瑜. 基于L298N的直流電機(jī)驅(qū)動電路優(yōu)化設(shè)計[J]. 數(shù)字技術(shù)與應(yīng)用, 2012(2):118-118.

  [7] 康華光.電子技術(shù)基礎(chǔ)[M].北京:高等教育出版社,2003.

 ?。?] 賴義漢, 王凱. 基于MPU6050的雙輪平衡車控制系統(tǒng)設(shè)計[J]. 河南工程學(xué)院學(xué)報(自然科學(xué)版), 2014, 26(1):53-57.

 ?。?] 韓丹翱, 王菲. DHT11數(shù)字式溫濕度傳感器的應(yīng)用性研究[J]. 電子設(shè)計工程, 2013, 21(13):83-85.

  [10] 李長有, 王文華. 基于DHT11溫濕度測控系統(tǒng)設(shè)計[J]. 機(jī)床與液壓, 2013, 41(13):107108.

 ?。?1] 周立青, 章研, 安舒,等. 基于硬件Kalman濾波器的航拍云臺姿態(tài)獲?。跩]. 電子技術(shù)應(yīng)用, 2014, 40(10):93-95.

  [12] 鄭慧偉, 崔坤. 卡爾曼濾波在二輪自平衡車直立控制中的應(yīng)用[J]. 微型機(jī)與應(yīng)用, 2014, 33(17):95-97.

 ?。?3] 樊炳輝, 張凱麗, 王傳江,等. 基于四元數(shù)的前臂假肢手部自平衡的設(shè)計[J]. 電子技術(shù)應(yīng)用, 2016, 42(5):78-81.

 ?。?4] 李世光,王文文,申夢茜,等.基于變論域模糊PI四輪機(jī)器人的仿真與研究[J].科學(xué)技術(shù)與工程,2016,16(10):191-194.


此內(nèi)容為AET網(wǎng)站原創(chuàng),,未經(jīng)授權(quán)禁止轉(zhuǎn)載,。