1 引言
糧食溫度檢測技術(shù)是我國糧食儲藏的4 大技術(shù)之一,它可以動態(tài)監(jiān)測倉庫糧食溫度變化情況,,為糧食的儲藏安全提供了重要保障,。由于儲備庫的特殊環(huán)境條件:糧食出入庫時,系統(tǒng)部分模塊(主要是傳感器模塊)要拆卸和重新安裝,;倉庫中存在的有毒氣體H3P 容易腐蝕電子元器件,,糧堆中損壞的傳感器不容易更換。而目前應用于糧食儲藏的糧情檢測系統(tǒng)大多數(shù)采用模擬溫度傳感器,、多路模擬開關(guān),、A/D 轉(zhuǎn)換器及單片機等組成的導線傳輸系統(tǒng)。這種溫度采集系統(tǒng)需要在倉庫內(nèi)布置大量的測溫電纜,,安裝和拆卸繁雜,;同時受到導線電阻和分布電容的影響,測量誤差比較大,,易受雷擊,。為此提出了一種基于無線傳感器網(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é)同合作等功能,,可以隨機或者特定地布置在目標環(huán)境中,能夠獲取周圍環(huán)境的信息并且相互協(xié)同工作完成特定任務,。傳感器節(jié)點主要由電源管理模塊,、傳感器、微處理器,、存儲器以及射頻模塊等功能模塊構(gòu)成,。電源管理模塊為其他功能單元提供正常工作所必需的能源。傳感器用于感知,、獲取外界的信息,,并通過信號處理電路將其轉(zhuǎn)換為數(shù)字信號。微處理器部件負責協(xié)調(diào)節(jié)點各部分的工作,,如對傳感器獲取的信息進行必要的處理、保存,,控制傳感器和電源的工作模式等,。射頻模塊負責與其他傳感器或觀察者的通信。
3 系統(tǒng)設(shè)計方案
整個系統(tǒng)由若干無線溫度傳感器節(jié)點,、測控主機和PC 機組成,,其中無線溫度傳感器節(jié)點按一定布點規(guī)則分布于倉庫內(nèi),執(zhí)行溫度數(shù)據(jù)采集,、預處理和傳輸?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ò)的基本單元,,響應測控主機的指令并發(fā)送數(shù)據(jù)。由于傳感器節(jié)點通常采用電池供電,,電池的容量一般不是很大,。并且在使用過程中,不能給電池充電或更換電池,,一旦電源耗盡,,這個節(jié)點就失去了作用。因此在傳感器網(wǎng)絡(luò)節(jié)點的設(shè)計過程中,,任何技術(shù)和協(xié)議的使用都要以節(jié)能為前提,。在硬件設(shè)計方面,要盡量采用低功耗器件,,在沒有通信任務的時候,,切斷射頻部分電源;在軟件設(shè)計方面,,各層通信協(xié)議都應該以節(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 接收方式下,當收到一個有效地址的射頻數(shù)據(jù)包時,,地址匹配寄存器位(AM)和數(shù)據(jù)準備好寄存器位(DR)通知片內(nèi)MCU 把數(shù)據(jù)讀出,。在ShockBurst 發(fā)送方式下,nRF905 自動給要發(fā)送的數(shù)據(jù)加上前綴和CRC 校驗,。當數(shù)據(jù)發(fā)送完后,,數(shù)據(jù)準備好寄存器位(DR)會通知MCU 數(shù)據(jù)已經(jīng)處理完畢。當系統(tǒng)沒有發(fā)送和接收任務時,,其進入空閑方式,。nRF905 在空閑方式下,
一旦有任務要處理時,,其能夠在很短的時間內(nèi)就進入ShockBurst 接收方式和ShockBurst 發(fā)送方式,。空閑方式下,,晶體振蕩器依然工作,,配置字中的內(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ā)出復位脈沖(通過將總線拉低至少480μs 來實現(xiàn))隨即主機等待DS18B20 發(fā)回的存在脈沖,。DS18B20 則從檢測到復位脈沖的上升沿開始等待15-16μs 后通過將單總線拉低60-240μs 實現(xiàn)存在脈沖的發(fā)送,。DS18B20 的讀寫操作是通過讀寫時序來實現(xiàn)的。
3.2 軟件設(shè)計
本系統(tǒng)是一個簡單的點對多點通信,,所以通信協(xié)議分為三層即可,。第一層為物理層,由nRF9E5 模塊硬件實現(xiàn),;第二層為數(shù)據(jù)鏈路層,;第三層為應用層。
數(shù)據(jù)鏈路層的功能是提供可靠的無線數(shù)據(jù)傳輸,。發(fā)送數(shù)據(jù)時,,將應用層發(fā)來的比較長的數(shù)據(jù)幀拆分為短的數(shù)據(jù)幀,并加上包頭和校驗和,,重新打包后發(fā)送出去,。接收數(shù)據(jù)時,將接收到的數(shù)據(jù)解包并重新組合成完整的長數(shù)據(jù),,移交給應用層,。數(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)換命令包。接著當節(jié)點收到主機發(fā)來的命令包時啟動DS18B20 進行溫度轉(zhuǎn)換,,然后上傳給主機,。最后,當主機收到節(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é)點的能量供給及成本問題,,限制了它的應用范圍,。隨著科技的進步和成本的降低,,無線傳感器網(wǎng)絡(luò)技術(shù)在糧食儲藏中的應用將產(chǎn)生重大的經(jīng)濟和社會效益。