目前,我國絕大多數(shù)的溫度監(jiān)測系統(tǒng)都是傳統(tǒng)方式,主要有就地進行數(shù)據(jù)采集的方式和有線通信的實時溫度監(jiān)測系統(tǒng),前者測量方法單一,測量數(shù)據(jù)不連續(xù)且時效性差,后者缺少靈活性且適用環(huán)境有限。隨著信息通信與電子技術的迅猛發(fā)展,使得傳統(tǒng)的數(shù)據(jù)采集方式已不能滿足需求,嚴重地制約了現(xiàn)代化監(jiān)測系統(tǒng)發(fā)展的進程。例如在監(jiān)測區(qū)域環(huán)境復雜,且監(jiān)測點的位置分布較分散的情況下,布線復雜而且慢,人力物力成本較大,不適合與控制中心進行有線通信。無線監(jiān)測系統(tǒng)是無線技術發(fā)展至今最重要的應用之一,采用無線網(wǎng)絡可增強監(jiān)測系統(tǒng)的靈活性和可擴充性,省去網(wǎng)絡布線的麻煩。
因此,本文嘗試研究一種無線溫度監(jiān)測系統(tǒng),此系統(tǒng)將無線收發(fā)模塊與單片機相結(jié)合,采用抗干擾能力強的射頻發(fā)射模塊及接收模塊實現(xiàn)無線通信,提高系統(tǒng)的可靠性。該監(jiān)測系統(tǒng)具有結(jié)構(gòu)簡單、使用方便、成本低、工作穩(wěn)定可靠等優(yōu)點。
1無線傳感器節(jié)點硬件設計
1.1單片機選擇方案
無線傳感器節(jié)點要實現(xiàn)對溫度信息的采集、處理和無線傳輸。無線傳感器節(jié)點內(nèi)的單片機對節(jié)點起管理、控制作用,并進行信號處理。在選擇單片機時,主要參考以下標準:首先,要求單片機的功耗要很小,由于它消耗的是節(jié)點中電池的電量,并且長期處在工作狀態(tài),所以必須具有功耗低的特點。其次,要求單片機的價格適中,不能使成本太高。此外單片機的運行速度和程序存儲空間大小,對以后節(jié)點功能的擴展很重要。本無線傳感器節(jié)點采用STC12C5A60S2單片機去控制nRF24L01射頻芯片和DS18B20溫度傳感器,其硬件結(jié)構(gòu)與功能模塊的對應關系如圖1所示。
圖1無線傳感器節(jié)點新一代STC12C5A60S2與傳統(tǒng)的MCS-51系列單片機指令完全兼容,具有高速、低功耗及抗干擾性能強等優(yōu)點。該單片機擁有60K的程序存儲器和1280字節(jié)RAM,完全能滿足單片機系統(tǒng)的軟件設計要求;且該單片機是新一代單時鐘/機器周期(1T),其處理速度是傳統(tǒng)51單片機的8到12倍,便于以后進行功能擴展,例如:可以快速處理其所在節(jié)點的路由算法。故STC12C5A60S2單片機是構(gòu)建本監(jiān)測節(jié)點理想的選擇
1.2無線收發(fā)模塊
nRF24L01是一款工業(yè)級內(nèi)置硬件鏈路層協(xié)議的低成本無線收發(fā)器。該器件工作于2.4 GHz全球開放ISM頻段,內(nèi)置頻率合成器、功率放大器、晶體振蕩器、調(diào)制器等功能模塊,可直接與單片機I/O連接.nRF24L01功耗低,以-6 dBm的功率發(fā)射時,工作電流僅9 mA;接收時,工作電流僅12.3 mA,多種低功率工作模式(掉電和空閑模式)更利于節(jié)能設計[3]。與nRF24L01的SPI接口連接時,可以利用單片機硬件的SPI口,也可以用單片機I/O口進行模擬。該收發(fā)模塊內(nèi)部有FIFO可以與各種高低速微處理器接口,便于使用低成本單片機。
1.3溫度采集芯片
DS18B20結(jié)構(gòu)簡單,采用一根I/O數(shù)據(jù)線既可供電又可傳輸數(shù)據(jù)。在現(xiàn)場采集溫度數(shù)據(jù)時,將數(shù)據(jù)直接轉(zhuǎn)換成數(shù)字量輸出。測量溫度范圍為-55~125℃,在-10~85℃時精度為±0.5℃;可編程的分辨率為9~12位,對應的可分辨溫度分別為0.5、0.25、0.125、0.062 5℃,可實現(xiàn)高精度測溫;在9位分辨率時最多在93.75 ms內(nèi)把溫度轉(zhuǎn)換為數(shù)字,12位分辨率時最多在750 ms內(nèi)把溫度值轉(zhuǎn)換為數(shù)字,速度很快;測量結(jié)果直接輸出數(shù)字溫度信號,以“一線總線”串行傳送給處理器,同時可傳送CRC校驗碼,具有極強的抗干擾糾錯能力。
2硬件原理圖
單片機的SPI接口有兩種操作模式:主模式和從模式。在主模式中支持高達3Mbit/s的速率,從模式時速度低些.nRF24L01提供的SPI接口數(shù)據(jù)傳輸率取決于單片機本身接口速度。單片機通過SPI對nRF24L01進行狀態(tài)配置,系統(tǒng)設為發(fā)送模式,單片機就把數(shù)據(jù)輸入到nRF24L01,當P0.2(CE)信號從1變?yōu)?時,nRF24L01就把從單片機收到的數(shù)據(jù)以2Mbit/s的速率發(fā)射出去,并通過IRQ信號通知單片機發(fā)送完成。若系統(tǒng)設為接收模式,nRF24L01就一直在監(jiān)測天線接收的信號,若有同頻的信號,就收下并打開信息包讀取地址,地址與自己的相同就取出信息包里的有用數(shù)據(jù),并通過IRQ信號通知單片機取走。節(jié)點原理圖如圖2所示。
3系統(tǒng)工作流程
無線傳感器節(jié)點在啟動后,首先配置nRF24L01的相關寄存器,使其工作在發(fā)送狀態(tài)。節(jié)點在發(fā)送模式下,首先復位DS18B20,單片機向DS18B20發(fā)送溫度轉(zhuǎn)換命令,讀取已轉(zhuǎn)換的溫度值,然后交由nRF24L01發(fā)送。上位機的接收模塊在接收模式下,首先讀取無線模塊的狀態(tài)寄存器,并判斷是否接收到數(shù)據(jù),若沒有,則一直檢測等待數(shù)據(jù)的到來;若有,則接收數(shù)據(jù)并送至接收模塊的RS232串口處,上位機監(jiān)測軟件從串口處讀取數(shù)據(jù)并顯示。其工作流程如圖3、4所示。
評論