基于GSM技術(shù)的凍土區(qū)土壤溫度監(jiān)測系統(tǒng)設(shè)計方案
將GSM技術(shù)應(yīng)用到凍土區(qū)土壤溫度自動監(jiān)測中,以滿足惡劣氣候條件下的無人值守、長時間、多點監(jiān)測需求。詳細(xì)闡述了系統(tǒng)結(jié)構(gòu)、施工過程及實驗結(jié)果分析。結(jié)果表明,該系統(tǒng)測量精度高、可靠性好、功耗低,可實現(xiàn)較大范圍內(nèi)的多點測溫及超遠(yuǎn)距離無線監(jiān)測。
0 引言
高寒凍土區(qū)土壤溫度的監(jiān)測,無論是對于凍土區(qū)斜坡的失穩(wěn)機(jī)理研究,還是對于現(xiàn)代農(nóng)業(yè)生產(chǎn)、建筑及輸油管道等基礎(chǔ)設(shè)施的防災(zāi)御災(zāi),都起著至關(guān)重要的作用。在環(huán)境惡劣的高寒凍土區(qū)對地層土壤溫度進(jìn)行監(jiān)測時,長期以來都需要人工現(xiàn)場采集數(shù)據(jù),勞動強(qiáng)度大、工作環(huán)境惡劣、效率低。國內(nèi)外一些比較先進(jìn)的監(jiān)測系統(tǒng)已經(jīng)利用全球通信系統(tǒng)(Global System for Mobilecommunication,GSM)運(yùn)營商的短信業(yè)務(wù),實現(xiàn)超遠(yuǎn)距離的無線數(shù)據(jù)傳輸與報警[1].為了實現(xiàn)大面積、無人值守、長時間、多點監(jiān)測,本文提供了一種基于GSM技術(shù)的土壤溫度自動監(jiān)測系統(tǒng),以滿足實際需求,并詳細(xì)介紹了施工過程。通過分析試驗點采集的數(shù)據(jù),驗證了本系統(tǒng)的可靠性和實用性。
1 系統(tǒng)硬件設(shè)計
1.1 系統(tǒng)架構(gòu)
系統(tǒng)主要由單片機(jī)主控板、GSM 模塊、數(shù)據(jù)采集模塊等構(gòu)成,如圖1所示。具有定時采集、數(shù)據(jù)存儲、箱內(nèi)溫度控制、電源管理、超遠(yuǎn)距離無線數(shù)據(jù)傳輸、顯示等功能。
單片機(jī)控制板的微處理器選用Atmel公司ATmega128L芯片,GSM模塊選用德國Siemens公司的TC35I,數(shù)據(jù)采集模塊組由AT89C51與TLV2543 ADC芯片組成。
單片機(jī)控制板集成了DS1302 時鐘芯片,DS18B20數(shù)字溫度傳感器、AT45DB161 FLASH 存儲芯片及繼電器,控制板預(yù)留LCD1602的接口,在調(diào)試結(jié)束后可拔掉顯示屏以降低功耗。主控芯片ATmega128L 是一款基于RISC結(jié)構(gòu)的高性能、低功耗8位微處理器,自帶的看門狗計時器可以有效地防止程序跑飛,具有兩個可編程的串行UART.ATmega128L通過其中一個串行UART,以尋址的方式與數(shù)據(jù)采集模塊中的AT89C51 進(jìn)行通信,控制多個數(shù)據(jù)采集模塊中的一個進(jìn)行溫度采集。其另一個串行UART與GSM模塊TC35I進(jìn)行通信,將采集的數(shù)據(jù)以短信形式發(fā)送至目標(biāo)SIM卡號。ATmega128L的外部晶振選用7.372 8 MHz,以產(chǎn)生精準(zhǔn)的9 600 b/s波特率。
由于野外無供電條件,電源由12 V 的蓄電池組及太陽能電池板構(gòu)成,為系統(tǒng)提供穩(wěn)定的直流電壓。
1.2 溫度數(shù)據(jù)采集電路
采集電路原理圖如圖2 所示。溫度傳感器為A 級精度的鉑熱電阻PT100,測量精度[2]為±0.15 ℃。用不銹鋼鋼管進(jìn)行封裝,并灌入氧化鎂MgO 對鉑熱電阻進(jìn)行保護(hù),并在屏蔽線與保護(hù)套的接口處作防水防腐處理。
鉑熱電阻PT100 的可測量范圍為-200~500 ℃,而土壤的溫度范圍在-50~50 ℃ 之間,因此信號調(diào)理電路將-50~50 ℃范圍內(nèi)的PT100電阻值轉(zhuǎn)換成4~20 mA的標(biāo)準(zhǔn)電流進(jìn)行傳輸。PT100選用三線制[3?4],以降低導(dǎo)線電阻對測量結(jié)果的影響。而三線制測量方法并不能完全消除導(dǎo)線電阻的影響,因此實際應(yīng)用中,信號調(diào)理電路應(yīng)盡可能靠近PT100,縮短導(dǎo)線長度。
數(shù)據(jù)采集模塊由AT89C51與3片TLV2543 ADC 芯片構(gòu)成,TLV2543是TI公司的一款具有SPI接口的12位11 路模擬輸入通道模數(shù)轉(zhuǎn)換器,具有高速、高精度、低噪聲等特點。由于AT89C51沒有SPI接口,因此需要用普通I/O 口模擬SPI 與TLV2543 進(jìn)行通信,并選擇TLV2543為高位在先的12位數(shù)據(jù)輸出格式,并對同一個模擬輸入端口在進(jìn)行3次采集后做求均值處理,以提高采集精度。
數(shù)據(jù)采集模塊預(yù)留接口為VCC,GND,TX,RX四個管腳,可方便地插接在單片機(jī)主控板上。模塊內(nèi)的AT89C51的E2PROM可通過命令寫入設(shè)備ID,通過串口掛接在數(shù)據(jù)總線上,ATmega128L以尋址的方式與其進(jìn)行通信。每個數(shù)據(jù)采集模塊有33個模擬輸入通道,在能源允許的情況下,通過在單片機(jī)主控板上擴(kuò)充數(shù)據(jù)采集模塊,可進(jìn)行大范圍土壤溫度監(jiān)測。
1.3 GSM模塊通信接口電路設(shè)計
目前市場常用的GSM 短信模塊有西門子TC35 系列、Wavecome 的WM02 系列、愛立信的DM10/20 系列等,這些模塊的功能、使用方法差別不大。本系統(tǒng)選用德國西門子TC35I GSM短信模塊,其在上述短信模塊中的性價比最高,且具備電子設(shè)備入網(wǎng)許可。TC35I可工作在900 MHz/1 800 MHz雙頻段,供電電壓為3.3~4.8 V,空閑狀態(tài)電流為25 mA,發(fā)射電流為300 mA,峰值電流為2.5 A.工作在GSM1800 頻段時的功耗為1 W,自動波特率范圍為1.2~115 Kb/s,支持Text和PDU兩種格式的短信息,可通過AT指令來實現(xiàn)重啟和故障恢復(fù)[5.6].
ATmega128L 通過串行UART 與TC35I 短信模塊進(jìn)行通信,波特率為9 600 b/s,Text短信模式,并通過PC1口輸出一個200 ms 的低電平來啟動模塊。連接成功后,僅需4 條AT 指令即可將所采集的數(shù)據(jù)編輯成Text短信發(fā)送到目標(biāo)SIM 卡號。需要特別注意的是,TC35I對電源電壓穩(wěn)定性要求極高,在供電電壓低于3.3 V的時候會自動關(guān)機(jī),同時在模塊發(fā)送短信時,電源電壓的壓降不能超過0.4 V.具體連接如圖3所示。
2 軟件設(shè)計2.1 系統(tǒng)主程序結(jié)構(gòu)系統(tǒng)主程序開始后,首先對DS1302,DS18B20,LCD 串口、端口寄存器進(jìn)行初始化配置,并讀取片內(nèi)E2PROM的時間設(shè)定等參數(shù)。兩個串行UART所配置的參數(shù)均為:9 600 b/s 的波特率,1 位停止位,無奇偶校驗。系統(tǒng)通過設(shè)置子程序校正當(dāng)前DS1302的時間及設(shè)定數(shù)據(jù)采集時間。系統(tǒng)時間及設(shè)定的數(shù)據(jù)采集時間等信息會通過顯示子程序?qū)崟r顯示在LCD屏上。
當(dāng)系統(tǒng)時間到達(dá)設(shè)定的采集時間后,主程序觸發(fā)采集子程序,ATmega128L通過串口UART0向數(shù)據(jù)總線廣播一個采集設(shè)備的ID,在接收到設(shè)備回應(yīng)后,向總線上發(fā)送采集命令,并接收總線上的數(shù)據(jù)。采集結(jié)束后,將存儲與發(fā)送標(biāo)志位置1,分別調(diào)用存儲子程序與發(fā)送子程序進(jìn)行數(shù)據(jù)的存儲與發(fā)送。系統(tǒng)實時獲取板載數(shù)字溫度傳感器DS18B20 的溫度數(shù)據(jù),以判斷保溫箱內(nèi)的溫度,當(dāng)?shù)陀谠O(shè)定溫度后,會啟動加熱裝置,以保證系統(tǒng)板各元器件工作在各自的溫度范圍內(nèi)。程序使用ICCAVR 6.31A軟件編寫,流程圖如圖4所示。
本系統(tǒng)所用的短消息規(guī)范為GSM07.05,發(fā)送模式為Text模式,發(fā)送短信所使用的AT命令主要有:AT+回車,判斷短信模塊是否在線;AT+CMGF=1,設(shè)置短信模式為Text模式;AT+CSCA=目標(biāo)SIM卡號,設(shè)置目標(biāo)SIM卡號;AT+CMGS=短信內(nèi)容,給短信模塊裝載短信內(nèi)容。為了判斷短信是否發(fā)送成功,程序中在每個AT指令環(huán)節(jié)都監(jiān)測TC35I 模塊回傳的信息,如果收到“OK”字符,則表示成功,否則重復(fù)操作。當(dāng)重復(fù)操作大于20次時,程序會自動退出本次發(fā)送,等待下次發(fā)送程序出發(fā)時一并發(fā)出。
2.2 數(shù)據(jù)采集設(shè)備程序
數(shù)據(jù)采集設(shè)備的微處理器為AT89C51,程序使用軟件Keil μVision 4編寫,其流程圖如圖5所示。
程序開始后,首先對串口進(jìn)行初始化,并打開串口中斷標(biāo)志位。用戶通過串口設(shè)置設(shè)備ID 時,系統(tǒng)會調(diào)用ID 設(shè)置子程序,并將ID 存儲至片內(nèi)E2PROM.當(dāng)ATmega128L在數(shù)據(jù)總線上廣播的ID與設(shè)備ID匹配時,AT89C51通過串口向數(shù)據(jù)總線進(jìn)行回答,在接收到采集命令后,首先將設(shè)備中其中一片TLV2543的片選拉低,選擇采集通道,輸入轉(zhuǎn)換的數(shù)據(jù)格式,并將數(shù)據(jù)通過串口發(fā)送至數(shù)據(jù)總線。當(dāng)采集完成后,向數(shù)據(jù)總線發(fā)送一段字符串標(biāo)志采集結(jié)束,并等待下一次采集。
2.3 監(jiān)測系統(tǒng)上位機(jī)軟件
檢測系統(tǒng)上位機(jī)軟件使用Visual Basic 6.0 的MSComm通信控件,只需要用戶編寫少量的代碼即可完成與設(shè)備的串口通信功能[7 ? 9].MSComm 控件是由Microsoft公司提供的串行通信Activx控件,能夠通過串口發(fā)送和接收數(shù)據(jù)。上位機(jī)軟件定期檢查短信模塊中是否有新的短信,并將新短信讀入進(jìn)行處理后,轉(zhuǎn)換成溫度數(shù)據(jù)以圖形化形式顯示出來,如圖6所示。主界面分為數(shù)據(jù)顯示面板及短信接收面板。操作簡單并能夠以不同形式實時顯示所采集到的溫度數(shù)據(jù),方便用戶對數(shù)據(jù)進(jìn)行分析。
3 現(xiàn)場試驗
實驗地點選在大興安嶺地區(qū),并進(jìn)行了104個測溫點的實驗。測試系統(tǒng)單片機(jī)主控板上插接4個數(shù)據(jù)采集模塊,以預(yù)留足夠多的采集通道。由于現(xiàn)場地下水位較高,傳感器及信號調(diào)理電路均使用防水的封裝形式。
安裝步驟如下:
?。?)在預(yù)定地點鉆測溫井,測溫井間隔500 cm,直徑為Φ150 cm,深度為7 m,每個測溫井有13個測溫點,共8個測溫井;
?。?)將尺寸為Φ100 mm×7 000 mm的鍍鋅保護(hù)管插入測溫井后填埋;
?。?)在測溫井附近開挖尺寸為2 m×1.5 m×1.5 m 的工作坑;
?。?)將尺寸為Φ700 mm×2 000 mm的防水玻璃鋼桶放入工作坑后填埋;
?。?)按照順序?qū)鞲衅骶€束放入保護(hù)管內(nèi),并將管口使用玻璃膠密封好;
?。?)在防水玻璃鋼桶附近安裝太陽能電池板;(7)將各條數(shù)據(jù)線接入系統(tǒng)板后,將各過線孔使用玻璃膠密封;
?。?)將系統(tǒng)保溫桶及電池保溫桶放入防水玻璃鋼桶內(nèi);
(9)順著各條線束挖深度約為20 cm 的溝槽,將線束埋入地下。
4 數(shù)據(jù)分析
系統(tǒng)每天在上午5點和下午14點時進(jìn)行采集。取距離管道3 m處,6#測溫井的2012年8月份數(shù)據(jù)進(jìn)行分析。圖7為地下2 m深度范圍內(nèi)的5個測溫點隨時間變化的溫度曲線圖。圖8為測溫井內(nèi)13個測溫點在一個月內(nèi)隨深度變化的曲線圖。