趙學浩,錢衛(wèi)國
(常熟理工學院計算機科學與工程學院,江蘇常熟215500)
基于單片機的無線智能小車設計
趙學浩,錢衛(wèi)國
(常熟理工學院計算機科學與工程學院,江蘇常熟215500)
介紹了以STM32F103單片機為核心設計的無線遙控智能小車.本設計把機械手安置在裝有Wifi攝像頭的小車上,根據傳輸到手機的視頻圖像通過手機控制小車及機械手動作.以安卓智能手機作為遙控平臺,通過WiFi車載模塊實現全方位控制,使小車工作穩(wěn)定.該無線遙控智能小車可以代替工作人員對危險區(qū)域進行探測,具有廣闊的應用前景.
智能小車;單片機;WiFi模塊;控制系統(tǒng)
輪式移動機器人研究領域中,智能小車是其中的一項重要內容.同時智能小車也是陸地自主行駛車輛(Autonomous Ground Vehicle,AGV)的一種.在社會生活的各個領域中,AGV的應用前景都非常廣闊.在西方發(fā)達國家,移動式自主服務機器人已廣泛應用于醫(yī)療福利服務、商場超市服務、家庭服務等領域;AGV在軍事領域也有著重要的應用價值,美國軍方把部分機器人技術視為未來戰(zhàn)斗系統(tǒng)(Future Combatsystem)的重要組成部分[1].
本文主要介紹智能機器人中的無線遙控智能小車.該小車可以通過無線遙控器自由指揮小車移動,實現遙控小車及機械手在高危環(huán)境中進行各種作業(yè),如受泄漏危險性氣體的現場勘測、嚴重破壞的公路的現場勘測、火災現場探測、發(fā)生事故的礦區(qū)現場勘測、地震以及泥石流等.
圖1 整體設計圖
圖1為基于STM32F103的WIFI視頻遙控機械手的智能小車的整體設計圖.本設計方案中USB高清攝像頭由WIFI模塊驅動,通過USB高清攝像頭捕捉圖片信息將數據傳輸給上位機(手機、電腦等客戶端).小車的運動及機械手的動作由控制板MUC控制,通過WIFI模塊接收來自上位機的控制命令,再通過UART串口協(xié)議把控制命令傳給MCU,MCU根據命令控制小車及機械手.
本設計主要由無線發(fā)送接收模塊、控制模塊、單片機模塊組成.下面就其主要組成部分做簡要說明:
2.1無線接收及發(fā)送模塊
無線接收及發(fā)送模塊采用ST-MW-08S模塊,該模塊采用通用的CortexM3內核的STM32F103RC處理器作為系統(tǒng)主控,并結合Marvell8385 802.11網絡控制器完成無線局域網的通信.模塊內置有完整的TCP/IP協(xié)議棧,支持ARP、IP、ICMP、UDP、TCP、DHCP客戶端以及DHCP服務器等諸多協(xié)議.同時具備通用串口、PWM以及多路通用IO的輸入輸出等功能,具有系統(tǒng)接口靈活,編程控制方便等諸多優(yōu)點.網絡結構上,模塊支持基礎網絡(infra)和特殊的Adhoc網絡結構.加密認證方面,模塊支持開放性、WEP 64/128,WPA,TKIP,AES等諸多安全協(xié)議[2].由于靈活的結構設計使得模塊在功能完備的前提下?lián)碛懈凸暮洼^高的數據吞吐率.
其主要功能為:
1符合802.11b/g標準;支持AdHoc點對點基礎模式
2數據安全標準WEP64/128、WPA/RSN(WPA2)-PSK;
3支持靜態(tài)IP設置和DHCP獲取地址
4SNet模式(UDP、TCPs/C三種數據透傳模式)
5支持可調節(jié)的串口波特率設置2400~115200
6可編程的4通道輸出端口、2通道輸入端口以及2通道PWM輸出端口
7支持在線串口設置模塊參數等功能
模塊主要框圖如圖2所示.
圖2 模塊內部原理框圖
2.2控制模塊
本設計的結構為輪式結構,轉向機械和驅動機械是機械部分的主要組成部分.轉向機構主要由三個部分組成:轉向架,舵機和兩個前輪.轉向信號的正向或反向控制舵機旋轉,使其自動調節(jié)一定角度;小車的前輪為從動輪,內外側車輪會自動調節(jié)它的轉速,轉速大小是由轉向角度的大小控制的;驅動機構也由三個部分組成:兩個后輪、減速裝置和一個直流電機,小車的主動輪是后輪,由直流電機控制其轉速大小.
在控制器選擇方面,我們選用了STM32系列的Cortex-M內核,它的時鐘頻率達到72 MHz,在同類產品中,它的性能是最高的,一般類型的時鐘頻率為36 MHz.這種內核的價格是一般16位產品的價格,但是它的性能卻比16位產品有大幅提升,因此它成為用戶在32位產品中的最佳選擇.兩個系列都內置32 K到128 K的閃存,不同的是SRAM的最大容量和外設接口的組合.時鐘頻率72 MHz時,從閃存執(zhí)行代碼,STM32功耗36 mA,是32位市場上功耗最低的產品,相當于0.5 mA/MHz[3].其原理圖如圖3所示.
控制模塊的控制過程為:控制信號傳送到控制電路板,控制電路板控制電機轉動,之后齒輪組減速,舵盤轉動,最后位置反饋電位計給控制電路板傳送反饋流.舵機的控制信號周期為20 ms的脈寬調制(PWM)信號,其中脈沖寬度從0.5~2.5 ms,相對應的舵盤位置為0~180度,呈線性變化.經過實際測試和規(guī)劃,將0-185分為250份,每份0.74度.控制所需的PWM寬度為0.5~2.5 ms,寬度2 ms.2 ms÷250=8 us;所以得出:PWM信號=1度/8 us.
程序設計由安卓智能手機程序設計和小車車體程序設計兩個部分組成.
手機設備軟件設計需要基于小車功能進行開發(fā).以Java語言為基礎,主要涉及視頻流的輸入輸出、驅動模塊設計、系統(tǒng)設置模塊等.無線模塊在單片機上電后初始化,之后再選擇串行口的工作方式,隨后主程序開始循環(huán)檢測按鍵,如果程序檢測到有按鍵按下,則通過調用串行口來發(fā)送數據.當指令發(fā)送到Wifi模塊,此模塊將控制信號通過串口發(fā)送到MCU,MCU讀取后,執(zhí)行指令代碼,將指令發(fā)送到引腳,讓左右馬達差速運轉實現轉向功能.因為車身只是包含有四個小型馬達,所以定義了四個button,進而設置監(jiān)聽事件setontouchlistener,在事件中設置控制指令,通過onclick實現指令傳輸;另外設置6個滾動條控制鏡頭云臺和機械手動作.視頻設計模塊采用攝像頭采集實時錄像信息,借由Wifi視頻流傳輸到Android端,呈現于手機界面之上.視頻傳輸是基于socket通信、視頻媒體傳輸界面、字節(jié)流的輸入輸出,因此要導入BufferedReader、IOException、Input-StreamReader、PrintWriter、Socket、URL、Android.graphics.Bitmap等框架包,實現視頻的實時傳輸控制.
小車車體程序通過將信號線的控制信號發(fā)送給控制電路板來控制電機轉動,受到控制的電機帶動一系列齒輪組轉動,并在減速后傳動到輸出舵盤.舵機的位置反饋電位計和輸出軸是相連的,在舵盤轉動的同時,位置反饋電位計也被帶動,一個電壓信號會被電位計輸出到控制電路板,進行反饋,然后控制電路板根據所在位置決定電機轉動的方向和速度,從而達到目標停止[4].其主要的工作流程為:控制信號傳送到控制電路板,控制電路板控制電機轉動,之后齒輪組減速,舵盤轉動,最后位置反饋電位計給控制電路板傳送反饋流.小車程序通過串行口接收到遙控器遙控信息,則根據指令前進、后退等.
圖3 STM32原理圖
由于采用手機或計算機對機械手進行控制,具有很好的靈活性,實現了使用手機對機械手和小車進行控制操作.操作者可以根據小車傳過來的視頻來遙控操作機械手和小車而不用直接看到小車.并在小車上加上機械臂,通過手機操作將某一物體用機械手抓起,再控制小車到指定地點放下.在人工操作時精準的從地面抓取方盒,并放到了指定的位置,實現了上述所有操作.
在測試過程中發(fā)現MCU控制板直接連接機械手時無法驅動機械手,并且mcu升溫過快,查找原因后發(fā)現是通過mcu供電時,電壓較低,并且通過mcu供電會使mcu升溫較快,容易燒壞mcu,因此制作了一個轉接板(如圖4所示),給機械手單獨供電,解決了上述問題.
圖4 電源轉接板
同時,在測試過程中,由于所有的線都是由自己組裝,連接部分容易脫落,我們通過將多條線固定在一起,并綁在小車上的方式,盡可能避免在遙控小車供電運行時,線輕易的脫落,導致斷電或小車控制信號接收不到的問題.最后,小車由于車載機械手較重,遙控機械手向前伸取物品時,小車容易傾倒,我們便在小車后部加上了負重,使小車能夠前后平衡,不易翻倒.
智能小車經過多次實驗,解決一系列問題后,終于能正常運行.本次實驗的測試結果表明,智能小車能平穩(wěn)的按照指示移動并夾取物體,效果良好,具有一定的穩(wěn)定性和抗干擾能力,并達到了預期的效果.在未來,智能小車將會成為對智能車輛進一步研究的平臺.
[1]梁麗勤,王巖,張寶健.基于Freescale單片機的智能賽車設計[J].機電產品開發(fā)與創(chuàng)新,2010(6):114-116.
[2]密友電子科技有限公司.ST-MW-08S使用手冊[Z].2012.
[3]周衛(wèi)東;無線數據傳送在移動基站后備電源中的應用[J].通信電源技術,2012(05):59.
[4]鄭衛(wèi)娟,馮麟翔.基于單片機的柴油發(fā)動機冷卻水溫控制系統(tǒng)[J].數字技術與應用,2015(02):12.
A Design of Intelligent Minicar Based onsingle Chip Control
ZHAO Xuehao,QIAN Weiguo
(School of Computerscience and Engineering,Changshu Institute of Technology,Changshu 215500,China)
This paper mainly introduces thesTM32F103 microcontroller as a core design of the intelligent wireless remote control car.Based on the video transmission to the mobile phone,the robot is designed with a Wifi camera mounted on the car to control the car and the robot arm movements.Taking the Androidsmart mobile phone as a remote control platform,WiFi vehicle module is employed to achieve a comprehensive control of the car,so that the car can work in astable way.Therefore,this intelligent wireless remote control car can take the place of thestaff to detect hazardous areas,which will enjoy a broad application prospect.
intelligent vehicle;MCU;WiFi module;controlsystem
TP242.6
A
1008-2794(2015)04-0093-05
2015-04-10
江蘇省高校大學生創(chuàng)新訓練計劃項目“ARM循跡/避障及機器手智能車的設計”(2015103330192)
錢衛(wèi)國,高級工程師,研究方向:計算機應用,E-mail:qianwg@cslg.cn.