戴麗佼,劉燾
(南京航空航天大學(xué)金城學(xué)院實(shí)驗(yàn)中心,江蘇南京211156)
基于nRF905無線模塊的溫度采集系統(tǒng)設(shè)計(jì)
戴麗佼,劉燾
(南京航空航天大學(xué)金城學(xué)院實(shí)驗(yàn)中心,江蘇南京211156)
針對傳統(tǒng)測溫系統(tǒng)的布線復(fù)雜、維修困難等問題,設(shè)計(jì)了一種無線溫度采集系統(tǒng)。該系統(tǒng)由主節(jié)點(diǎn)和從節(jié)點(diǎn)兩部分組成,選擇STC89C52單片機(jī)為控制器。各從節(jié)點(diǎn)利用數(shù)字溫度計(jì)DS18B20實(shí)時(shí)采集溫度數(shù)據(jù),采用nRF905實(shí)現(xiàn)數(shù)據(jù)的無線收發(fā)。主節(jié)點(diǎn)系統(tǒng)循環(huán)接收各節(jié)點(diǎn)溫度數(shù)據(jù)并將結(jié)果實(shí)時(shí)顯示在液晶屏上。實(shí)際測試結(jié)果表明,在空曠地帶通信距離約為200 m,測溫誤差為0.5℃。
nRF905;DS18B20;無線模塊;溫度采集系統(tǒng)
溫度是環(huán)境監(jiān)測中的一項(xiàng)重要數(shù)據(jù)參數(shù)。在工農(nóng)業(yè)生產(chǎn)過程中,人們常常需要實(shí)時(shí)監(jiān)測溫度變化情況。傳統(tǒng)的測量手段大都采用有線定點(diǎn)采集、人工上報(bào)的方式[1],這種方式不僅消耗人力,在環(huán)境惡劣的情況下,人身安全得不到保障,而且對系統(tǒng)的維護(hù)、維修帶來困難。隨著通信技術(shù)的飛速發(fā)展,利用無線技術(shù)進(jìn)行溫度采集測量,具有靈活、快捷等優(yōu)勢,不必依賴人工即可完成。本設(shè)計(jì)采用nRF905射頻發(fā)射器芯片實(shí)現(xiàn)溫度數(shù)據(jù)的無線傳輸[2?3]。該系統(tǒng)可廣泛應(yīng)用于農(nóng)業(yè)溫室大棚、糧庫、智能家居及煤礦等各種測溫場合。
無線溫度采集系統(tǒng)是一種基于射頻技術(shù)的無線溫度檢測裝置[4],分為主節(jié)點(diǎn)和從節(jié)點(diǎn)兩大部分。系統(tǒng)設(shè)計(jì)兩個(gè)溫度采集從節(jié)點(diǎn),將溫度傳感器采集到的數(shù)據(jù)經(jīng)GFSK調(diào)制后以無線方式傳送給主節(jié)點(diǎn)[5]。主節(jié)點(diǎn)通過循環(huán)方式接收各點(diǎn)的溫度數(shù)據(jù),并在液晶屏上實(shí)時(shí)顯示溫度數(shù)值。系統(tǒng)結(jié)構(gòu)框圖如圖1所示。各節(jié)點(diǎn)均采用STC89C52單片機(jī)[6]作為控制器。利用數(shù)字溫度計(jì)DS18B20實(shí)時(shí)采集各點(diǎn)溫度。
圖1 系統(tǒng)結(jié)構(gòu)框圖
系統(tǒng)的硬件電路主要包括:電源模塊電路;溫度采集電路;無線收發(fā)電路;溫度顯示電路。電源模塊電路實(shí)現(xiàn)直流電壓轉(zhuǎn)換功能。系統(tǒng)采用9 V直流電池供電,利用芯片AMS1117?5.0 V和AMS1117?3.3 V將電源分別轉(zhuǎn)
換成單片機(jī)和nRF905所需的直流電源,即5 V和3.3 V。在溫度顯示電路中選擇字符型LCD1602顯示兩個(gè)節(jié)點(diǎn)的溫度數(shù)值。液晶模塊采用直接訪問方式連接電路,即只要利用單片機(jī)的I/O與液晶的對應(yīng)接口相連即可實(shí)現(xiàn)硬件連接。
2.1 溫度采集電路
DSl8B20是美國Dallas公司生產(chǎn)的三腳集成單總線數(shù)字溫度計(jì)DS18B20,可直接輸出二進(jìn)制溫度數(shù)值,指示環(huán)境的溫度,無需模數(shù)轉(zhuǎn)換。采用單總線方式與單片機(jī)通信,即僅需一根口線即可實(shí)現(xiàn)數(shù)據(jù)傳輸,該口線既傳輸時(shí)鐘,又傳輸數(shù)據(jù)。外圍電路簡單,溫度采集電路如圖2所示。DS18B20的測量范圍為-55~125℃,可編程設(shè)置精度為9~12位。
圖2 溫度采集電路
2.2 nRF905模塊電路
系統(tǒng)采用的無線收發(fā)模塊是在nRF905無線射頻芯片基礎(chǔ)上進(jìn)行優(yōu)化設(shè)計(jì)。nRF905采用Nordic公司的VLSI ShockBurst技術(shù)。ShockBurst技術(shù)使nRF905能夠提供高速的數(shù)據(jù)傳輸,而不需要昂貴的高速M(fèi)CU進(jìn)行數(shù)據(jù)處理/時(shí)鐘覆蓋[7]。nRF905可自動(dòng)完成處理字頭和CRT(循環(huán)冗余碼校驗(yàn))的工作[8?9]。該模塊工作于433 MHz免許可證使用頻段的無線射頻收發(fā)模塊,通過SPI接口與單片機(jī)進(jìn)行數(shù)據(jù)交換。根據(jù)配置內(nèi)部寄存器設(shè)置收發(fā)器的頻率、功率、地址和數(shù)據(jù)的字節(jié)等信息。
nRF905共有四種工作模式,包括兩種活動(dòng)RX/TX模式和兩種節(jié)電模式。nRF905工作模式由TRX_CE,TX_EN,PWR_UP的設(shè)置來設(shè)定。nRF905的工作模式如表1所示。
表1 nRF905工作模式
3.1 系統(tǒng)程序設(shè)計(jì)思路
程序設(shè)計(jì)由接收端和發(fā)送端兩部分組成。接收端程序即為主節(jié)點(diǎn)部分程序,首先配置nRF905并設(shè)置為接收模式,然后通過檢波接收到對應(yīng)的的數(shù)據(jù)后儲(chǔ)存在nRF905內(nèi)部寄存器,單片機(jī)通過SPI方式讀取nRF905寄存器中的數(shù)據(jù),最后通過LCD1602顯示相應(yīng)的溫度數(shù)據(jù)。根據(jù)定義節(jié)點(diǎn)的地址不同以區(qū)分兩個(gè)從節(jié)點(diǎn),選擇循環(huán)方式讀取兩個(gè)節(jié)點(diǎn)的溫度信息。接收端程序流程如圖3所示。
圖3 接收端程序流程圖
從節(jié)點(diǎn)程序主要由DS18B20初始化、nRF905配置初始化、數(shù)據(jù)采集、處理及發(fā)送等子程序組成。發(fā)送端程序流程如圖4所示。利用定時(shí)器中斷設(shè)定采集溫度的周期,程序中設(shè)定1 s采集一次溫度數(shù)據(jù)。溫度數(shù)據(jù)處理子程序包括DS18B20初始化,單片機(jī)讀取溫度數(shù)值并轉(zhuǎn)換數(shù)據(jù)等。
圖4 發(fā)送端程序流程圖
3.2 nRF905模塊收發(fā)流程
nRF905收發(fā)模塊可將與射頻協(xié)議有關(guān)的高速信號處理全部放到nRF905芯片內(nèi)部進(jìn)行[10]。nRF905發(fā)送流程過程為:首先單片機(jī)通過SPI接口按時(shí)序把接收機(jī)的地址和要發(fā)送的數(shù)據(jù)傳送給nRF905,SPI接口的速率在通信協(xié)議和器件配置時(shí)確定;其次單片機(jī)置高TRX_CE和TX_EN,激發(fā)nRF905的ShockBurstTM發(fā)送
模式;然后nRF905不斷重發(fā),直到TRX_CE被置低;最后當(dāng)TRX_CE被置低,nRF905發(fā)送過程完成,自動(dòng)進(jìn)入空閑模式。一旦發(fā)送數(shù)據(jù)的過程開始,無論TRX_EN和TX_EN引腳是高或低,發(fā)送過程都會(huì)被處理完。只有在前一個(gè)數(shù)據(jù)包被發(fā)送完畢,nRF905才能接收下一個(gè)發(fā)送數(shù)據(jù)包。發(fā)送程序如下:
nRF905接收流程過程為:當(dāng)TRX_CE為高、TX_EN為低時(shí),nRF905進(jìn)入ShockBurstTM接收模式,等待接收數(shù)據(jù);當(dāng)nRF905檢測到同一頻段的載波時(shí),載波檢測引腳被置高;當(dāng)接收到一個(gè)相匹配的地址,AM引腳被置高;當(dāng)一個(gè)正確的數(shù)據(jù)包接收完畢,nRF905自動(dòng)移去字頭、地址和CRC校驗(yàn)位,然后把DR引腳置高;單片機(jī)把TRX_CE置低,nRF905進(jìn)入空閑模式;單片機(jī)通過SPI接口以一定的速率讀取數(shù)據(jù);當(dāng)所有的數(shù)據(jù)接收完畢,nRF905把DR引腳和AM引腳置低。接收程序如下:
系統(tǒng)對nRF905的配置寄存器設(shè)置頻段為433.1 MHz,發(fā)射功率為10 dB,發(fā)射電流可達(dá)30 mA。測量系統(tǒng)采用外接長約10 cm天線,經(jīng)實(shí)測,在操場空曠地帶有效測溫距離約為200 m,在室內(nèi)穿過數(shù)個(gè)教室墻壁仍能良好的通信。測量溫度精度達(dá)0.5℃,測溫周期為1 s,周期可由單片機(jī)內(nèi)部定時(shí)器調(diào)整。本設(shè)計(jì)具有外圍元件較少、成本低、使用方便等優(yōu)點(diǎn)。系統(tǒng)擴(kuò)展靈活,可在此基礎(chǔ)上擴(kuò)展新的功能,以便適應(yīng)于不同的場合要求。
[1]潘小龍,張建濱,孟俊杰,等.基于nRF905的無線溫度采集系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J].電子設(shè)計(jì)工程,2011,19(12):75?78.
[2]朱士群,牛偉,耿淑琴,等.基于nRF905無線通信系統(tǒng)的設(shè)計(jì)[J].現(xiàn)代電子技術(shù),2013,36(5):33?36.
[3]邵帥.基于nRF905的溫度數(shù)據(jù)采集及無線傳輸系統(tǒng)的設(shè)計(jì)[D].武漢:武漢科技大學(xué),2010.
[4]顧涵,徐健,勞裔豪.基于nRF905的無線溫度采集系統(tǒng)設(shè)計(jì)[J].現(xiàn)代電子技術(shù),2013,36(23):121?123.
[5]王書杰,李興寧.基于nRF905和DS18B20的多路無線溫度采集系統(tǒng)設(shè)計(jì)[J].通信電源技術(shù),2011,28(6):55?57.
[6]張毅剛.單片機(jī)原理及接口技術(shù)(C51編程)[M].北京:人民郵電出版社,2011.
[7]張孝云,江小華.基于nRF905的無線加速度測量系統(tǒng)設(shè)計(jì)[J].現(xiàn)代電子技術(shù),2011,34(17):153?155.
[8]袁江,曹金偉,邱自學(xué),等.基于WSN的糧庫溫濕度無線監(jiān)測系統(tǒng)[J].測控技術(shù),2012,31(4):77?81.
[9]夏德印,邵友,陳國定.基于無線傳感網(wǎng)絡(luò)的溫度監(jiān)控系統(tǒng)[J].工業(yè)儀表與自動(dòng)化裝置,2011(3):21?24.
[10]馬進(jìn),趙永,劉衛(wèi)亮,等.基于RF的多點(diǎn)溫度采集系統(tǒng)的設(shè)計(jì)與應(yīng)用[J].通信電源技術(shù),2013,30(4):48?50.
Design of temperature acquisition system based on wireless module nRF905
DAI Li?jiao,LIU Tao
(Experiment Center of Jincheng College,Nanjing Aeronautics and Astronautics University,Nanjing 211156,China)
A wireless temperature acquisition system was designed to deal with complex wiring and difficult maintenance of the traditional temperature measurement system.The system is composed of major node and slave nodes.The single chip micro?processor STC89C52 is selected as controller of the system.The real?time acquisition of temperature data is conducted by slave nodes through digital thermometer DS18B20.The real?time data is transmitted through the wireless module nRF905.The major node receives temperature data cyclically from slave nodes.The temperature data is displayed on the liquid crystal display.The practical testing result indicates that the system′s communication distance is about 200 m in the open place and its precision is 0.5℃.
nRF905;DS18B20;wireless module;temperature acquisition system
TN925?34;TP368
A
1004?373X(2015)03?0020?03
戴麗佼(1983—),女,講師,碩士研究生。主要從事電路、單片機(jī)教學(xué)及研究工作。
2014?07?21