樊圓圓 蔡駿 喬啟鳴 吳亞聯(lián)
摘 要:基于LiteOS的全向輪平衡車設(shè)計(jì)由搭載微處理器的車體和手機(jī)客戶端組成。用全向輪替換普通輪胎,提高其靈敏性、可操作性;將微處理器和電機(jī)控制部分相結(jié)合,保證車體正常運(yùn)行;利用多種模塊檢測(cè)車體的速度、所處環(huán)境的溫濕度等信息;利用無(wú)線通信模塊將車體數(shù)據(jù)發(fā)送到互聯(lián)網(wǎng),實(shí)現(xiàn)“物聯(lián)網(wǎng)”;利用車體內(nèi)置的GPS模塊對(duì)車體進(jìn)行實(shí)時(shí)定位,從而提高其安全性;所配備的手機(jī)客戶端可實(shí)時(shí)查詢車體信息,并進(jìn)行“人車交互”。
關(guān)鍵詞:平衡車;全向輪;HUAWEI LiteOS;物聯(lián)網(wǎng)
中圖分類號(hào):TP242.6 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):2095-1302(2018)07-00-03
0 引 言
隨著社會(huì)經(jīng)濟(jì)的發(fā)展,汽車已普及到人們的日常生活中。人們也因?yàn)橛辛诉@些代步工具,出行變得更加便捷。改革開(kāi)放以來(lái),汽車以每年8%的速度增長(zhǎng)[1],其帶來(lái)的經(jīng)濟(jì)效益毋庸置疑,但負(fù)面影響也不可忽視。如何做到兼顧環(huán)保和可持續(xù)發(fā)展,是值得深思的問(wèn)題之一。
如今,交通工具正朝著環(huán)保、節(jié)能、小型、便捷等方向發(fā)展,雙輪平衡車的設(shè)計(jì)研究成為當(dāng)今代步工具領(lǐng)域的熱點(diǎn)。國(guó)內(nèi)外有很多這方面的研究,目前對(duì)于平衡車這塊的研究主要是用不同組合的微處理器和傳感器,通過(guò)數(shù)據(jù)融合得到準(zhǔn)確的位姿信息,由此來(lái)優(yōu)化“自平衡”。目前,市場(chǎng)上所出現(xiàn)的平衡車,僅僅是在不斷完善代步的功能,并無(wú)其他拓展功能,且其體積小,車體丟失的概率較大。
為了使平衡車更智能化,同時(shí)提高其靈活性、安全性,研究了此款優(yōu)化版平衡車,并融入了“互聯(lián)網(wǎng)+”的概念。本文主要闡述了基于HUAWEI輕型物聯(lián)網(wǎng)系統(tǒng)LiteOS和STM32的全向輪平衡車,為改善出行方式提供新思路。
1 系統(tǒng)功能分析與總體設(shè)計(jì)
1.1 系統(tǒng)功能分析
本文初步設(shè)計(jì)了一款用于代步的全向輪平衡車。具體實(shí)現(xiàn)以下幾個(gè)功能:
(1)平衡運(yùn)行:使用者踏上車體后,車體維持平衡,穩(wěn)步前行,另外,當(dāng)使用者發(fā)生身體發(fā)生傾斜要跌倒時(shí),車體立即停止前行,保障使用者的人身安全;
(2)速度控制:使用者可身體前傾或者后傾來(lái)加速或者減速,身體左傾或者右傾來(lái)左轉(zhuǎn)彎或者右轉(zhuǎn)彎;
(3)GPS定位:利用車體內(nèi)的GPS模塊可實(shí)現(xiàn)車體的實(shí)時(shí)定位;
(4)溫濕度檢測(cè):可以檢測(cè)出車體所處環(huán)境的溫濕度;
(5)藍(lán)牙通信:與手機(jī)終端建立藍(lán)牙通信,利用藍(lán)牙串口實(shí)時(shí)傳輸車體信息;
(6)無(wú)線通信:將車體數(shù)據(jù)通過(guò)WiFi上傳至服務(wù)器,實(shí)時(shí)提供車體信息,同時(shí)接收服務(wù)器指令,完成相應(yīng)任務(wù);
(7)遠(yuǎn)程控制:通過(guò)下載車體數(shù)據(jù),使用者可通過(guò)手機(jī)APP實(shí)時(shí)查詢車體的位置、速度、溫濕度等信息,同時(shí)下達(dá)相關(guān)命令,遠(yuǎn)程控制車體。
1.2 系統(tǒng)結(jié)構(gòu)設(shè)計(jì)框圖
結(jié)合代步及拓展功能進(jìn)行分析,本全向輪平衡車的核心是由STM32F103微處理器、雙路電機(jī)驅(qū)動(dòng)器、無(wú)線通信模塊等傳感器共同組成[2]。其中,STM32微處理器對(duì)各傳感器收集到的數(shù)據(jù)進(jìn)行處理,控制各模塊正常運(yùn)作[3]。通過(guò)雙路電機(jī)驅(qū)動(dòng)器,控制車體的啟動(dòng)和停止;利用平衡維持模塊中的陀螺儀和加速度計(jì),可較準(zhǔn)確地測(cè)量載體的運(yùn)動(dòng)角速度和加速度,通過(guò)車體的傾角來(lái)判斷是否加減速、轉(zhuǎn)彎或者發(fā)送跌倒信息;利用藍(lán)牙模塊和WiFi模塊進(jìn)行藍(lán)牙通信和數(shù)據(jù)傳輸,保障遠(yuǎn)程控制的可行性;通過(guò)DHT11傳感器來(lái)檢測(cè)平衡車所在環(huán)境的溫濕度。該系統(tǒng)結(jié)構(gòu)如圖1所示。
2 硬件模塊設(shè)計(jì)與實(shí)現(xiàn)
2.1 電機(jī)驅(qū)動(dòng)模塊
電機(jī)驅(qū)動(dòng)模塊用來(lái)驅(qū)動(dòng)平衡車的雙輪運(yùn)轉(zhuǎn),保證小車正常運(yùn)行,是整個(gè)系統(tǒng)的動(dòng)力來(lái)源。
本模塊使用的是包含4通道邏輯驅(qū)動(dòng)電路的電機(jī)驅(qū)動(dòng)芯片——L298n模塊。通過(guò)將32單片機(jī)的 PWM 輸出引腳連接到電機(jī)驅(qū)動(dòng)模塊,利用陀螺儀檢測(cè)出小車的角速度和加速度,由32單片機(jī)內(nèi)部進(jìn)行相關(guān)計(jì)算,輸出一個(gè)占空比可變的矩形波來(lái)控制 L298n電機(jī)驅(qū)動(dòng)模塊,進(jìn)而控制平衡小車的電動(dòng)機(jī)的轉(zhuǎn)速。電機(jī)控制輸入源于所控制的PD值轉(zhuǎn)變?yōu)殡姍C(jī)所控制的值;而電機(jī)控制輸出就是將單片機(jī)計(jì)算得到的PWM波形的占空比傳輸?shù)诫姍C(jī)驅(qū)動(dòng)中。
2.2 WiFi模塊
WiFi模塊即無(wú)線通信模塊,可將用戶的平衡車連接到WiFi無(wú)線網(wǎng)絡(luò)上,進(jìn)行互聯(lián)網(wǎng)或局域網(wǎng)通信,實(shí)現(xiàn)聯(lián)網(wǎng)功能。聯(lián)網(wǎng)后,利用HUAWEI LiteOS實(shí)時(shí)操作系統(tǒng)實(shí)時(shí)控制系統(tǒng),從而保障各功能的正常運(yùn)行[4]。
本系統(tǒng)使用ESP8266模塊,是由上海樂(lè)鑫信息科技設(shè)計(jì)的低功耗WiFi芯片[5]。在SSCOM中向路由器發(fā)送指令 AT 來(lái)進(jìn)行相關(guān)配置,如連接和打開(kāi)WiFi,建立與TCP服務(wù)器的連接,從而實(shí)現(xiàn)聯(lián)網(wǎng)功能。在聯(lián)網(wǎng)過(guò)程中,實(shí)時(shí)上傳車體數(shù)據(jù),即可在云平臺(tái)查看車體信息,同時(shí)下載數(shù)據(jù)包,執(zhí)行由客戶端發(fā)送的命令。
2.3 平衡系統(tǒng)模塊
2.3.1 陀螺儀模塊
陀螺儀模塊不僅能判斷物體運(yùn)動(dòng)的角速度,還可分辨出物體的運(yùn)動(dòng)方向。簡(jiǎn)言之,當(dāng)陀螺儀旋轉(zhuǎn)時(shí),由于陀螺儀和兩輪電動(dòng)平衡小車系統(tǒng)是一個(gè)剛性結(jié)構(gòu),因此,陀螺儀的角速度反應(yīng)了小車系統(tǒng)的角速度。
本系統(tǒng)使用MPU6050模塊來(lái)測(cè)量角速度信號(hào),通過(guò)對(duì)角速度積分[6],得到角度值。但隨著時(shí)間的推移,積分運(yùn)算產(chǎn)生的誤差較大,所以單獨(dú)使用陀螺儀來(lái)計(jì)算角速度傾角是不夠的,為了維持小車的穩(wěn)定性需加上加速度計(jì)。
2.3.2 加速度計(jì)模塊
為減少上述陀螺儀模塊的誤差,需要結(jié)合加速度計(jì)采集的角速度信號(hào),才能穩(wěn)定地維持車體平衡。本系統(tǒng)的加速度計(jì)采用MMA7361模塊。如果車體沿著某個(gè)方向傾斜,MMA7361的相應(yīng)軸就會(huì)輸出對(duì)應(yīng)的變化電壓,同時(shí)傳輸?shù)絾纹瑱C(jī)中,并利用單片機(jī)的A/D 轉(zhuǎn)換器讀取輸出信號(hào),以檢測(cè)其運(yùn)動(dòng)方向。結(jié)合傾角和運(yùn)動(dòng)方向來(lái)判斷用戶是否需要轉(zhuǎn)彎或改變出行速度,從而根據(jù)用戶的需求對(duì)車體的運(yùn)行做出進(jìn)一步改變。當(dāng)單片機(jī)通過(guò)傾角判斷車體將跌倒時(shí),會(huì)控制電機(jī)停止運(yùn)行。
2.4 藍(lán)牙模塊
本模塊使用奧松機(jī)器人藍(lán)牙4.0模塊。藍(lán)牙可利用單片機(jī)進(jìn)行串口通信,即車體與手機(jī)終端建立通訊,從而實(shí)現(xiàn)客戶端實(shí)時(shí)查詢車體信息的功能。該模塊具有集成度高、成本低、功耗低、藍(lán)牙射頻性能優(yōu)越等特點(diǎn)。
2.5 GPS模塊
GPS模塊用于對(duì)車體進(jìn)行實(shí)時(shí)定位,從而提高其安全性和防盜性。本系統(tǒng)使用野火GPS模塊,其性能高、功耗低,可通過(guò)串口向單片機(jī)及手機(jī)客戶端輸出GPS定位信息。
2.6 溫濕度檢測(cè)模塊
本模塊使用DHT11傳感器檢測(cè)溫濕度,它應(yīng)用專用的數(shù)字模塊采集技術(shù)和溫濕度傳感技術(shù),確保產(chǎn)品具有極高的可靠性和卓越的長(zhǎng)期穩(wěn)定性。傳感器包括一個(gè)電阻式感濕元件和一個(gè)NTC測(cè)溫元件,并與一個(gè)高性能8位單片機(jī)相連接。該產(chǎn)品具有品質(zhì)卓越、超快響應(yīng)、抗干擾能力強(qiáng)、性價(jià)比高等優(yōu)點(diǎn)。
3 系統(tǒng)軟件設(shè)計(jì)與實(shí)現(xiàn)
3.1 初始化界面設(shè)計(jì)
本文設(shè)計(jì)的手機(jī)客戶端界面主要顯示來(lái)自車體內(nèi)部核心處理器STM32傳輸?shù)臄?shù)據(jù)。首先判斷車體是否上線,當(dāng)車體開(kāi)機(jī)后,下載并解析來(lái)自服務(wù)器的數(shù)據(jù),其次顯示其實(shí)時(shí)狀態(tài),顯示界面共分為4個(gè)子界面,分別為導(dǎo)航定位、運(yùn)行狀態(tài)、環(huán)境監(jiān)測(cè)和命令交互。該部分程序的實(shí)現(xiàn)基于C++語(yǔ)言編程完成。其整體設(shè)計(jì)和基本算法的架構(gòu)流程如圖2所示。
3.2 串口屏各功能界面設(shè)計(jì)
3.2.1 導(dǎo)航定位
此功能提供了定位導(dǎo)航服務(wù),使用者打開(kāi)手機(jī)客戶端便可接收車體此時(shí)的GPS信息,當(dāng)車體遺失時(shí),可做進(jìn)一步的追蹤,由此提高系統(tǒng)的安全性、防盜性。同時(shí),可結(jié)合手機(jī)自帶軟件“高德地圖”進(jìn)行導(dǎo)航。其整體設(shè)計(jì)的架構(gòu)流程如圖3所示。
3.2.2 運(yùn)行狀態(tài)
此選項(xiàng)提供車體此時(shí)的設(shè)備狀態(tài),同時(shí)對(duì)車體所處的環(huán)境進(jìn)行監(jiān)測(cè)。使用者可實(shí)時(shí)了解到車體的運(yùn)行速度、電量及其所在環(huán)境的溫濕度。同時(shí),對(duì)超速、低電量以及高溫狀態(tài)做出相應(yīng)的警示。其整體設(shè)計(jì)的架構(gòu)流程如圖4所示。
3.2.3 藍(lán)牙通信
當(dāng)車體未連接互聯(lián)網(wǎng)時(shí),手機(jī)客戶端可利用藍(lán)牙與車體建立通信,從而顯示設(shè)備狀態(tài)。其整體設(shè)計(jì)流程如圖5所示。
3.2.4 命令交互
此功能可滿足用戶的不同要求,如自動(dòng)開(kāi)機(jī)、自主到達(dá)指定位置和調(diào)節(jié)速度等。通過(guò)此功能,當(dāng)使用者忘記平衡車的具體位置時(shí),可讓其自主回到使用者身邊,一定程度上提供了便利,智能引導(dǎo)操作流程如圖6所示。
4 創(chuàng)新點(diǎn)分析
4.1 全向輪的使用
為平衡車安裝全向輪。全向輪轉(zhuǎn)彎半徑很小,能夠?qū)崿F(xiàn)全方位移動(dòng),不僅能像常見(jiàn)的輪子那樣前后移動(dòng)和轉(zhuǎn)彎,還能橫向移動(dòng)以及原地轉(zhuǎn)圈,靈活快速,易于控制,停車更加方便。
4.2 HUAWEI LiteOS實(shí)時(shí)操作
本系統(tǒng)采用HUAWEI LiteOS實(shí)時(shí)操作系統(tǒng),并行四個(gè)優(yōu)先級(jí)從高到低的任務(wù):電機(jī)控制任務(wù)、傳感器信號(hào)采集任務(wù)、藍(lán)牙串口任務(wù)及發(fā)送報(bào)文到服務(wù)器任務(wù)。各任務(wù)周期運(yùn)行,并進(jìn)行進(jìn)程通信,電機(jī)控制任務(wù)對(duì)陀螺儀采集到的數(shù)據(jù)進(jìn)行速度環(huán)、角度環(huán)計(jì)算,進(jìn)而實(shí)現(xiàn)控制車體平衡,對(duì)服務(wù)器下發(fā)數(shù)據(jù)和藍(lán)牙串口數(shù)據(jù)實(shí)現(xiàn)車體的行進(jìn)控制。此操作系統(tǒng)實(shí)時(shí)性強(qiáng),實(shí)現(xiàn)了物聯(lián)網(wǎng)狀態(tài)下的智能化。
4.3 安全性
利用車體的定位系統(tǒng),可掌握其實(shí)時(shí)位置。當(dāng)車體遺失時(shí),可進(jìn)行定位追蹤,同時(shí)利用其交互功能,可讓車體發(fā)出警報(bào),引起周圍人注意,提高系統(tǒng)的安全性和防盜性。
5 結(jié) 語(yǔ)
本文完成了基于LiteOS的全向輪平衡車的系統(tǒng)設(shè)計(jì),實(shí)物如圖7所示。以STM32微處理器為核心,利用硬件各模塊搭建了一個(gè)自平衡系統(tǒng),以HUAWEI LiteOS做為實(shí)時(shí)系統(tǒng),進(jìn)行軟件設(shè)計(jì),同時(shí)對(duì)整個(gè)平衡系統(tǒng)進(jìn)行了擴(kuò)展。實(shí)驗(yàn)證明,本系統(tǒng)易于操作、功能豐富、成本低廉,可廣泛用在實(shí)際生活中的多類場(chǎng)所。
參考文獻(xiàn)
[1]劉修龍.基于CCD的自平衡小車的設(shè)計(jì)[D]. 開(kāi)封:河南大學(xué),2014
[2]劉火良.楊森.STM32庫(kù)開(kāi)發(fā)實(shí)戰(zhàn)指南[M]. 北京:機(jī)械工業(yè)出版社,2013
[3]張志強(qiáng).基于STM32的雙輪平衡車[J].電子設(shè)計(jì)工程,2011(7):103-106.
[4]華為技術(shù)有限公司.HUAWEI LiteOS Kernal開(kāi)發(fā)指南[Z].華為專有和保密信息,2016.
[5] ESP8266串口WiFi模塊的基本使用[EB/OL]http://www.shaoguoji.cn/2017/01/15/ESP8266-usage/,2017-11-28
[6]張吉昌. 單軸雙輪自平衡代步車的研究與設(shè)計(jì)[D].青島:中國(guó)海洋大學(xué),2009.
[7]胡建,顏鋼鋒.基于自抗擾控制算法的兩輪自平衡分析[J]. 機(jī)電工程,2014,31(2):159-164.
[8]薛凡,孫京誥,嚴(yán)懷成. 兩輪平衡車的建模與控制研究[J]. 化工自動(dòng)化及儀表,2012,39(11):1450-1454.