楊 闖,陳海波,李 鵬,李明放
(1.河南中原光電測控技術有限公司,河南 鄭州 450047;2.中國氣象局河南省農業氣象保障與應用技術重點開放實驗室,河南 鄭州 450003;3.河南省氣象科學研究所,河南 鄭州 450003)
蒸發指水汽從水面、冰面或其他含水物質表面逸出的過程。蒸發是地表熱量平衡和水量平衡的組成部分,也是水循環中直接受土地利用和氣候變化影響的重要內容。同時,蒸發也是熱能交換的重要因子。在自然界中,蒸發是海洋和陸地水分進入大氣的途徑,是地球水文循環的主要環節之一。由于蒸發而消耗的水量稱為蒸發量。蒸發量在估算陸地蒸發、作物需水和作物水分平衡等方面具有重要的應用價值。進行蒸發量觀測、研究蒸發量變化,對深入了解氣候變化、探討水分循環變化規律具有重要的意義[1]。影響水面蒸發的因素主要有氣象因子和表面因子。其中,風速、溫度、濕度、表面積、大氣壓力等均對蒸發觀測有一定的影響。常用的蒸發觀測設備分大型和小型2種。大型蒸發觀測設備存在造價成本高、占地面積大、冬季無法觀測等缺點。小型蒸發觀測設備需要人工每日手動測量1次,存在測量精度低、實時性差、無法自動觀測等問題。因此,設計精確度高、數據穩定、不受季節和外界環境影響的蒸發自動觀測儀,對水利工程設計、農林牧業土壤改良、土壤水分調節、灌溉定額制定及研究水分資源、制定氣候區劃等方面都有重要意義。
國內常用的蒸發觀測儀有E-601B、AG2.0、DZZ3、TTT-1等[2]。測量蒸發量變化的方法有微波測距法、螺旋測距法、磁致伸縮(韋德曼效應原理)測距法、稱重繁衍水位高度法、壓力繁衍水位高度法等[3]。但上述方法均存在受季節和觀測環境影響、結冰時不能正常觀測、日常使用時數據精度不準確、人工觀測費時費力、蒸發每日連續變化量無法測量、數據未實現自動存儲和遠程傳輸等問題。
針對以上問題,本文設計了1種基于稱重法測量的蒸發自動觀測儀,并介紹了智能蒸發觀測儀的系統框架結構、硬件設計原理和軟件設計思路。通過對蒸發自動觀測儀的結構設計,避免了風速對蒸發觀測數據的影響;通過對蒸發自動觀測儀的軟件算法設計,避免了溫度對蒸發觀測數據的影響,提高了蒸發觀測數據的穩定性;通過數據對比分析試驗,驗證了高精度蒸發自動觀測儀數據的準確性,實現了蒸發數據的自動化觀測。高精度蒸發自動觀測儀可測量以分鐘、小時、天為單位的蒸發數據量。系統采用本地傳輸和遠程傳輸2種方式。用戶可根據現場使用環境,自由選擇蒸發數據的觀測方式。
高精度蒸發自動觀測儀系統由蒸發傳感器、供電模塊、傳輸模塊和結構模塊4部分組成。其中,蒸發傳感器包括傳感器結構件、數據采集器、稱重傳感器和數據清零模塊。供電模塊主要負責給系統提供12 V直流電源,以保證系統的正常運行。傳輸模塊主要負責將采集到的數據通過有線或無線的方式傳輸到中心站服務器[4]。結構模塊主要為供電模塊、傳輸模塊、防雷模塊等提供結構保護。稱重傳感器安裝于結構件,主要用于測量蒸發皿中水的重量。根據中國氣象局編制的《地面氣象觀測規范》的規定,小型蒸發觀測儀蒸發皿橫截面是直徑20 cm的圓。根據水的重量和蒸發皿固定的橫截面積,可推算出蒸發皿中液位高度。根據不同時間段液位高度的變化,可推算出蒸發量的變化。高精度蒸發自動觀測儀系統架構如圖1所示。

圖1 高精度蒸發自動觀測儀系統架構圖Fig.1 High-precision evaporation automatic observatory system architecture diagram
蒸發傳感器內部使用功能強大的單片機STM32F103VET6作為核心控制單元[5-6]。其最高處理頻率可達72 MHz,外接高精度壓力傳感器、模擬/數字轉換器(analog to digital converter,ADC)轉換模塊CS5532、高精度溫濕度傳感器、大容量存儲芯片、無線通信模塊、清零模塊和供電單元。數據采集器硬件系統架構如圖2所示。

圖2 數據采集器硬件系統架構Fig.2 Data collector hardware system architecture
高精度壓力傳感器采用梅特勒托利多生產的MT1022型傳感器[7]。該傳感器屬于橫臂梁結構,為電阻應變式稱重傳感器[8]。其靈敏度輸出為2 mV/V。由于所加激勵電壓為5 V,壓力傳感器最大輸出電壓為10 mV。直接通過單片機ADC采集壓力傳感器輸出電壓會大大降低精準度和增加測量誤差。因此,本文使用CS5532超低噪聲模數轉換芯片采集壓力傳感器數據,并經過24位編碼輸出。單片機可獲取高精度壓力傳感器數據。為了保持CS5532的低噪聲,使用前先進行系統校準。增益寄存器設置越大越好,而輸出字速率設置越小越好。用戶根據硬件電路搭建配置相應的寄存器位,同時在CS5532使用之前應進行系統復位。數據轉換完成后,保存在數據寄存器中,通過串行外設接口(serial peripheral interface,SPI)傳輸至單片機。
高精度蒸發自動觀測儀采集器使用SHT35型號傳感器作為蒸發傳感器中的高精度溫濕度傳感器。該傳感器濕度測量精確度可達±1.5%RH、溫度測量精確度可達±0.1 ℃,主要用于探測蒸發傳感器外部工作環境,并對蒸發數據進行修正。采集器中使用華邦W25Q128大容量存儲芯片作為數據本地存儲芯片,可保證本地數據存儲長達一年不丟失。
單片機不斷讀取經CS5532采集的蒸發觀測儀數據,并將ADC數據放置于臨時變量區。當清零模塊被觸發時,記錄此時單片機讀取到的ADC數據為x0。用戶按下清零鍵之后,會倒入蒸發觀測用水,記錄此時單片機讀取到的ADC數據為x。依據ADC的原理可知,加水后的ADC數據和清零鍵按下時的ADC數據差值與實際重量變化近似成正比。
x-x0≈αm
(1)
式中:α為ADC數據轉換為物體重量的比例系數;m為蒸發皿中所加液位重量。
得到蒸發皿中水重量之后,在計算水位高度前,需先獲取蒸發皿橫截面積。蒸發皿為橫截面積固定的圓柱體。其橫截面積計算式為:
s=πr2=100π
(2)
式中:s為蒸發皿橫截面積,cm2;r為蒸發皿半徑,cm。
由于蒸發皿橫截面積上下相同,根據蒸發皿中水的重量,可計算出蒸發皿中水的液位高度。液位高度計算式為:

(3)
式中:p為水的密度,為1 g/cm3。
蒸發觀測儀的精度為0.1 mm,則蒸發液位變化為0.1 mm,重量變化為3.14 g。
高精度蒸發自動觀測儀液位高度的計算相對容易。為提高蒸發自動觀測儀蒸發數據的準確性和穩定性,以及蒸發自動觀測儀的環境適應性,蒸發自動觀測儀在結構上設計了防風、防鳥獸飲水保護措施,本文在軟件中添加了異物判斷處理、濾波處理、零點追蹤和量程越界監測及處理算法[9],以保障數據的穩定性和準確性。
冒泡排序算法如圖3所示。

圖3 冒泡排序算法圖Fig.3 Bubble sort algorithm diagram
相比于普通電子秤或電子天平,蒸發觀測儀需要長期、穩定地對數據進行觀測,需要克服稱重傳感器重復性差、材質發生蠕變對蒸發數據的影響。針對以上情況,軟件中使用了冒泡排序算法、平滑濾波算法對重復性進行了修正。系統每秒采集10個數據,將數據進行冒泡排序之后,去除最大值和最小值,將中間值進行加權平均運算,得出液位高度數據。針對材質蠕變對蒸發數據的影響,軟件中添加蠕變消除算法,以降低蠕變對蒸發觀測數據的影響。冒泡排序完成后的數組中的數據,在濾除高噪聲和低噪聲之后,進行平滑濾波運算,以保證所得數據的平滑穩定。如果傳感器處于蠕變狀態,則將平滑濾波輸出的數據輸入到蠕變消除算法中,以減小稱重傳感器蠕變對蒸發數據的影響[10]。
根據蒸發自動觀測儀的使用場景,系統對日常使用時的防風、防鳥獸、防飛蟲進行了防護設計。通過結構設計,系統設計了特殊結構模型,以實現防風和防鳥獸的目的。出于對小飛蟲的防護,系統添加軟件異物監測算法。當算法檢測出有異物時,系統自動進行算法處理,對測量的數據進行量程越界監測及處理,以保障數據的平滑、穩定、可靠。
蒸發自動觀測儀系統軟件運行流程如圖4所示。

圖4 蒸發自動觀測儀系統軟件運行流程圖Fig.4 Evaporation automatic observatory system software operation flowchart
為保證蒸發觀測儀的穩定性,在軟件設計上,觀測儀加入FreeRTOS系統,以增加軟件反應的實時性和穩定性。系統不會因為其中任何1個任務模塊異常而引起阻塞或死機[11]。戶外安裝驗證時,未發現1次蒸發觀測儀系統異常和死機。為便于用戶程序的升級,軟件增加應用編程(in application programming,IAP)功能,以保證程序在使用過程中可實現程序更新升級;同時,外加無線通信模塊,無論設備安裝在任何地方,只要有移動信號,即可實現程序遠程更新升級。由圖4可知,設備上電后進入自檢程序。若設備未通過自檢,則會發出報錯碼,以通知相關人員檢修。設備通過自檢之后,進入數據采集處理流程。數據經過冒泡排序算法和滑動均值濾波算法處理,濾除數據中的異常值。正常數據可進入蠕變消除算法和異物消除算法。
蠕變消除算法流程如圖5所示。

圖5 蠕變消除算法流程圖Fig.5 Creep elimination algorithm flowchart
蠕變是稱重傳感器不可避免的物理現象。當蒸發皿中加入蒸發觀測水時,稱重傳感器會隨著水重量的變化發生快速的形狀變化,進而造成稱重傳感器輸出電壓發生變化。加水完成后,稱重傳感器形變并不會完全結束,而是進入緩慢的形變過程。這種緩慢的形變過程就是蠕變。受稱重傳感器物理材料特性的影響,不同材料產生的蠕變時間、蠕變量均有所差異。蠕變同樣會造成輸出電壓的微小變化,從而影響蒸發數據的精度和穩定性。為消除蠕變對蒸發觀測儀數據的影響,軟件中可添加蠕變消除算法。
蠕變消除算法主要通過改變蒸發觀測儀的基值變化維持蒸發數據的穩定。蠕變最大變化階段在蒸發皿中倒入水后的30 min內。因此,蠕變消除算法以30 min為結束判斷條件。
異物消除算法流程如圖6所示。

圖6 異物消除算法流程圖Fig.6 Flowchart of foreign matter elimination algorithm
異物消除算法是根據蒸發觀測儀日常使用場景添加的算法,主要用于消除小飛蟲、異物和露水對蒸發觀測儀數據穩定性和準確性造成的影響。其原理為通過觀測蒸發觀測儀液位的變化情況,判斷落入蒸發觀測儀異物的種類,并根據種類的不同對蒸發數據作不同的處理。
本文將設計完成的高精度蒸發自動觀測儀安裝于觀測場使用,并通過無線傳輸模塊將蒸發觀測數據上傳至中心服務器。服務器解析協議之后,將對應的數據顯示在網頁端。用戶可通過網頁直接查看蒸發數據,以實現數據觀測的自動化和連續性。
用戶可直接通過網頁觀測蒸發的液位高度、分鐘蒸發量、小時蒸發量、日蒸發量等數據。對于不同時刻的蒸發數據,用戶可通過選擇時間查詢。蒸發自動觀測儀數據上傳頻率為每分鐘1條數據。用戶可查詢的最小數據類型即分鐘數據。同時,網頁端提供了數據下載功能,以便用戶下載數據并進行分析。用戶也可以點擊數據后面的折線圖標。網頁端自動將數據轉化為變化的曲線呈現給用戶,以便用戶直觀觀測數據。
為驗證高精度蒸發自動觀測儀蒸發測量的精確性,本文將每日人工觀測的蒸發數據與設備觀測的蒸發數據進行對比。人工觀測與設備觀測日蒸發量對比如圖7所示。

圖7 人工觀測與設備觀測日蒸發量對比Fig.7 Comparison of daily evaporation between manual observation and equipment observation
由圖7可知,人工觀測蒸發數據和設備自動觀測數據變化曲線基本吻合。連續多天觀測,數據變化量一致,高精度蒸發自動觀測儀數據觀測累計誤差控制在±0.1 mm之內,滿足絕大多數蒸發數據觀測精度要求。數據傳輸穩定可靠,連續運行無數據丟失、無數據突變情況發生,符合戶外安裝使用時需觀測穩定、日常維護簡單、易操作的要求[12]。
本文以稱重傳感器為基礎,設計了高精度蒸發自動觀測儀。該高精度蒸發自動觀測儀通過容器內水重量的變化計算出容器內水液位高度的變化,從而得到不同時刻的蒸發量。本文主要介紹了高精度蒸發自動觀測儀的系統架構、數據采集器硬件系統架構、數據采集器軟件設計流程、蒸發數據計算原理、蒸發數據處理方法和蒸發觀測數據對比驗證。高精度蒸發自動觀測儀硬件設計中,添加了多級濾波電路,消除了硬件中的雜波干擾,保證了采樣數據的可靠性。高精度蒸發自動觀測儀軟件設計中添加了溫度補償機制,保證了蒸發觀測儀的數據不受外界溫度因素干擾。高精度蒸發自動觀測儀結構設計中添加了防風、防鳥獸飲水設計,保證了蒸發觀測儀數據不受外界風速和鳥獸的干擾。為保證蒸發數據測量的穩定性,本文對蒸發自動觀測儀添加軟件算法設計,以確保蒸發自動觀測儀不受稱重傳感器本身材質蠕變的影響。為保證蒸發數據的準確性,本文通過對蒸發自動觀測儀使用場景的設計分析,添加防異物算法程序,使得蒸發自動觀測儀不受異物掉入的干擾,同時又能根據不同判別結果對不同場景進行相應的數據處理。靈活的軟件設計支持高精度蒸發自動觀測儀自動測量以分鐘、小時、天為單位的蒸發數據量。通過對蒸發自動觀測儀進行多次對比試驗,設備自動觀測數據與人工觀測數據一致,驗證了蒸發數據的準確性和穩定性。蒸發量的自動測量對農業灌溉指導、衛星遙感地面驗證、旱情檢測、生態保護和氣候研究都有一定的輔助作用。