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