钟 声,刘木华,袁海超,赵进辉*
(1.江西农业大学 工学院,江西 南昌 330045;2.江西省现代农业装备重点实验室,江西 南昌 330045)
【研究意义】水稻是我国重要的粮食作物,在我国约有60%的人口以水稻为食。由于稻田环境温热、阳光充足,病虫灾害也尤为明显,其中典型的有稻瘟病[1]。稻瘟病又称稻热病,是世界上水稻生产的主要病害,其防治主要采用稻瘟灵杀菌剂[2]。稻瘟灵又叫异丙硫环,是一种高效内吸杀菌剂,是防治水稻稻瘟病的特效药剂,同时对水稻纹桔病和白叶标桔病有一定的防效,属于高效、低毒、低残留的有机杀菌剂[3]。其持效期长,广泛用于谷物保护剂。由于我国水稻种植范围大,目前许多地方都在使用稻瘟灵作为杀菌剂[4]。稻瘟灵的大量施用,有可能污染周围环境,未被利用的农药会在水体与土壤中富集[5]。随着水资源的循环,稻田水体最终会流入江河湖泊,污染破坏环境水资源,同时危害水生动物与威胁人们的饮用水安全[6-7]。【前人研究进展】目前检测稻瘟灵主要采用气相色谱法和高效液相色谱法[8-10]。根据这些方法,国内外也开展了许多的相关研究,这两种方法具有检测准确度高、检测浓度限低等优点。但是检测过程复杂且设备成本高,难以推广普及且难实现快速检测和物联网在线检测等要求。
【本研究切入点】而有相关电学方法如介电特性法,介电特性检测法(dielectric spectroscopy)是一种利用物质的介电特性来检测其性质和成分的方法,具有简单、快捷等优点[11-13]。其主要原理是:水中不同的污染物对其介电常数有着一定的影响,导致最后的水体导电特性和电容特性都有着区别,其中稻瘟灵也不例外。在检测水体中的农药时,可以将水样中的农药分子看作是介电常数和介电损耗与水分子不同的微小介质体。当交变电场作用于水样时,水中的农药分子会受到电场的作用而发生极化,其介电常数和介电损耗也会发生变化。通过测量水样在不同频率下的介电常数和介电损耗,可以得到水样中农药分子的特征参数,如极化强度、旋转速率等,进而推断水样中农药的种类和浓度。介电特性检测法具有非侵入性、非破坏性、快速准确等优点,适用于检测水体中低浓度的农药残留,是一种较为常用的检测方法。【拟解决的关键问题】综上所述,基于稻瘟灵浓度会对稻田水体介电特性产生影响,通过建立稻田水体稻瘟灵浓度的频率特性模型,本研究探索一种稻田水体中稻瘟灵含量的快速检测方法。结合该方法开发一种可全天候工作、能快速准确的监测稻田水体中稻瘟灵含量的装置,并对该装置的性能进行了试验验证。为水体稻瘟灵浓度情况监测提供方案,同时为实现精准农业、科学农业具有现实研究意义。
本监测装置电路硬件分为信号部分和电源部分。信号部分主要由STM32 主控模块、激励信号源模块、检测与信号采集模块、输入输出模块,主控模块负责整体的数据处理与信号控制,激励信号源产生特征频率的扫频激励信号,检测与信号采集模块主要负责频率特性的采集与转换,输入输出模块负责程序下载与检测结果显示;电源部分由升降压稳压模块和锂电池充电模块组成。装置整体结构框如图1所示。
图1 装置整体结构框Fig.1 Overall structure block diagram of the device
1.1.1 STM32 主控模块 本装置采用ARM Cortex-M4 内核的32 位STM32F405RG 单片机作为核心控制器。该芯片具有1 MB Flash、168 MHz CPU运行频率和ART加速器,同时具有动态功耗调整功能,能实现超低功耗的不间断运行。
STM32 外设接口情况如图2 所示。外部高速时钟采用8 MHz 的石英晶振,片上USART 通信速度可达10.5 Mb∕s,通过板载CH340E 连接至PA9、PA10 的串口1 实现通过USB 接口与计算机数据交互;片上SPI接口速度可达42 Mb∕s,外接LCD显示屏连接至PA4-PA7引脚的SPI1接口上。
图2 STM32主控模块Fig.2 STM32 main control module
1.1.2 激励信号源模块 激励信号源模块由直接数字频率合成器(direct digital frequency synthesis,DDS)和低通滤波器组成。DDS芯片采用ADI公司的AD9859,该芯片内部集成10位DAC,最高转换频率400 MHz,因此在200~120 MHz 信号内能保证优秀的信号稳定性,同时具有32 位可编程频率调谐字(FTW),能精准控制输出信号频率。
输出信号频率由系统频率(fs)与频率调谐字(FTW)决定,系统频率(fs)由连接在芯片引脚9 上的25 MHz 外部有源晶振(fosc)提供,配合芯片内部锁相环(PLL)控制寄存器CFR2<7∶3>编程设置16 倍频,实现最大400 MHz 系统频率(fs)。输出频率(fout)与频率调谐字(FTW)、锁相环(PLL)间的计算公式如下[14-15]。
AD9859外围电路如图3所示,芯片采用1.8 V电压供电。芯片采用外部晶振输入源工作方式,9号引脚外接25 MHz 有源晶振,通过四线SPI 协议与STM32 主控通信实现扫频控制,输出信号通过21 号OUT引脚输出。
图3 AD9859外围电路Fig.3 AD9859 peripheral circuit
由于DDS芯片的工作原理本质上是D∕A 转换,因此输出信号除基波外,同时附带有二次三次等高次谐波与一定程度的杂散信号,输出信号会呈现信号叠加的阶梯状,这会对激励信号质量造成较大影响,需要添加低通滤波器以实现平滑的正弦激励信号。
通过ADI 公司ADIsimDDS 软件对信号进行分析,结果如图4 所示。左图为DDS 芯片直接输出70 MHz正弦波的信号频谱图,由于D∕A转换的叠加高次谐波影响,可知信号质量较差。而将输出信号经过低通滤波器后的信号频谱图为右图所示,可知施加低通滤波器后输出信号明显改善,可实现平滑的正弦输出信号。
图4 施加低通滤波器前后信号变化Fig.4 Signal change before and after applying low-pass filter
1.1.3 检测与信号采集模块 模块整体电路如图5所示,检测电路与幅度和相位测量芯片构成了装置的检测模块。检测电路由精密可调电阻充当参考电阻,AD9859 信号输入端的电容用来消除低频直流干扰,传感器探头通过RF 射频同轴线连接至检测电路端的SMA 接头,整体信号部分采用50 ohm 系统。幅度和相位测量芯片采用ADI 公司的AD8302 芯片,该芯片具有双通道解调对数放大器和鉴相器,每个放大器具有60 dB测量范围,在50 ohm 系统中,交流耦合输入信号范围为-60~0 dBm,具有精确的增益测量调整(30 mV∕dB)和相位测量调整(10 mV∕度)[16]。该芯片能实现对INPA 与INPB 两处引脚的输入信号求幅值比与相位差,通过VPHS与VMAG 端口输出两路0~1.8 v的模拟信号,为两路输入信号的相位差与幅值比。将两路信号输入STM32主控的ADC引脚,即可实现信号采集。
图5 检测与信号采集模块Fig.5 Detection and signal acquisition module
1.1.4 输入输出模块 本装置包含程序调试的多个按键、数据通信相关的输出模块与实时显示的LCD屏幕。装置为全天候监测,其中按键仅用于设备的系统重置与开关机功能。数据通信输出模块包括串口-USB 模块与LoRa 无线模块[17-19],如图6 所示,串口-USB 模块由12 脚的Type-C 口与CH340E 芯片组成,连接至STM32主控的串口1上,能快速稳定的将检测数据输出至上位机,同时还能程序下载;LoRa无线模块型号为E22-400T22S,以SX1262 为射频芯片,连接至STM32 主控的串口1 上,配合高功率天线可实现最大10 km 的远距离无线数据传输。LCD 屏幕采用一块2.8 寸240×320 分辨率的TFT 液晶屏,通过SPI协议驱动。
图6 串口-USB输出模块Fig.6 Serial port-USB output module
1.1.5 升降压稳压模块 在本装置中,需要+1.8 V、+3.3 V、+5 V 直流电压供电,而设备电源储备为3 节18650锂电池并联,电池电压为4.2 V,因此需要设计升降压模块来实现装置的电压管理。
如图7所示。本装置采用PW5100型号的DC-DC同步升压转换器芯片将锂电池升压至+5 V,该芯片最大效率可达95%,±10 mV 的低纹波性能。随后经过AMS1117CD-3.3 将+5 V 降压即可得到+3.3 V,最后再经过AMS1117CD-1.8 将+3.3 V 降压即可得到+1.8 V,该系列芯片为低压差线性稳压芯片,具有输出纹波低、电压稳定等优点,广泛应用于各类仪器设备。
图7 升压降压模块Fig.7 Step-up and step-down module
1.1.6 锂电池充电模块 锂电池充电模块由充电管理电路和太阳能稳压电路两部分组成。充电管理电路输入端为Type-C 端口或太阳能稳压电路的输出端,可以通过连接USB 接口以有线的方式或是太阳能为设备锂电池充电。充电管理电路如图8所示,其中充电管理芯片采用TP5100开关降压型双节8.4 V∕单节4.2 V 锂电池充电管理芯片,本装置采用单节4.2 V 模式,最大充电电流可达2 A,采用QFN16 小尺寸封装,非常适用于小型仪器使用。太阳能稳压电路如图9 所示,其中稳压芯片采用MP2315 高效率同步整流降压开关变换器,该芯片具有4.5~24 V的宽工作电压输入和极低的静态电流,适合全天候工作的太阳能供能的仪器设备。
图8 充电管理电路Fig.8 Charging management circuit
装置结构如图10 所示。主要由太阳能面板、主控电路盒、支撑部件和检测探头盒4 个部分组成。太阳能面板尺寸为230 mm×350 mm,最大功率10 W,呈45°角安装于不锈钢支撑杆顶端;主控电路盒外壳采用ABS 材质电器防水盒,尺寸为200 mm×120 mm×55 mm,安装于不锈钢支撑杆上端,内部安装PCB 电路板与18650 锂电池,侧面安装LCD 显示屏,下部有Type-C 接口、装置电源开关和进线防水接线头;支撑部件由不锈钢支撑杆于三脚支撑架两部分组成,保证设备稳定部署;检测探头盒外壳采用光敏树脂3D 打印制作,尺寸为100 mm×100 mm×100 mm,安装于不锈钢支撑杆底端,内部安装介电监测探头与温度传感器,外壳四面设置有滤棉,过滤泥沙与浮萍等杂质。
图10 装置整体结构设计Fig.10 Overall structure design of the device
以MDK 5.0为开发环境,采用C语言开发设计。程序主要初始化程序、AD9859 扫频程序、数据采集程序、LibSVM 程序、串口发送程序、LoRa 配置程序和LCD 显示程序组成。初始化程序用于设置STM32各外设及所使用到的GPIO 口的初始化配置;AD9859 扫频程序主要是STM32通过SPI协议发送频率调谐字(FTW)给AD9859芯片,控制AD9859 输出产生特定特征频率的正弦波;数据采集程序是通过ADC 采集AD8302 输出的幅值比和相位差的模拟电压值;LibSVM 程序主要是将采集到的数据代入训练好的支持向量机回归模型中,调用LibSVM 算法对含量进行预测;串口发送程序用于将数据发送至上位机和LoRa无线通信模块;LoRa配置程序用于配置LoRa 模块的工作模式,配置工作信道、发送功率和相关组网信息;LCD 显示程序可以将温度、预测结果实时显示在LCD显示屏上。程序总体流程如图11所示。
图11 程序运行流程Fig.11 Flow chart of program operation
试验所用的稻田水样本采集于江西农业大学试验田。采集日期为七月下旬,采集晚稻田区处于插秧时期的农田灌溉水,使用液泵抽取采集3 个田区水体样本,运回后放置实验室1 d,沉淀其中较大泥沙与浮萍等杂质[20]。试验前,对采集水体使用传感器探头过滤装置过滤1遍,得到空白稻田水样本。
3.2.1 材料的制备 为了确保传感器探头能完全浸没被测液体中,选取容量合适的样本测量容器,确定样本总量为700 mL以上。首先配制高浓度的稻瘟灵原液,其浓度确定为800 mg∕L,再逐步添加原液得到0~44 mg∕L的23个低浓度稻瘟灵溶液样本。
为保证基底水样一致性,试验采取逐步添加原液配备各浓度检测样本。首先取700 mL 过滤后的稻田水加入检测容器内,由于采集水体为插秧时期的农田灌溉水,而本设备检测作用主要用于科学控制施药量与稻瘟灵实时监测,因此将初始稻田水视为未含有稻瘟灵的空白样本,待上一浓度检测完成后对其添加适量原液配制为下一检测样本浓度,以此类推完成所有浓度样本配制。
3.2.2 输出信号的采集 将样本测量容器放入恒温水浴槽内,设定温度25 ℃,样本试验期间保持恒温状态。将检测探头没入被测液体中,待LCD 屏幕上显示温度达到设定温度后,按下“开始检测”按键,设备将采集200~120 MHz间的607个采样频率点下参考电阻两端电压信号间的幅值比与相位差信息,通过串口实时发送至上位机PC端。
对于每个浓度的检测样本,检测数据有AD8302 芯片输出的两种原始电压信号与转换后的幅值比、相位差信号,每个样本有4种共2 428个检测数据。为了消除检测过程中存在的噪声与采样误差,原始数据AD 转换时采集连续的24 个数据,采用冒泡排序法剔除4 个最大、最小值,对剩余20 个数据求平均值最后作为发送的1个数据。同时采用5组平行样本进行试验,总体试验包含115份样本数据。
根据浓度将原始数据2∶1 划分为训练集与预测集,首先人工保证最小浓度与最大浓度样本为训练集,然后采用随机数生成器随机选取14 组浓度为训练集,剩余浓度为预测集,训练集总计包括16 组浓度,80份样本数据,预测集包含7组浓度35份样本数据。
由于原始数据量大,主控芯片算力较低,直接采用原始数据进行预测耗时较长,实时性较差。因此在对数据进行训练建模前,对PC 端接收到的原始数据采用竞争性自适应重加权采样法(competitive adaptive reweighted sampling,CARS)进行特征数据的提取,对原始数据进行筛选,得到若干特征频率点的特征数据[21-23]。图12 为对幅值比数据的CARS 特征提取结果,图中从上到下依次为提取的频率个数、交叉验证均方根(RMSEV)、回归系数变化情况与交叉检验(Cross validation)运行次数之间的关系。其中提取的频率个数随着运行次数增加而减少,表示经过CARS 优选后实现了数据优选,同时频率个数递减速度逐渐变慢,表示特征频率点数趋于稳定;交叉验证均方根(RMSEV)在频率点较少后逐渐产生较大波动,在30次与43次运行都出现较大转折,原因为部分关键频率信息被剔除;回归系数变化情况可以看出在20 次运行前,各变量的回归系数随着交叉验证次数变化无明显变化。将幅值比数据经过CARS 特征提取后,特征频率点由607个减少至72个,极大的简化了模型,提高了运算速度。
图12 幅值比CARS特征提取结果Fig.12 Amplitude ratio CARS feature extraction result
对其余3种数据也进行CARS特征提取后,分别得到各数据类型的特征频率,表1为4种原始数据的CARS特征提取频率数。
表1 幅值比与相位差CARS特征提取结果Tab.1 Amplitude ratio and phase difference CARS feature extraction results
随后将训练集部分80 份的4 种特征数据作为输入,以配置的样本浓度作为输出,采用支持向量回归(support vector regression,SVR)对以上4 种特征数据分别建立浓度预测模型。支持向量机采用的由台湾大学林智仁(Lin Chih-Jen)教授等开发设计的LibSVM 软件包,采用C 程序源码进行模型训练[24-25]。
通过结合The Unscrambler X 10.4 软件提供的SVR 参数优化,采用nu-SVR 回归类型,RBF 核函数对特征数据建立预测模型。在PC 端将稻田水提稻瘟灵浓度预测的SVR 模型建立好后,将其存入STM32程序源码中,同时将LibSVM 函数包移植到STM32 嵌入式端,即可实现嵌入式端独立调用LibSVM 模型预测。
在预测模型建立好后,将其写入程序固件中,同时修改设备固件的扫频程序,将建模阶段的200~120 MHz频率范围改为CARS提取后的特定特征频率点信号输出。在采集完一组特征频率信息后,即可调用内嵌的LibSVM 软件包进行回归预测,并将结果通过USB 接口或是LoRa无线模块发送至上位机,同时显示在LCD屏幕上。
为了验证稻田水体稻瘟灵含量实时监测装置的测量准确性,将写入预测模型后的设备放入配置好的预测集样本中,与样本真实浓度进行对比。其中调用幅值比模型的实际测量结果与真实值的拟合曲线如图13所示。图中可知,测量结果拟合函数与45°线几乎重合,可见本装置对于稻田水体稻瘟灵含量具有较高检测精度。
图13 监测装置检测值与真实值对比(幅值比模型)Fig.13 Comparison between the measured value and the true value of the monitoring device(amplitude ratio model)
在对两种原始电压信号与转换后的幅值比、相位差4种数据建立单独预测模型,预测结果见表2。实际检测中,在单独调用4种模型预测时,每种数据的预测模型R2都在0.96 以上,同时由于已经提取特征频率,实际检测仅需检测特征频率点处的频率特性,单次检测仅需30 min,极大的缩减了检测时间,同时检测结果具有较高的精度。
表2 4种数据模型的单独预测结果Tab.2 Individual prediction results of four data models
(1)根据稻田水体与稻瘟灵的介电特性频率差异,开发了基于介电特性的稻田水体稻瘟灵含量实时监测装置,该装置能快速准确的测量稻田水体中稻瘟灵的浓度,并将其通过LoRa模块上传至上位机,实现远程实时在线监测。
(2)通过对各种浓度下稻瘟灵稻田水体的频率响应测量试验,采用CARS 对频率特征提取极大地减少了数据的运算量,提高了检测速度,同时得到了对稻瘟灵在幅值比与相位差数据的特征频率。
(3)对0~44 mg∕L 内的稻瘟灵稻田水体进行了多次试验,对幅值比、相位差与其原始电压信号4 种数据分别建立了SVR 回归预测模型,试验验证模型判定系数R2高达0.995 9,每种数据的预测模型R2都在0.96以上;同时测量速度极高,为研究水体稻瘟灵含量实时监测奠定基础。