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