周楊
摘要:隨著電子技術(shù)的發(fā)展,雖然紅外遙控(IR)技術(shù)依舊憑借其成本低廉的優(yōu)勢(shì),應(yīng)用于家電等領(lǐng)域,但是由于遙控距離、抗干擾等缺點(diǎn),無線電遙控(RF)技術(shù)在防盜報(bào)警設(shè)備、門窗遙控、汽車遙控等方面得到更廣泛的使用。此文介紹基于STC51單片機(jī)設(shè)計(jì)的2.4GHz遠(yuǎn)距離遙控車設(shè)計(jì)。從硬件和軟件兩個(gè)方面介紹如何實(shí)現(xiàn)2.4GHz無線遙控車的設(shè)計(jì)。
關(guān)鍵詞:STC12LE5410AD;nRF24L01;無線遙控;NOKIA5110液晶
中圖分類號(hào):TP393 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2015)09-0259-02
1 硬件設(shè)計(jì)
1.1 系統(tǒng)框圖
1.2 電源模塊
如圖1所示,系統(tǒng)電源主要考慮為單片機(jī)、液晶顯示、無線收發(fā)模塊、電機(jī)驅(qū)動(dòng)供電。綜合考慮功耗和重量,本系統(tǒng)不采用9V干電池而使用四節(jié)1.5V干電池(6V)供電。其中6V給電機(jī)驅(qū)動(dòng)模塊供電,另外采用線性穩(wěn)壓芯片LM1117-3.3將輸入電壓6V降壓到3.3V分別給單片機(jī)和無線收發(fā)模塊供電,因?yàn)閱纹瑱C(jī)和無線收發(fā)模塊都使用低功耗芯片,所以線性穩(wěn)壓芯片功耗較少。為了減少電源干擾對(duì)收發(fā)模塊的影響,使用磁珠和0歐電阻將3.3V和地隔開。
1.3 單片機(jī)模塊
STC12LE5410AD是單時(shí)鐘兼容8051內(nèi)核的單片機(jī),是高速、低功耗的新一代8051單片機(jī)。速度比普通8051快8~12倍,全新的流水線、精簡(jiǎn)指令集結(jié)構(gòu),內(nèi)部集成MAX810專用復(fù)位電路。
1.4 無線收發(fā)模塊
nRF24L01是一款工作在2.4~2.5GHz世界通用ISM頻段的單片無線收發(fā)器芯片,內(nèi)部集成Enhanced Short Burst協(xié)議。可以實(shí)現(xiàn)點(diǎn)對(duì)點(diǎn)或是1對(duì)6的無線通信。無線通信速度可以達(dá)到2Mbps,高效GFSK調(diào)制,抗干擾能力強(qiáng),空曠環(huán)境可以達(dá)到100米收發(fā)。該模塊采用SPI接口與單片機(jī)進(jìn)行通信,1.9~3.6V的低電壓工作范圍非常適合本系統(tǒng)。為了減少電路對(duì)收發(fā)模塊的干擾,PCB設(shè)計(jì)時(shí)盡量將SPI信號(hào)線遠(yuǎn)離電源線及其他信號(hào)線。
1.5 電機(jī)驅(qū)動(dòng)模塊
四輪結(jié)構(gòu)小車不論是是四輪驅(qū)動(dòng)還是后輪驅(qū)動(dòng),雖然運(yùn)行會(huì)比較穩(wěn)定,但是車體轉(zhuǎn)向不夠靈活,又或功耗較大。因此,本系統(tǒng)采用三輪結(jié)構(gòu),車體中心前方使用萬向輪,減少阻力,后輪為驅(qū)動(dòng)。兩個(gè)帶減速器的直流電機(jī)作為運(yùn)動(dòng)驅(qū)動(dòng),具有轉(zhuǎn)動(dòng)力矩大、體積小、重量輕、裝配簡(jiǎn)單、使用方便等優(yōu)點(diǎn)。電機(jī)驅(qū)動(dòng)芯片選擇L9110S。
L9110S是為控制和驅(qū)動(dòng)電機(jī)設(shè)計(jì)的兩通道推挽式功率放大專用集成電路器件,將分離電路集成在單片IC內(nèi)部,僅需極少的外圍器件,成本降低,可靠性提高。同時(shí),該芯片具有良好的抗干擾能力,輸出端可直接驅(qū)動(dòng)電機(jī)正反向運(yùn)動(dòng)及剎車,具有較大的電流驅(qū)動(dòng)能力。
相比于L298驅(qū)動(dòng)芯片,犧牲了對(duì)速度的控制,但是簡(jiǎn)潔的設(shè)計(jì)不僅降低成本,提高系統(tǒng)穩(wěn)定性,同時(shí)也極大的減少了軟件的復(fù)雜度。不同于PWM控制,僅需要四個(gè)I/O口的高低電平就可以實(shí)現(xiàn)停止、前進(jìn)、后退、左轉(zhuǎn)、右轉(zhuǎn)的功能,節(jié)省了單片機(jī)定時(shí)器資源。
1.6 液晶顯示模塊
LPH7366是NOKIA公司生產(chǎn)的可用于5110、6150、6110等系列移動(dòng)電話的液晶顯示模塊。NOKIA5110 LCD液晶模塊采用低功耗COMS LCD 驅(qū)動(dòng)芯片PCD8544。84×48點(diǎn)陣LCD,可以顯示4行漢字。采用串行接口與單片機(jī)通信,整個(gè)模塊僅需8根線,傳輸速率高達(dá)4Mbps。采用低壓(2.7~3.3V)供電,正常工作電流在200μA以下,且具有掉電保護(hù)。
在本設(shè)計(jì)中,發(fā)送系統(tǒng)使用液晶顯示主要表示當(dāng)前運(yùn)動(dòng)狀態(tài),停止、前進(jìn)、后退、左轉(zhuǎn)、右轉(zhuǎn)五個(gè)狀態(tài)。接收系統(tǒng)使用液晶顯示主要用于方便調(diào)試,顯示接收到的命令。
2 軟件設(shè)計(jì)
軟件設(shè)計(jì)最重要的就是單片機(jī)與無線收發(fā)模塊的通信。無線收發(fā)模塊預(yù)留的通信方式是SPI模式,雖然本系統(tǒng)采用的STC12LE5410AD具有SPI通信接口,但是為了降低軟件調(diào)試的難度,還是采用I/O口模擬SPI通信實(shí)現(xiàn)單片機(jī)與無線收發(fā)模塊的通信。其中,nRF24L01無線收發(fā)模塊軟件設(shè)計(jì)的重點(diǎn)在初始化過程。
2.1 發(fā)送模塊
發(fā)送(TX)模式初始化過程:
1)寫入TX節(jié)點(diǎn)地址;
2)寫入RX節(jié)點(diǎn)地址(主要用于使能AUTO ACK);
3)使能AUTO ACK;
4)使能PIPE0;
5)配置自動(dòng)重發(fā)次數(shù);
6)選擇通信頻率;
7)配置發(fā)射參數(shù)(低噪放增益、發(fā)射功耗、無線速率);
8)選擇通道0有效數(shù)據(jù)寬度;
9)配置nRF24L01的基本參數(shù)以及切換工作模式。
2.2 接收模塊
接收(RX)模式初始化過程:
1)寫入RX節(jié)點(diǎn)地址;
2)使能AUTO ACK;
3)使能PIPE0;
4)選擇通信頻率;
5)選擇通道0有效數(shù)據(jù)寬度;
6)配置發(fā)射參數(shù)(低噪放增益、發(fā)射功率、無線速率);
7)配置nRF24L01的基本參數(shù)以及切換工作模式。
如圖6所示為系統(tǒng)發(fā)送模塊和接收模塊單次發(fā)送與接收的程序流程圖。發(fā)送模塊主要指的是遙控器,軟件根據(jù)按下的按鍵檢測(cè)對(duì)應(yīng)的控制命令裝載到發(fā)送緩存區(qū)并發(fā)送出去。接收模塊指的是車體,軟件接收到發(fā)送的控制命令,根據(jù)命令的不同做出相應(yīng)的動(dòng)作。
3 結(jié)束語
經(jīng)測(cè)試,本文介紹的遙控車在硬件焊接無誤情況下,可以正常使用??諘鐖?chǎng)地,十米以上可以實(shí)現(xiàn)停止、前進(jìn)、后退、左轉(zhuǎn)、右轉(zhuǎn)動(dòng)作。
本文介紹的遙控小車具有設(shè)計(jì)簡(jiǎn)潔,運(yùn)行穩(wěn)定,遙控距離遠(yuǎn)的優(yōu)點(diǎn)。單片機(jī)系統(tǒng)預(yù)留了多余的I/O管腳及液晶顯示,可擴(kuò)展升級(jí),比如增加超聲波測(cè)距可以檢測(cè)前方障礙物的距離,然后發(fā)送到遙控器上,提供操作人員參考。
參考文獻(xiàn):
[1] 彭偉. 單片機(jī)C語言程序設(shè)計(jì)實(shí)訓(xùn)100例[M]. 北京: 電子工業(yè)出版社, 2010.
[2] 張義和, 王敏男, 許宏昌,等. 例說51單片機(jī)(C語言版)[M]. 3版. 北京: 人民郵電出版社, 2010.
[3] 劉志平, 趙國(guó)良. 基于nRF24L01的近距離無線數(shù)據(jù)傳輸[J]. 應(yīng)用科技, 2008, 35(3): 55-58.
[4] 劉開緒. 韓志友. 基于AT89C51的尋跡小車掉頭運(yùn)動(dòng)系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J]. 長(zhǎng)春工業(yè)大學(xué)學(xué)報(bào): 自然科學(xué)版, 2009, 30(1): 78-82.