1 引言
糧食溫度檢測技術(shù)是我國糧食儲藏的4 大技術(shù)之一,它可以動態(tài)監(jiān)測倉庫糧食溫度變化情況,為糧食的儲藏安全提供了重要保障。由于儲備庫的特殊環(huán)境條件:糧食出入庫時,系統(tǒng)部分模塊(主要是傳感器模塊)要拆卸和重新安裝;倉庫中存在的有毒氣體H3P 容易腐蝕電子元器件,糧堆中損壞的傳感器不容易更換。而目前應(yīng)用于糧食儲藏的糧情檢測系統(tǒng)大多數(shù)采用模擬溫度傳感器、多路模擬開關(guān)、A/D 轉(zhuǎn)換器及單片機等組成的導(dǎo)線傳輸系統(tǒng)。這種溫度采集系統(tǒng)需要在倉庫內(nèi)布置大量的測溫電纜,安裝和拆卸繁雜;同時受到導(dǎo)線電阻和分布電容的影響,測量誤差比較大,易受雷擊。為此提出了一種基于無線傳感器網(wǎng)絡(luò)的溫度檢測系統(tǒng)的設(shè)計方案,該方案不需要任何固定網(wǎng)絡(luò)的支持,安裝簡單方便、系統(tǒng)穩(wěn)定可靠、可維護性好。
2 無線傳感器網(wǎng)絡(luò)
無線傳感器網(wǎng)絡(luò)是由大量微型、智能、低功耗傳感器以某種網(wǎng)絡(luò)協(xié)議構(gòu)成的無線網(wǎng)絡(luò),其目的是協(xié)作地感知、采集和處理網(wǎng)絡(luò)覆蓋的地理區(qū)域中感知對象的信息,并發(fā)布給觀察者。它綜合了傳感器技術(shù)、嵌入式計算技術(shù)、分布式信息處理技術(shù)以及無線通信技術(shù),正成為一個新興的技術(shù)領(lǐng)域,被認為是21世紀最重要的技術(shù)之一。
無線傳感器網(wǎng)絡(luò)節(jié)點具有無線通信、數(shù)據(jù)采集和處理、協(xié)同合作等功能,可以隨機或者特定地布置在目標(biāo)環(huán)境中,能夠獲取周圍環(huán)境的信息并且相互協(xié)同工作完成特定任務(wù)。傳感器節(jié)點主要由電源管理模塊、傳感器、微處理器、存儲器以及射頻模塊等功能模塊構(gòu)成。電源管理模塊為其他功能單元提供正常工作所必需的能源。傳感器用于感知、獲取外界的信息,并通過信號處理電路將其轉(zhuǎn)換為數(shù)字信號。微處理器部件負責(zé)協(xié)調(diào)節(jié)點各部分的工作,如對傳感器獲取的信息進行必要的處理、保存,控制傳感器和電源的工作模式等。射頻模塊負責(zé)與其他傳感器或觀察者的通信。
3 系統(tǒng)設(shè)計方案
整個系統(tǒng)由若干無線溫度傳感器節(jié)點、測控主機和PC 機組成,其中無線溫度傳感器節(jié)點按一定布點規(guī)則分布于倉庫內(nèi),執(zhí)行溫度數(shù)據(jù)采集、預(yù)處理和傳輸?shù)裙ぷ?。測控主機由無線收發(fā)模塊nRF9E5 及報警裝置組成,通過外接MAX232 轉(zhuǎn)換電路,和PC 機進行串口通信。測控主機通過無線通訊方式與各個節(jié)點進行數(shù)據(jù)傳輸、存儲及命令的傳送。PC 機給測控主機發(fā)送功能命令并對采集到每個節(jié)點溫度數(shù)據(jù)進行智能分析、顯示和打印。限于篇幅,本文主要介紹無線溫度傳感器節(jié)點的硬件結(jié)構(gòu)和軟件設(shè)計方法。
3.1 無線溫度傳感器節(jié)點的設(shè)計
溫度傳感器節(jié)點是的網(wǎng)絡(luò)的基本單元,響應(yīng)測控主機的指令并發(fā)送數(shù)據(jù)。由于傳感器節(jié)點通常采用電池供電,電池的容量一般不是很大。并且在使用過程中,不能給電池充電或更換電池,一旦電源耗盡,這個節(jié)點就失去了作用。因此在傳感器網(wǎng)絡(luò)節(jié)點的設(shè)計過程中,任何技術(shù)和協(xié)議的使用都要以節(jié)能為前提。在硬件設(shè)計方面,要盡量采用低功耗器件,在沒有通信任務(wù)的時候,切斷射頻部分電源;在軟件設(shè)計方面,各層通信協(xié)議都應(yīng)該以節(jié)能為中心。
3.1.1 射頻SOC nRF9E5
nRF9E5 是挪威Nordic 公司去年推出的系統(tǒng)級RF 芯片。該芯片采用+3VDC 供電,面積為5mm×5mm,共有32 個外部引腳,包括UART 和SPI 等功能。內(nèi)部集成了nRF9E5 射頻模塊、8051 微控制器及A/D 轉(zhuǎn)換模塊,具有433/868/915MHz 三波段載波頻率。采用GFSK 調(diào)制,抗干擾能力強;支持多點通訊,數(shù)據(jù)傳輸速率高達0.1Mbps。具有特有的ShockBurst 信號發(fā)射模式和發(fā)射信號載波監(jiān)測功能,可有效降低功耗電流、避免數(shù)據(jù)沖突。內(nèi)部寄存器為用戶測控主機提供了基礎(chǔ)的通訊協(xié)議,便于用戶擴展,縮短了開發(fā)周期,因此很適用于無線數(shù)據(jù)傳輸系統(tǒng)的設(shè)計。
nRF9E5 使用SPI 接口進行單片機與無線模塊間的數(shù)據(jù)傳輸。這部分在nRF9E5 片內(nèi)的8051內(nèi)核與nRF905 射頻收發(fā)器之間完成。nRF9E5 的收發(fā)器有三種工作方式,ShockBurst 接收(RX)方式,ShockBurst 發(fā)送(TX)方式和空閑方式。nRF9E5 收發(fā)器的工作方式由特殊功能寄存器TRX_CE 和TX_EN 決定,ShockBurst 接收方式下,當(dāng)收到一個有效地址的射頻數(shù)據(jù)包時,地址匹配寄存器位(AM)和數(shù)據(jù)準備好寄存器位(DR)通知片內(nèi)MCU 把數(shù)據(jù)讀出。在ShockBurst 發(fā)送方式下,nRF905 自動給要發(fā)送的數(shù)據(jù)加上前綴和CRC 校驗。當(dāng)數(shù)據(jù)發(fā)送完后,數(shù)據(jù)準備好寄存器位(DR)會通知MCU 數(shù)據(jù)已經(jīng)處理完畢。當(dāng)系統(tǒng)沒有發(fā)送和接收任務(wù)時,其進入空閑方式。nRF905 在空閑方式下,
一旦有任務(wù)要處理時,其能夠在很短的時間內(nèi)就進入ShockBurst 接收方式和ShockBurst 發(fā)送方式??臻e方式下,晶體振蕩器依然工作,配置字中的內(nèi)容不至于丟失。系統(tǒng)通訊時,各模塊處于正常接收狀態(tài):收發(fā)使能位TRX_CE=1 且方式選擇位TX_EN=0。在運行過程中,可由用戶編程修改TX_EN=1 使各其工作于發(fā)射狀態(tài)。
3.1.2 數(shù)字溫度字傳感器
DS18B20 是Dallas 公司開發(fā)的微型化、低功耗的可編程單總線數(shù)字溫度傳感器,可直接將測得溫度值轉(zhuǎn)換為數(shù)字信號輸出。并具有以下主要功能特點:(1)獨有的單總線通信技術(shù),只需一根信號線與單片機連接即可實現(xiàn)雙向通信。(2)電源電壓范圍3.3-5V,可通過信號線寄生供電或由外電源直接供電。(3)測溫范圍為-55-125℃,在-10-85℃內(nèi)可保持±0.5℃的精確度。(4)通過編程可實現(xiàn)9-12 位的數(shù)字讀數(shù)方式,即在溫度轉(zhuǎn)化時可選擇0.5℃、0.25℃、0.125℃、0.0625℃四種不同的分辨率。(5)可設(shè)定非易失性溫度報警上下限值TH 和TL,通過報警搜索命令可獲取報警信息。
DS18B20 的工作遵循嚴格的單總線協(xié)議。即先初始化,然后發(fā)送ROM 命令,最后發(fā)送功能命令。初始化包括主機發(fā)出復(fù)位脈沖(通過將總線拉低至少480μs 來實現(xiàn))隨即主機等待DS18B20 發(fā)回的存在脈沖。DS18B20 則從檢測到復(fù)位脈沖的上升沿開始等待15-16μs 后通過將單總線拉低60-240μs 實現(xiàn)存在脈沖的發(fā)送。DS18B20 的讀寫操作是通過讀寫時序來實現(xiàn)的。
3.2 軟件設(shè)計
本系統(tǒng)是一個簡單的點對多點通信,所以通信協(xié)議分為三層即可。第一層為物理層,由nRF9E5 模塊硬件實現(xiàn);第二層為數(shù)據(jù)鏈路層;第三層為應(yīng)用層。
數(shù)據(jù)鏈路層的功能是提供可靠的無線數(shù)據(jù)傳輸。發(fā)送數(shù)據(jù)時,將應(yīng)用層發(fā)來的比較長的數(shù)據(jù)幀拆分為短的數(shù)據(jù)幀,并加上包頭和校驗和,重新打包后發(fā)送出去。接收數(shù)據(jù)時,將接收到的數(shù)據(jù)解包并重新組合成完整的長數(shù)據(jù),移交給應(yīng)用層。數(shù)據(jù)鏈路層的數(shù)據(jù)幀格式為:每幀包括兩個字節(jié)的起始幀0xFFH和0xAAH,幾個字節(jié)的地址(字節(jié)大小由系統(tǒng)節(jié)點數(shù)量決定),一個字節(jié)的幀類型,一個字節(jié)的有效數(shù)據(jù)長度,兩個字節(jié)的數(shù)據(jù)和兩個字節(jié)的校驗和,一個字節(jié)的幀停止位0x00H。
由于在整個系統(tǒng)中無線通信的頻率采用一個頻道433.92MHZ 作為通信載波頻率,所以整個系統(tǒng)的通信必須采用分時技術(shù)將測控主機與多節(jié)點之間的通信變成為測控主機與一節(jié)點進行點對點通信的多條鏈路的組合。也就是說測控主機必須采用掃描的方式逐點采集數(shù)據(jù)。節(jié)點則采用中斷方式,對主接收器發(fā)出的地址信息進行處理,若與本機地址相符則執(zhí)行命令。首先,由測控主機向系統(tǒng)中某一節(jié)點發(fā)出溫度轉(zhuǎn)換命令包。接著當(dāng)節(jié)點收到主機發(fā)來的命令包時啟動DS18B20 進行溫度轉(zhuǎn)換,然后上傳給主機。最后,當(dāng)主機收到節(jié)點的數(shù)據(jù)包并校驗之后,主機將發(fā)送一個確認數(shù)據(jù)包給節(jié)點,以確認節(jié)點數(shù)據(jù)包的正確性。如果數(shù)據(jù)在傳輸?shù)倪^程中有數(shù)據(jù)丟失,主機將要求節(jié)點重新發(fā)送數(shù)據(jù),直到數(shù)據(jù)全部正確為止。
圖3 和圖4 分別為主機和節(jié)點的程序流程圖
4 試驗結(jié)果
現(xiàn)將按上述方案設(shè)計的溫度檢測系統(tǒng)與某儲備庫使用的傳統(tǒng)檢測系統(tǒng)進行了現(xiàn)場對比試驗。其中本系統(tǒng)數(shù)字溫度傳感器DS18B20采用11位的數(shù)字讀數(shù)方式,原系統(tǒng)采用MF-53-1型熱敏電阻,水銀溫度計刻度為0.1℃,讀數(shù)可到0.05℃ 。測量結(jié)果如表2所示。
從實際測量數(shù)據(jù)可以看出,所設(shè)計的系統(tǒng)的測量誤差較小,主要是由于傳感器本身存在誤差,網(wǎng)絡(luò)傳輸過程中幾乎不會引入誤差。
5 結(jié)論
傳感器網(wǎng)絡(luò)被認為是影響人類未來生活的重要技術(shù)之一,這一新興技術(shù)結(jié)合了現(xiàn)有的多種先進技術(shù),為人們提供了一種全新的獲取信息、處理信息的途徑。因此,基于無線傳感器網(wǎng)絡(luò)的糧情檢測系統(tǒng)克服了傳統(tǒng)系統(tǒng)存在的不足,試驗結(jié)果表明系統(tǒng)具有良好的工作穩(wěn)定性和測量的準確性,系統(tǒng)抗干擾能力強,避免了雷擊;網(wǎng)絡(luò)節(jié)點體積小,安裝和拆卸方便靈活,而且容易通過其表面涂上防腐材料以達到抗腐蝕能力,延長器件壽命;節(jié)點功能擴展性強,通過增加相關(guān)的傳感器和轉(zhuǎn)換電路,即可實現(xiàn)糧食濕度和蟲害密度的檢測。同時由于傳感器網(wǎng)絡(luò)本身的特點,使得它與現(xiàn)有的傳統(tǒng)網(wǎng)絡(luò)技術(shù)之間存在較大的區(qū)別,給人們提出了很多新的挑戰(zhàn),特別是傳感器網(wǎng)絡(luò)節(jié)點的能量供給及成本問題,限制了它的應(yīng)用范圍。隨著科技的進步和成本的降低,無線傳感器網(wǎng)絡(luò)技術(shù)在糧食儲藏中的應(yīng)用將產(chǎn)生重大的經(jīng)濟和社會效益。