朱海洋,張俊武,江方濤
(廣東松山職業(yè)技術(shù)學(xué)院教務(wù)處,廣東 韶關(guān) 512126)
具有自主避障功能的Android遙控智能小車設(shè)計(jì)
朱海洋,張俊武,江方濤
(廣東松山職業(yè)技術(shù)學(xué)院教務(wù)處,廣東 韶關(guān) 512126)
為實(shí)現(xiàn)智能小車自主避障行走和遠(yuǎn)程遙控,開發(fā)一款基于Android平臺(tái)的操作軟件,可以實(shí)現(xiàn)遠(yuǎn)程控制小車前進(jìn)后退及轉(zhuǎn)向,使用超聲波測距探測障礙物距離實(shí)現(xiàn)自主避障行走,通過在智能小車安裝各種傳感器實(shí)現(xiàn)不同功能,滿足不同應(yīng)用需要。
避障,遠(yuǎn)程控制,超聲波,智能小車,傳感器
智能小車具有結(jié)構(gòu)簡單、控制方便、成本低廉等特點(diǎn),常用作智能控制、自動(dòng)測量平臺(tái)。移動(dòng)互聯(lián)技術(shù)的發(fā)展使其應(yīng)用越來越廣泛[1],基于Android等移動(dòng)終端平臺(tái)編寫應(yīng)用程序APP,通過藍(lán)牙、WiFi等方式實(shí)現(xiàn)手機(jī)或平板電腦與智能小車的連接,并進(jìn)行遠(yuǎn)程操控。超聲波測距是常用的測距手段,測量可靠,用于避障測距,使智能小車實(shí)現(xiàn)自主避障行走。本文設(shè)計(jì)一種基于Android遙控的智能小車,使用超聲波壁障,可用于環(huán)境、隧道等野外測量等場合。
系統(tǒng)總體組成如圖1所示,CPU控制器構(gòu)成小車的核心控制單元,控制電機(jī)驅(qū)動(dòng)模塊驅(qū)動(dòng)小車行走,藍(lán)牙通信模塊與Android操作系統(tǒng)建立通信,通過智能終端平臺(tái)遙控小車。此外小車也可以通過超聲波自主避障行走。小車安裝了溫度傳感器,測量的溫度信號(hào)可在小車自帶的顯示設(shè)備上顯示,小車自帶128×64的圖文點(diǎn)陣液晶顯示器。
2.1CPU控制器
使用ATMEGA16單片機(jī)作為智能小車的主控制器。ATEMGA16為Atmel公司推出的ATMEGA內(nèi)核高性能單片機(jī),具有速度快、功能強(qiáng)、工作電壓寬、使用簡單等特點(diǎn)[2]。
ATMEGA16集成了3路獨(dú)立可調(diào)的PWM波形發(fā)生器,8路10bit ADC,共32個(gè)可用I/O口。
圖1 系統(tǒng)組成框圖Fig1 Block diagram of the system
2.2直流電機(jī)驅(qū)動(dòng)電路
智能小車左右各安裝一個(gè)直流電機(jī)作為小車動(dòng)力源,驅(qū)動(dòng)小車前進(jìn)、后退,通過左右輪轉(zhuǎn)速差實(shí)現(xiàn)轉(zhuǎn)向。使用DRV8835驅(qū)動(dòng)直流電機(jī)。DRV8835內(nèi)部集成了2路MOSFET 場效應(yīng)管H橋驅(qū)動(dòng)電路,每路H橋驅(qū)動(dòng)電路最大輸出電流為1.5A,可以驅(qū)動(dòng)2路直流電機(jī)或一個(gè)步進(jìn)電機(jī),可以作為攝像機(jī)、機(jī)器人、電磁閥、消費(fèi)類產(chǎn)品、玩具、和其它低電壓或者電池供電的運(yùn)動(dòng)控制類電機(jī)驅(qū)動(dòng)[3]。DRV8835內(nèi)置電荷泵電路生成驅(qū)動(dòng)?xùn)艠O電路所需電壓,其的工作電壓在 0V-11V,控制端邏輯電平為 2V- 7V寬電壓范圍,內(nèi)部關(guān)斷功能支持過流保護(hù)、短路保護(hù)、欠壓鎖定以及過溫保護(hù)等功能。芯片體積為2mmx3mm WSON超小體積封裝,占用PCB電路板面積小。DRV8835驅(qū)動(dòng)電路原理如圖2所示,驅(qū)動(dòng)邏輯電路如表1所示[4]。
圖2 DRV8835原理圖Fig 2 DRV8835 schematic
表1 DRV8835驅(qū)動(dòng)時(shí)序Tab.1 DRV8835 drive timing
2.3溫度傳感器電路
作為標(biāo)準(zhǔn)配置功能,智能小車安裝了18B20溫度傳感器,以測量環(huán)境溫度。其他功能則視需要安裝相應(yīng)傳感器即可。18B20是數(shù)字化的標(biāo)準(zhǔn)溫度傳感器,測量量化溫度結(jié)果為12bit。直接輸出數(shù)字化的測量結(jié)果準(zhǔn)確,測量精度高,使用方便,應(yīng)用廣,其內(nèi)部結(jié)構(gòu)如圖3所示。18B20的溫度測量范圍為-55℃-+125℃,在-10℃-+85℃測量范圍的溫度分辨率為0.5℃。18B20測量結(jié)果使用單總線輸出,其具體使用參見文獻(xiàn)5。
圖3 18B20內(nèi)部結(jié)構(gòu)Fig.3 18B20 Internal structure
2.4超聲波避障電路
小車具有自主避障功能,超聲波測距進(jìn)行避障。超聲波測距電路見圖4所示[6],由超聲波發(fā)射電路、超聲波接收電路兩部分組成。發(fā)射電路產(chǎn)生40KHz左右的超聲波載波,通過電平轉(zhuǎn)換芯片MAX232轉(zhuǎn)換成峰峰值為20Vp-p左右的驅(qū)動(dòng)電壓,驅(qū)動(dòng)超聲波換能器件產(chǎn)生機(jī)械振蕩波,遇到障礙物后反射回波信號(hào)被接收電路接收,經(jīng)過超聲換能器件轉(zhuǎn)換成電信號(hào)并經(jīng)運(yùn)放整形放大后送入測量電路測量。測量電路依據(jù)超聲波從發(fā)射端到達(dá)接收端所需的時(shí)間t即可計(jì)算出障礙物距離小車的距離L,從而實(shí)現(xiàn)避障,如公式(1)所示。為了保障測距的有效性、可靠性,發(fā)射電路發(fā)射8個(gè)載波后轉(zhuǎn)為接收模式,測距結(jié)果調(diào)制到脈沖寬度上以PWM信號(hào)輸出。使用時(shí)給圖4電路發(fā)一個(gè)Trig觸發(fā)信號(hào)啟動(dòng)測距,之后讀取Echo回波信號(hào)PWM脈寬即可計(jì)算測距距離。
圖4 超聲波測距電路Fig4 Ultrasonic ranging circuit
2.5藍(lán)牙通信模塊
藍(lán)牙通信廣泛應(yīng)用在語音傳輸、無線是一種應(yīng)用廣泛的通信協(xié)議。Android智能終端通過藍(lán)牙通信與單片機(jī)控制系統(tǒng)建立連接,這樣通過手機(jī)、平板電腦可以遙控操作智能小車。HC-06是藍(lán)牙-串口橋接通信模塊,將復(fù)雜的藍(lán)牙通信協(xié)議進(jìn)行封裝設(shè)計(jì)成通用的通信模塊,用戶使用時(shí)無需了解復(fù)雜的藍(lán)牙協(xié)議,對(duì)用戶而言該協(xié)議近似透明[7]。該模塊接口與單片機(jī)接口如圖5所示,通過UART通用串行通信口與單片機(jī)連接,單片機(jī)如同訪問通用串行口一樣訪問藍(lán)牙模塊實(shí)現(xiàn)與Android終端交換數(shù)據(jù)。藍(lán)牙模塊使用AT協(xié)議命令進(jìn)行配置,上電初始化時(shí)單片機(jī)通過AT命令可以完成通信波特率、通信密碼等配置。
圖5 藍(lán)牙通信模塊Fig.5 Bluetooth communications module
3.1Android控制端程序設(shè)計(jì)
Android是Google公司推出的基于Linux平臺(tái)的開源手機(jī)操作系統(tǒng),由操作系統(tǒng)、中間件、用戶界面、應(yīng)用軟件等組成,其系統(tǒng)架構(gòu)可分成5部分,分別為Linux內(nèi)核(Linux Kernel)、運(yùn)行環(huán)境(Android Runtime)、開發(fā)庫(Libraries)、應(yīng)用框架(Application Framework)、應(yīng)用程序(Applications)[8]。
Eclipse是Windows環(huán)境下常用的Android應(yīng)用程序開發(fā)環(huán)境,是一個(gè)JAVA語言集成開發(fā)平臺(tái)(Integrated Development Environment),同時(shí)他還是一個(gè)插件開發(fā)環(huán)境(Plug-in Development Environment,PDE),允許開發(fā)人員構(gòu)建與 Eclipse環(huán)境無縫集成的工具。通過插件來構(gòu)建開發(fā)環(huán)境,主要由Eclipse項(xiàng)目、Eclipse工具項(xiàng)目、Eclipse技術(shù)項(xiàng)目三個(gè)項(xiàng)目組成,具體包括Eclipse Platform、JDT、CDT和PDE四個(gè)組成部分。
基于Eclipse軟件開發(fā)的遙控智能避障小車的Android控制軟件界面如圖6所示。搜索設(shè)備命令用于搜索附近的遙控小車并進(jìn)行匹配,模式命令用于控制小車工作在自主避障還是手機(jī)遙控模式,三個(gè)速度設(shè)置命令可以設(shè)置高、中、低三種不同的速度,四個(gè)方向命令可以控制小車前進(jìn)、后退和轉(zhuǎn)向。
圖6 Android軟件控制界面Fig.6 Android software control interface
3.2避障控制
當(dāng)小車工作在自主避障模式時(shí)使用超聲波測距避障。公式(1)中超聲波測距公式t使用單片機(jī)定時(shí)器定時(shí)??紤]單片機(jī)定時(shí)器定時(shí)時(shí)間單位為微秒(μS),故將空氣中常溫下聲波傳輸速度近似轉(zhuǎn)換成0.034厘米/微秒(cm/μS),距離L的單位記為厘米(cm),故有:
(2)式說明即將定時(shí)器定時(shí)時(shí)間t除58.8后即為超聲波測距結(jié)果,單位為厘米(cm)。
設(shè)定安全距離為S(15cm),啟動(dòng)定時(shí)器定時(shí)2mS,每間隔2mS測距一次并與安全距離S進(jìn)行比較,若大于安全距離S則繼續(xù)前進(jìn),否則小車先向左轉(zhuǎn)彎,然后再向右轉(zhuǎn)彎,若還無法避開障礙物則開始后退,直到成功實(shí)現(xiàn)避障。
本文詳細(xì)闡述了基于Android平臺(tái)控制和超聲波避障行走的智能小車設(shè)計(jì)思路和實(shí)現(xiàn)方法?;谖恼滤悸分谱鳂訖C(jī),使用基于Android平臺(tái)開發(fā)的控制軟件控制小車前進(jìn)、后退以及加減速,切換模式后小車能通過超聲波自主避障。實(shí)際中可以結(jié)合不同需求安裝相應(yīng)類型傳感器,如風(fēng)速、CO等可用作環(huán)境、隧道等測量。
[1]張莉婷.信息時(shí)代移動(dòng)互聯(lián)新媒體傳播分析[J].電子測試.2013(11):99-100.Zhang Liting.Analysis of the new Mobile Media in the Information Era[J].ELECTRONIC TEST,2013,11(6):99-100.(in Chinese)
[2]楊鎮(zhèn)博,張加宏,吳雨生.基于ATmega16 單片機(jī)的微型氣象探測系統(tǒng)設(shè)計(jì)[J].現(xiàn)代電子技術(shù).2013,36(11):106-109.YANG Zhenbo,ZHANG Jiahong,WU Yusheng.Design of micro-meteorological observation system based on ATmega16 MCU[J].Modern Electronics Techniqu e,2013,36(11):106-109.(in Chinese)
[3]陸宇炯,張彪.雙路低電壓H橋集成電路及其應(yīng)用[J].職業(yè)教育(下旬刊).2014(5):94-96.Lu Yu jiong,Zhang Biao.Dual low voltage H-bridge IC and Its Application[J].Vocational Education(late),2014,(5):94-96.(in Chinese)
[4]“DRV8835’ datatsheet”,DRV8835 Dual Low-Voltage H-Bridge IC,MAY 2016.
[5]蔣濤,王碩飛,盛高珊等.多路溫度傳感器自動(dòng)檢定系統(tǒng)[J].2013,30(3):61-63,66.Jiang Tao,Wang Shuofei,Sheng Gaoshan etc.Automatic verification system of multiplex temperature sensor[J].Meteorological,Hydrological and Marine Instruments,2013,30(3):61-63,66.(in Chinese)
[6]王曉雷,趙向陽,曹玲芝等.基于AVR單片機(jī)的超聲波測距系統(tǒng)構(gòu)建[J].計(jì)算機(jī)測量與控制.2015,23(12):3946-3949.Wang Xiaolei,Zhao Xiangyang,Cao Lingzhi,etc.System Construction on Ultrasonic Distance Measuring Based on AVR Microcontroller[J].Computer Measurement & Control,2015,23(12):3946-3949.(in Chinese)
[7]張群,楊絮,張正言等.藍(lán)牙模塊串口通信的設(shè)計(jì)與實(shí)現(xiàn)[J].實(shí)驗(yàn)室研究與探索.2012,31(3):79-82.ZHANG Qun,YANG Xu,ZHANG Zhengyan,etc.Design and Realization of Serial Communication in Bluetooth Module[J].RESEARCH AND EXPLORATION IN LABORATORY,2012,31(3):79-82.(in Chinese)
[8]李慧,劉星橋,李景等.基于物聯(lián)網(wǎng)Android 平臺(tái)的水產(chǎn)養(yǎng)殖遠(yuǎn)程監(jiān)控系統(tǒng)[J].農(nóng)業(yè)工程學(xué)報(bào).2013,29(13):197-181.Li Hui,Liu Xingqiao,Li Jing,etc.Aquaculture remote monitoring system based on the Android platform networking [J].Transactions of the Chinese Society of Agricultural Engineering,2013,29(13):197-181.(in Chinese)
【責(zé)任編輯:高潮】
Design of smart car with the function of autonomous obstacle avoidance and android remote control
ZHU Haiyang,ZHANG Junwu,JIANG Fangtao
(Guangdong Song Shan Polytechnic College,Academic Affairs Office,Shaoguan 512126,Guangdong,China)
For the realization of intelligent vehicle autonomous obstacle avoidance walking and remote control,the development of a operation software based on the Android platform,can realize remote control car forward and backward to,using ultrasonic ranging obstacle detection distance to achieve autonomous obstacle avoiding walking,through the smart car to install a variety of sensors to achieve different functions,to meet the needs of different applications.
Obstacle avoidance; remote control; ultrasonic; intelligent car; sensor
TP311.52
A
1672-6332(2016)03-0050-04
2016-05-16
2015年廣東省大學(xué)生科技創(chuàng)新培育專項(xiàng)資金(“攀登計(jì)劃”專項(xiàng)資金)資助項(xiàng)目(pdjh2015b0714)
朱海洋(1978-),男,內(nèi)蒙赤峰人,廣東松山職業(yè)技術(shù)學(xué)院副教授,碩士,研究方向:計(jì)算機(jī)控制技術(shù)及其應(yīng)用。E-mail:zhusea@163.com