王長峰,于 婷
(1.貴州大學電氣工程學院,貴州 貴陽 550003;2.長春軌道客車裝備有限責任公司 國凱公司,吉林 長春 130062)
為方便對智能車控制系統(tǒng)的調試,準確地掌握控制智能車的單片機程序的運行狀況,為算法的改進提供科學依據(jù),需設計一智能車數(shù)據(jù)無線通信模塊。當前智能車無線通信采用藍牙技術、nRF24L01無線模塊和zigbee等,本文闡述了基于WiFi的智能車數(shù)據(jù)無線通信模塊設計。WiFi無線網(wǎng)絡是由AP和無線網(wǎng)卡組成的無線網(wǎng)絡,組網(wǎng)方式較為簡單,主要技術優(yōu)點是無線接入、高速傳輸以及傳輸距離遠[1]。WiFi模塊是本設計的核心,通過該模塊,單片機可以將數(shù)據(jù)信息(如路徑信息、車速、舵機控制信息、車速控制信息等)發(fā)送到帶有WiFi通信功能筆記本或其他上位機上,然后利用上位機軟件進行數(shù)據(jù)分析,大大縮短智能車系統(tǒng)調試周期。
系統(tǒng)硬件分三個模塊,單片機模塊,WiFi模塊,由于兩模塊之間電平不匹配,所以還需要設計電平轉換電路即接口電路模塊[2-3]。總體方案硬件框圖如圖1所示。

圖1 總體方案硬件框圖
智能車數(shù)據(jù)無線通信軟件設計包括單片機串口通信程序,上位機數(shù)據(jù)接收軟件,上位機數(shù)據(jù)處理程序。
上位機軟件包括數(shù)據(jù)接收和數(shù)據(jù)處理模塊,具體要求如下:
1)設計無線通信模塊硬件電路和相關軟件,實現(xiàn)智能車數(shù)據(jù)實時發(fā)送;
2)無線通信模塊可接收簡單的上位機指令;
3)上位機軟件應能實時顯示當前所接收的數(shù)據(jù)和當前所發(fā)送的指令;
4)上位機應將接收到的數(shù)據(jù)形成歷史數(shù)據(jù)文件保存,并可調出該歷史數(shù)據(jù)以曲線和數(shù)據(jù)形式進行顯示。
數(shù)據(jù)接收采用網(wǎng)上下載的 TCP&UDP測試工具。該程序能夠只需設置與智能車無線網(wǎng)絡相匹配的IP點擊連接成功就可以實時接收和顯示數(shù)據(jù),并能顯示接收字節(jié)數(shù)和接收速度。數(shù)據(jù)接收完成后即可將數(shù)據(jù)保存為txt文件,將要發(fā)送的命令輸入發(fā)送區(qū),點擊發(fā)送即可完成。
該模塊需要做的事情是把已經(jīng)保存txt數(shù)據(jù)經(jīng)過處理并以圖形的形式顯示。本設計中無線網(wǎng)絡傳到上位機的數(shù)據(jù)為FF傳感器1傳感器2傳感器3……FF傳感器1傳感器2……的形式,所以數(shù)據(jù)處理模塊首先要做的是將數(shù)據(jù)按照傳感器進行分類存儲,然后對數(shù)據(jù)進行運算等等一些操作。
利用Matlab軟件編寫函數(shù)dataplot();輸入?yún)?shù)為保存文件名和路徑,該函數(shù)功能是將txt文件轉成十六進制數(shù),然后再變成十進制數(shù),將數(shù)據(jù)分別按傳感器順序分別保存,運算操作包括1#傳感器與2#傳感器作差,3#傳感器與4#傳感器作差,再將傳感器信號以及差信號畫成圖形顯示出來[4-5]。
系統(tǒng)調試同樣分為三個部分進行,單片機模塊,接口電路模塊及WiFi模塊。
單片機模塊的調試主要是驗證單片機程序是否實現(xiàn)了串口數(shù)據(jù)的收發(fā)功能[6],調試是以電腦作為單片機的串口通信對象,利用串口軟件來進行數(shù)據(jù)的發(fā)送和接收顯示,調試過程是讓單片機循環(huán)發(fā)送0X31H,利用串口大師觀察數(shù)據(jù)是否接收到,然后發(fā)送字符‘1’,單片機預先編好程序,若接收到‘1’,則單片機開發(fā)板上的燈閃一下,實驗結果證明程序正確,單片機模塊完成預計功能[7-8]。
接口電路模塊的調試比較簡單,只需要確認單片機輸出的5 V高電平能否轉為WiFi模塊接收3.3 V,WiFi模塊輸出的3.3 V能否轉成單片機接收的5 V高電平,除此之外,還需要確認同WiFi模塊連接的引腳最高電壓不會超過3.3 V,保證調試結果接口電路能夠完成預定功能。
首先,WiFi模塊要進行配置,WiFi模塊上電的時候處于自動工作模式,所以需要退出該模式進入命令工作模式,該步驟也是通過電腦的串口完成。具體操作:重新給模塊上電,等待5 s左右,用串口調試助手發(fā)送:“+++”,注意沒有回車沒有換行,此時會返回+OK,這個時候就會退出透明傳輸模式進入AT指令模式,然后再用配置管理程序,就可以掃描到了。
這時候就可以利用配置軟件進行配置,主要包括網(wǎng)絡設置和工作模式設置。對WiFi模塊配置好以后,需要對筆記本進行設置。
當設置完成以后,就可以使用通過WiFi模塊連接筆記本與單片機串口了。當搜索無線網(wǎng)時就可以搜到通過配置軟件所命名的網(wǎng)絡了,點擊連接即可。
通過tcp測試軟件來接收數(shù)據(jù),創(chuàng)建連接,進行設置目標IP和端口號,然后點擊連接,就可以收發(fā)數(shù)據(jù)了,點擊保存即可將數(shù)據(jù)保存為txt文件。
該軟件會顯示發(fā)送個數(shù),接收個數(shù),以及發(fā)送數(shù)據(jù)及接收數(shù)據(jù)。程序設定了幾個簡單的命令,當單片機接收到1時,智能車會加速,當發(fā)送2時,智能車減速,當發(fā)送3時,智能停車。還可以編寫程序修改參數(shù),只要是程序預先編好就可實現(xiàn)想要的功能。
將數(shù)據(jù)保存為1.txt,存到d盤下,則在Matlab命令行中輸入dataplot(‘d:1.txt’),就會畫出兩組圖,如圖2和圖3所示,設計人員就可以根據(jù)這些數(shù)據(jù)畫成的線進行分析,為智能車系統(tǒng)程序的修改提供參考。

圖2 數(shù)據(jù)圖形顯示1

圖3 數(shù)據(jù)圖形顯示2
智能車數(shù)據(jù)無線通信模塊設計由單片機模塊,接口電路模塊和WiFi模塊構成,實現(xiàn)的功能是單片機模塊與支持WiFi的上位機的通信。智能車數(shù)據(jù)無線通信模塊設計核心是WiFi模塊,該模塊的功能是能夠將單片機傳過來的串口數(shù)據(jù)流轉換成幀的形式傳給上位機,將上位機傳過來的幀轉換成單片機能夠接收的串口數(shù)據(jù)流的形式,所以該模塊的主要功能就是完成數(shù)據(jù)形式的轉換。軟件部分主要包括單片機部分和上位機部分,單片機部分實現(xiàn)的功能是數(shù)據(jù)的接收和發(fā)送,上位機實現(xiàn)的功能是數(shù)據(jù)的接收,發(fā)送及處理。
[1] 李楊.WiFi技術原理及應用研究.計算機與網(wǎng)絡[J].科技信息,2010.06
[2] 韓九強.現(xiàn)代測控技術與系統(tǒng)[M].北京:清華大學出版社,2007.9
[3] 李強,明艷,陳前斌.基于Matlab的數(shù)字信號處理實驗仿真系統(tǒng)的實現(xiàn)[J].實驗技術與管理,2006,(05):81-83
[4] 雷遠,等.基于WiFi的無線傳感器網(wǎng)絡設計與研究[J].傳感器技術,2009.18
[5] 胡漢才.單片機原理及接口技術[M].北京:清華大學出版社,2004.2
[6] 萬東,等.WiFi射頻接收性能的測試方法[J].江南大學學報,2007.10
[7] 程德福,林君.智能儀器[M].北京:機械工業(yè)出版社,2005.2
[8] 王化祥,張淑英.傳感器原理及應用.天津:天津大學出版社,2008.4