王憶冉++戴舒雅++張竣昊
摘要:本文主要研究的是基于nRF905無線數(shù)據(jù)通信方面的內(nèi)容,主要以射頻技術(shù)和嵌入式技術(shù)為支撐,設(shè)計(jì)出可遙控環(huán)境監(jiān)測(cè)的智能車,采用超聲波避障技術(shù)來支持小車自主進(jìn)行環(huán)境監(jiān)測(cè),并且提出了原理框圖,制作出了原理樣機(jī)。經(jīng)過廣泛測(cè)試,在433MHZ的ISM頻段,通信距離可以穩(wěn)定在200米左右。它可以廣泛應(yīng)用于安全生產(chǎn)、公安消防。汽車等行業(yè)的應(yīng)用技術(shù)研究?;诖耍€可以深入了解射頻技術(shù)的主要思想,并能在在無線通信方面作廣泛性發(fā)展,循序漸進(jìn)的將進(jìn)入物聯(lián)網(wǎng)這個(gè)廣泛的領(lǐng)域中。
關(guān)鍵詞:嵌入式技術(shù);射頻技術(shù);無線環(huán)境監(jiān)測(cè);nRF905;智能小車
中圖分類號(hào):TP18 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2016)09-0216-02
在當(dāng)今快速的發(fā)展的社會(huì)中,周圍的環(huán)境也在跟著發(fā)展而迅速變化。在國(guó)內(nèi),當(dāng)今對(duì)信息采集大都還是固定式有線的采集,太多的線纜導(dǎo)致資源的浪費(fèi)而且對(duì)信息的采集范圍有著極大的約束,尤其在家庭,工廠和賓館等一些需要實(shí)時(shí)采集環(huán)境信息的場(chǎng)合。然而,在如今的世界里,發(fā)達(dá)國(guó)家已經(jīng)廣泛采用了以射頻技術(shù)為基礎(chǔ)的物聯(lián)網(wǎng)通信,這樣可以實(shí)時(shí)將信息傳送的控制端并且節(jié)約了大量的資源,而時(shí)下國(guó)內(nèi),遠(yuǎn)遠(yuǎn)還沒有普及。此外,在一些特殊環(huán)境中,如建筑廢墟、危險(xiǎn)的礦井、易燃易爆或者具有腐蝕放射的現(xiàn)場(chǎng),由于受到外部環(huán)境條件和人的自身安全限制而無法靠近,導(dǎo)致沒有辦法對(duì)環(huán)境信息進(jìn)行有效探測(cè)。在這樣的場(chǎng)合中,無線遙控探測(cè)是一種理想的選擇。綜合來看,研究低功耗,低價(jià)格的物聯(lián)網(wǎng)通信是一種時(shí)下最火熱的趨勢(shì)。
目前,射頻技術(shù)一般采用數(shù)字式收發(fā)芯片,加上些許的外圍設(shè)備器件就可以構(gòu)成短距離無線收發(fā)模塊,從而實(shí)現(xiàn)無線短距離通信。當(dāng)今的射頻芯片一般采用FSK調(diào)制方式,在ISM頻段工作,一些必需的外圍器件已經(jīng)集成在芯片內(nèi)部,并且提供了簡(jiǎn)單透明的數(shù)據(jù)傳輸協(xié)議和安全保密協(xié)議,用戶只要對(duì)簡(jiǎn)單的接口進(jìn)行操作即可實(shí)現(xiàn)數(shù)據(jù)的無線通信。在此基礎(chǔ)上,低功耗,低價(jià)格的nRF905作為近程通信手段值得研究。
本文主要研究的是nRF905的無線數(shù)據(jù)通信方面的內(nèi)容,研發(fā)出一套集數(shù)據(jù)采集,數(shù)據(jù)無線傳輸、無線行為控制與執(zhí)行于一體的環(huán)境探測(cè)車載系統(tǒng),通過nRF905的射頻傳輸系統(tǒng)將可移動(dòng)小車的探測(cè)信息傳輸?shù)饺藶榭刂婆_(tái),并且由控制臺(tái)進(jìn)行后續(xù)系統(tǒng)處理,并通過控制臺(tái)對(duì)小車進(jìn)行行為控制以及命令執(zhí)行。此環(huán)境探測(cè)小車可以進(jìn)行一系列行車功能,可以通過較復(fù)雜路面,并且能夠?qū)崟r(shí)將探測(cè)數(shù)據(jù)根據(jù)需要傳回控制臺(tái)。研究本文,可以深入了解射頻技術(shù)的主要思想,并能在在無線通信方面作普及應(yīng)用發(fā)展,循序漸進(jìn)的將進(jìn)入物聯(lián)網(wǎng)這個(gè)廣泛的領(lǐng)域中,根據(jù)項(xiàng)目特色以及功能需求,本系統(tǒng)主要由車載系統(tǒng)和控制臺(tái)系統(tǒng)兩部分組成。
車載系統(tǒng)主要由微控制STC89C52、DS18B20數(shù)字式溫度采集模塊、US-015超聲波模塊、L298N驅(qū)動(dòng)模塊、電機(jī)、nRF905無線收發(fā)模塊以及LCD1602液晶顯示模塊組成,此外還有關(guān)鍵示的電源模塊,L298N的是7.2V供電,nRF905收發(fā)模塊是3.3V供電,其他模塊均采用5V供電。
本文采用的STC89C52RD是以微控制器8051為內(nèi)核的ISP,即系統(tǒng)可編程。80MHZ是本文采用芯片的最高工作頻率,但是由于MOS管的限制,一般都是采用12MHZ的晶振作為它的工作頻率。在本芯片中內(nèi)含8K 字節(jié)Flash ROM,它的器件兼容一般通用51指令系統(tǒng)及其所包含的各種引腳結(jié)構(gòu),芯片內(nèi)容十分豐富,而且它也集成了8位CPU和ISP Flash MMU,是可以系統(tǒng)編程的,配合PC端的燒錄軟件即可將用戶的程序代碼下載進(jìn)單片機(jī)內(nèi)部, STC89C52RD微控制器是單時(shí)鐘的向下兼容8051 內(nèi)核單片機(jī),是集快速速與低功耗于一體的新一代8051 單片機(jī)。它具有全新的流水線處理方式和精簡(jiǎn)指令集結(jié)構(gòu),內(nèi)部已經(jīng)集成了MAX810 專用復(fù)位電路,此外內(nèi)部還包含有8路AD轉(zhuǎn)換器,省去了外接的AD轉(zhuǎn)換器,相對(duì)于老式的80C51有著更穩(wěn)定的控制。
DS18B20數(shù)字式溫度采集器,在其內(nèi)部廠家已經(jīng)提供了9位溫度度數(shù),指示器件表面的溫度。溫度采集器在環(huán)境中所采集的實(shí)時(shí)溫度信息經(jīng)過一條線接口被傳輸?shù)綌?shù)字式溫度采集器DS18B20上或者由其傳送出去。鑒于此,從微處理器STC89C52到DS18B20之間的連接就僅僅要共地線和一條數(shù)據(jù)線就可以完成本文所要完成的溫度采集任務(wù)。DS18B20數(shù)字式溫度采集器在讀、寫方面以及完成器件實(shí)時(shí)溫度變換時(shí)所需要的電源都可以從這條數(shù)據(jù)線本身來滿足需求,因此它并不需要接外部電源。鑒于出廠時(shí),一個(gè)DS18B20都對(duì)應(yīng)著唯一一個(gè)系列號(hào)(這些系列號(hào)由出廠時(shí)制定),因此可以將多個(gè)DS18B20放置在同一條總線上,這樣的話就可以直接實(shí)現(xiàn)多點(diǎn)測(cè)量。正因?yàn)橛写颂匦?,DS18B20非常適合本文所研究的環(huán)境監(jiān)測(cè)。
目前,US-015是市場(chǎng)上分辨率較高,重復(fù)測(cè)量一致性較好的超聲波測(cè)距模塊。US-015的分辨率高于1mm,可達(dá)0.5mm,測(cè)距精度高。在測(cè)試中,US-015超聲波測(cè)距模塊完全勝任2厘米至4米的需要接觸的測(cè)距功能,5V是它的供電電壓,也就意味著不像nRF905無線收發(fā)模塊那樣需要電源轉(zhuǎn)換,僅需用5V開關(guān)穩(wěn)壓源供電即可。工作電流為2.2mA,支持GPIO通信模式,測(cè)距工作穩(wěn)定可靠。
US-015超聲波模塊的VCC接+5V直流電源,定義外部電路的Trig端,此端口需要微控制器輸入一個(gè)10uS以上的高電平,以此來出發(fā)模塊測(cè)距。定義外部電路的Echo端,用以接收回聲信號(hào)。當(dāng)一次測(cè)距結(jié)束時(shí),此管腳會(huì)接收輸出一個(gè)高電平,電平寬度為超聲波往返時(shí)間之和。
L298N 是一種雙H橋電機(jī)驅(qū)動(dòng)芯片,其中每個(gè)H橋可以提供2A的電流,功率部分的供電電壓范圍是2.5-48V,邏輯部分5V供電,接受5V TTL電平。一般情況下,功率部分的電壓應(yīng)大于6V否則芯片可能不能正常工作,由于采用的器件的短板,所以這就需要本文給它提供單獨(dú)的供電電源,采用的是7.2電池組給L298N供電。電機(jī)驅(qū)動(dòng)模塊是雙通道的電機(jī)驅(qū)動(dòng),可以驅(qū)動(dòng)兩組電機(jī)。只有當(dāng)通道A使能和通道B使能為高時(shí),兩通道才能同時(shí)工作。
1602液晶顯示器是一種專門用來顯示字母、數(shù)字、符號(hào)的點(diǎn)陣型液晶模塊。它是由若干個(gè)5x7或者5x11的點(diǎn)陣字符位組成,每個(gè)點(diǎn)陣字符位都可以用顯示一個(gè)字符,每位之間有一個(gè)點(diǎn)距的間隔,每行之間也有間隔,起到了字符間距和行間距的作用。
單片射頻無線收發(fā)芯片nRF905工作在433/868/915MHZ的ISM(工業(yè)、科學(xué)、醫(yī)療)頻段。以它為基礎(chǔ)的無線收發(fā)器是由一個(gè)完全集成的頻率調(diào)制器,一個(gè)帶解調(diào)器的接收器,一個(gè)功率放大器,一個(gè)晶體振蕩器和一個(gè)調(diào)節(jié)器組成。ShockBurst工作模式的特點(diǎn)就是它會(huì)自動(dòng)產(chǎn)生前導(dǎo)碼和CRC(循環(huán)冗余校驗(yàn)碼)。由于它可以很容易通過SPI接口進(jìn)行編程配置,所以操作起來相對(duì)簡(jiǎn)單。此外,nRF905還有Power Down模式和StandBy模式,可以在滿足通信要求下最節(jié)能方式。它的工作電流消耗也很低,非常適合低功耗無線數(shù)據(jù)傳輸。
nRF905無線收發(fā)模塊首先處于接收狀態(tài),當(dāng)nRF905無線收發(fā)模塊接收到指令信息時(shí),微控制器STC89C52控制L298N電機(jī)驅(qū)動(dòng)模塊驅(qū)動(dòng)電機(jī),在此時(shí)DS18B20數(shù)字溫度采集模塊和US-015超聲波模塊將溫度信息和聲波的回聲發(fā)送給微控制器STC89C52,經(jīng)過微控制器STC89C52的處理信息通過LCD1602模塊在車載系統(tǒng)上顯示,緊接著微控制器STC89C52也將信息傳送給nRF905無線收發(fā)模塊,nRF905無線收發(fā)模塊將從微控制器STC89C52接收到信息發(fā)送出去。這樣車載系統(tǒng)就完成了一次周期循環(huán)狀態(tài)。
控制臺(tái)系統(tǒng)獨(dú)立按鍵總共有四個(gè),分為四種控制功能,遠(yuǎn)程控制車輪的前進(jìn)、后退以及拐彎??刂婆_(tái)nRF905收發(fā)模塊初試狀態(tài)也是接收狀態(tài),當(dāng)有按鍵按下時(shí),微控制器STC89C52讀取到獨(dú)立按鍵信息,則微控制器STC89C52使nRF905無線收發(fā)模塊轉(zhuǎn)換到發(fā)射模塊,將指令信息發(fā)送到車載控制系統(tǒng),車載系統(tǒng)端接收到指令后,執(zhí)行指令后同時(shí)會(huì)將環(huán)境信息發(fā)送出去,當(dāng)結(jié)束按鍵的時(shí)候控制臺(tái)自動(dòng)跳轉(zhuǎn)到一次接收狀態(tài),控制臺(tái)將此時(shí)接收的環(huán)境信息通過LCD1602液晶顯示模塊顯示出來,這樣就能通過控制臺(tái)監(jiān)測(cè)車載系統(tǒng)端的環(huán)境信息,這個(gè)過程就是完成了控制臺(tái)系統(tǒng)的一個(gè)周期的運(yùn)轉(zhuǎn)。分別對(duì)車載系統(tǒng)端和控制臺(tái)系統(tǒng)的微控制器STC89C52的編程即可協(xié)調(diào)整個(gè)系統(tǒng)的正常運(yùn)轉(zhuǎn)。
本文研究的系統(tǒng)中的軟件都是通過微控制器STC89C52協(xié)調(diào)控制實(shí)現(xiàn),軟件編程主要通過Keil uvison來完成。由于系統(tǒng)被模塊化處理,因此對(duì)該模塊的編程就采用分成驅(qū)動(dòng)程序包的形式進(jìn)行編程,需用到模塊采用驅(qū)動(dòng)文件直接調(diào)用驅(qū)動(dòng)函數(shù)即可。
此驅(qū)動(dòng)程序可以進(jìn)行不同的溫度讀取,限于本文,僅采用簡(jiǎn)單讀法。首先初始化,調(diào)用DS18B20初始化函數(shù),然后對(duì)ROM進(jìn)行操作,在本驅(qū)動(dòng)程序中,通過編程直接跳過對(duì)只讀存儲(chǔ)器的操作,然后將溫度轉(zhuǎn)換指令發(fā)送出去,緊接著再一次跳過對(duì)只讀存儲(chǔ)器的操作,將讀取溫度命令發(fā)送出去。最后,讀取溫度。
經(jīng)過測(cè)試,小車可以被無線遙控行進(jìn),控制臺(tái)也能接收到來自車載系統(tǒng)段的環(huán)境信息,由車載系統(tǒng)和控制臺(tái)系統(tǒng)組成的整套系統(tǒng)可以完成如下任務(wù):
(1)通過控制臺(tái)系統(tǒng)的按鍵可以完成無線控制小車的前進(jìn)、后退、拐彎。
(2)車載系統(tǒng)上的DS18B20溫度采集模塊和US-015超聲波模塊可以較為精確地采集溫度信息和距離信息,并且通過LCD1602液晶顯示模塊在車載系統(tǒng)上顯示。
(3)控制臺(tái)系統(tǒng)可以正確接收來自車載系統(tǒng)的溫度信息和距離信息,并且可以在控制臺(tái)的LCD1602液晶顯示模塊顯示出來。
在整體系統(tǒng)的信息處理上,由于nRF905的半雙工通信特點(diǎn),車載系統(tǒng)端和控制臺(tái)系統(tǒng)端之間的通信有一定量的延時(shí),延時(shí)的時(shí)間大概是兩個(gè)周期的循環(huán)程序,也就是說在程序的設(shè)計(jì)時(shí)若代碼中延時(shí)過多或者代碼過長(zhǎng)容易導(dǎo)致兩者雙方通信延時(shí)過長(zhǎng),導(dǎo)致信息的不正確甚至是信息丟失。在處理延時(shí)的問題上,有兩種方法,第一種是用精簡(jiǎn)指令的方法,縮小指令之間的延時(shí)同時(shí)采用雙觸發(fā)標(biāo)志指令來出發(fā)接收與發(fā)送數(shù)據(jù);第二種是更換芯片,采用nRF2410無線收發(fā)模塊等具有全雙工通信的芯片來滿足要求。限于文要求,采用第一種方法,采用精簡(jiǎn)指令和縮小延時(shí)的方法,除去半雙工原理上導(dǎo)致的延時(shí),其延時(shí)問題基本上得以解決。經(jīng)過測(cè)試,在滿足基本通信的情況下滿足整個(gè)系統(tǒng)的基本需求(延時(shí)小于2S)。
此外,兩者之間的通信距離也不能太近,由于對(duì)于硬件抗干擾方面的設(shè)計(jì)匱乏,通信雙方會(huì)因?yàn)殡姶鸥蓴_使通信質(zhì)量變差,甚至使接收到的信息為亂碼,所以經(jīng)過測(cè)試當(dāng)通信距離大于2M時(shí),通信質(zhì)量得到很大的改善。
由于半雙工問題帶來的延時(shí)影響是可以忽略的,而且通訊距離過近帶來的信息干擾影響也是可以忽略不計(jì)的。所以,改良后,經(jīng)過測(cè)試以及考慮系統(tǒng)功能需求,對(duì)于本可以設(shè)計(jì)的系統(tǒng)來講,以nRF905無線收發(fā)模塊為基礎(chǔ)的通訊完全滿足本文所涉及的系統(tǒng)的三個(gè)基本功能。
本文介紹的無線遙控環(huán)境監(jiān)測(cè)小車,經(jīng)微控制器STC89C51控制nRF905無線收發(fā)模塊發(fā)送和接收指令,結(jié)合DS18B20溫度采集模塊和US-015超聲波模塊完成車載系統(tǒng)端的環(huán)境信息采集處理以及發(fā)送共享,實(shí)現(xiàn)遠(yuǎn)程無線遙控小車并達(dá)到環(huán)境監(jiān)測(cè)的目的。本文所介紹的由車載系統(tǒng)和控制臺(tái)系統(tǒng)組成的無線遙控環(huán)境監(jiān)測(cè)小車系統(tǒng)通過實(shí)際通信驗(yàn)證,運(yùn)行穩(wěn)定可靠,整個(gè)系統(tǒng)都是系統(tǒng)模塊化的結(jié)構(gòu),體積小,功耗低以及通信距離長(zhǎng)的特點(diǎn)??梢詮V泛應(yīng)用于安全生產(chǎn)、公安消防。汽車等行業(yè)的應(yīng)用技術(shù)研究。具有向更寬泛的物聯(lián)網(wǎng)以及智能探測(cè)方面研究的潛力。
參考文獻(xiàn):
[1] 羅三定.基于視覺反饋的智能小車系統(tǒng)研究[D].中南大學(xué),2007.
[2] 吳文平.基于視覺反饋的智能小車控制系統(tǒng)研究[D].電子科技大學(xué),2012.