摘 要: 提出了一種采用無線方式遠(yuǎn)程采集大氣溫度、濕度、氣壓等數(shù)據(jù)的氣象數(shù)據(jù)采集系統(tǒng)的設(shè)計方案。通過在元器件選型及軟硬件設(shè)計上的精心考慮,以相對較低的成本實現(xiàn)了一個高精度、遠(yuǎn)傳輸距離、低功耗、寬工作溫度范圍的遠(yuǎn)程氣象數(shù)據(jù)采集系統(tǒng)。
關(guān)鍵詞: 氣象 數(shù)據(jù)采集 無線 單片機
傳統(tǒng)的氣象數(shù)據(jù)采集通常采用人工氣象站的方式,需要測量人員攜帶測量儀器實地進行測量,自動化程度低。隨著現(xiàn)代網(wǎng)絡(luò)技術(shù)的發(fā)展,出現(xiàn)了基于Internet的氣象數(shù)據(jù)采集系統(tǒng)。這種系統(tǒng)利用Internet實現(xiàn)氣象站和數(shù)據(jù)中心的通信,具有可靠性高、實時性好、傳輸距離遠(yuǎn)的優(yōu)點;但它也存在一些明顯的不足,如網(wǎng)絡(luò)設(shè)備購置、運行和維護的成本較高、嚴(yán)重依賴于Internet,在某些特殊場合如野外氣象探測或高空氣象探測中無法采用等。本文介紹的遠(yuǎn)程無線氣象數(shù)據(jù)采集系統(tǒng)有效地彌補了上述兩種方式的不足,利用無線模塊" title="無線模塊">無線模塊實現(xiàn)氣象站和數(shù)據(jù)中心的通信,具有高精度、高可靠性、遠(yuǎn)傳輸距離、低功耗、自動化程度高、方便靈活的特點,可以應(yīng)用于野外氣象探測和高空氣象探測等場合。
1 系統(tǒng)總體設(shè)計
如圖1所示,系統(tǒng)主要包括兩大部分:數(shù)據(jù)中心和氣象站。數(shù)據(jù)中心主要由PC機、無線模塊及上位機軟件構(gòu)成。氣象站主要由各種傳感器、A/D" title="A/D">A/D轉(zhuǎn)換器、無線模塊、單片機及下位機軟件等構(gòu)成。系統(tǒng)中通常包含一個數(shù)據(jù)中心和若干個氣象站,不同的氣象站被分配不同的地址用以互相區(qū)分,系統(tǒng)中氣象站的最大個數(shù)為256個。數(shù)據(jù)中心作為系統(tǒng)的中心節(jié)點,可與各氣象站進行全雙工通信,負(fù)責(zé)完成控制幀發(fā)送、數(shù)據(jù)接收、解碼、后處理及顯示、保存等。氣象站接收到數(shù)據(jù)中心發(fā)送的控制幀后,檢測控制幀中的8bit地址,若與本地地址一致,則啟動溫度、濕度、壓強的測量,測量結(jié)束后將測量數(shù)據(jù)回送給數(shù)據(jù)中心。系統(tǒng)包含兩種幀:控制幀和數(shù)據(jù)幀。控制幀用于下行傳輸(數(shù)據(jù)中心→氣象站),其作用是實現(xiàn)數(shù)據(jù)中心對氣象站的控制;數(shù)據(jù)幀用于上行傳輸(氣象站→數(shù)據(jù)中心),用于氣象站向數(shù)據(jù)中心回送數(shù)據(jù)??刂茙蛿?shù)據(jù)幀的格式如圖2所示。
?
控制幀長度為24bits,包含8bits地址及16bits的固定后綴。數(shù)據(jù)幀長度為168bits,其中最高的8bits為本地地址,其后依次是溫度、濕度、氣壓以及用于將來擴展的風(fēng)向、風(fēng)速、海拔、經(jīng)度、緯度等數(shù)據(jù),分別用16bits表示。由于無線信道誤碼率較高,因此采用了32bits的CRC校驗,以確保數(shù)據(jù)的正確性,校驗和放在數(shù)據(jù)幀尾部。
2 硬件設(shè)計
2.1數(shù)據(jù)中心
數(shù)據(jù)中心的硬件部分包括PC機和無線模塊兩部分。無線模塊采用上海桑瑞電子生產(chǎn)的微功率無線模塊SRWF-108,它是一個全雙工無線模塊,工作在433MHz頻段,采用FSK調(diào)制方式,具有8個可用信道;具有1W的典型發(fā)射功率及-105dBm的接收靈敏度,在視距情況下,天線高度大于3米,有效通信距離大于3公里。具有兩個串口" title="串口">串口、三種接口方式,可支持RS232/485接口或CMOS/TTL電平的UART口,同時支持1200bps、2400bps、4800bps、9600bps、19200bps等多種通信速率。在本系統(tǒng)中,SRWF-108與PC機采用RS232接口進行連接。
2.2 氣象站
氣象站中主要包含5V電源、溫度傳感器、濕度傳感器" title="濕度傳感器">濕度傳感器、氣壓傳感器、A/D轉(zhuǎn)換器、單片機、無線模塊等。各模塊之間的連接如圖3所示。
單片機采用Atmel公司的51系列Flash單片機AT89S52,它具有成本低、性能高的特點。其內(nèi)部集成了一個增強型8051內(nèi)核、256Byte的RAM、8KByte的Flash ROM、3個16bit定時器、1個全雙工UART口、2個外部中斷源、32個通用I/O口(部分為復(fù)用管腳),系統(tǒng)時鐘最高可達(dá)33MHz。
無線模塊仍采用SRWF-108。因為單片機的UART口為CMOS電平,因此將其與SRWF-108的UART口相連即可。
溫度傳感器采用Microchip公司的TC72,其分辨率為10位(0.25℃/bit),溫度測量范圍為-55~+125℃。具有±0.5℃的典型精度,-40~+85℃范圍內(nèi)的最大誤差為±2℃;可工作在連續(xù)測量和單次測量兩種模式下,連續(xù)測量模式下的電流消耗僅為250μA,關(guān)斷模式下低于1μA。接口方式為SPI口,可直接與AT89S52接口。在設(shè)計中采用了單片機P2口的0、1、2、3腳構(gòu)成軟件SPI口,與TC72進行接口,如圖4所示。
?
濕度傳感器采用Honeywell公司的HIH3610。它是帶溫度補償?shù)臐穸葌鞲衅?,具有?%的精度,輸出隨相對濕度線性增長的模擬電壓,電壓范圍大約為0.8~3.9V(不同溫度下、不同器件的輸出略有不同,應(yīng)參照與具體器件配套的參數(shù)表)。
氣壓傳感器采用了Freescale公司的MAX4115AP。它是一款帶片上信號調(diào)理及溫度補償功能的絕對壓強傳感器,氣壓測量范圍為15~115kPa,0~85℃內(nèi)最大測量誤差為±1.5%。輸出模擬電壓隨絕對壓強線性增長,典型范圍大約在0.204~4.794V之間。
HIH3610的驅(qū)動能力較弱,因此必須在它和A/D轉(zhuǎn)換器之間增加一個緩沖級。另一方面,MPX4115AP輸出電壓范圍超出了A/D轉(zhuǎn)換器的量程,因此在它和A/D轉(zhuǎn)換器之間插入一個2/3比例運放" title="運放">運放級,將它的輸出變換到A/D轉(zhuǎn)換器的量程之內(nèi)。同時,為了降低噪聲干擾,提高測量的準(zhǔn)確性,需要對濕度傳感器和氣壓傳感器的輸出進行低通濾波。為了有效濾除噪聲,要求濾波器的截止頻率盡可能地低。但另一方面,濾波器通帶越窄,傳感器的響應(yīng)時間也越長。綜合噪聲濾除和響應(yīng)時間兩方面來考慮,選取了直流增益為1、截止頻率為50Hz的二階Butterworth低通濾波器對傳感器的輸出進行濾波。具體如圖5所示。
LMV324ID為TI公司的四路運放,它采用5V電源供電,具有滿擺幅輸出、低靜態(tài)功耗、低溫漂、低失調(diào)、共模抑制比高的特點。圖5中,R2、R3、C5、C7及運放單元2構(gòu)成一路Butterworth低通濾波器,用于對濕度傳感器的輸出進行濾波,同時也起到緩沖器的作用。R1、R4、C6、C8及運放單元1構(gòu)成另一路Butterworth低通濾波器,用于對氣壓傳感器的輸出進行濾波。該濾波器與由R5、R6、R7及運放單元4構(gòu)成的2/3比例運算器級聯(lián),完成濾波、緩沖、比例運算,結(jié)果從運放單元4的OUT腳輸出。為保證足夠精度,比例運算器中的電阻R5、R6、R7采用絕對誤差為±0.5%、溫度系數(shù)為50ppm的精密電阻。
運放輸出的濕度、氣壓模擬量分別占用了A/D轉(zhuǎn)換器MCP3004的通道3、4。MCP3004為Microchip公司的4通道10bit A/D轉(zhuǎn)換器,它集成了片上采樣/保持電路,最大采樣速率為200ksps(VDD=5V時),最大DNL和INL均為1LSB。MCP3004與單片機的接口圖如圖6所示。
由于氣象站采用電池供電,因此必須盡可能降低系統(tǒng)功耗。在不需要測量時,溫度傳感器、氣壓傳感器、A/D轉(zhuǎn)換器、電壓參考、運放及無線模塊的發(fā)射部分全部關(guān)斷,單片機工作在低功耗的空閑模式。其中,氣壓傳感器和運放的關(guān)斷控制通過一個模擬開關(guān)實現(xiàn)(如圖3所示)。濕度傳感器的功耗較低(電流消耗僅200μA)且啟動時間較長(15秒),為降低測量等待時間,對它不采用關(guān)斷控制。無線模塊在無數(shù)據(jù)發(fā)送時僅接收部分處于工作狀態(tài),發(fā)送部分自動關(guān)斷,因此不需要專門對它進行控制。
3 軟件設(shè)計
3.1單片機軟件設(shè)計
單片機負(fù)責(zé)完成控制幀接收、啟動數(shù)據(jù)采集過程、對數(shù)據(jù)進行編碼及發(fā)送等任務(wù)。單片機軟件流程圖如圖7所示。
在不需要進行測量時,系統(tǒng)處于低功耗模式,此時溫度傳感器、氣壓傳感器、A/D轉(zhuǎn)換器、電壓參考、運放處于關(guān)斷狀態(tài),單片機處于低功耗模式,無線模塊的接收部分工作,發(fā)送部分關(guān)斷。當(dāng)無線模塊收到數(shù)據(jù)時,通過串口將數(shù)據(jù)傳給單片機。單片機串口接收到數(shù)據(jù)后,產(chǎn)生串口接收中斷,激活單片機,使單片機從低功耗模式進入正常模式,執(zhí)行完串口中斷子程序后跳入主程序,對控制幀緩沖區(qū)的數(shù)據(jù)進行檢測。當(dāng)檢測到包含本地地址的有效控制幀時,將啟動各模塊完成測量過程,測量完畢后進行數(shù)據(jù)編碼、發(fā)送,然后系統(tǒng)重新進入低功耗模式。若檢測不到包含本地地址的有效控制幀,則直接進入低功耗模式。
由于各模塊在啟動時需要一定的啟動時間,并且本系統(tǒng)中A/D轉(zhuǎn)換器及溫度傳感器的時序均需要通過軟件實現(xiàn),因此提供一個準(zhǔn)確的時間節(jié)拍是必要的。這里采用單片機的定時器0產(chǎn)生一個間隔為1ms的時鐘節(jié)拍。定時器0為16bit定時器,運行在自由計數(shù)模式下,其初值被預(yù)置為0xFC18,每個機器周期(在本系統(tǒng)中為1μs)計數(shù)加1;當(dāng)計滿溢出時,將產(chǎn)生一個定時器0溢出中斷,系統(tǒng)跳轉(zhuǎn)至定時器0中斷子程序,定時器0被重置為0xFC18,進入下一計數(shù)循環(huán),同時時間變量加1。通過這種方式,能夠提供一個分辨率為1ms、最大時間間隔為65535ms(時間變量為16bit整型時)的準(zhǔn)確定時。通過查詢時間變量前后兩次的值,即可獲得準(zhǔn)確的時間間隔。
3.2 上位機軟件設(shè)計
數(shù)據(jù)中心硬件較為簡單,主要包含PC機和無線模塊兩部分,它們之間通過RS-232口進行通信??刂茙陌l(fā)送以及數(shù)據(jù)的接收、解碼、后處理、顯示等通過上位機軟件實現(xiàn)。上位機軟件具有一個可視化的操作界面,如圖8所示。
界面主要包括定時發(fā)送控制區(qū)、發(fā)送指示區(qū)、接收數(shù)據(jù)區(qū)、串口設(shè)置區(qū)等幾大部分。各區(qū)域的功能分別為:(1)串口設(shè)置區(qū):用于串口參數(shù)設(shè)置,包括端口、波特率、數(shù)據(jù)位、停止位、校驗位、流控制等。(2)定時發(fā)送控制區(qū):用于對測量進行定時控制,可以指定在未來某一時刻進行單次測量,也可選擇具有固定時延間隔的周期性測量。(3)發(fā)送指示區(qū):主要提供一些發(fā)送指示信息。(4)接收數(shù)據(jù)區(qū):用于顯示接收到的氣象數(shù)據(jù),包括氣象站地址、溫度、濕度、氣壓等。
接收到的氣象數(shù)據(jù)在接收數(shù)據(jù)區(qū)中顯示的同時,也被存入一個.txt文件和一個ODBC數(shù)據(jù)庫中??梢源蜷_指定路徑下的.txt文件對數(shù)據(jù)進行編輯,另外也可點擊界面右下角的“管理氣象數(shù)據(jù)”按鈕對ODBC數(shù)據(jù)庫進行編輯。
上位機軟件的流程圖相對較復(fù)雜,限于篇幅,不再詳述。
實驗表明,該系統(tǒng)完全實現(xiàn)了預(yù)期的功能,具有高精度、高可靠性、低功耗、遠(yuǎn)傳輸距離、工作溫度范圍寬的特點。氣象站在空閑狀態(tài)下的電流消耗為25mA左右,測量狀態(tài)下最大電流消耗為850mA。采用4節(jié)5號干電池供電,每隔30分鐘測量一次,可連續(xù)工作72小時以上。在市區(qū)道路環(huán)境中, 系統(tǒng)在有輕微遮擋(樹木、汽車等)的情況下,氣象站與數(shù)據(jù)中心相距1.5公里時,可靠測量的概率接近100%。在野外開闊地,視距情況下的有效距離在3公里以上。
參考文獻
1孫育才.ATMEL新型AT89S52系列單片機及其應(yīng)用.北京:清華大學(xué)出版社, 2005
2馬忠梅.單片機的C語言應(yīng)用程序設(shè)計.北京:北京航空航天大學(xué)出版社,2003
3譚思亮,鄒超群.Visual C++串口通信工程開發(fā)實例導(dǎo)航.北京:人民郵電出版社,2003
4于英民,于 佳. 計算機接口技術(shù).北京:電子工業(yè)出版社,2003
5 Anti-aliasing, analog filters for data acquisition systems. Mi-crochip Technology Inc,1999
6 Driving the analog inputs of a SAR AD converter. Microchip Technolo0gy Inc,1999