莫小錦,周 嚴
(南京理工大學機械工程學院,南京 210094)
在人們越來越關注公共場所和居室環(huán)境舒適度的今天,環(huán)境的溫濕度監(jiān)測已成為公共建筑、高端家居室內環(huán)境的常規(guī)監(jiān)測項目。對于新建筑而言,溫濕度的監(jiān)測在建筑設計時已同步設計,在綜合布線階段已將傳感器布置點及信號傳輸線預先確定并布置,溫濕度的監(jiān)測易于實現。但是,對于老舊建筑或在設計階段未考慮溫濕度監(jiān)測設計的建筑而言,采用有線溫濕度監(jiān)測的模式,在不破壞內部裝修的前提下難以實現。無線傳感器網絡技術的發(fā)展與應用為這一問題的解決提供了可行與可靠的技術手段[1-4]。
本文以某高端會所的室內溫濕度無線遠程監(jiān)測為背景,設計了基于射頻技術與3G無線互聯網技術的環(huán)境溫濕度遠程無線監(jiān)測系統(tǒng),通過基于射頻技術的溫濕度無線傳感器網絡與3G無線互聯網,在不改動室內裝修,不布設信號傳輸線及網線的情況下,實現了室內環(huán)境溫濕度的現場集中監(jiān)測及異地遠程監(jiān)測,克服了傳統(tǒng)有線監(jiān)測方式的局域性和區(qū)域性,提供了一種遠程監(jiān)測的新方法。
基于現場無線溫濕度傳感器網絡及3G遠程傳輸網絡的監(jiān)測系統(tǒng)如圖1所示?,F場無線溫濕度傳感器網絡由自行研制的無線溫濕度傳感器節(jié)點、無線接收模塊和現場集中監(jiān)控計算機構成,傳感器節(jié)點負責實時采集現場各個溫濕度監(jiān)測點的溫濕度數據,并編碼發(fā)送至無線接收模塊,無線接收模塊接收各節(jié)點發(fā)射的溫濕度數據,并傳輸至現場集中監(jiān)控計算機存儲、顯示?,F場集中監(jiān)控計算機通過3G網絡模塊接入互聯網,在主控軟件的控制下將采集的各監(jiān)測點的溫濕度數據遠程傳輸至遠程監(jiān)控中心。系統(tǒng)的關鍵在于無線溫濕度傳感器節(jié)點的設計及基于3G無線互聯網的遠程信號傳輸。
圖1 監(jiān)測系統(tǒng)總體框圖
系統(tǒng)中集中監(jiān)控現場計算機相當于一個服務器,遠程監(jiān)控中心計算機相當于客戶端。當現場監(jiān)控計算機監(jiān)聽到遠程監(jiān)控中心計算機的數據請求后,會將采集到的溫濕度數據通過3G無線網絡傳輸給遠程監(jiān)控中心計算機,供監(jiān)控中心調閱,實現異地遠程監(jiān)控。
無線溫濕度傳感器節(jié)點由溫濕度傳感器、信號調理電路、數據采集器、單片機及無線發(fā)射電路構成,其原理框圖見圖2。溫度傳感器采用熱敏電阻、濕度傳感器采用電容式濕敏傳感器,傳感器輸出的信號經信號調理電路線性化處理或放大,再由單片機自帶的A/D轉換器數據采集,采集到的溫濕度數據在單片機的控制下由無線發(fā)送電路CC2500發(fā)送。
圖2 無線溫濕度傳感器節(jié)點原理框圖
2.1.1 溫度信號調理電路
由于熱敏電阻的熱電特性為非線性的指數關系,在工程應用中必須采用具有線性化功能的信號調理電路使電路的輸出與被測量的溫度成線性關系[5-7]。本系統(tǒng)選擇了 NTC 型 MF58-104-3990 熱敏電阻作為溫度測量的傳感元件,其溫度測量范圍為-55℃ ~+200℃,測量精度±1%,并具有耐高溫焊接,穩(wěn)定性好,漂移小,體積小,便于貼片安裝等特點,該熱敏電阻阻值與溫度的關系為:
式中R0是熱力學溫度為T0時的阻值,T0為基準溫度,通常以298.15(25℃)為基準溫度;β為熱敏電阻常數。R0=100 kΩ,β=3 990。熱敏電阻的溫度與電阻的關系是非線性的,作為溫度測量元件其輸出信號必須進行線性化處理,電路見圖3所示。
圖3 基于熱敏電阻的溫度測量信號電路
電路由兩級電路構成,第一級為對數比放大器,第二級為除法電路,第一級輸出為
式(2)說明,經過對數運算,熱敏電阻的阻值與溫度的指數關系轉換成電壓與溫度的反比關系,再對Vo1作倒數運算即可實現溫度與電壓的線性關系,由式(2)可得
令Vo=kT,即
這樣,Vo與被測溫度成線性關系,式(4)的運算關系可由圖3的第二級電路實現。根據AD534的運算關系,由圖3中連線可得
分別調節(jié)電位器Rp1與Rp2使VX1=-5.82 V,VZ1=173.47 mV,故有
電路的實際測試結果見表1。其結果顯示,電路的非線性誤差小于0.5%,較好地消除了熱敏電阻測溫時的非線性。
表1 熱敏電阻調理電路的實驗結果
2.1.2 濕度信號調理電路
濕度傳感器采用HS1101LF型電容式濕度傳感器,濕度量程為1%RH~100%RH,工作溫度范圍為-60℃ ~140℃,測量精度為±2%RH,線性輸出,電容與濕度的變化關系為
信號調理電路如圖4所示。電路由方波發(fā)生器、單穩(wěn)電路、平均值電路、差分放大器組成。設計思想是:方波發(fā)生器產生一定頻率的方波,該方波由后續(xù)單穩(wěn)電路變成一定定寬的方波,其寬度與傳感器電容值成正比,定寬的方波經過平均值電路及差分放大器轉換成與傳感器電容量成正比的電壓[8]。
圖4 基于濕敏電容的濕度測量調理電路
方波發(fā)生器為RC阻容式發(fā)生器,其頻率為
單穩(wěn)電路由CMOS集成雙單穩(wěn)芯片CD4058構成,脈沖由TA1輸入,上升沿觸發(fā),Q1輸出的高電平寬度為
顯然,單穩(wěn)電路輸出一周期為T=100 μs,高電平寬度受控于CH的方波。該方波經由R3與C3組成的平均值電路的輸出平均值
Vo1經AD620差分后得
調節(jié)Rp2使VRp2=2 803 mV,調節(jié)Rp1使 AD620增益為1.818,即可得調理電路的輸出為
信號調理電路的輸出實現了電壓數值與被測量的數值大小相等或成10倍的關系,經數據采集后即可由無線發(fā)射單元發(fā)射。
由溫濕度測量電路得到的電壓值輸入MSP430F149單片機的AD轉換接口,MSP430F149的ADC12模塊支持快速的8路12位A/D轉換,采樣速率為20萬次/s,采樣周期可控,采用序列通道單次轉換模式,選擇自己定義外部轉換參考電壓5 V。數據采集的時間間隔為10 min一次,采集完成后其結果保存在ADC12MEM里,ADC12IFG置位,表明轉換結束,在軟件控制下取走數據傳輸至CC2500發(fā)射。
無線傳輸電路基于 CC2500 設計(見圖 5)[9-10],CC2500是Chipcon公司的單片射頻收發(fā)芯片,體積小,外圍電路簡單。工作于2.4 GHz~2.5 GHz ISM頻段,芯片內置頻率合成器、功率放大器、晶體振蕩器和調制器等功能模塊,輸出功率和通信頻道可通過程序進行配置。天線是50 Ω的單端輸入,只需要搭建一個差分到單端的阻抗匹配網絡就可以實現無線傳輸。
圖5 無線傳輸電路
CC2500的配置參數和收發(fā)數據都是單片機通過6 線 SPI兼容接口(SI,SO,SCLK,GDO0,GDO2 和CSn)對CC2500進行讀寫操作來完成的。SPI接口通訊都由一個包含了一個讀/寫位,一個突發(fā)訪問位和一個6位地址的頭字節(jié)開始。
單片機程序要訪問CC2500無線模塊,首先要給出一低有效的片選信號CSn。當CSn變低,在開始轉換頭字節(jié)之前,MCU必須等待,最小需要200 μs,直到SO腳變低,才能進行接下來的讀寫工作。如在整個讀寫過程中CSn變?yōu)楦唠娖剑瑒t讀寫工作取消。
在進行讀寫操作之前先使芯片狀態(tài)位的CHIP_RDYn為低電平信號,表示現在使用的是SPI接口。若要使CC2500工作在接收模式則使芯片狀態(tài)位的STATE[2:0]為001,若要使CC2500工作在發(fā)送模式則使芯片狀態(tài)位的STATE[2:0]為010。
CC2500提供有為數據包導向的通信協議內置的硬件支持.當啟動TX發(fā)送數據時,調制器開始傳送前導。前導字節(jié)的長度由MDMCFG1.NU_PREAMBLE值控制。當控制數目的前導字節(jié)被傳送完畢,調制器開始發(fā)送同步詞匯,然后傳送來自TX_FIFO的可利用的數據。若TX_FIFO為空,調制器將繼續(xù)傳送前導字節(jié),直到第一個字節(jié)被寫入TX_FIFO。調制器將隨后傳送同步詞匯和數據字節(jié)然后將寫入TX_FIFO的數據發(fā)送出去。發(fā)送數據包格式為:
在接收模式下,解調器和數據包處理裝置將會搜尋有效的前導和同步詞匯。找到后,解調器就得到了位和字節(jié)同步,然后開始接收第一個有效載荷字節(jié)。由于可變數據包長度開啟,則第一個字節(jié)為長度字節(jié)。數據包處理裝置把這個值作為數據包長度存儲,且接收長度字節(jié)數目的字節(jié)。然后,數據包處理裝置隨意地檢查地址,地址匹配時才繼續(xù)進行接收,接收到的數據存儲在RX_FIFO中。開啟自動CRC檢查,數據包處理裝置計算CRC,并將它同附加CRC檢驗和相匹配,讀完所有數據后清空接收緩沖區(qū),接收完畢使CC2500停止工作。
本系統(tǒng)具有溫濕度數據的遠程傳輸功能,通過3G無線網絡傳輸給遠程監(jiān)控中心計算機,實現異地遠程監(jiān)控。
本文利用 Windows Socket實現網絡通信[11-12]。采用基于流式套接字SOCK_STREAM的TCP/IP協議,提供無差錯、無重復的發(fā)送且按發(fā)送順序接收。利用WSAStartup函數加載套接字庫,并定義套接字庫的協議版本為1.1。
注意在Socket連接時應設置為非阻塞模式,否則將一直占用資源,定義非阻塞方式如下:
網絡通訊流程見圖6,通訊過程是首先現場計算機打開一個通信通道,表示它愿意在某個地址和端口上等待監(jiān)控中心計算機的數據請求,然后就等待監(jiān)控中心計算機連接請求的到來,收到監(jiān)控中心的連接請求后針對本次連接建立對應的Socket。每個Socket由操作系統(tǒng)分配一個標志號,并且包括5個參數:傳輸協議、本地地址、本地端口號、遠程IP地址、遠程端口號。然后監(jiān)控中心給現場計算機向現場計算機發(fā)送數據表的名稱請求數據,現場計算機根據表名在本機數據庫中找到對應的表,獲取相關的數據傳給監(jiān)控中心計算機。若表中數據已經全部發(fā)送完畢,則發(fā)送end給監(jiān)控中心計算機,表示數據傳輸完畢。然后現場計算機等待接收新的數據表名重復上述過程,直到監(jiān)控中心計算機發(fā)來Stop命令結束本次通訊。
圖6 網絡通訊流程
本系統(tǒng)在完成設計調試后已在無錫某會所進行了720 h的連續(xù)運行測試,用于室內環(huán)境溫濕度的遠程監(jiān)測,圖7是溫濕度檢測界面,實際運行結果表明:
(1)根據實際需求共在會所布置了95個溫濕度傳感節(jié)點,無線溫濕度傳感器節(jié)點可實現較高精度的溫濕度數據采集。
圖7 溫濕度監(jiān)測界面
(2)現場計算機通過無線接收模塊能夠實時無線接收溫濕度數據,無線模塊采用單端SMA天線匹配50 Ω電阻,經試驗確定無線模塊能在100 m范圍內的無差錯傳輸數據,未發(fā)現數據誤傳。
(3)監(jiān)控中心的遠程計算機通過3G無線網絡能夠可靠地接收到現場計算機發(fā)送的溫濕度數據,并建立數據庫供管理人員進行歷史記錄查詢。現場采集數據主動存入數據庫,通過對數據庫中數據查詢可知采集數據能實時的準確無誤的存入數據庫。
(4)監(jiān)測軟件具有閾值報警功能,當溫濕度超限對應的報警燈變紅,正常工作時為綠燈;超限后并給出相應的出來措施。溫度過高,開冷空調;過低,開暖空調。濕度過低開加濕器,過高停止加濕。
基于無線傳感器網絡的溫濕度數據采集及基于3G無線網絡的遠程監(jiān)測是本系統(tǒng)的特色,傳感器節(jié)點并未采用“變送器+射頻模塊”的方案,而是根據實際需要,基于低成本溫濕度敏感元件,自行設計了的低成本、低功耗、線性化的無線傳感器網絡節(jié)點,溫度與濕度的測量精度分別達到1%與2%。由于無需布設信號傳輸線,該系統(tǒng)非常適合應用于沒有綜合布線建筑的環(huán)境監(jiān)控,所采用的技術方案可推廣應用于其它遠程監(jiān)控領域。與傳統(tǒng)的有線監(jiān)控相比,具有傳感器布設簡單、靈活,無需布設導線,大大減小工程工作量等優(yōu)點,在自動監(jiān)控領域具有廣闊的應用前景,是今后自動監(jiān)控的發(fā)展方向。
[1]盧崇,馬建倉,王吉富.基于ATmega128L與CC2420的無線傳感器網絡節(jié)點的研究與實現[J].電子技術應用,2006(12):130-133.
[2]寧炳武,劉軍民.基于CC2430的ZigBee網絡節(jié)點設計[J].電子技術應用,2008(3):95-99.
[3]張曉鵬,解兆延,劉廣敏.基于MSP430單片機和CC2500無線模塊的倉庫溫度測量系統(tǒng)[J].山東科學,2010(8):88-91.
[4]MacRuairi R,Keane M T,Coleman G.A Wireless Sensor Network Application Requirements Taxonomy[C]//Sensor Technologies and Applications,2008,8:209-216.
[5]俞阿龍,李正.熱敏電阻溫度傳感器的一種線性化設計[J].工業(yè)儀表與自動化裝置,2003,(5):19-22.
[6]孟凡文.NTC熱敏電阻的非線性誤差及其補償[J].傳感器世界,2003(5):21-24.
[7]彭思,陳淑鈴,宋愛國.用于呼吸暫停綜合癥的呼吸監(jiān)測系統(tǒng)的研制[J].傳感技術學報,2008,21(8):1325-1328.
[8]周嚴.測控系統(tǒng)電子技術[M].北京:科學出版社,2007:440-442.
[9]張彭朋,何娜.基于MSP430和CC2500的USB無線數據采集系統(tǒng)[J].電子設計工程,2010,(2):12-15.
[10]佟吉鋼,張振新,陳增強.基于FPGA的無線傳感器網絡節(jié)點設計[J].傳感技術學報,2009,22(3):417-421.
[11]謝曉芹.基于socket的網絡編程[J].南昌大學學報(理科版),1997,21(4):338-344.
[12]李文煒.MSP430系列C語言環(huán)境下的軟件設計實用技巧[J].化工自動化及儀表,2004,31(6):36-38.