高精度蒸发自动观测仪设计与实现
2023-11-01陈海波李明放
杨 闯,陈海波,李 鹏,李明放
(1.河南中原光电测控技术有限公司,河南 郑州 450047;2.中国气象局河南省农业气象保障与应用技术重点开放实验室,河南 郑州 450003;3.河南省气象科学研究所,河南 郑州 450003)
0 引言
蒸发指水汽从水面、冰面或其他含水物质表面逸出的过程。蒸发是地表热量平衡和水量平衡的组成部分,也是水循环中直接受土地利用和气候变化影响的重要内容。同时,蒸发也是热能交换的重要因子。在自然界中,蒸发是海洋和陆地水分进入大气的途径,是地球水文循环的主要环节之一。由于蒸发而消耗的水量称为蒸发量。蒸发量在估算陆地蒸发、作物需水和作物水分平衡等方面具有重要的应用价值。进行蒸发量观测、研究蒸发量变化,对深入了解气候变化、探讨水分循环变化规律具有重要的意义[1]。影响水面蒸发的因素主要有气象因子和表面因子。其中,风速、温度、湿度、表面积、大气压力等均对蒸发观测有一定的影响。常用的蒸发观测设备分大型和小型2种。大型蒸发观测设备存在造价成本高、占地面积大、冬季无法观测等缺点。小型蒸发观测设备需要人工每日手动测量1次,存在测量精度低、实时性差、无法自动观测等问题。因此,设计精确度高、数据稳定、不受季节和外界环境影响的蒸发自动观测仪,对水利工程设计、农林牧业土壤改良、土壤水分调节、灌溉定额制定及研究水分资源、制定气候区划等方面都有重要意义。
国内常用的蒸发观测仪有E-601B、AG2.0、DZZ3、TTT-1等[2]。测量蒸发量变化的方法有微波测距法、螺旋测距法、磁致伸缩(韦德曼效应原理)测距法、称重繁衍水位高度法、压力繁衍水位高度法等[3]。但上述方法均存在受季节和观测环境影响、结冰时不能正常观测、日常使用时数据精度不准确、人工观测费时费力、蒸发每日连续变化量无法测量、数据未实现自动存储和远程传输等问题。
针对以上问题,本文设计了1种基于称重法测量的蒸发自动观测仪,并介绍了智能蒸发观测仪的系统框架结构、硬件设计原理和软件设计思路。通过对蒸发自动观测仪的结构设计,避免了风速对蒸发观测数据的影响;通过对蒸发自动观测仪的软件算法设计,避免了温度对蒸发观测数据的影响,提高了蒸发观测数据的稳定性;通过数据对比分析试验,验证了高精度蒸发自动观测仪数据的准确性,实现了蒸发数据的自动化观测。高精度蒸发自动观测仪可测量以分钟、小时、天为单位的蒸发数据量。系统采用本地传输和远程传输2种方式。用户可根据现场使用环境,自由选择蒸发数据的观测方式。
1 高精度蒸发自动观测仪系统架构
高精度蒸发自动观测仪系统由蒸发传感器、供电模块、传输模块和结构模块4部分组成。其中,蒸发传感器包括传感器结构件、数据采集器、称重传感器和数据清零模块。供电模块主要负责给系统提供12 V直流电源,以保证系统的正常运行。传输模块主要负责将采集到的数据通过有线或无线的方式传输到中心站服务器[4]。结构模块主要为供电模块、传输模块、防雷模块等提供结构保护。称重传感器安装于结构件,主要用于测量蒸发皿中水的重量。根据中国气象局编制的《地面气象观测规范》的规定,小型蒸发观测仪蒸发皿横截面是直径20 cm的圆。根据水的重量和蒸发皿固定的横截面积,可推算出蒸发皿中液位高度。根据不同时间段液位高度的变化,可推算出蒸发量的变化。高精度蒸发自动观测仪系统架构如图1所示。
图1 高精度蒸发自动观测仪系统架构图Fig.1 High-precision evaporation automatic observatory system architecture diagram
1.1 数据采集器硬件系统架构
蒸发传感器内部使用功能强大的单片机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大容量存储芯片作为数据本地存储芯片,可保证本地数据存储长达一年不丢失。
1.2 蒸发数据计算
单片机不断读取经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。
1.3 蒸发数据处理
高精度蒸发自动观测仪液位高度的计算相对容易。为提高蒸发自动观测仪蒸发数据的准确性和稳定性,以及蒸发自动观测仪的环境适应性,蒸发自动观测仪在结构上设计了防风、防鸟兽饮水保护措施,本文在软件中添加了异物判断处理、滤波处理、零点追踪和量程越界监测及处理算法[9],以保障数据的稳定性和准确性。
冒泡排序算法如图3所示。
图3 冒泡排序算法图Fig.3 Bubble sort algorithm diagram
相比于普通电子秤或电子天平,蒸发观测仪需要长期、稳定地对数据进行观测,需要克服称重传感器重复性差、材质发生蠕变对蒸发数据的影响。针对以上情况,软件中使用了冒泡排序算法、平滑滤波算法对重复性进行了修正。系统每秒采集10个数据,将数据进行冒泡排序之后,去除最大值和最小值,将中间值进行加权平均运算,得出液位高度数据。针对材质蠕变对蒸发数据的影响,软件中添加蠕变消除算法,以降低蠕变对蒸发观测数据的影响。冒泡排序完成后的数组中的数据,在滤除高噪声和低噪声之后,进行平滑滤波运算,以保证所得数据的平滑稳定。如果传感器处于蠕变状态,则将平滑滤波输出的数据输入到蠕变消除算法中,以减小称重传感器蠕变对蒸发数据的影响[10]。
根据蒸发自动观测仪的使用场景,系统对日常使用时的防风、防鸟兽、防飞虫进行了防护设计。通过结构设计,系统设计了特殊结构模型,以实现防风和防鸟兽的目的。出于对小飞虫的防护,系统添加软件异物监测算法。当算法检测出有异物时,系统自动进行算法处理,对测量的数据进行量程越界监测及处理,以保障数据的平滑、稳定、可靠。
2 高精度蒸发自动观测仪软件设计
蒸发自动观测仪系统软件运行流程如图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
异物消除算法是根据蒸发观测仪日常使用场景添加的算法,主要用于消除小飞虫、异物和露水对蒸发观测仪数据稳定性和准确性造成的影响。其原理为通过观测蒸发观测仪液位的变化情况,判断落入蒸发观测仪异物的种类,并根据种类的不同对蒸发数据作不同的处理。
3 高精度蒸发自动观测仪系统验证
本文将设计完成的高精度蒸发自动观测仪安装于观测场使用,并通过无线传输模块将蒸发观测数据上传至中心服务器。服务器解析协议之后,将对应的数据显示在网页端。用户可通过网页直接查看蒸发数据,以实现数据观测的自动化和连续性。
用户可直接通过网页观测蒸发的液位高度、分钟蒸发量、小时蒸发量、日蒸发量等数据。对于不同时刻的蒸发数据,用户可通过选择时间查询。蒸发自动观测仪数据上传频率为每分钟1条数据。用户可查询的最小数据类型即分钟数据。同时,网页端提供了数据下载功能,以便用户下载数据并进行分析。用户也可以点击数据后面的折线图标。网页端自动将数据转化为变化的曲线呈现给用户,以便用户直观观测数据。
为验证高精度蒸发自动观测仪蒸发测量的精确性,本文将每日人工观测的蒸发数据与设备观测的蒸发数据进行对比。人工观测与设备观测日蒸发量对比如图7所示。
图7 人工观测与设备观测日蒸发量对比Fig.7 Comparison of daily evaporation between manual observation and equipment observation
由图7可知,人工观测蒸发数据和设备自动观测数据变化曲线基本吻合。连续多天观测,数据变化量一致,高精度蒸发自动观测仪数据观测累计误差控制在±0.1 mm之内,满足绝大多数蒸发数据观测精度要求。数据传输稳定可靠,连续运行无数据丢失、无数据突变情况发生,符合户外安装使用时需观测稳定、日常维护简单、易操作的要求[12]。
4 结论
本文以称重传感器为基础,设计了高精度蒸发自动观测仪。该高精度蒸发自动观测仪通过容器内水重量的变化计算出容器内水液位高度的变化,从而得到不同时刻的蒸发量。本文主要介绍了高精度蒸发自动观测仪的系统架构、数据采集器硬件系统架构、数据采集器软件设计流程、蒸发数据计算原理、蒸发数据处理方法和蒸发观测数据对比验证。高精度蒸发自动观测仪硬件设计中,添加了多级滤波电路,消除了硬件中的杂波干扰,保证了采样数据的可靠性。高精度蒸发自动观测仪软件设计中添加了温度补偿机制,保证了蒸发观测仪的数据不受外界温度因素干扰。高精度蒸发自动观测仪结构设计中添加了防风、防鸟兽饮水设计,保证了蒸发观测仪数据不受外界风速和鸟兽的干扰。为保证蒸发数据测量的稳定性,本文对蒸发自动观测仪添加软件算法设计,以确保蒸发自动观测仪不受称重传感器本身材质蠕变的影响。为保证蒸发数据的准确性,本文通过对蒸发自动观测仪使用场景的设计分析,添加防异物算法程序,使得蒸发自动观测仪不受异物掉入的干扰,同时又能根据不同判别结果对不同场景进行相应的数据处理。灵活的软件设计支持高精度蒸发自动观测仪自动测量以分钟、小时、天为单位的蒸发数据量。通过对蒸发自动观测仪进行多次对比试验,设备自动观测数据与人工观测数据一致,验证了蒸发数据的准确性和稳定性。蒸发量的自动测量对农业灌溉指导、卫星遥感地面验证、旱情检测、生态保护和气候研究都有一定的辅助作用。