陈志刚,夏郑伟,王鹏程,杜彦生
(1.江苏大学 京江学院;2.江苏大学电气信息工程学院;3.江苏大学 环境与安全工程学院,江苏 镇江 212000)
我国是一个农业大国,喷雾施药是控制苗圃、果园病虫草害行之有效的方法[1]。混药控制系统作为施药控制系统的核心之一,在施药过程中起着十分重要的作用[2-3]。传统的农药喷洒过程中,农药混合和搅拌都是在喷洒之前进行[4-6]。混药过程中人需要与农药接触,对操作者有一定毒害危险,且混药量很难掌握,混药比精度低,多余的农药会造成环境污染和浪费[7-9]。为解决以上问题,在线自动混药技术研究提上日程[10-12]。在线混药系统将药、水独立放置,在施药作业时自动混药且对混药比进行控制,能够因地制宜,提高农药的使用效率、减少环境污染和作物农药残留问题,是构建绿色、环保生态环境的有效手段[13-15]。孙竹等[16]设计一种微小型注入式直流混药器并进行实验。该装置采用直流变频技术控制混药泵流量,适用于柱塞泵喷雾机,但未考虑变量喷雾机使用情况,且未说明混药比调节范围;袁琦堡等[17]对实时混药喷雾系统进行研究,通过改变控制信号的脉冲频率调整精量柱塞泵转速,达到控制供药量目的,但其控制精度主要取决于柱塞泵精度,存在一定局限性。
本文设计一种可用于变量喷雾机的实时混药系统,通过液位传感器获取缓冲罐液位信息,并据此控制混药量,在满足变量喷雾机农药使用的同时节约农药;通过试验得出混药系统实际工作时PWM 信号占空比与药液流量的数学模型;根据该模型设计控制算法,采用PI 控制器对PWM信号的占空比进行反馈控制,使PWM 信号对药液流量的调节更加快速准确,弥补了相关研究的不足;通过流量传感器对水流量进行检测,能够实现混药比的精确控制,混药比调节范围广。
实时混药系统结构如图1 所示,由供水、供药、混药和控制4 部分组成。其中,供水部分包括水箱和隔膜泵,供药部分包括药剂罐和蠕动泵,混药部分包括混药器、空心锥形喷嘴和缓冲罐,控制部分包括基于STM32F407ZET6的嵌入式控制器、流量计、第一液位传感器、第二液位传感器等检测元件,以及PWM 驱动模块等执行元件。系统工作时,水箱中的清水由隔膜泵泵出,经流量传感器进入混药器,混药器采用文丘里效应原理,将蠕动泵泵出的药液吸入混药管,清水和药液在混药管充分混合后射出,通过空心锥形喷嘴喷洒于缓冲罐中。缓冲罐下方装有液位传感器,对混药量进行实时监测。缓冲罐经水泵与压力表和变量喷雾机相连,进行农药喷洒。实时混药系统实物如图2 所示。
Fig.1 Real-time drug mixing system图1 实时混药系统
变量喷雾机实时混药控制系统以STM32F407ZET6 单片机为核心,外部由电源模块、供水控制模块、供药控制模块、人机交互模块、第一液位传感器和第二液位传感器组成,其中供水控制模块包括驱动电路、隔膜泵和流量传感器;供药控制模块包括PWM 驱动电路、蠕动泵和电压反馈电路,系统功能如图3 所示。
Fig.2 Real-time medicine mixing system图2 实时混药装置
Fig.3 Composition principle of control system图3 控制系统组成原理
电源模块可将直流电源24V 转换为多种低电压形式输出,满足不同元器件供电需求。供水控制模块通过驱动电路对单片机输出的控制信号加以整形放大,隔膜泵根据控制指令调整工作状态,并通过流量传感器对流量进行检测。供药模块通过PWM 驱动电路调节蠕动泵内直流电机转速,进而调节蠕动泵输出流量,通过电压反馈电路对PWM 信号占空比进行反馈。人机交互模块由触控显示屏通过串口与单片机通信,可通过触控屏输入混药比目标值并显示主要参数。
实时混药系统通过调节药液流量达到控制混药比目的,药液流量通过蠕动泵吸药精准控制,蠕动泵由直流电机驱动,吸药量与直流电机的转速具有良好的线性关系[18],直流电机转速可通过改变电机两端的驱动电压进行调节[19]。工作电压通过脉冲宽度调制信号的占空比进行改变,理想状态下,工作电压值等于信号源电压与占空比乘积[20]。但在实际应用中,驱动电路的变频电路和整流电路会存在一定程度损耗,导致实际输出的工作电压与理想值之间存在一定差距。本文通过试验得出混药系统实际工作时PWM 信号占空比与药液流量的数学模型,根据该模型设计控制算法,并采用PI 控制器对PWM 信号的占空比进行反馈控制,使PWM 信号对药液流量的调节更加快速准确。
1.3.1 PWM 产生方式
本系统对输出频率要求不高,可通过软件编程方式实现PWM 信号输出,PWM 信号中断程序原理如图4 所示。
Fig.4 PWM flow of timer interrupt generation图4 定时器中断产生PWM 流程
软件方式产生的PWM 信号可通过单片机内部定时器实现。产生PWM 信号需同时使用两个定时器,其中一个控制频率,另一个控制占空比。根据占空比计算公式(1)和(2)可知,定时器产生的中断基准时间为单个周期的1%,即每溢出100 次,代表PWM 信号输出一个完整运行周期。故中断子程序定时器设置如下:
定时器溢出的前Nt次为高电平输出,定时器溢出的后100-Nt次为低电平输出,直至溢出次数达100 次。
式中:t0为中断基准时间,单位s;T为周期,单位s;f为频率,单位Hz;r为占空比;Nt为PWM 高电平对应溢出次数;Nd为PWM 低电平对应溢出次数。
为使PWM 信号对电压的调节更加快速准确,本文采用PI 控制器对PWM 的占空比进行反馈控制。PI 控制器表达式如下:
式中:KP为比例系数;Ek为模块本次实际输出与控制输出之间的误差;Ek-1为模块上次实际输出与控制输出之间的误差;Ti为积分时间常数;T 为系统采样周期,取100 ms。
由表达式可以看出,PI 控制算法只需进行两次误差计算即可得到合适的PWM 信号占空比输出值。与相对复杂的PID 控制算法相比,PI 控制算法使用更加简单,响应速度更快,更加适用于实时混药控制系统。
1.3.2 混药比控制程序设计
混药控制系统启动后,操作人员可根据不同的施药情况通过触控显示屏输入混药比目标值。主控芯片采集流量传感器发出的脉冲信号,对提供清水的隔膜泵流量进行计算,根据混药比计算所需蠕动泵流量。通过蠕动泵流量与PWM 信号占空比之间的数学模型计算需要产生的PWM 信号占空比,进而生成PWM 调制信号。通过PI 控制器对PWM 信号进行反馈,使PWM 信号的调节更加快速准确。程序流程如图5 所示。
Fig.5 Flow chart of mixing ratio control program图5 混药比控制程序流程
1.3.3 主程序设计
系统启动后,用户通过人机交互模块输入混药比目标值。实时混药控制系统分别通过第一液位传感器和第二液位传感器获得水箱和缓冲罐的实时液位。当第二液位传感器检测到缓冲罐内的液位低于设置的最低液位时,通过驱动电路使隔膜泵开始工作,同时由生成的PWM 调制信号控制蠕动泵精准吸药,向混药器持续注入清水和药液,使缓冲罐内液位上升。控制系统通过流量传感器获得隔膜泵吸水时的实时流量,对PWM 信号进行动态调整。当第二液位传感器检测到缓冲罐内的液位高于设置的最高液位时停止混药。在此过程中,车载变量喷雾机会根据实际需求从缓冲罐内抽取一定量的药水混合液,当缓冲罐内液位低于设置的最低液位时,隔膜泵和蠕动泵重新启动,继续进行混药,如此循环。当第一液位传感器检测到水箱水位低于警戒水位时,发出警报并停止混药。程序流程如图6 所示。
Fig.6 System control flow图6 系统控制流程
实时混药系统所用水泵为上海新西山公司的DP-70隔膜泵,最大功率150W,额定电压DC12V,最大流量19L/min,软管管径12mm。流量传感器选用LWGY-MK-DN6型液体涡轮流量计(杭州米科传感技术有限公司),量程为0.1~0.6 m3/h,检测精度为±2%F.S,电流输出为4~20mA,工作电压为直流24V。混药泵选用润泽流体RZ1030-4 蠕动泵,采用直流电机驱动,额定功率5W,电压为DC12V,流量140mL/min,软管管径3mm。直流稳压电源PS-305DM,可提供0~24V 直流电压。药液由水和染色剂按一定比例混合进行模拟。清水和药液质量称量使用精量电子秤,精度为1%。计时采用秒表,精度为1ms。
在蠕动泵工作电压0~12V 内选取8 个试验电压,分别为5、6、7、8、9、10、11、12V,通过直流稳压电源给蠕动泵供电。在各工作电压下分别测量蠕动泵吸药量,计时10s,计算得到蠕动泵工作电压与吸药量之间的变化关系如图7所示。试验表明,蠕动泵吸药量也与工作电压存在着式(4)所示的良好线性关系,相关系数R2=0.999 99。
其中,L为蠕动泵流量,单位mL/min;C为蠕动泵工作电压,单位V。
为通过调节占空比对药液流量进行控制,本文将在不同占空比条件下对蠕动泵进行吸药量试验。选定信号源电压为12V,PWM 频率为1 000Hz,逐步改变占空比值,测量蠕动泵吸药量。试验采用多次测量取平均值方式,提高数据准确性。通过试验测得蠕动泵流量—占空比特性曲线如图8 所示。
Fig.7 Flow-voltage characteristic curve of peristaltic pump图7 蠕动泵流量-电压特性曲线
Fig.8 Characteristic curve of peristaltic pump flow-duty ratio test图8 蠕动泵流量-占空比试验特性曲线
如图8 所示,蠕动泵流量与脉宽调制信号占空比之间的关系并非标准的线性关系,当占空比在76% 以上时,蠕动泵流量增长速率发生了变化。虽然蠕动泵的流量与调制信号占空比之间不再维持线性关系,但依然保持单调递增的趋势,两者之间的函数关系可表述为连续函数。为实现对蠕动泵流量的精准控制,需要建立蠕动泵工作时的数学模型,求解流量与调制信号占空比之间的关系函数。当调制信号占空比小于76% 时,蠕动泵流量与占空比之间具有良好的线性关系,而当占空比大于76% 时则变为非线性关系,为使数学模型更加准确,这里采用分段函数进行处理。
当调制信号占空比处于48%~76% 之间时,对试验数据进行线性拟合,可得式(5)所示的数学模型方程,相关系数R2=0.99973。
其中:L为蠕动泵流量,单位mL/min;r为PWM 信号占空比。
当调制信号占空比处于76%~100% 之间时,利用Ori⁃gin 软件对试验数据进行非线性拟合,可得式(6)所示的数学模型方程,相关系数R2=0.999 33。
其中:L为蠕动泵流量,单位mL/min;r为PWM 信号占空比;A1=-1 187.027 3,t1=2.434 01,A2=-1 435.096 5,t2=21.434 12,y0=165.282 01。拟合曲线如图9 所示,可以看出均能较好地描述蠕动泵流量与调制信号占空比之间的关系。
Fig.9 Fitting curve of peristaltic pump flow-duty ratio图9 蠕动泵流量—占空比拟合曲线
根据蠕动泵流量与PWM 信号占空比关系的数学模型编写控制算法,使得药液流量能够精确控制,进而对混药比进行控制。将完成好的实时混药系统搭载到南通广益机电有限责任公司生产的3WG-8A 型风送式变量喷雾机上,对实时混药系统进行混药比控制试验。由于不同情况下的施药要求可能会发生变化,实时混药系统需要对混药比进行在线调节。本系统选用的隔膜泵最大流量为19L/min,可实现混药比140∶1 到400∶1 之间的实时调节。为了对混药控制效果进行检验,本文选取混药比分别为150∶1、200∶1、250∶1、300∶1、350∶1、400∶1 进行试验。每次试验时混药系统持续运行20s,测量系统运行过程中累计的清水流量和药液流量,计算得出混药系统在该混药比(累计清水流量与累计药液流量的比值)下的实际比值。对每个混药比分别进行3 次试验,得到该混药比的平均误差,如图10 所示。
Fig.10 Error of mixing ratio图10 混药比误差
由图10 可以看出,实时混药系统在运行时会产生一定误差,误差范围整体小于5%,且随着混药比增大误差也有增大趋势。这是因为混药比越大,蠕动泵流量越小,对蠕动泵的精度要求越高。
本文设计了以STM32F407ZET6 单片机为核心的实时混药系统,可根据不同的施药环境设置混药比,实现自动混药。通过流量传感器对水流量进行检测,PWM 信号对药液流量进行调节,采用PI 控制器对PWM 信号的占空比进行反馈控制,可在一定范围内实现混药比准确控制。混药比控制试验表明:设计的实时混药系统混药比在140:1 至400:1 之间在线可调,且控制误差在5% 以下,能够满足大部分施药需求。
系统能够根据缓冲罐内的液位情况控制混药进程,液位过低时持续混药,液位高于指定位置时停止混药,使缓冲罐内的药水混合液保持在合理液位,便于配合变量喷雾使用,提高了农药利用率。
将脉宽调制技术与PI 控制方法应用于在线混药系统可准确控制混药比。但本文只研究了其对混药比的影响,未研究其对混药均匀性的影响,后续将进一步研究。