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