謝 檬,張安莉,李 強
(西安交通大學城市學院,陜西西安 710018)
氣象數據的采集是人類社會文明快速發展不可或缺的一部分,尤其在農業方面顯得尤為重要[1-5]。氣象數據是人們日常生活工作中的重要參數,廣泛應用于生活中[4-7]。因此,科學地監測氣象數據,是人類生活不可或缺的工作[6-12]。現階段,自動氣象站體積比較龐大,使用時受地點、空間影響較大,而在線監測技術是推動氣象數據采集的快速發展、實現隨時隨地監測的關鍵技術[13-19]。文中所設計的虛擬氣象數據監測系統針對常見的氣象參數[20-22](溫度、濕度和氣壓等信號)進行實時采集,上位機采用LabVIEW搭建監測平臺,可以完成實時顯示、控制、報警、數據查詢、數據存儲和實時數據誤差分析等功能。
氣象數據監測系統結構框圖如圖1 所示,分為下位機數據采集模塊和上位機數據處理模塊。

圖1 監測系統結構框圖
下位機數據采集模塊采用DTH11 傳感器采集溫度和濕度數據,BMP150 傳感器采集氣壓數據。將采集到的溫度、濕度和氣壓數據經過調理電路送入MSP430 單片機,經過處理,在上位機構成的虛擬面板上對所采集到的氣象數據進行實時顯示、控制、誤差分析。
圖2 所示為監測系統的主程序流程圖,打開監控系統,首先進行初始化設置。設置參數范圍,即單片機串口號、定時器驅動信號等硬件程序。接著按下開始按鍵,即開始進行數據采集。當采集的數據沒有超過設定值的上下限時,系統循環往復正常進行實時監測。當采集的數據超出給定的上下限時,系統開啟報警電路。

圖2 主程序流程圖
上位機子程序設計主要接收來自下位機的溫濕度和氣壓傳感器采集的數據,將溫濕度和氣壓數據送到數據處理子程序進行數據處理。將處理后的數據與上限和下限進行比較,并發送到報警子程序。最后,將結果送到數據存儲子程序,會自動生成報表形式的歷史數據,便于歷史數據的查詢,流程圖如圖3 所示。

圖3 上位機子程序流程圖
監測系統分為3 個子面板:數據顯示子面板、數據查詢子面板和數據誤差分析子面板。
監測系統的數據顯示子面板如圖4 所示,主要包括初始化設定模塊、報警模塊和氣象數據顯示模塊。系統實時采集3 個參數:溫度、濕度和氣壓數據,3 個波形圖分別是溫度變化曲線、濕度變化曲線和氣壓變化曲線。控制按鈕是監測系統用來停止采集數據的按鈕。

圖4 數據顯示子面板
1)初始化設定模塊
初始化設定模塊在數據采集子面板的左上側,包括串口選擇和記錄時間間隔。
①串口選擇
串口選擇要按照實際連接的串口進行選擇,波特率固定在9 600 bps,根據插入電腦的U 口提示進行設置,然后點擊打開串口即可運行,該系統選用的是COM4。
②記錄時間間隔
系統記錄間隔統一設定為1,以秒(s)為單位。
2)報警模塊
根據系統設計的超限報警裝置,一旦被測數據超過設定的上下限,系統的報警指示燈就會點亮。報警量程在數據顯示子面板上可以修改。
3)氣象數據顯示模塊
氣象數據顯示模塊分為波形顯示記錄、數字和量表顯示3 種顯示方式,在數據顯示子面板的右側,包括溫度、濕度和氣壓數據。
①溫度數據
實時監測出的溫度數據顯示到波形圖上,橫坐標為時間,單位是s,縱坐標為溫度,單位是℃。溫度變化范圍為-20~+60 ℃。
②濕度數據
實時監測出的濕度數據顯示到波形圖上,橫坐標為時間,單位是s,縱坐標為濕度,單位是%RH。濕度變化范圍為0~95%RH。
③氣壓數據
實時監測出的氣壓數據顯示在波形圖上,橫坐標為時間,單位是s,縱坐標為氣壓,單位是kPa。氣壓變化范圍為30~110 kPa。
監測系統的數據查詢子面板如圖5 所示,通過選擇需要查詢的起始時間,查詢溫度、濕度和氣壓的歷史數據。查詢子面板顯示所查詢的歷史時間、氣壓、溫度和濕度的實時數據,采用字符串的形式,且氣壓數據保留小數點后兩位,溫濕度數據保留小數點后一位。氣象數據采集完成后,所有歷史數據采用TXT 格式存儲在文件夾,方便用戶隨時調用。存儲文件夾容量為60 000 組。

圖5 數據查詢子面板
監測系統的數據誤差分析子面板如圖6 所示,將采集到的實測數據與標準數據進行比較,得到其相對誤差。

圖6 數據誤差分析子面板
相對誤差γ0的計算見式(1)。

式中,ΔA為測量量與實際量之差;A0為實際量。
監測系統正常工作模式的溫度上限設置為50 ℃、下限設置為0 ℃;濕度上限設置為50%RH、下限設置為10%RH。開始采集室溫,得到結果如圖7 所示。實時溫度為29.7 ℃,實時濕度為46.6%RH,實時氣壓為95.78 kPa,均在正常范圍,故報警電路不報警。

圖7 正常工作模式
監測系統溫度上限設置為25 ℃、下限設置為0 ℃;濕度上限設置為50%RH、下限設置為10%RH。開始采集室溫,得到結果如圖8 所示。實時溫度為29.6 ℃,實時濕度為47.8%RH,實時氣壓為95.79 kPa,實時溫度超過溫度上限值,故溫度報警指示燈點亮,開啟報警電路。

圖8 溫度報警模式
監測系統溫度上限設置為50 ℃、下限設置為0 ℃;濕度上限設置為25%RH、下限設置為10%RH。開始采集室溫,得到結果如圖9 所示。實時溫度為29.2 ℃,實時濕度為48.0%RH,實時氣壓為95.78 kPa,實時濕度超過濕度上限值,故濕度報警指示燈點亮,開啟報警電路。

圖9 濕度報警模式
監測系統溫度上限設置為25 ℃、下限設置為0 ℃;濕度上限設置為25%RH、下限設置為10%RH。開始采集室溫,得到結果如圖10 所示。實時溫度為26.1 ℃,實時濕度為44.2%RH,實時氣壓為96.04 kPa,實時溫度超過溫度上限值,實時濕度也超過濕度上限值。故溫度和濕度報警指示燈同時點亮,開啟報警電路。

圖10 溫濕度報警模式
監測系統的實時數據查詢模式如圖11 所示,通過選擇數據查詢子面板,可以看到歷史數據列表,包括時間、氣壓參數、濕度參數和溫度參數。

圖11 實時數據查詢模式
監測系統的數據誤差分析如圖12 所示,實時標準氣壓為96.0 kPa,實時標準濕度為43.0%RH,實時標準溫度為27.0℃。根據式(1),得到實時誤差為:氣壓誤差0.1%、濕度誤差0.0%、溫度誤差0.7%。根據實時誤差,得到誤差分析表,見表1。相對誤差反映了測量結果的準確度,系統的相對誤差小于1%,滿足了設計要求。

表1 誤差分析表

圖12 數據誤差分析模式
文中所設計的虛擬氣象數據監測系統硬件的主控芯片選用MSP430 單片機,采集模塊采用DTH11傳感器采集溫度和濕度數據,BMP150 傳感器采集氣壓數據。監測系統上位機采用LabVIEW 搭建監測平臺,可以完成實時顯示、控制、報警、數據查詢、數據存儲和實時數據誤差分析等功能。系統經過測試,虛擬平臺搭建的監測系統可以完成溫度范圍為-20~+60 ℃,濕度范圍為0~95%RH,氣壓范圍為30~110 kPa 的測試以及數據記錄,實驗誤差不超過1%,滿足了現階段工程設計和開發的需要。