宋卓研,徐晓辉,宋涛,崔迎港,司玉龙
(河北工业大学电子信息工程学院,天津市,300401)
水肥一体化技术是精准农业中至关重要的一环[1],在由水带肥,水肥同灌模式下,管路中水肥混合的精确程度将直接影响作物的生长发育[2]。根据作物生长模型及管路水肥参数,利用自动测控技术实现水肥均匀混合[3],对作物的正常生长发育将起到积极的促进作用。
从20世纪60年代起,国内外学者相继开展关于水肥控制的研究。例如,Silber等[4]通过研究不同施肥频率对作物水肥需求和生长情况的影响,构建了作物需水需肥模型;Tabish[5]和Anusha等[6]将模糊控制理论应用于灌溉和环境监测系统。相较国外,我国水肥控制系统研究还处于初级阶段,研究重点还集中在环境信息的获取和处理分析方面,如苏静池等[7]通过传感器网络采集环境信息,构建灌溉系统;杨显贺等[8]通过分析番茄需水情况,构建精细化灌溉和调光系统。通过智能算法构建控制模型的研究相对匮乏,系统的生态闭环完整性也相对匮乏[9]。
目前,由于水肥作业系统非线性、大惯性和时滞性等问题[10],传统控制算法无法建立确切数学模型,精度不能满足水肥精准控制的要求。针对以上问题,设计了一种基于PSO和BP神经网络优化的PID控制模型[11-12],用于水肥控制系统,目的在于通过作物种植环境参数,生成水肥模型控制策略,实现管路中水肥浓度的精准控制,以解决水肥混合不均等问题,同时达到节水省肥,减少资源的浪费的目的。
水肥系统主要由数据采集模块、水肥控制模块、主控制器和移动端APP四部分组成[13],系统框图如图1所示。
图1 水肥系统框图
系统通过传感器采集管道水肥溶液pH值和EC值,经过主控制器接收处理后发送给移动端APP和云服务器,用户可在移动端查看管道中水肥混合液的实时混合情况,也可以根据特定水肥浓度精准控制模型实时调整施灌时长以及浓度配比,反馈到主控制器,由主控制器转发至水肥控制器,水肥控制器根据接收到的指令调整注肥泵转速,实现管道中水肥浓度的控制。
数据采集模块用于采集管道中水肥溶液中的pH值和EC值,并将采集到的数据通过本地局域网经主控制器转发至云服务器。数据采集模块设计电路图如图2所示,其中,采集点处理器采用STC89C52芯片。
数据采集节点按特定协议将采集的数据封装成帧,通过WiFi模块发送至主控制器。其中,WiFi模块选用一款超低功耗的透传模块ESP8266,该模块体积小,传输速率快,专为移动设备和物联网应用而设计。pH电极型号为E-201-C4复合电极,EC电极为纯铂材料制成,二者均配备模数转换模块,并通过BNC接头即可和对应电极相连。转换模块价格低廉,使用方便,测量精度高,可直接输出0~5 V和0~3 V模拟电压信号,利用校正液进行误差分析知,该传感器的采集值与标准值间误差分别小于0.4%和0.7%,综合分析满足水肥系统对pH值和EC值的采集要求。其连接电路图如图2所示。
图2 数据采集模块设计电路
其控制流程如图3所示。
图3 水肥控制器控制流程图
水肥控制模块作为水肥控制的执行器,用于接收主控制器下发的控制指令,并通过控制器的软件程序完成注肥流量的调节,进而实现管道中用户期望的水肥浓度。
主控器作为整个水肥控制的枢纽,在系统中起到承上启下的作用。本系统选用搭载联发科MT8753芯片的嵌入式设备作为系统主控制器,一方面,其可为远程监测功能提供数据交互的支持,系统使用的移动端APP基于Android开发,既可以通过本地局域网实现数据获取,也可以通过互联网从云端服务器获取数据信息。因此,系统通信方式设计为基于HTTP协议的浏览器/服务器端(B/S)和基于TCP/IP协议的客户端/服务器端(C/S)两种通信方式。在B/S模式下,移动端通过网络连接云端服务器获取数据,在C/S模式下,移动端可直接通过本地局域网与主控制器建立连接实现数据相互,两种方式更好的满足了远程和本地监控的需求,具有更好的用户体验;另一方面,将控制器与执行器分离在一定程度上减少系统的耦合,方便后续加入新的功能,降低了设备之间的维护难度。
温室水肥灌施系统难以建立具体数学模型,本系统选用目前自动控制领域使用广泛的PID控制模型实现灌施过程中可调速水泵的实时控制。作为被控对象,可调速水泵具有大惯性、非线性和时滞性等特点,需要对PID控制参数进行整定优化,同时引入预测补偿,提前干预PID输入,降低系统延时影响。基于以上分析,本文基于PSO和BP神经网络双向优化PID控制模型,其系统框图如图4所示。
图4 基于PSO和BP优化PID系统框图
结合图4,对于水肥控制系统来说,PID控制器输入为灌施过程中水肥溶度因子(pH和EC)实测值与设定值间的误差,即系统误差e(t);输出为用于调节水泵转速的电压值u(t),被控对象为可调速水泵。其输出电压量值u(t)与系统误差e(t)可用式(1)表示。
(1)
式中:Kp——比例系数;
Ti——积分时间常数;
Td——微分时间常数。
(2)
PSO算法通过模拟鸟群中个体间协作和信息共享进行搜索寻优。利用PSO整定PID控制参数,具有收敛快、鲁棒性好和稳定性高等优势。算法具体描述如下。
假定在维度为D的空间中有N个粒子,则第i个粒子位置可表示
Xi=[xi1xi2…xin]T
(3)
式中:Xi——粒子群中第i个粒子;
xin——粒子i的第n个位置信息。
群体中各粒子通过自我更新和信息共享来不断改变其搜索模式,从而更新自身的位置信息和速度信息,更新的规则如下。
(4)
式中:w——惯性系数;
r1,r2——[0,1]区间随机数;
c1,c2——学习因子;
基于以上分析,利用PSO整定PID控制参数设计流程如图5所示。
图5 PSO整定PID流程图
其具体过程如下。
步骤一:初始化粒子群,规定PSO的种群规模N为100,最大迭代次数M为50,最小适应度值f为0.1,惯性系数ω为0.6,粒子维数D为3,学习因子c1、c2为0.5,粒子位置x取值范围为[-20,20],粒子速度v取值范围为[-1,1]。
步骤二:确定适应度函数,选取积分性能指标(ITAE)作为适应度函数。ITAE指标可表示为
(5)
式中:e(t)——系统误差;
t——积分时间,s。
步骤三:利用式(4)计算粒子适应度值,判断是否满足终止条件(达到最大迭代次数或最小适应度值)。若是,则参数寻优结束,退出算法;否则跳入步骤四。
步骤四:对种群历史最优位置和当前粒子最优位置进行比较,若当前搜索个体更好则对种群历史最优位置进行更新替换。
步骤五:根据式(3)更新粒子位置x和速度v,并转到步骤二。
根据设计流程,利用MATLAB,对水肥系统进行PID参数整定,其中,针对水肥控制系统传递函数的相关研究,选择测试的系统传递函数如式(6)所示。
(6)
针对水肥系统的PID控制参数整定结果如图6、图7所示。
图7 PID控制参数适应度值变化曲线
由图可知,在第13次迭代时确定寻优结果,整定后PID参数值分别为:Kp=5.458 8,Ki=1.936 9,Kd=2.626 6,此时的适应度值为0.969 9。由此可知,PSO优化算法在确定适应度函数的最优适应度值时,其寻优速度和稳定性都有不错的表现。
由于水肥系统的期望输入存在跳变,而作为被控对象的可调速水泵具有惯性,让缓变输出跟踪跳变输会导致初始误差过大,易引起超调。利用BP神经网络对水肥溶液溶度进行预测,可降低水泵造成时延和惯性影响,图8为利用BP神经网络建立水肥浓度信息预测模型训练过程。
图8 水肥浓度因子预测模型训练流程图
在模型构建方面,系统综合考虑水肥系统特点和网络训练速度等多重因素,BP神经网络选用3层拓扑结构(输入层—隐含层—输出层),其中输入和输出层节点数分别选取为3(系统当前时刻、上一时刻和上上时刻水肥浓度因子实测值)和1(下一时刻水肥浓度因子预测值),隐含层节点
(7)
式中:m——输入层节点个数;
n——输出层节点个数;
a——调节常数。
对调节常数a而言,典型值为[1,10],通过对该区间逐一进行训练,比较隐含层不同节点数时的训练误差和测试误差,最终选取隐含层节点数为8,此时的训练误差和测试误差为9.65×10-9和4.9×10-5。
根据预测设计流程,在MATLAB环境下对模型进行训练,训练误差变化曲线和模型测试结果如图9、图10所示。由图9可知,训练过程中,模型的训练误差成指数下降,经过420次迭代后,网络的训练误差达到了设定值。根据图10测试结果显示真实值与预测值间的均方差R2达到1,模型预测效果优秀。
图9 训练模型误差变化曲线
图10 模型测试结果
基于以上各部分分析,基于PSO和BP神经网络优化PID设计流程如图11所示。
具体过程描述如下。
步骤一:用户设定标准水肥浓度因子。
步骤二:将溶液因子预测值与设定值进行比较,计算系统误差e(t)作为PID输入和PSO输入。
步骤三:根据输入的系统误差,利用PSO进行寻优处理,得到PID的控制参数。
步骤四:根据PSO输出的控制参数,PID对进行系统控制,输出电压量控制可调速水泵转速,调控水肥浓度。
步骤五:判断混肥过程是否结束。若结束则直接结束,否则转到步骤六。
步骤六:利用BP神经网络预测模型计算下一时刻水肥浓度因子预测值,并转到步骤二。
图11 基于PSO和BP优化PID模型水肥控制流程
为验证模型效果,采用MATLAB/simulink编写算法和搭建系统进行仿真验证,如图12所示。与传统PID控制器进行对比,测试过程采用一阶和多阶阶跃信号作为标准输入,仿真结果如图13、图14所示。针对一阶阶跃响应曲线的各项性能指标对比如表1所示。
图12 水肥控制系统的simulink模型
根据图13、图14,对比传统PID控制模型,基于PSO和BP神经网络的PID控制模型具有更好的控制效果,系统响应曲线平滑,超调量小且系统稳定性明显更好。
图13 一阶阶跃响应曲线
图14 连续阶跃响应曲线
根据表1可知,系统响应的上升时间和调节时间分别提高9.33%和72.24%,且超调量也相对更小,仅为传统PID控制的11.78%,故可知基于PSO和BP神经网络优化的PID控制算法具有优秀的控制效果和鲁棒性。
表1 控制系统各项性能指标对比Tab. 1 Contrast of various performance indicators of control system
图15为移动端APP绘制的水肥控制系统施灌过程中pH值和EC值的变化曲线,施灌过程共持续一个小时,系统每10 min采集并返回一次传感器数据供用户查看参考。根据监测结果,灌施过程中水肥浓度保持平稳,pH和EC值正常。相较传统灌溉施肥方式相比,灌水量降低10%,用肥料节约15%。
图15 水肥控制系统实时情况
本文以PID控制模型为基础,通过PSO优化PID控制参数和利用BP神经网络进行水肥预测。在一定程度上解决了水肥控制系统的非线性和时滞性问题,具有一定的使用价值。
1) 系统基于物联网架构和相关技术,由数据采集模块、水肥控制模块、主控制器和移动端APP四部分组成,通过各部分间相互配合,共同实现了数据采集、数据处理和远程控制等功能。
2) 系统以采集的水肥管道数据为基础,通过PSO-BP优化PID模型进行施灌控制,系统响时间和调节时间分别提高8.72%和60.40%,稳态误差仅为传统PID控制的9.31%。较传统方式相比,灌水量和施肥量分别降低10%和15%。
3) 系统客户端基于安卓平台,实现了可视化监测,操作界面简洁,运行稳定。