基于Pyboard的土壤水通量测量系统研究

2020-10-29 12:15许景辉王一琛邵明烨
农业机械学报 2020年10期
关键词:土样通量上位

许景辉 王一琛 邵明烨 林 磊

(1.西北农林科技大学机械与电子工程学院, 陕西杨凌 712100;2.西北农林科技大学旱区农业水土工程教育部重点实验室, 陕西杨凌 712100)

0 引言

土壤水通量是研究灌溉与排水、土壤径流、土壤渗漏、土壤化学物质迁移过程及土壤理化性质的一项重要参数,土壤水通量测量在农业和土壤物理学中具有重要意义。研究者在水通量应用方面开展了大量研究:王幼奇等[1]研究了不同生物炭施加比例下土壤水通量特征参数的变化;伍超等[2]研究了负压水肥一体化灌溉下的红壤水分入渗特性;李成[3]通过多种指标的变化特征,综合评价了不同水肥条件下土壤水肥盐运移规律;唐敏[4]针对黄土丘陵区4种典型坡地建立了一维垂向土壤水热耦合运移数值模型,并研究了温度梯度和根系吸水对红枣林土壤水热耦合运移的影响;柴红阳[5]、商艳玲[6]对再生水灌溉条件下土壤水、盐运移规律及斥水性进行研究,对再生水的大面积灌溉有一定指导意义。

目前,主要采用垂直土柱和马氏瓶进行土壤水通量测量[7-10],测量数据完全由人工记录。NOBORIO等[11]将热脉冲与TDR(Time domain reflectometry)技术结合,可测量土壤含水量和土壤热特性,从而推导出土壤水通量,但由于热敏感元件使用热电偶,其测量精度有待提高[11-12]。REN等[13]在文献[11]研究的探针基础上,设计了一款T-TDR(Thermo-Time domain reflectometry)传感器,该传感器由3根不锈钢探针组成,通过中间加热丝加热产生热脉冲,并采集上、下游两根探针的温度,以此计算出土壤水通量。利用改进的T-TDR传感器,REN等[14]根据上、下游探针温度变化情况和土壤热特性间接计算水流通量,并得出土壤水通量一维热运移方程的解析解,由此推导出计算土壤水通量的最大无量纲温度差(Maximum dimensionless temperature difference, MDTD)法。WANG等[15]研究发现,当时间趋于无穷长时,土壤水通量与热源上、下游温度变化比率的对数值成正比关系,并由此推导出计算土壤水通量的温度比率法;KLUITENBERG等[16]考虑到Td/Tu对时间的依赖性,将文献[15]的比率法进行改进,得到形式上更为简单、计算精度更高的模型。

T-TDR系统在应用时产生系统性误差,K型热电偶本身测量精度较低,其允许误差范围为±1.5℃,埋入地下较深时需要较长补偿导线与数据采集器相连,这样不仅增加了成本,也降低了测量精度[17-18]。目前T-TDR系统需要设备较多,其价格昂贵,数据采集器操作复杂,同时需要人工处理原始数据,给土壤水通量研究带来了困难。

本文使用负温度系数(NTC)热敏电阻,通过热脉冲采集优化电路和24位高精度A/D转换芯片(ADS1256型)实现高精度热脉冲信号采集,利用Pyboard最小系统作为主控单元,设计一款饱和土壤水通量传感器,通过Python语言和PYQt5、Numpy、Math库,对最大无量纲温度差(MDTD)法和比率法进行GUI上位机编程,以实现数据的自动采集和计算,提高水通量测量效率,降低系统成本。

1 传感器设计原理

热脉冲技术是一种利用热作为示踪源来测定水通量的方法。具体过程为:在某一时刻由线状热源发出一个短时热脉冲,由于水通量对热量传输的影响,造成热源周围温度场分布变化,测量热源周围温度场的变化,便可计算出土壤水通量。

由热传导定律可知,在无限大均匀多孔介质中,线性热源发出的热脉冲呈放射状向周围传导,故对于线性热源周围的土壤来说,其极坐标下的热传导方程可表达为[19-20]

(1)

式中T——温度,℃t——时间,s

α——热扩散系数,m2/s

r——测量点与线性热源的垂直距离,m

考虑到实际情况下热源无法实现瞬时热脉冲,故在热脉冲持续时间为t0时,温度变化量为[20-21]

(2)

其中

Q=q/C

(3)

式中 ΔT——温度变化值,℃

Ei()——指数积分函数

Q——热源强度, m2·℃/s

q——单位时间内单位长度加热丝释放的热量,W/(m·s)

C——容积热容量,J/(m3·K)

对式(2)求关于t的偏微分,使结果等于0,并代入测量所得温度升到最高所对应的时间tm,可以得到α的表达式[21-22],即

(4)

将式(3)、(4)代入式(2),得到C的表达式为

(5)

热导率λ(W/(m·K))、容积热容量C和热扩散系数α三者之间的关系为

λ=αC

(6)

目前基于热脉冲技术计算土壤水通量的模型主要有[23]:最大无量纲温度差法(MDTD)[14]和上下游温度上升比率法(Td/Tu)[15-16]。

REN等[14]提出无量纲温度差(Dimensionless temperature difference, DTD)与水通量J之间的关系,并且给出了DTD的表达式为

(7)

式中Td——下游温度升高值,℃

Tu——上游温度升高值,℃

假设上下游探针与中间加热针的距离相等,在测定时,DTD随时间变化规律应为:加热前,DTD等于0,随着加热开始,DTD不断升高,达到最大值后随水流冷却,逐渐下降为0。在测定过程中,DTD的最大值(t=tm时)即为最大无量纲温度差(MDTD),表示为

(8)

式中xu——上游探针与中间探针的距离,m

xd——下游探针与中间探针的距离,m

tmdtd——DTD达到最大值的时刻,s

s——热源在t′时刻对另一位置在t时刻造成温度变化的时间差,s

V——对流热脉冲速率,m/s

REN等[14]试验结果表明,水通量J和MDTD之间近似为线性关系,可表示为

(9)

式中B——探针结构修正参数

WANG等[15]根据加热针周围温度场分布规律发现,当时间趋于无限长时,Td/Tu接近一个常数,由此得到ln(Td/Tu)与对流热脉冲速率V之间的关系式为

(10)

由式(10)进一步推出水通量J和ln(Td/Tu)线性相关,提出上、下游温度上升比率法(Td/Tu),并给出了关系式

(11)

式中CW——水的容积热容量,J/(m3·K)

2 系统组成及结构

土壤水通量测量系统包括两部分:土壤水通量传感器和上位机软件。其中传感器用于热脉冲的精准控制和温度测量;上位机软件接收到传感器数据后,实时绘制热脉冲曲线,自动计算水通量,并将测量原始数据和计算得到的水通量数据进行存储。

传感器硬件电路基于Pyboard控制板实现。Pyboard是MicroPython项目的官方专用开发板,以Cortex M4架构的STM32F405RGT6单片机作为主控芯片,其体积小,价格低,开发周期短。MicroPython是Python3语言的精简实现,是经过优化后可在微控制器和受限环境中运行的Python编译器和实时运行系统。

2.1 传感器结构

传感器由探针和主板两部分组成,图1为土壤水通量传感器原理框图。

图1 传感器原理框图Fig.1 Block diagram of sensor

传感器探针为外径1.4 mm、内径1 mm的不锈钢毛管,内部在距离探针末端20 mm的地方嵌入一个NTC热敏电阻,中间针中设置一根U型加热丝(38 AWG Nichrome)作为热源。不锈钢毛管中填充高导热胶,用来固定加热丝和热敏电阻。

传感器主板用来控制传感器工作及数据采集,包括控制与通信模块、稳压模块、采集模块和热脉冲控制模块4部分。其中控制与通信模块采用Pyboard最小系统,用于控制各模块工作并与上位机通信;稳压模块分为3部分:第1部分由外置电源的12 V稳压至5 V,给采集模块提供5 V电源,第2部分稳压至3.3 V用于给STM32F405RGT6单片机和A/D转换芯片供电,第3部分稳压至精准2.5 V用于A/D转换芯片参考电压;采集模块由置于空心探针中的热敏电阻、桥式测量电路以及ADS1256型A/D转换芯片组成,用于实现热脉冲温度信号的精确测量;热脉冲控制模块由一个微型固态继电器(SDD-5HB型)组成,通过主控模块控制12 V电源与加热丝之间的通断,并且可精确控制加热时间。图2为土壤水通量传感器实物。

图2 土壤水通量传感器实物Fig.2 Soil moisture transfer sensor

2.2 传感器控制软件设计

传感器以100 s为一个测量周期,在每个测量周期中,传感器3根探针以2次/s的频率测量温度,在第22秒时,通过给中间探针的加热丝通电,使其发出一个持续8 s的热脉冲,3根探针保持温度测量直至周期结束,图3为程序流程图。

图3 传感器控制程序软件流程图Fig.3 Flowchart of controlling program for sensor

由于Pyboard使用的STM32F405RGT6单片机自带USB-OTG功能,可虚拟串口与上位机通信,这减小了传感器主板体积。上电后,自动运行初始化程序以设置USB-OTG工作在虚拟串口(Virtual COM port,VCP)方式,在内存中申请9个Buffarray缓冲区以接收来自A/D转换芯片的数据,设置单片机定时器4的工作频率用来计时,设置ADS1256芯片的状态寄存器(STATU)、输入复用器控制寄存器(MUX)、A/D控制寄存器(ADCON)、A/D数据速率寄存器(DRATE)和通用数字I/O口寄存器(I/O),以及定义各功能的工作引脚等,结束后进入主程序。

主程序中,循环检测串口缓冲区,若接收到指令,则开始一个测量周期。传感器通过定时中断以实现固定测量周期的测量。在转换过程中,由于A/D转换以及传输过程需要时间,所以设计程序时,为最大程度提高测量效率,在每一路通道测量结束后,需先将下一路通道地址发送给A/D芯片,然后向其发送开始转换指令,最后读出本次测量结果。测量结果由虚拟串口实时发送给上位机软件。测量结束后将本次测量数据以文件形式保存在内部存储中,以备传输故障导致数据丢失后,上位机重新调用测量数据。

2.3 上位机软件设计

上位机软件使用Python语言编程,实现了数据通信、运算、存储、可视化以及导入历史数据5个功能。其中,通信模块使用Pyserial库在计算机中创建一个串口,用于向传感器发送开始测量指令以及接收来自传感器的原始数据;数据运算及存储模块使用Numpy库设计,对接收到的原始数据进行转换、格式化及存储操作,并且根据模型计算土壤水通量;数据可视化功能使用Math库中的Matplotlib函数,实时绘制原始数据的曲线图,并且在水通量计算完成后实时显示;历史数据计算功能可对历史数据重新绘图,并计算该次测量得到的土壤水通量。图4为上位机GUI设计界面。

图4 上位机软件界面Fig.4 GUI of upper computer software

3 结果与分析

不同土壤类型有不同粒径比例和质地,这会造成土壤中的不同水流通道构造,为了测试水通量测量系统的精度和适应性,在系统软硬件功能测试稳定的情况下,选用石英砂、壤质砂土、砂质壤土和砂质黏壤土4种配土进行试验,土样参数如表1所示。

表1 土样质地及装填密度Tab.1 Soil sample texture and filling density

传感器温度测量精度采用FLUKE52-Ⅱ型测温仪校准。采用郜建英[12]所述方法进行探针间距标定,标定结果为:石英砂中,xu为6.026 mm,xd为6.017 mm;壤质砂土,xu为6.015 mm,xd为6.008 mm;砂质壤土中,xu为5.994 mm,xd为5.983 mm;砂质黏壤土中,xu为5.891 mm,xd为5.862 mm。

水通量传感器精度测量通过水通量试验台完成。试验台包含恒流泵(BT600-2J型,保定兰格恒流泵有限公司)、电子天平(LT3002T型,常熟市天量仪器有限责任公司)、土柱以及该土壤水通量测量传感器系统。将传感器从容器侧壁插入土样中,用于测量水通量。恒流泵出水口连接至容器顶端,容器下方出水口用一根橡胶管将出流液导入放置于电子天平上的烧杯中,实时称量流水质量。装置如图5所示,由于电子天平测量渗流量精度高,只要将本传感器测量出的土柱渗流流速与电子天平测量转换值进行对比,就可测试出本系统的测量精度。

图5 试验设备Fig.5 Experiment equipment1.恒流泵 2.土柱 3.传感器 4.上位机 5.电子天平

图6 2种算法下4种土样水通量的计算值与实际值对比结果Fig.6 Comparison results of calculated and actual values of water flux in four soil samples by two algorithms

实际水通量可通过一个试验周期内出流液质量变化量计算得出,即

(12)

式中JR——实际水通量,mm/h

ρ——水密度,g/cm3

W——出流液质量,g

rc——土柱内半径,mm

te——测量时间,s

由于非饱和土的水通量非常复杂,不能评价传感器的测量精度,因此传感器测试需在饱和土渗流中进行。使用恒流泵控制不同的渗流流速。试验开始,打开恒流泵先等待土柱内土样饱和,调整恒流泵的流量,60 min容器内水流稳定后开始测量,每种土样试验10个流量。4种土样使用2种算法的计算值与实际值对比如图6所示。

表2为4种土样根据2种方法的计算值与实际值之间决定系数R2和均方根误差(RMSE)的对比。

由图6与表2可知,设计的传感器在4种土样试验中所得水通量测量值与实际值之间相关性好,说明该系统可精确测量土壤水通量,同时也说明该系统使用Td/Tu法计算土壤水通量与实际值之间相关性优于MDTD法,使用Td/Tu法计算结果的误差也更低。

表2 MDTD法和Td/Tu法计算结果与实际值之间的R2和RMSETab.2 R2 and RMSE between MDTD method and Td/Tu method

分析计算结果可以得出,在不同土壤质地条件下,Td/Tu法优于MDTD法,所以利用该系统测量水通量时,使用Td/Tu法计算水通量的适应性要优于MDTD法,深入开展对Td/Tu法的研究可进一步提高该传感器的测量精度,为上位机程序优化提供方向指导。同时,还可在软件中设置系统的土壤种类和流量测量范围,实现软件系统的自适应计算功能,以提高系统测量准确性。

4 结论

(1)基于Pyboard设计了一款热脉冲土壤水通量测量传感器,采用高精度A/D转换芯片ADS1256,将Pyboard控制板进行资源优化和裁剪,在提升测量精度的同时,将感知元件和控制电路集成于一体,缩小了传感器体积,提高了系统测量精度。

(2)采用Python设计了该传感器的上位机GUI计算软件,用以控制传感器工作状态和自动处理来自传感器的数据。软件可实时绘制热脉冲曲线,自动保存每次测量数据,并且根据测量数据自动计算水通量。该软件无需人工分拣数据,自动保存、自动计算、实时绘制曲线等特性提高了水通量测量的效率。

(3)通过试验验证,该系统具有较高的测量精度,使用MDTD法和Td/Tu法均能准确地测定土壤水通量。4种土样中,Td/Tu法计算值与实际值之间的相关性更好,误差更低,计算效果优于MDTD法。在综合考虑土壤质地因素的情况下,Td/Tu法具有更好的适应性。

猜你喜欢
土样通量上位
功能性微肽通量发现和功能验证的研究进展
振动频率和时间对扰动状态下软黏土压缩特性的影响
冬小麦田N2O通量研究
深圳率先开展碳通量监测
重庆山地通量观测及其不同时间尺度变化特征分析
土壤样品采集、运送与制备质量控制的实践操作
土壤样品采集、运送与制备质量控制的实践操作
特斯拉 风云之老阿姨上位
基于ZigBee和VC上位机的教室智能监测管理系统
如何使测土配方施肥数据真实、准确