孫恒 谷君豪 羅紅梅 劉亮 孟德強



摘 要:隨著電子技術的發(fā)展,無線遙控小車得到日益廣泛的推廣和應用,在現(xiàn)代社會中發(fā)展了巨大的作用。文章設計了無線遙控小車的上位機系統(tǒng)與下位機系統(tǒng)。上位機系統(tǒng)用來發(fā)送控制指令,通過點擊軟件界面的虛擬按鍵,借助USB轉NRF24L01模塊發(fā)送相應的指令,而下位機系統(tǒng)以MK60FN1M0VLQ15單片機為核心單元,負責接收控制系統(tǒng)的動作指令,實現(xiàn)小車的運動以及自動避障功能。
關鍵詞:無線遙控;NRF24L01模塊;自動避障
中圖分類號:U284.48+2? 文獻標識碼:A? 文章編號:1671-7988(2020)15-25-04
Abstract: With the development of electronic technology, wireless remote control cars have been increasingly promoted and applied, and have developed a huge role in modern society. This paper designs the upper computer system and the lower computer system of the wireless remote control car. The upper computer system is used to send control commands. By clicking the virtual buttons on the software interface, the corresponding commands are sent by means of the USB-to- NRF24L01 module. The lower computer system uses the MK60FN1M0VLQ15 microcomputer as the core unit and is responsible for receiving the control system's action commands to realize the movement of the car and automatic obstacle avoidance function.
Keywords: Wireless remote control; NRF24L01 module; Automatic obstacle avoidance
CLC NO.: U284.48+2? Document Code: A? Article ID: 1671-7988(2020)15-25-04
前言
隨著無線通信技術和電子技術的發(fā)展,無線遙控小車在環(huán)境偵察、疫情監(jiān)控等方面得到日益廣泛的應用[1]。本文主要論述基于NRF24L01模塊的無線遙控小車設計,包括上位機系統(tǒng)設計、硬件系統(tǒng)設計。上位機系統(tǒng)借助Visual Studio 2015實現(xiàn)虛擬按鍵設計,并通過USB轉NRF24L01模塊發(fā)送控制指令,硬件系統(tǒng)則負責響應相應的指令,從而實現(xiàn)對無線遙控小車運動的控制。
1 無線遙控小車系統(tǒng)的整體設計
本文所設計的遙控小車系統(tǒng)從整體上分為上位機系統(tǒng)和下位機系統(tǒng)。上位機從PC端發(fā)出控制信號,然后由USB轉NRF24L01模塊將控制信號發(fā)送出去,下位機系統(tǒng)以K60單片機作為下位機控制單元,根據(jù)上位機的指令控制I/O端口的輸出電平,從而控制驅(qū)動小車的電機的轉向和轉速,或者控制負責小車前進方向控制的舵機打舵量,并可在緊急狀況下實現(xiàn)自動避障。
上位機系統(tǒng)主要由控制軟件和USB轉NRF24L01模塊組成,在控制軟件界面中設計5個按鍵,分別用于控制小車的前后行進、左右轉向與停止,鼠標點擊不同的按鍵后就由USB轉NRF24L01模塊發(fā)送指令數(shù)據(jù)出去。
下位機系統(tǒng)主要由電源模塊、K60單片機、NRF24L01模塊、電機驅(qū)動模塊、直流電機、舵機、超聲波測距模塊組成。電源模塊將7.2V的電池電壓分別調(diào)節(jié)成5V、6V和12V電壓,然后分別提供給K60核心板、舵機和驅(qū)動芯片作為VCC信號。K60單片機作為下位機系統(tǒng)的控制單元,根據(jù)上位機發(fā)送的指令控制驅(qū)動小車的電機和決定小車前進方向的舵機,并能夠接收超聲波測距模塊的回傳信號,實時計算遙控小車當前情況下與障礙物的距離,在小車與障礙物之間的距離小于本系統(tǒng)設計的緊急避障閾值時,做出相應的響應自動控制舵機,使小車不至于因操作人員操作不當或注意力分散等意外情況下小車碰撞障礙物。NRF24L01模塊作為無線通信的射頻收發(fā)器件,可實現(xiàn)上位機與下位機之間的無線通信,從而實現(xiàn)對小車的遙控控制。直流電機的作用為驅(qū)動小車,在下位機通過I/O端口輸出PWM信號[2]時可以實現(xiàn)前進、后退等各種動作。在本文的遙控小車的設計中,控制小車前進方向的舵機安裝在遙控小車的前端,并通過舵機支架與舵機圓盤與小車的轉向拉桿進行連接。超聲波測距模塊主要負責自動測量小車與障礙物之間的距離,單片機根據(jù)得到的距離信息決策是否需要緊急避障。
無線遙控小車的系統(tǒng)框圖如圖1所示。
2 系統(tǒng)硬件設計
2.1 單片機模塊
本文設計的無線遙控小車的硬件控制單元采用K60核心板,該核心板將MK60FN1M0VLQ15單片機的引腳使用排針及插座全部引接出來,方便使用者與其他器件連接,省去焊接引腳的精力。該核心板的尺寸為40*32.5mm,JTAG接口為雙排針標準插接件,該板子的額定工作電壓為5V±5%,板子的主頻晶振為50M,工作溫度范圍為-40℃-105℃。單片機模塊原理圖如圖2所示。
2.2 NRF24L01模塊
本無線遙控小車的設計采用NRF24L01模塊,如圖3所示。該模塊是由NORDIC公司生產(chǎn)的一種用于無線通信的芯片,它工作在2.4-2.5GHz的ISM頻段內(nèi),在芯片的內(nèi)部有位于挪威的研發(fā)公司的自己的Enhanced short Burst協(xié)議,可以方便的實現(xiàn)一點對一點或者一點對多點的通信。
2.3 電機驅(qū)動模塊
本設計的電機驅(qū)動芯片采用HIP4082芯片,通過H橋電路[3]和單片機輸出的PWM信號實現(xiàn)對電機的控制,包括電機正轉、反轉、加速和減速。電機驅(qū)動模塊的原理圖如圖4所示。
驅(qū)動電路有兩個輸入端和四個輸出端,其中,PTC1和PTC2為控制信號輸入端,AHO1、ALO1、BHO1、BLO1為信號輸出端,用來控制電機的正反轉和加減速。
2.4 電源模塊
由于電機驅(qū)動模塊需要12V電壓,單片機模塊需要5V電壓,舵機則需要6V電壓供,因此電源模塊的設計要能夠提供三種電壓,來分別滿足下位機系統(tǒng)主要模塊的供電要求。
TPS7350芯片內(nèi)部含有過熱保護電路、電流限制電路、靜態(tài)電流降低電路、電池反接和反插入保護電路,能夠使電壓穩(wěn)定在5V,使得單片機穩(wěn)定運行,因此本設計中選擇TPS7350芯片將7.2V的電池電壓降壓為5V。考慮到電機可能需要提供一定的大電流,同時在靜態(tài)的時候希望靜態(tài)消耗小,因此選擇MC34063芯片將電壓升為12V。除此以外,本設計選擇AS1015芯片將7.2V的電池電壓降壓為6V,相應的穩(wěn)壓電路原理圖如下所示。
2.5 舵機模塊
舵機與轉向拉桿相連接,用于控制小車的前進方向,本設計采用了輝盛公司生產(chǎn)的SG-5010型號的舵機,如圖8所示。
本無線遙控小車所選舵機有三根信號線,分別是VCC電源線,接6V電壓,GND線,接地線,信號線,接單片機的PTD2端口。與驅(qū)動模塊的控制方式類似,舵機也采用PWM信號控制。
2.6 超聲波測距模塊
由于操作人員存在操作失誤或注意力分散等情況,小車在運行過程中存在碰撞風險。超聲波測距模塊可實時發(fā)出超聲波,測量無線遙控小車與障礙物的距離,在小車與障礙物之間的距離小于碰撞閾值時,小車能夠自動剎車,實現(xiàn)自動避障。在本設計中,采用HC-SR04超聲波避障模塊,如圖9所示。
通過MK60FN1M0VLQ15單片機給予超聲波測距模塊的Trig端口10us高電平信號,作為測距觸發(fā)信號,該模塊在接收觸發(fā)信號后,自動發(fā)射8個40KHz方波,并自動檢測是否有信號返回。在信號返回時,通過超聲波測距模塊的Echo端口輸出高電平,根據(jù)公式(1)即可計算此時無線遙控小車與障礙物的距離。
式中:l為無線遙控小車與障礙物的距離,單位為m;s為Echo端口高電平持續(xù)的時間,單位為s。
在本設計中,碰撞閾值設置為0.2m。
3 系統(tǒng)軟件設計
3.1 控制軟件界面及控制邏輯
控制軟件使用Visual Studio 2015開發(fā),在Visual Studio 2015建立基于對話框的項目,然后放置5個按鍵和其他控件,點擊軟件界面的按鍵則可發(fā)送相應的控制指令,如圖10所示。
圖11與圖12所示的流程圖展示了控制軟件的控制邏輯,打開軟件后,判斷是否有按鍵被點擊,如果沒有按鍵被按下則繼續(xù)檢查有無按鍵按下。如果有按鍵被按下,將按鍵的ID放到NRF24L01模塊的發(fā)送緩沖區(qū)中,通過該模塊將控制指令發(fā)送到下位機。
4 結論
本文設計了一種新型的無線遙控小車,該系統(tǒng)借助集成開發(fā)環(huán)境Visual Studio 2015設計了控制軟件,通過點擊控制軟件界面的按鍵,可向下位機發(fā)送控制指令,下位機可在20ms內(nèi)對指令進行響應,控制無線遙控小車的前進、后退以及轉向,還可在緊急情況下實現(xiàn)自動避障。經(jīng)過多次實驗,本文設計的無線遙控小車工作穩(wěn)定可靠,為新型無線遙控小車的設計與實現(xiàn)提供了新的可借鑒方案。
參考文獻
[1] 葉鄭凱,朱建鴻,李琳,王幼琴.基于單片機的無線遙控智能小車的設計與實現(xiàn)[J].計算機與現(xiàn)代化,2012(10):65-67.
[2] 陳煒煒,詹躍東.基于單片機的直流電機PWM調(diào)速系統(tǒng)[J].化工自動化及儀表,2019,46(03):218-222.
[3] 戴貽康,焦運良,范晶.H橋式電路驅(qū)動無刷直流電機的設計[J].信息技術與網(wǎng)絡安全,2019,38(08):58-63.