楊 闖,陳海波,李 鵬,李明放
(1.河南中原光電測控技術(shù)有限公司,河南 鄭州 450047;2.中國氣象局河南省農(nóng)業(yè)氣象保障與應(yīng)用技術(shù)重點開放實驗室,河南 鄭州 450003;3.河南省氣象科學研究所,河南 鄭州 450003)
蒸發(fā)指水汽從水面、冰面或其他含水物質(zhì)表面逸出的過程。蒸發(fā)是地表熱量平衡和水量平衡的組成部分,也是水循環(huán)中直接受土地利用和氣候變化影響的重要內(nèi)容。同時,蒸發(fā)也是熱能交換的重要因子。在自然界中,蒸發(fā)是海洋和陸地水分進入大氣的途徑,是地球水文循環(huán)的主要環(huán)節(jié)之一。由于蒸發(fā)而消耗的水量稱為蒸發(fā)量。蒸發(fā)量在估算陸地蒸發(fā)、作物需水和作物水分平衡等方面具有重要的應(yīng)用價值。進行蒸發(fā)量觀測、研究蒸發(fā)量變化,對深入了解氣候變化、探討水分循環(huán)變化規(guī)律具有重要的意義[1]。影響水面蒸發(fā)的因素主要有氣象因子和表面因子。其中,風速、溫度、濕度、表面積、大氣壓力等均對蒸發(fā)觀測有一定的影響。常用的蒸發(fā)觀測設(shè)備分大型和小型2種。大型蒸發(fā)觀測設(shè)備存在造價成本高、占地面積大、冬季無法觀測等缺點。小型蒸發(fā)觀測設(shè)備需要人工每日手動測量1次,存在測量精度低、實時性差、無法自動觀測等問題。因此,設(shè)計精確度高、數(shù)據(jù)穩(wěn)定、不受季節(jié)和外界環(huán)境影響的蒸發(fā)自動觀測儀,對水利工程設(shè)計、農(nóng)林牧業(yè)土壤改良、土壤水分調(diào)節(jié)、灌溉定額制定及研究水分資源、制定氣候區(qū)劃等方面都有重要意義。
國內(nèi)常用的蒸發(fā)觀測儀有E-601B、AG2.0、DZZ3、TTT-1等[2]。測量蒸發(fā)量變化的方法有微波測距法、螺旋測距法、磁致伸縮(韋德曼效應(yīng)原理)測距法、稱重繁衍水位高度法、壓力繁衍水位高度法等[3]。但上述方法均存在受季節(jié)和觀測環(huán)境影響、結(jié)冰時不能正常觀測、日常使用時數(shù)據(jù)精度不準確、人工觀測費時費力、蒸發(fā)每日連續(xù)變化量無法測量、數(shù)據(jù)未實現(xiàn)自動存儲和遠程傳輸?shù)葐栴}。
針對以上問題,本文設(shè)計了1種基于稱重法測量的蒸發(fā)自動觀測儀,并介紹了智能蒸發(fā)觀測儀的系統(tǒng)框架結(jié)構(gòu)、硬件設(shè)計原理和軟件設(shè)計思路。通過對蒸發(fā)自動觀測儀的結(jié)構(gòu)設(shè)計,避免了風速對蒸發(fā)觀測數(shù)據(jù)的影響;通過對蒸發(fā)自動觀測儀的軟件算法設(shè)計,避免了溫度對蒸發(fā)觀測數(shù)據(jù)的影響,提高了蒸發(fā)觀測數(shù)據(jù)的穩(wěn)定性;通過數(shù)據(jù)對比分析試驗,驗證了高精度蒸發(fā)自動觀測儀數(shù)據(jù)的準確性,實現(xiàn)了蒸發(fā)數(shù)據(jù)的自動化觀測。高精度蒸發(fā)自動觀測儀可測量以分鐘、小時、天為單位的蒸發(fā)數(shù)據(jù)量。系統(tǒng)采用本地傳輸和遠程傳輸2種方式。用戶可根據(jù)現(xiàn)場使用環(huán)境,自由選擇蒸發(fā)數(shù)據(jù)的觀測方式。
高精度蒸發(fā)自動觀測儀系統(tǒng)由蒸發(fā)傳感器、供電模塊、傳輸模塊和結(jié)構(gòu)模塊4部分組成。其中,蒸發(fā)傳感器包括傳感器結(jié)構(gòu)件、數(shù)據(jù)采集器、稱重傳感器和數(shù)據(jù)清零模塊。供電模塊主要負責給系統(tǒng)提供12 V直流電源,以保證系統(tǒng)的正常運行。傳輸模塊主要負責將采集到的數(shù)據(jù)通過有線或無線的方式傳輸?shù)街行恼痉?wù)器[4]。結(jié)構(gòu)模塊主要為供電模塊、傳輸模塊、防雷模塊等提供結(jié)構(gòu)保護。稱重傳感器安裝于結(jié)構(gòu)件,主要用于測量蒸發(fā)皿中水的重量。根據(jù)中國氣象局編制的《地面氣象觀測規(guī)范》的規(guī)定,小型蒸發(fā)觀測儀蒸發(fā)皿橫截面是直徑20 cm的圓。根據(jù)水的重量和蒸發(fā)皿固定的橫截面積,可推算出蒸發(fā)皿中液位高度。根據(jù)不同時間段液位高度的變化,可推算出蒸發(fā)量的變化。高精度蒸發(fā)自動觀測儀系統(tǒng)架構(gòu)如圖1所示。
圖1 高精度蒸發(fā)自動觀測儀系統(tǒng)架構(gòu)圖Fig.1 High-precision evaporation automatic observatory system architecture diagram
蒸發(fā)傳感器內(nèi)部使用功能強大的單片機STM32F103VET6作為核心控制單元[5-6]。其最高處理頻率可達72 MHz,外接高精度壓力傳感器、模擬/數(shù)字轉(zhuǎn)換器(analog to digital converter,ADC)轉(zhuǎn)換模塊CS5532、高精度溫濕度傳感器、大容量存儲芯片、無線通信模塊、清零模塊和供電單元。數(shù)據(jù)采集器硬件系統(tǒng)架構(gòu)如圖2所示。
圖2 數(shù)據(jù)采集器硬件系統(tǒng)架構(gòu)Fig.2 Data collector hardware system architecture
高精度壓力傳感器采用梅特勒托利多生產(chǎn)的MT1022型傳感器[7]。該傳感器屬于橫臂梁結(jié)構(gòu),為電阻應(yīng)變式稱重傳感器[8]。其靈敏度輸出為2 mV/V。由于所加激勵電壓為5 V,壓力傳感器最大輸出電壓為10 mV。直接通過單片機ADC采集壓力傳感器輸出電壓會大大降低精準度和增加測量誤差。因此,本文使用CS5532超低噪聲模數(shù)轉(zhuǎn)換芯片采集壓力傳感器數(shù)據(jù),并經(jīng)過24位編碼輸出。單片機可獲取高精度壓力傳感器數(shù)據(jù)。為了保持CS5532的低噪聲,使用前先進行系統(tǒng)校準。增益寄存器設(shè)置越大越好,而輸出字速率設(shè)置越小越好。用戶根據(jù)硬件電路搭建配置相應(yīng)的寄存器位,同時在CS5532使用之前應(yīng)進行系統(tǒng)復(fù)位。數(shù)據(jù)轉(zhuǎn)換完成后,保存在數(shù)據(jù)寄存器中,通過串行外設(shè)接口(serial peripheral interface,SPI)傳輸至單片機。
高精度蒸發(fā)自動觀測儀采集器使用SHT35型號傳感器作為蒸發(fā)傳感器中的高精度溫濕度傳感器。該傳感器濕度測量精確度可達±1.5%RH、溫度測量精確度可達±0.1 ℃,主要用于探測蒸發(fā)傳感器外部工作環(huán)境,并對蒸發(fā)數(shù)據(jù)進行修正。采集器中使用華邦W25Q128大容量存儲芯片作為數(shù)據(jù)本地存儲芯片,可保證本地數(shù)據(jù)存儲長達一年不丟失。
單片機不斷讀取經(jīng)CS5532采集的蒸發(fā)觀測儀數(shù)據(jù),并將ADC數(shù)據(jù)放置于臨時變量區(qū)。當清零模塊被觸發(fā)時,記錄此時單片機讀取到的ADC數(shù)據(jù)為x0。用戶按下清零鍵之后,會倒入蒸發(fā)觀測用水,記錄此時單片機讀取到的ADC數(shù)據(jù)為x。依據(jù)ADC的原理可知,加水后的ADC數(shù)據(jù)和清零鍵按下時的ADC數(shù)據(jù)差值與實際重量變化近似成正比。
x-x0≈αm
(1)
式中:α為ADC數(shù)據(jù)轉(zhuǎn)換為物體重量的比例系數(shù);m為蒸發(fā)皿中所加液位重量。
得到蒸發(fā)皿中水重量之后,在計算水位高度前,需先獲取蒸發(fā)皿橫截面積。蒸發(fā)皿為橫截面積固定的圓柱體。其橫截面積計算式為:
s=πr2=100π
(2)
式中:s為蒸發(fā)皿橫截面積,cm2;r為蒸發(fā)皿半徑,cm。
由于蒸發(fā)皿橫截面積上下相同,根據(jù)蒸發(fā)皿中水的重量,可計算出蒸發(fā)皿中水的液位高度。液位高度計算式為:
(3)
式中:p為水的密度,為1 g/cm3。
蒸發(fā)觀測儀的精度為0.1 mm,則蒸發(fā)液位變化為0.1 mm,重量變化為3.14 g。
高精度蒸發(fā)自動觀測儀液位高度的計算相對容易。為提高蒸發(fā)自動觀測儀蒸發(fā)數(shù)據(jù)的準確性和穩(wěn)定性,以及蒸發(fā)自動觀測儀的環(huán)境適應(yīng)性,蒸發(fā)自動觀測儀在結(jié)構(gòu)上設(shè)計了防風、防鳥獸飲水保護措施,本文在軟件中添加了異物判斷處理、濾波處理、零點追蹤和量程越界監(jiān)測及處理算法[9],以保障數(shù)據(jù)的穩(wěn)定性和準確性。
冒泡排序算法如圖3所示。
圖3 冒泡排序算法圖Fig.3 Bubble sort algorithm diagram
相比于普通電子秤或電子天平,蒸發(fā)觀測儀需要長期、穩(wěn)定地對數(shù)據(jù)進行觀測,需要克服稱重傳感器重復(fù)性差、材質(zhì)發(fā)生蠕變對蒸發(fā)數(shù)據(jù)的影響。針對以上情況,軟件中使用了冒泡排序算法、平滑濾波算法對重復(fù)性進行了修正。系統(tǒng)每秒采集10個數(shù)據(jù),將數(shù)據(jù)進行冒泡排序之后,去除最大值和最小值,將中間值進行加權(quán)平均運算,得出液位高度數(shù)據(jù)。針對材質(zhì)蠕變對蒸發(fā)數(shù)據(jù)的影響,軟件中添加蠕變消除算法,以降低蠕變對蒸發(fā)觀測數(shù)據(jù)的影響。冒泡排序完成后的數(shù)組中的數(shù)據(jù),在濾除高噪聲和低噪聲之后,進行平滑濾波運算,以保證所得數(shù)據(jù)的平滑穩(wěn)定。如果傳感器處于蠕變狀態(tài),則將平滑濾波輸出的數(shù)據(jù)輸入到蠕變消除算法中,以減小稱重傳感器蠕變對蒸發(fā)數(shù)據(jù)的影響[10]。
根據(jù)蒸發(fā)自動觀測儀的使用場景,系統(tǒng)對日常使用時的防風、防鳥獸、防飛蟲進行了防護設(shè)計。通過結(jié)構(gòu)設(shè)計,系統(tǒng)設(shè)計了特殊結(jié)構(gòu)模型,以實現(xiàn)防風和防鳥獸的目的。出于對小飛蟲的防護,系統(tǒng)添加軟件異物監(jiān)測算法。當算法檢測出有異物時,系統(tǒng)自動進行算法處理,對測量的數(shù)據(jù)進行量程越界監(jiān)測及處理,以保障數(shù)據(jù)的平滑、穩(wěn)定、可靠。
蒸發(fā)自動觀測儀系統(tǒng)軟件運行流程如圖4所示。
圖4 蒸發(fā)自動觀測儀系統(tǒng)軟件運行流程圖Fig.4 Evaporation automatic observatory system software operation flowchart
為保證蒸發(fā)觀測儀的穩(wěn)定性,在軟件設(shè)計上,觀測儀加入FreeRTOS系統(tǒng),以增加軟件反應(yīng)的實時性和穩(wěn)定性。系統(tǒng)不會因為其中任何1個任務(wù)模塊異常而引起阻塞或死機[11]。戶外安裝驗證時,未發(fā)現(xiàn)1次蒸發(fā)觀測儀系統(tǒng)異常和死機。為便于用戶程序的升級,軟件增加應(yīng)用編程(in application programming,IAP)功能,以保證程序在使用過程中可實現(xiàn)程序更新升級;同時,外加無線通信模塊,無論設(shè)備安裝在任何地方,只要有移動信號,即可實現(xiàn)程序遠程更新升級。由圖4可知,設(shè)備上電后進入自檢程序。若設(shè)備未通過自檢,則會發(fā)出報錯碼,以通知相關(guān)人員檢修。設(shè)備通過自檢之后,進入數(shù)據(jù)采集處理流程。數(shù)據(jù)經(jīng)過冒泡排序算法和滑動均值濾波算法處理,濾除數(shù)據(jù)中的異常值。正常數(shù)據(jù)可進入蠕變消除算法和異物消除算法。
蠕變消除算法流程如圖5所示。
圖5 蠕變消除算法流程圖Fig.5 Creep elimination algorithm flowchart
蠕變是稱重傳感器不可避免的物理現(xiàn)象。當蒸發(fā)皿中加入蒸發(fā)觀測水時,稱重傳感器會隨著水重量的變化發(fā)生快速的形狀變化,進而造成稱重傳感器輸出電壓發(fā)生變化。加水完成后,稱重傳感器形變并不會完全結(jié)束,而是進入緩慢的形變過程。這種緩慢的形變過程就是蠕變。受稱重傳感器物理材料特性的影響,不同材料產(chǎn)生的蠕變時間、蠕變量均有所差異。蠕變同樣會造成輸出電壓的微小變化,從而影響蒸發(fā)數(shù)據(jù)的精度和穩(wěn)定性。為消除蠕變對蒸發(fā)觀測儀數(shù)據(jù)的影響,軟件中可添加蠕變消除算法。
蠕變消除算法主要通過改變蒸發(fā)觀測儀的基值變化維持蒸發(fā)數(shù)據(jù)的穩(wěn)定。蠕變最大變化階段在蒸發(fā)皿中倒入水后的30 min內(nèi)。因此,蠕變消除算法以30 min為結(jié)束判斷條件。
異物消除算法流程如圖6所示。
圖6 異物消除算法流程圖Fig.6 Flowchart of foreign matter elimination algorithm
異物消除算法是根據(jù)蒸發(fā)觀測儀日常使用場景添加的算法,主要用于消除小飛蟲、異物和露水對蒸發(fā)觀測儀數(shù)據(jù)穩(wěn)定性和準確性造成的影響。其原理為通過觀測蒸發(fā)觀測儀液位的變化情況,判斷落入蒸發(fā)觀測儀異物的種類,并根據(jù)種類的不同對蒸發(fā)數(shù)據(jù)作不同的處理。
本文將設(shè)計完成的高精度蒸發(fā)自動觀測儀安裝于觀測場使用,并通過無線傳輸模塊將蒸發(fā)觀測數(shù)據(jù)上傳至中心服務(wù)器。服務(wù)器解析協(xié)議之后,將對應(yīng)的數(shù)據(jù)顯示在網(wǎng)頁端。用戶可通過網(wǎng)頁直接查看蒸發(fā)數(shù)據(jù),以實現(xiàn)數(shù)據(jù)觀測的自動化和連續(xù)性。
用戶可直接通過網(wǎng)頁觀測蒸發(fā)的液位高度、分鐘蒸發(fā)量、小時蒸發(fā)量、日蒸發(fā)量等數(shù)據(jù)。對于不同時刻的蒸發(fā)數(shù)據(jù),用戶可通過選擇時間查詢。蒸發(fā)自動觀測儀數(shù)據(jù)上傳頻率為每分鐘1條數(shù)據(jù)。用戶可查詢的最小數(shù)據(jù)類型即分鐘數(shù)據(jù)。同時,網(wǎng)頁端提供了數(shù)據(jù)下載功能,以便用戶下載數(shù)據(jù)并進行分析。用戶也可以點擊數(shù)據(jù)后面的折線圖標。網(wǎng)頁端自動將數(shù)據(jù)轉(zhuǎn)化為變化的曲線呈現(xiàn)給用戶,以便用戶直觀觀測數(shù)據(jù)。
為驗證高精度蒸發(fā)自動觀測儀蒸發(fā)測量的精確性,本文將每日人工觀測的蒸發(fā)數(shù)據(jù)與設(shè)備觀測的蒸發(fā)數(shù)據(jù)進行對比。人工觀測與設(shè)備觀測日蒸發(fā)量對比如圖7所示。
圖7 人工觀測與設(shè)備觀測日蒸發(fā)量對比Fig.7 Comparison of daily evaporation between manual observation and equipment observation
由圖7可知,人工觀測蒸發(fā)數(shù)據(jù)和設(shè)備自動觀測數(shù)據(jù)變化曲線基本吻合。連續(xù)多天觀測,數(shù)據(jù)變化量一致,高精度蒸發(fā)自動觀測儀數(shù)據(jù)觀測累計誤差控制在±0.1 mm之內(nèi),滿足絕大多數(shù)蒸發(fā)數(shù)據(jù)觀測精度要求。數(shù)據(jù)傳輸穩(wěn)定可靠,連續(xù)運行無數(shù)據(jù)丟失、無數(shù)據(jù)突變情況發(fā)生,符合戶外安裝使用時需觀測穩(wěn)定、日常維護簡單、易操作的要求[12]。
本文以稱重傳感器為基礎(chǔ),設(shè)計了高精度蒸發(fā)自動觀測儀。該高精度蒸發(fā)自動觀測儀通過容器內(nèi)水重量的變化計算出容器內(nèi)水液位高度的變化,從而得到不同時刻的蒸發(fā)量。本文主要介紹了高精度蒸發(fā)自動觀測儀的系統(tǒng)架構(gòu)、數(shù)據(jù)采集器硬件系統(tǒng)架構(gòu)、數(shù)據(jù)采集器軟件設(shè)計流程、蒸發(fā)數(shù)據(jù)計算原理、蒸發(fā)數(shù)據(jù)處理方法和蒸發(fā)觀測數(shù)據(jù)對比驗證。高精度蒸發(fā)自動觀測儀硬件設(shè)計中,添加了多級濾波電路,消除了硬件中的雜波干擾,保證了采樣數(shù)據(jù)的可靠性。高精度蒸發(fā)自動觀測儀軟件設(shè)計中添加了溫度補償機制,保證了蒸發(fā)觀測儀的數(shù)據(jù)不受外界溫度因素干擾。高精度蒸發(fā)自動觀測儀結(jié)構(gòu)設(shè)計中添加了防風、防鳥獸飲水設(shè)計,保證了蒸發(fā)觀測儀數(shù)據(jù)不受外界風速和鳥獸的干擾。為保證蒸發(fā)數(shù)據(jù)測量的穩(wěn)定性,本文對蒸發(fā)自動觀測儀添加軟件算法設(shè)計,以確保蒸發(fā)自動觀測儀不受稱重傳感器本身材質(zhì)蠕變的影響。為保證蒸發(fā)數(shù)據(jù)的準確性,本文通過對蒸發(fā)自動觀測儀使用場景的設(shè)計分析,添加防異物算法程序,使得蒸發(fā)自動觀測儀不受異物掉入的干擾,同時又能根據(jù)不同判別結(jié)果對不同場景進行相應(yīng)的數(shù)據(jù)處理。靈活的軟件設(shè)計支持高精度蒸發(fā)自動觀測儀自動測量以分鐘、小時、天為單位的蒸發(fā)數(shù)據(jù)量。通過對蒸發(fā)自動觀測儀進行多次對比試驗,設(shè)備自動觀測數(shù)據(jù)與人工觀測數(shù)據(jù)一致,驗證了蒸發(fā)數(shù)據(jù)的準確性和穩(wěn)定性。蒸發(fā)量的自動測量對農(nóng)業(yè)灌溉指導(dǎo)、衛(wèi)星遙感地面驗證、旱情檢測、生態(tài)保護和氣候研究都有一定的輔助作用。