方 杰,张 杰,马 娟,田 翔,于秀针,冯 斌
(1.新疆农业大学机电工程学院,乌鲁木齐 830000;2.新疆农业科学院农业机械化研究所,乌鲁木齐 830000)
【研究意义】畜牧养殖是新疆传统优势[1-2]。饲料的科学配制是实现精细化养殖的关键。在给料过程中物料下落中出现滞后性、非线性,在配料称重系统中容易产生较大的称重误差并直接影响着精度和配比,使得传统的配料系统还不能满足当前精细化养殖的要求。【前人研究进展】车璐等[3]对物料称重误差分析并探明影响误差的主要因素;何武林等[4]在研究配料系统中使用PLC作为主控设备实现饲料生产过程自动控制系统;刘文秀等[5]通过模糊自适应控制算法替代PID算法实现工业上的误差控制。刘超等[6]在总结自适应平滑预测等传统模型提出了利用神经网络的学习能力提高预测精度。【本研究切入点】目前在中小型牧场中饲料配制仍较多采用人力上料称重和无控制策略的控制平台等方式,神经网络具有逼近一切函数的优点,近年来在智能控制中获得了广泛应用,BP神经网络模型具有前向传播和后向传播的特点,拥有更好的自学习能力,但在反向传播算法中,容易出现在局部最小化问题,针对中小型牧场饲料称重配料的作业需求以及饲料动态称重存在的称重误差问题,需研究基于神经网络PID算法的优化饲料配制系统。【拟解决的关键问题】针对肉用牛配方的饲料称重系统设计方案;搭建附加动量项BP神经网络PID网络模型作为控制策略并通过OPC技术实现复杂算法在PLC控制器中的应用,获得并调整PID控制器参数,实现饲料称重系统结果最优;利用网关完成PLC数据的云端保存,实现牧场的包含饲料配比和重量在内的基础数据的存储,为优质、高效的饲料配制和牧场管理提供保障。
1.1.1 多集成肉牛饲料制机组
精料采取5个倾斜式螺旋给料的方式将原料从入料槽运送到称重料仓中;料仓称重后精料由底部的水平螺旋输送机运出至一端,再通过倾斜螺旋输送机依次传送物料到粉碎和搅拌机;完毕后随垂直输送机传入存储料罐,料罐存储同一比例精料。粗料为粉碎后物料,备好的粗料由皮带输送机运送到混合料仓(TMR混合机)里称重,两个皮带输送机依次按量给定粗料,料罐的固定比例精料由水平输送机传入混合仓,混合后充分搅拌后进入喂食阶段:1.精料称重仓 2.螺旋给料机 3.水平排料机 4.精料粉碎机 5.混合料仓 6.存储料罐 7.混合精料给料机 8.搅拌仓 9.粗料传送带。图1
图1 工艺流程示意
配料系统以PLC为控制核心。配料工作过程中PLC采用西门子S-200 smart型,其指令集丰富、支持多通讯协议等特点在中小规模的农牧场建设中得到广泛的应用。运行在工控机上的组态软件WinCC作为交互界面,控制柜开关作为辅助控制,PLC称重数据通过ModBus协议反馈于组态软件作为数据显示和本地存储,同时利用网关实现数据传送云端。组态软件提供配方的新建和增删,电机控制,数据实时显示和报警等功能。
1.1.2 系统控制的硬件
称重料仓与支撑架间安置4个称重传感器用于称量。称重传感器采用量程为1 000 kg丽景传感器,该型传感器为电阻应变式传感器,输出信号为电压型模拟量,传感器应变区域表面上粘贴四片应变电阻,组成惠斯汀电桥[6]。当受外力时,弹性体发生形变使电桥失去平衡,输出与外力成正比的电压信号,实现传感器对重量的感知。
传感器的输出信号是以毫伏级电压呈现的模拟量[7]。一个称重平台使用4个称重传感器并联输出,传感器与PLC之间使用JB-154S称重变送器和数字仪表连接。称重变送器对传感器输出的毫伏级微弱信号进行放大、转换等方式;同时变送器“四进一出”的特点,输出模拟量连接数字仪表,变换成可读的重量信号,利用变送器和仪表可将连接的4个称重传感器信号转换成稳定的,可供仪表显示和PLC接收的信号[8]。同时数字仪表支持可编程和独立供电,一端接传感器,另一端通过RS485接口,ModBus-RTU通信协议将称重信号传入PLC,利用可编程功能在编程中实现去皮重等。
电机控制采用AC70型变频器,分布在精料称重段的给料和排料以及混合日粮给料段控制电机转速和转动方向。称重段一台变频器控制5台给料器,另一台变频器控制水平的螺旋输送器。混合日粮段变频器连接4台电机,电机分别控制2个粗料传送皮带和2个螺旋输送器传送粗料和精料。变频器独立供电并接收PLC中模拟量信号。变频器开启设置波特率和站地址等。变频器以“一带多”的方式,控制多台电机,为确保安全,变频器采取中间继电器的方式控制电机,每次运送物料仅启动一台电机,关闭其他电机。
网关模块。在设计中使用网关实现这一功能,当电机停止、称台称重稳定后,对应的实际称重数据数据传输到物联网平台。云平台新建设备并复制https地址和秘钥,在网关设备初始化中设置数据发送地址。使用手机APP链接该https地址及访问秘钥接收数值。
此外控制系统还包含其他电路,如粉碎、搅拌电机的启停等。
1.1.3 系统控制的软件
控制系统分为精料制作部分和日粮混合部分,精料加工部分包含原料称重、加工和存储。
在精料制作部分,上位机为组态软件并通过以太网接口,modbus RTU与PLC通信。用户自建配方,由于称重容器容积限制,组态软件将对精饲料总值和粗饲料总值分别做判断是否超出称重范围。配料过程中组态软件作为控制端。在自动配料模式下,精料制作端最先由5个螺旋输送器顺序启动输送不同精原料;称重完毕后精料加工部分提前开机,由于设备安全考虑启动设置自锁,仅当加工段的后置机器运行后前置机器才能开启,计时器20s后精料称重料仓排料;料仓复零后10s水平螺旋输送停机,随后每隔10秒粉碎机给料器、粉碎机、粉碎出料器和搅拌给料器依次停机,搅拌仓内则继续搅拌3 min后停机并声光报警提示加工完毕,此时暂存料罐前的输送器开始运行;打开排料门,物料进入暂存料罐,同时系统可进入下一轮精料称重与加工。
在日粮混合部分,输入已加工精料总值和各粗料值。系统运行皮带机顺序给料至设定值时停机,配料结束进入搅拌环节。
在各称重部分,设置配方参数后,精料原料按照顺序依次称重。物料1开始称重时,PLC先访问可编辑的称重模块,通过指令可实现称重平台的归零及初始化,上位机将配料各相关参数传输给现场的PLC控制系统作为各部分称重的额定重量值。称重平台的传感器并联传输的电压值传递至变送器经过数模转换后得到对应的称重数值为称重当前值,称重模块提供当前值的现场显示,同时也可将称重当前值反馈至PLC中,并做条件语句判断,当实时重量值达到额定值时,PLC控制电机停止,这样完成了第一个物料的称重存储过程。每台电机完成当前称重后,组态软件的数值显示当前料仓累计值。混合日粮端称重与精料称重端相似,精料进入搅拌机内与粗料混合后启动搅拌功能,搅拌完毕即进入喂食环节。图2
称重完成前的空中余料和物料下落冲击力所引发的传感器值不准确机器未停止给料是误差的主要原因。配料控制算法程序在每次配料结束后读取存储寄存器地址进行相关参数的更新。控制算法依赖OPC工具箱完成MATLAB文件与组态软件之间通信,实现复杂算法在PLC上智能控制。
图2 PLC给料称重程序流程
1.2.1 受控模型与PID算法
PID算法被广泛应用在PLC控制过程中,PID的内在含义是比例积分微分控制器,是对三种不同的控制策略的组合。该算法被广泛应用于工业控制系统中并起回路反馈的作用[9]。比例积分微分控制器的算法通过测量过程操作参数即连续的下落颗粒体物料,使得自动化控制系统能够以安全且实用的方式操作复杂的生产过程。
PID控制器根据给定值与实际输出构成偏差做控制,在PID算法中设置采样时间并用离散信号表示[10]。图3
经典PID控制器数学关系如下:
(1)
拉式变换后得到:
(2)
图3 PID算法示意
由上得经典的增量式PID控制算法为:
u(k)=u(k-1)
+Kp(error(k)-error(k-1))
+Kierror(k)
+Kd(error(k)-2error(k-1)
+error(k-2)).
(3)
PID控制器所需的输出可以通过调整控制器来获得。有多种不同的技术可用于从控制器获得所需的输出,例如试错法、Zeigler-Nichols和过程反应曲线等[11]。
1.2.2 动量项BP神经网络PID算法
人工神经网络的设计用节点代表神经元,并代表一个特定的函数,两个节点之间的连接代表信号的权重[12-14]。
该神经网络模型由三部分组成:输入层、隐藏层和输出层。输入层为信息的输入,用于输入参数信息,并将参数转换为向量。隐藏层也可以被称为中间层,是除了输入与输出层以外的所有层,增加该层使得网络获得更高的精度的同时也变的复杂。
设计中优先只有一个隐藏层的网络。通过调节隐藏层中的神经元个数可以降低错误,最终选取了由5个神经元组成的单隐藏层结构。输出层输出PID三个参数。神经网络的数学计算主要由前向传播、后向反馈和梯度下降三部分构成。向传播算法是根据网络的输入值和输出值得到误差,据此实现对网络的再调解。后向传播算法的思想就在于学习完训练样本后误差要尽量的小[15]。
梯度下降涉及分析成本函数曲线的斜率。基于斜率,调整权重,以逐步最小化成本函数。梯度下降过程是参数沿着梯度相反的方向进行迭代搜索直到遇见最小值的过程[16]。在前向传播中由线性变换和非线性变换组成,线性变换可以视为一个线性回归[17-18]。非线性变换将线性回归的结果转换为一个实数值,也称激活函数。激活函数是对输入做非线性映射,激活函数有多种,使用在不同的场景,其中比较典型的是输出(0,1)和(-1,1)的函数。在训练中为了得到一组最优的权值,通过损失函数不断优化并得到最优的权值。损失函数的选取与激活函数一样,需要考虑适合的场景。反向传播是一种高级算法,能够同时更新神经网络中的所有权重[19]。
设计了输入层3个神经元,隐藏层5个神经元,输出层3个神经元的网络结构。输入层用公式表示。图4
图4 BP神经网络算法示意
Oj(1)=x(j).
(4)
具体的输入层各个神经元如下:
x1=Win(k).
(5)
x2=Wout(k).
(6)
x3=error(k).
(7)
隐藏层采用双曲正切函数作为激活函数,其值域在(-1,1)。
(8)
输入层神经元和权重相乘后叠加经过激活函数后输出。
(9)
Oi(2)(k)=[neti(2)(k)].
(10)
一般输出层采用值为非负数的激活函数,设计中值域为(0,1)之间:
(11)
隐藏层神经元的输出乘以权重叠加至输出层,并经过激活函数得到训练目标。
(12)
Ol(3)(k)=g[netl(3)(k)].
(13)
其中输出层各神经元表示为PID控制器的三个参数值。
Ol(3)(k)=Kp.
(14)
Ol(3)(k)=Ki.
(15)
Ol(3)(k)=Kd.
(16)
在算法中采用的平方差函数作为成本函数。
(17)
附加惯性项bp神经网络的权重更新公式:
(18)
(19)
上述公式中的一未知项近似的用sgn()来表示,由此带来的变化通过学习率的调节来补偿。
(20)
同时由输入层、隐藏层、输出层传输公式可得如下:
(21)
(22)
(23)
(24)
由上可知:
Δwli(3)(k)=αδl(3)Oi(2)(k)+ηΔwli(3)(k-1).
(25)
(26)
同时由tanh()函数特性可得:
g'(·)=g(x)(1-g(x)).
(27)
神经网络根据成本函数和梯度下降法反向传播逐层更新权值。由前式同理可得输入层与隐藏层间的权值更新公式
Δwli(2)(k)=α(k)δl(2)Oi(1)(k)
+η(k)Δwli(2)(k-1).
(28)
(29)
(30)
研究表明,在MATLAB中搭建simulink仿真,其中神经网络模型和PID算法通过使用S函数进行自定义封装。clock函数提供时钟信号,当t=0时进行初始化,学习率为0.001,动量项系数为0.001,权值矩阵使用随机函数初始化,训练数据预处理方式为均值化。仿真中建立了受控对象的系统函数,并将输入信号确定为阶跃信号,另搭建了PID模型作为对比。图5~7
图5 BPNN_PID算法示意
图6 simulink仿真
图7 响应曲线
研究表明,作为对比搭建的常规PID并出现约28%的超调现象并有较长的超调量调节时间,与常规PID相比新算法没有超调现象,改进BP神经网络PID有更好的适应性,上升时间更短,响应速度对比为3∶1,调节速度更快。改进BP神经网络PID控制器可以能够对三个参数进行及时的调整,进而对任意非线性输入信号实现良好的跟踪控制,能大大改善控制过程的响应速度、调节时间、超调量等,表现出更强的抗扰能力及适应性,提高控制过程的稳定性、精确性与鲁棒性。表1,表2,图8
图8 系统装置
表1 对比试验
表2 配料试验
该系统与何武林等[4]系统比较,能够通过算法对系统进行学习和调节配料误差,更加符合智能化的需求;与刘超等[6]系统在方法上比较,该系统通过神经网络动态调整PID算法参数,使得模型可以根据实际配料误差的变化控制机组状态实现精准配料,避免了仅采用BP神经网络时原始样本数据对控制系统的直接影响,适应性更强。
称重系统精料原料和加工料采用螺旋给料器、粗料采用带式输送机作为物料的给料机构。依据《农业机械设计手册》[20],螺旋机构设计的主要参数为倾角40°、轴径40 mm、叶片直径200 m、螺距160 mm,间隙5 mm、填充率0.35、电机功率4 kW。皮带输送机参数为带宽600 mm、倾角10°、电机功率3 kW。各变频器默认频率给定为20 Hz。
在验证配料系统和优化算法中,采用玉米作为精料原料,粉碎的苜蓿秸秆作为粗料进行试验,不同机构以400 kg为目标值,通过单一条件下系统运行的对比试验并以配料精度为指标评估算法的优化效果。
4.1BPNN-PID神经网络算法对系统实现了优化,在运输精料的螺旋给料试验中,相同条件下,神经网络算法使得误差相比于传统控制系统平均值从402.62 kg降低到401.17 kg;在运输粗料的皮带给料试验中,同条件下误差从平均值从401.31 kg降低到400.27 kg。精度明显提高并且标准偏差小,误差趋向平稳。
4.2经计算平均配料精度为99.6%。在试验中单个传输机构多次开关机,重复了空中余料下落环节使得配方试验误差比单机构试验误差略大,但总体误差仍能得到有效控制。
4.3附加动量项BP神经网络PID算法作为控制算法。在控制中具有更高效的表现。
4.4在验证试验中算法优化后的称重误差得到降低,在1 200 kg日粮配制中,配料精度为99.6%。