周慶芳
【摘要】針對(duì)傳統(tǒng)的智能控制系統(tǒng)中傳輸介質(zhì)依賴、實(shí)時(shí)性不高、安全性不好以及軟硬件匹配工程浩大、成本高的問(wèn)題本系統(tǒng)基于藍(lán)牙無(wú)線傳輸技術(shù)以及FPGA技術(shù)設(shè)計(jì)實(shí)現(xiàn)智能控制小車,充分利用藍(lán)牙技術(shù)和FPGA的天然優(yōu)勢(shì)。
【關(guān)鍵詞】FPGA 藍(lán)牙智能小車 設(shè)計(jì)
一、設(shè)計(jì)原理
本實(shí)例以FPGA為下位機(jī),智能手機(jī)為上位機(jī),通過(guò)藍(lán)牙接口實(shí)現(xiàn)智能手機(jī)與FPGA開發(fā)板的通信,進(jìn)一步達(dá)到手機(jī)對(duì)小車的控制。現(xiàn)代的大部分電子產(chǎn)品都基于可編程的中央處理器,這些處理器都可以與藍(lán)牙芯片進(jìn)行串口通信,藍(lán)牙技術(shù)的適用性十分廣泛?;谒{(lán)牙技術(shù)的智能控制系統(tǒng),只需在載有處理器的下位機(jī)上增加藍(lán)牙模塊,配置通信協(xié)議,實(shí)現(xiàn)串口通信,就可以實(shí)現(xiàn)基于藍(lán)牙技術(shù)的智能控制系統(tǒng)。
二、硬件設(shè)計(jì)
(一)電機(jī)驅(qū)動(dòng)模塊的設(shè)計(jì)
本系統(tǒng)使用L298N作為電機(jī)驅(qū)動(dòng)芯片。L298N是一個(gè)具有高電壓大電流的全橋驅(qū)動(dòng)芯片,它相應(yīng)頻率高,一片L298N可以同時(shí)驅(qū)動(dòng)2個(gè)二相或1個(gè)四相步進(jìn)電機(jī),接收標(biāo)準(zhǔn)TTL邏輯準(zhǔn)位信號(hào),且可以直接透過(guò)電源來(lái)調(diào)節(jié)輸出電壓。此芯片可直接由FPGA的10端口來(lái)提供模擬時(shí)序信號(hào)。ISEN A和ISEN B可與電流偵測(cè)用電阻連接來(lái)控制負(fù)載的電路;OUT1、OUT2和OUT3、OUT4之間可分別接2個(gè)步進(jìn)電機(jī);IN1~I(xiàn)N4輸入控制電位來(lái)控制電機(jī)的正反轉(zhuǎn);使能端ENA和EN B則控制電機(jī)停轉(zhuǎn)。用該芯片作為電機(jī)驅(qū)動(dòng),操作方便,穩(wěn)定性好,性能優(yōu)良。
(二)超聲波模塊的設(shè)計(jì)
本系統(tǒng)使用的超聲波模塊主要實(shí)現(xiàn)的功能是測(cè)距并返回?cái)?shù)據(jù)。超聲波測(cè)距模塊通過(guò)發(fā)射電路和接收電路測(cè)出時(shí)間差T,然后根據(jù)公式S=CT/2算出小車距離障礙物的距離S(其中C為超聲波在空氣中的傳播速度)。FPGA實(shí)時(shí)接收和處理距離信號(hào),并將處理后的信號(hào)轉(zhuǎn)換為控制指令。當(dāng)?shù)竭_(dá)警報(bào)距離時(shí),F(xiàn)PGA控制電機(jī)驅(qū)動(dòng)模塊使小車減速;當(dāng)?shù)竭_(dá)極限距離時(shí),F(xiàn)PGA控制電機(jī)驅(qū)動(dòng)模塊使小車馬上左轉(zhuǎn)。此處的左轉(zhuǎn)是依照左手定則,當(dāng)小車的前方和左方都有障礙物時(shí),小車左轉(zhuǎn)兩次,實(shí)現(xiàn)向后運(yùn)動(dòng)。
(三)藍(lán)牙模塊的設(shè)計(jì)
本系統(tǒng)使用的藍(lán)牙模塊是SH-HC-06,利用串口UART協(xié)議進(jìn)行收發(fā)數(shù)據(jù)。手機(jī)藍(lán)牙作為客戶端,小車上的藍(lán)牙模塊作為服務(wù)端??蛻舳送ㄟ^(guò)藍(lán)牙與服務(wù)端進(jìn)行數(shù)據(jù)傳輸,服務(wù)端將接收到的客戶端信號(hào)傳給FPGA控制模塊,F(xiàn)PGA接收并處理數(shù)據(jù),然后再把處理后的數(shù)據(jù)發(fā)回去。發(fā)送格式為:1bit起始位,8bit數(shù)據(jù),1bit停止位。整個(gè)通信處理過(guò)程可細(xì)分為數(shù)據(jù)接收和數(shù)據(jù)發(fā)送。
三、系統(tǒng)綜合與仿真測(cè)試
1.超聲波模塊
在超聲波模塊仿真過(guò)程中,涉及藍(lán)牙模塊實(shí)時(shí)采集數(shù)據(jù),但是仿真環(huán)境中無(wú)法實(shí)現(xiàn)。
2.砸動(dòng)模塊
圖1為小車驅(qū)動(dòng)控制模塊仿真圖,CLK為時(shí)鐘信號(hào)輸入端,RESET為重置信號(hào)輸入端,PWM_Data為占空比信號(hào)輸入端,Car_State為小車狀態(tài)控制輸入端,ENA、ENB、ENC、END為占空比輸出端,IN1、IN2、IN3、IN4為小車驅(qū)動(dòng)控制模塊控制電機(jī)的輸出端。在本次仿真中,占空比設(shè)置為20,小車狀態(tài)為O時(shí)四個(gè)電機(jī)均無(wú)輸出;小車狀態(tài)為1時(shí),小車前進(jìn),輸出狀態(tài)為1010;小車狀態(tài)為2時(shí),小車掉頭,輸出狀態(tài)為0101;小車狀態(tài)為3時(shí),小車左轉(zhuǎn),輸出狀態(tài)為0110;小車狀態(tài)為4時(shí),小車右轉(zhuǎn),輸出狀態(tài)為1001。
四、系統(tǒng)總結(jié)
本文詳細(xì)介紹了基于FPGA的超聲波避障小車的設(shè)計(jì)過(guò)程。該系統(tǒng)可以藍(lán)牙技術(shù)實(shí)現(xiàn)智能手機(jī)與智能小車的無(wú)線通信,將智能手機(jī)作為上位機(jī),F(xiàn)PGA開發(fā)板作為下位機(jī),實(shí)現(xiàn)對(duì)智能小車的遙控。在系統(tǒng)的硬件調(diào)試過(guò)程中,該基于FPGA的超聲波避障小車能夠正確地實(shí)現(xiàn)超聲波測(cè)距的功能,并由FPGA控制電機(jī)驅(qū)動(dòng)模塊,實(shí)現(xiàn)小車的運(yùn)動(dòng)和避障,可廣泛應(yīng)用于工業(yè)控制、廣播電視、視頻監(jiān)控、網(wǎng)絡(luò)安全以及汽車電子等方面,具有很好的實(shí)際應(yīng)用前景。