王長(zhǎng)峰,于 婷
(1.貴州大學(xué)電氣工程學(xué)院,貴州 貴陽(yáng) 550003;2.長(zhǎng)春軌道客車裝備有限責(zé)任公司 國(guó)凱公司,吉林 長(zhǎng)春 130062)
為方便對(duì)智能車控制系統(tǒng)的調(diào)試,準(zhǔn)確地掌握控制智能車的單片機(jī)程序的運(yùn)行狀況,為算法的改進(jìn)提供科學(xué)依據(jù),需設(shè)計(jì)一智能車數(shù)據(jù)無(wú)線通信模塊。當(dāng)前智能車無(wú)線通信采用藍(lán)牙技術(shù)、nRF24L01無(wú)線模塊和zigbee等,本文闡述了基于WiFi的智能車數(shù)據(jù)無(wú)線通信模塊設(shè)計(jì)。WiFi無(wú)線網(wǎng)絡(luò)是由AP和無(wú)線網(wǎng)卡組成的無(wú)線網(wǎng)絡(luò),組網(wǎng)方式較為簡(jiǎn)單,主要技術(shù)優(yōu)點(diǎn)是無(wú)線接入、高速傳輸以及傳輸距離遠(yuǎn)[1]。WiFi模塊是本設(shè)計(jì)的核心,通過(guò)該模塊,單片機(jī)可以將數(shù)據(jù)信息(如路徑信息、車速、舵機(jī)控制信息、車速控制信息等)發(fā)送到帶有WiFi通信功能筆記本或其他上位機(jī)上,然后利用上位機(jī)軟件進(jìn)行數(shù)據(jù)分析,大大縮短智能車系統(tǒng)調(diào)試周期。
系統(tǒng)硬件分三個(gè)模塊,單片機(jī)模塊,WiFi模塊,由于兩模塊之間電平不匹配,所以還需要設(shè)計(jì)電平轉(zhuǎn)換電路即接口電路模塊[2-3]。總體方案硬件框圖如圖1所示。
圖1 總體方案硬件框圖
智能車數(shù)據(jù)無(wú)線通信軟件設(shè)計(jì)包括單片機(jī)串口通信程序,上位機(jī)數(shù)據(jù)接收軟件,上位機(jī)數(shù)據(jù)處理程序。
上位機(jī)軟件包括數(shù)據(jù)接收和數(shù)據(jù)處理模塊,具體要求如下:
1)設(shè)計(jì)無(wú)線通信模塊硬件電路和相關(guān)軟件,實(shí)現(xiàn)智能車數(shù)據(jù)實(shí)時(shí)發(fā)送;
2)無(wú)線通信模塊可接收簡(jiǎn)單的上位機(jī)指令;
3)上位機(jī)軟件應(yīng)能實(shí)時(shí)顯示當(dāng)前所接收的數(shù)據(jù)和當(dāng)前所發(fā)送的指令;
4)上位機(jī)應(yīng)將接收到的數(shù)據(jù)形成歷史數(shù)據(jù)文件保存,并可調(diào)出該歷史數(shù)據(jù)以曲線和數(shù)據(jù)形式進(jìn)行顯示。
數(shù)據(jù)接收采用網(wǎng)上下載的 TCP&UDP測(cè)試工具。該程序能夠只需設(shè)置與智能車無(wú)線網(wǎng)絡(luò)相匹配的IP點(diǎn)擊連接成功就可以實(shí)時(shí)接收和顯示數(shù)據(jù),并能顯示接收字節(jié)數(shù)和接收速度。數(shù)據(jù)接收完成后即可將數(shù)據(jù)保存為txt文件,將要發(fā)送的命令輸入發(fā)送區(qū),點(diǎn)擊發(fā)送即可完成。
該模塊需要做的事情是把已經(jīng)保存txt數(shù)據(jù)經(jīng)過(guò)處理并以圖形的形式顯示。本設(shè)計(jì)中無(wú)線網(wǎng)絡(luò)傳到上位機(jī)的數(shù)據(jù)為FF傳感器1傳感器2傳感器3……FF傳感器1傳感器2……的形式,所以數(shù)據(jù)處理模塊首先要做的是將數(shù)據(jù)按照傳感器進(jìn)行分類存儲(chǔ),然后對(duì)數(shù)據(jù)進(jìn)行運(yùn)算等等一些操作。
利用Matlab軟件編寫(xiě)函數(shù)dataplot();輸入?yún)?shù)為保存文件名和路徑,該函數(shù)功能是將txt文件轉(zhuǎn)成十六進(jìn)制數(shù),然后再變成十進(jìn)制數(shù),將數(shù)據(jù)分別按傳感器順序分別保存,運(yùn)算操作包括1#傳感器與2#傳感器作差,3#傳感器與4#傳感器作差,再將傳感器信號(hào)以及差信號(hào)畫(huà)成圖形顯示出來(lái)[4-5]。
系統(tǒng)調(diào)試同樣分為三個(gè)部分進(jìn)行,單片機(jī)模塊,接口電路模塊及WiFi模塊。
單片機(jī)模塊的調(diào)試主要是驗(yàn)證單片機(jī)程序是否實(shí)現(xiàn)了串口數(shù)據(jù)的收發(fā)功能[6],調(diào)試是以電腦作為單片機(jī)的串口通信對(duì)象,利用串口軟件來(lái)進(jìn)行數(shù)據(jù)的發(fā)送和接收顯示,調(diào)試過(guò)程是讓單片機(jī)循環(huán)發(fā)送0X31H,利用串口大師觀察數(shù)據(jù)是否接收到,然后發(fā)送字符‘1’,單片機(jī)預(yù)先編好程序,若接收到‘1’,則單片機(jī)開(kāi)發(fā)板上的燈閃一下,實(shí)驗(yàn)結(jié)果證明程序正確,單片機(jī)模塊完成預(yù)計(jì)功能[7-8]。
接口電路模塊的調(diào)試比較簡(jiǎn)單,只需要確認(rèn)單片機(jī)輸出的5 V高電平能否轉(zhuǎn)為WiFi模塊接收3.3 V,WiFi模塊輸出的3.3 V能否轉(zhuǎn)成單片機(jī)接收的5 V高電平,除此之外,還需要確認(rèn)同WiFi模塊連接的引腳最高電壓不會(huì)超過(guò)3.3 V,保證調(diào)試結(jié)果接口電路能夠完成預(yù)定功能。
首先,WiFi模塊要進(jìn)行配置,WiFi模塊上電的時(shí)候處于自動(dòng)工作模式,所以需要退出該模式進(jìn)入命令工作模式,該步驟也是通過(guò)電腦的串口完成。具體操作:重新給模塊上電,等待5 s左右,用串口調(diào)試助手發(fā)送:“+++”,注意沒(méi)有回車沒(méi)有換行,此時(shí)會(huì)返回+OK,這個(gè)時(shí)候就會(huì)退出透明傳輸模式進(jìn)入AT指令模式,然后再用配置管理程序,就可以掃描到了。
這時(shí)候就可以利用配置軟件進(jìn)行配置,主要包括網(wǎng)絡(luò)設(shè)置和工作模式設(shè)置。對(duì)WiFi模塊配置好以后,需要對(duì)筆記本進(jìn)行設(shè)置。
當(dāng)設(shè)置完成以后,就可以使用通過(guò)WiFi模塊連接筆記本與單片機(jī)串口了。當(dāng)搜索無(wú)線網(wǎng)時(shí)就可以搜到通過(guò)配置軟件所命名的網(wǎng)絡(luò)了,點(diǎn)擊連接即可。
通過(guò)tcp測(cè)試軟件來(lái)接收數(shù)據(jù),創(chuàng)建連接,進(jìn)行設(shè)置目標(biāo)IP和端口號(hào),然后點(diǎn)擊連接,就可以收發(fā)數(shù)據(jù)了,點(diǎn)擊保存即可將數(shù)據(jù)保存為txt文件。
該軟件會(huì)顯示發(fā)送個(gè)數(shù),接收個(gè)數(shù),以及發(fā)送數(shù)據(jù)及接收數(shù)據(jù)。程序設(shè)定了幾個(gè)簡(jiǎn)單的命令,當(dāng)單片機(jī)接收到1時(shí),智能車會(huì)加速,當(dāng)發(fā)送2時(shí),智能車減速,當(dāng)發(fā)送3時(shí),智能停車。還可以編寫(xiě)程序修改參數(shù),只要是程序預(yù)先編好就可實(shí)現(xiàn)想要的功能。
將數(shù)據(jù)保存為1.txt,存到d盤下,則在Matlab命令行中輸入dataplot(‘d:1.txt’),就會(huì)畫(huà)出兩組圖,如圖2和圖3所示,設(shè)計(jì)人員就可以根據(jù)這些數(shù)據(jù)畫(huà)成的線進(jìn)行分析,為智能車系統(tǒng)程序的修改提供參考。
圖2 數(shù)據(jù)圖形顯示1
圖3 數(shù)據(jù)圖形顯示2
智能車數(shù)據(jù)無(wú)線通信模塊設(shè)計(jì)由單片機(jī)模塊,接口電路模塊和WiFi模塊構(gòu)成,實(shí)現(xiàn)的功能是單片機(jī)模塊與支持WiFi的上位機(jī)的通信。智能車數(shù)據(jù)無(wú)線通信模塊設(shè)計(jì)核心是WiFi模塊,該模塊的功能是能夠?qū)纹瑱C(jī)傳過(guò)來(lái)的串口數(shù)據(jù)流轉(zhuǎn)換成幀的形式傳給上位機(jī),將上位機(jī)傳過(guò)來(lái)的幀轉(zhuǎn)換成單片機(jī)能夠接收的串口數(shù)據(jù)流的形式,所以該模塊的主要功能就是完成數(shù)據(jù)形式的轉(zhuǎn)換。軟件部分主要包括單片機(jī)部分和上位機(jī)部分,單片機(jī)部分實(shí)現(xiàn)的功能是數(shù)據(jù)的接收和發(fā)送,上位機(jī)實(shí)現(xiàn)的功能是數(shù)據(jù)的接收,發(fā)送及處理。
[1] 李楊.WiFi技術(shù)原理及應(yīng)用研究.計(jì)算機(jī)與網(wǎng)絡(luò)[J].科技信息,2010.06
[2] 韓九強(qiáng).現(xiàn)代測(cè)控技術(shù)與系統(tǒng)[M].北京:清華大學(xué)出版社,2007.9
[3] 李強(qiáng),明艷,陳前斌.基于Matlab的數(shù)字信號(hào)處理實(shí)驗(yàn)仿真系統(tǒng)的實(shí)現(xiàn)[J].實(shí)驗(yàn)技術(shù)與管理,2006,(05):81-83
[4] 雷遠(yuǎn),等.基于WiFi的無(wú)線傳感器網(wǎng)絡(luò)設(shè)計(jì)與研究[J].傳感器技術(shù),2009.18
[5] 胡漢才.單片機(jī)原理及接口技術(shù)[M].北京:清華大學(xué)出版社,2004.2
[6] 萬(wàn)東,等.WiFi射頻接收性能的測(cè)試方法[J].江南大學(xué)學(xué)報(bào),2007.10
[7] 程德福,林君.智能儀器[M].北京:機(jī)械工業(yè)出版社,2005.2
[8] 王化祥,張淑英.傳感器原理及應(yīng)用.天津:天津大學(xué)出版社,2008.4