過怡 王云寶 董亞萍
摘 要:文章設(shè)計(jì)一種基于Andorid移動(dòng)終端控制的智能小車系統(tǒng),小車采用四輪結(jié)構(gòu),8組紅外對(duì)管對(duì)黑色軌跡進(jìn)行循跡,利用超聲波傳感器進(jìn)行避障。S5PV210微控制器系統(tǒng)進(jìn)行傳感器控制及小車循跡。Andorid移動(dòng)終端通過WiFi模塊與S5PV210微控制器進(jìn)行數(shù)據(jù)通信,實(shí)現(xiàn)小車的靈活控制和信息的實(shí)時(shí)采集。
關(guān)鍵詞:循跡;Andorid:S5PV210:WiFi
智能小車的應(yīng)用領(lǐng)域十分廣泛,目前智能小車的設(shè)計(jì)和研發(fā)過程中通常通過串行口與PC連接進(jìn)行數(shù)據(jù)的傳遞,PC機(jī)上的上位機(jī)軟件系統(tǒng)通過串行方式將控制數(shù)據(jù)傳遞給智能小車,然后將小車放到場(chǎng)地中運(yùn)行,一旦小車開始運(yùn)行,無法根據(jù)小車實(shí)際運(yùn)行情況實(shí)時(shí)改變參數(shù)和獲得小車的運(yùn)行參數(shù)。部分智能小車雖然可以通過無線遙控方式控制移動(dòng)小車動(dòng)作,但是局限于特定環(huán)境并且上位機(jī)系統(tǒng)無法獲得實(shí)時(shí)運(yùn)動(dòng)情形[1]。這樣對(duì)小車的調(diào)試和設(shè)計(jì)帶來困難,延長(zhǎng)了小車設(shè)計(jì)調(diào)試的時(shí)間。
本文采用無線WiFi模塊將智能小車與移動(dòng)終端(Android手機(jī)、平板電腦等)相連,利用移動(dòng)終端良好的圖像界面,便于攜帶,隨處移動(dòng)等特性,代替?zhèn)鹘y(tǒng)PC機(jī)的上位機(jī)系統(tǒng),可以遙控智能小車的運(yùn)動(dòng),并根據(jù)小車的實(shí)際運(yùn)行狀態(tài)隨時(shí)發(fā)送修改參數(shù),并獲得智能小車的參數(shù)信息,大大提高了智能小車調(diào)試測(cè)試的效率。
1 系統(tǒng)整體結(jié)構(gòu)
移動(dòng)終端上運(yùn)行上層控制軟件,用戶在上層控制軟件上設(shè)置相應(yīng)參數(shù),移動(dòng)終端將控制命令通過WiFi發(fā)送給智能小車控制板上的WiFi模塊,WiFi模塊將數(shù)據(jù)以串行方式發(fā)送給S5PV210微控制器,S5PV210微控制器根據(jù)控制命令驅(qū)動(dòng)電機(jī)控制車輪以一定速度行進(jìn),S5PV210微控制器底層代碼定時(shí)獲取紅外傳感器和車輪碼盤數(shù)據(jù)以調(diào)整車輪轉(zhuǎn)向和速度,實(shí)現(xiàn)沿黑線循跡,同時(shí)定時(shí)獲得超聲波傳感器數(shù)據(jù)實(shí)現(xiàn)避障。用戶需要查看小車的參數(shù)時(shí),可以在上層控制軟件上選擇顯示信息,S5PV210微控制器將采集到的超聲波、光照、碼盤等信息發(fā)送給移動(dòng)終端并顯示在上層軟件界面上。本系統(tǒng)結(jié)構(gòu)如圖1所示。
2 系統(tǒng)硬件設(shè)計(jì)
2.1 核心控制模塊
系統(tǒng)采用的核心控制器是三星公司生產(chǎn)的SPS5PV210,是一款32位的RISC處理器,基于ARM的V7架構(gòu),低功耗、低成本、高性能。片上具有豐富的資源:用于安全啟動(dòng)的片內(nèi)ROM/片內(nèi)RAM。8位ITU601/656攝像頭接口,最大支持8M像素裁剪圖像,以及64 M像素的未裁剪圖像。3通道的24位IIS接口。一個(gè)3通道的IIC總線控制器。一個(gè)2通道的SPI總線控制器。4通道UART接口,包括一個(gè)4M波特率的藍(lán)牙2.0接口。一個(gè)紅外傳感器端口。24通道的DMA控制器。10通道的12位混合ADC接口??膳渲玫腉PIO資源。實(shí)時(shí)時(shí)鐘/PLL/看門狗等片上外謝[2]。完全可以滿足本系統(tǒng)WiFi數(shù)據(jù)的處理和傳輸、底層傳感器數(shù)據(jù)的采集和處理。
2.2 紅外線循跡模塊
本系統(tǒng)循跡采用了8組紅外對(duì)管來循跡黑色路徑,紅外發(fā)射管發(fā)射紅外線到地面上,如果遇到黑色循跡線,則被吸收,不能反射給紅外接收管,當(dāng)遇到循跡線外的其余白色區(qū)域時(shí),將產(chǎn)生反射信號(hào)給紅外接收管。SPS5PV210的GPIO A口讀取紅外接收管的數(shù)據(jù),并對(duì)數(shù)據(jù)展開成8位二進(jìn)制位進(jìn)行判斷,如果是中間2位為0,則表示小車正對(duì)循跡線前進(jìn),不需要對(duì)小車位置進(jìn)行修正,全速前進(jìn)即可;如果是中間偏左的2位為0,則表示小車出現(xiàn)了左偏,此時(shí)需要調(diào)整左右車輪的速度,即左輪增速,右輪減速,來調(diào)整小車的位置,使它再次正對(duì)循跡線;如果是中間偏右2位為0,則表示小車出現(xiàn)右偏,同樣通過調(diào)整左右車輪的速度,左輪減速,右輪增速,來調(diào)整小車位置,使它正對(duì)循跡線。紅外接收電路原理如圖2所示。
2.3 超聲波避障模塊
小車在循跡線路上如遇到障礙物,能及時(shí)停止,并進(jìn)行左轉(zhuǎn)或右轉(zhuǎn)繞行。本系統(tǒng)采用超聲波傳感器來測(cè)量前方障礙物的距離。超聲波傳感器包括發(fā)射傳感器和接收傳感器,超聲波發(fā)射傳感器發(fā)出超聲波,同時(shí)SPS5PV210片內(nèi)定時(shí)器開始計(jì)時(shí),超聲波在遇到障礙物時(shí)會(huì)立刻反射回來,超聲波接收傳感器接收到反射波,同時(shí)停止計(jì)時(shí)。通過定時(shí)器記錄的時(shí)間差確定與障礙物距離。超聲波發(fā)射電路原理如圖3所示。
2.4 無線WiFi模塊
WiFi模塊采用深圳市海凌科電子有限公司的HLK-RM04(串口一以太網(wǎng)一無線網(wǎng))模塊,該模塊內(nèi)置TCP/IP協(xié)議,可以與核心控制模塊中SPS5PV210片內(nèi)的串行接口進(jìn)行網(wǎng)絡(luò)數(shù)據(jù)的傳輸[3]。只需將WiFi模塊設(shè)置為服務(wù)器模式,設(shè)置好端口地址、IP地址、WiFi名稱和密碼,該模塊就能將接收到的WiFi數(shù)據(jù)通過串行方式發(fā)送給SPS5PV210,SPS5PV210只需設(shè)置串行口中斷,就能實(shí)時(shí)接收移動(dòng)終端發(fā)來的控制信號(hào)。SPS5PV210片內(nèi)的串行模塊不需要做任何特殊配置。WiFi轉(zhuǎn)串口電路原理如圖4所示。
3 上層軟件系統(tǒng)設(shè)計(jì)
上層系統(tǒng)采用移動(dòng)終端(Android手機(jī)、平板電腦等)代替了傳統(tǒng)的PC機(jī),因此上層軟件開發(fā)采用Android平臺(tái)進(jìn)行,開發(fā)工具為Elipse,Java jdk7,Android SDK。上層系統(tǒng)的界面如圖5所示,在此操作界面上用戶可以輸入小車的行駛速度,碼盤值,控制小車的運(yùn)行方向:前進(jìn)、后退、左轉(zhuǎn)、右轉(zhuǎn)、停止、按設(shè)定路線循跡。當(dāng)點(diǎn)擊顯示輸出信息按鈕時(shí),用戶可以在圖5界面下方看到如圖6所示的超聲波測(cè)距數(shù)據(jù)和當(dāng)前的碼盤值。在軟件的單擊事件中首先獲得用戶設(shè)定的速度和碼盤值,然后對(duì)按鈕類型進(jìn)行判斷,最后將獲得的上述信息轉(zhuǎn)換成指令發(fā)送給小車。上層軟件系統(tǒng)與小車直接通信可以采用基于ASCII字符和基于二進(jìn)制流兩種實(shí)現(xiàn)方式。采用二進(jìn)制流方式進(jìn)行數(shù)據(jù)傳輸雖然實(shí)現(xiàn)較復(fù)雜,在每幀數(shù)據(jù)前后需要添加幀頭和幀尾來分割數(shù)據(jù),但是數(shù)據(jù)傳輸?shù)牧恳黠@小于ASCII字符方式,可以大大提高數(shù)據(jù)發(fā)送的效率。本系統(tǒng)設(shè)計(jì)一種基于Modbus-RTU協(xié)議框架的二進(jìn)制通信協(xié)議[4],上層系統(tǒng)發(fā)送協(xié)議的幀格式如表1所示。
4 結(jié)語
本系統(tǒng)改進(jìn)了傳統(tǒng)的使用PC機(jī)作為上位機(jī)系統(tǒng)進(jìn)行智能小車控制的方式,采用移動(dòng)終端作為上位機(jī)系統(tǒng),使對(duì)小車的控制操作更加靈活方便,實(shí)時(shí)性更好。智能小車目前可以完成手動(dòng)控制下的前進(jìn)、后退、左轉(zhuǎn)、右轉(zhuǎn),和自動(dòng)控制下的按設(shè)定路徑循跡,如需改變路徑則要重新編寫底層代碼,因此,還不夠靈活,在后期還需進(jìn)一步改進(jìn)。
[參考文獻(xiàn)]
[1]卜雪民,錢峰.基于的智能車輛系統(tǒng)移動(dòng)小車的設(shè)計(jì)[J]電子測(cè)量技術(shù),2007 (10):80-83.
[2]三星公司.S5PV210 RISC Microprocessor Data Sheet [EB/OL].( 2010-02-10) [2017-10-16].http://www.samsungsemi.com.
[3]深圳市海凌科電子有限公司.HLK-RM04說明書[EB/OL].( 2013-06-29) [2017-10-16].http://www.hlktech.com/.
[4]全國工業(yè)過程測(cè)量和控制標(biāo)準(zhǔn)化技術(shù)委員會(huì)GB/Z 19582.1-2004基于Modbus協(xié)議的工業(yè)自動(dòng)化網(wǎng)絡(luò)規(guī)范第1部分Modbus應(yīng)用協(xié)議[S]北京:中國標(biāo)準(zhǔn)出版社,2004.