基于模糊免疫PID算法的变量施肥技术研究
2017-12-16韩晓雷
杨 宇,韩晓雷
(内蒙古机电职业技术学院 机电学院,呼和浩特 010070)
基于模糊免疫PID算法的变量施肥技术研究
杨 宇,韩晓雷
(内蒙古机电职业技术学院 机电学院,呼和浩特 010070)
提出了针对多种肥料自动配比变量施肥的技术方案。机械结构方面设计了多个独立的料箱,每个料箱均能够独立被微控制器控制;肥料流量控制则是根据肥料流量以及施肥机械的行走速度,采用了基于模糊免疫PID算法对伺服电机进行控制;在算法性能方面,采用MatLab软件对模糊免疫PID算法和传统PID算法做了比较,证明了算法的鲁棒性和稳定性;最后,设计田间作业实验方案,通过实验数据证明了该变量施肥系统施肥精度高、可重复性好。
变量配肥施肥;伺服电机;模糊免疫PID;微控制器
0 引言
目前,粮食产量的提高主要是由扩大种植面积、化肥施肥量及农药等因素决定的。其中,化肥施肥量在农业生产过程中消耗较高但利用率较低,这样会造成土壤肥力下降、地下水污染等问题[1-3]。因此,研究变量精准施肥技术具有重要的现实意义。
目前,王熙[4]等人通过微控制器实时调整施肥机械的传动比,从而成功实现变量施肥;D.Mourre[5-6]等人设计了基于神经网络的电液比例阀控制方式,来实现变量施肥;Arnold W.Schumann[7-8]则将Green Drop公司变量施肥装置中的液压伺服阀改为电液比例阀,优化了该设备的施肥性能。国内外学者以变量施肥装置为基础,对其控制理论、机械结构等方面均进行了深入研究。
本文设计了基于模糊免疫PID算法的变量施肥系统。机械结构方面采用3个独立的肥料箱分别装氮磷钾3种肥料,3种肥料流量分别通过独立的排肥轴控制,实现变量配肥的目标。控制系统根据施肥机械的实时行走速度和排肥轴上的肥料质量,对氮磷钾3种肥料的实时流量进行调节。实时肥料流量精准调节则是由微控制器采用模糊免疫PID算法对伺服电机的转速进行精准控制来实现的。
1 变量施肥控制系统总体设计
1.1 机械结构设计
农作物的肥料主要是以氮、磷、钾为主,因此在变量施肥系统中设计了3个肥料箱子。肥料的输送主要是依靠伺服电机来实现,施肥量与电机的转速成正比,因此伺服电机转速决定了肥料的精准投放。
变量施肥控制系统主要由肥料箱、伺服电机驱动机构、开沟器、输送肥料管路及肥料称重传感器构成,如图1所示。其中,肥料箱为1个主料箱、2个辅料箱。伺服电机驱动机构主要是伺服电机和减速机总成,肥料输送机构主要由联轴器将动力传送给排肥驱动轴。
图1 变量施肥系统田间工作照片
1.2 控制系统设计
变量施肥系统的控制原理为:M=L·V·W。式中,M为实时的肥料流量;L为某肥料的处方施肥量;V为施肥机械的实时速度;W为变量施肥设备的幅宽。
因此,变量施肥控制系统需要实时计算当前施肥机械的行走速度V,根据行走速度V实时控制肥料的输出流量。肥料的输出流量则依靠控制排肥轴中的伺服电机转速来实现。根据以上变量施肥的功能需求,本文设计的控制系统框图如图2所示。
图2 变量施肥控制系统框图
轮速传感器将施肥机械的实时轮速通过SPI总线传送至微控制器STM32F107中。轮速传感器采用霍尔传感器,设备安装如图3所示。施肥机械行驶过程中会使轮速传感器产生周期性的脉冲信号,微控制器
通过统计脉冲数量计算得到当前是施肥机械的行走速度。
图3 轮速传感器
微控制器STM32F107输出的控制信号经过电机驱动芯片IR2103输送至伺服电机,电机驱动电路如图4所示。
图4 电机驱动电路设计
称重肥料的重量传感器采用德州仪器公司的TIDA-00215,该传感器原理是将质量转换成距离进行测量,输出分辨率为2g。质量传感器部分及其滤波电路图如图5所示。
图5 传感器滤波电路设计
2 伺服电机控制原理
伺服电机转速控制方面采用了基于模糊免疫的PID算法,可保证电机转速的精确性。
2.1 免疫系统原理
免疫系统(immune system)是由具有免疫功能的器官、组织、细胞和分子组成,是机体免疫机制发生的物质基础。当生物体遭到病原体、有害异物等外来抗原侵犯时,生物体会通过吞噬作用或产生特殊生物酶来毁坏抗原,淋巴细胞起主要作用。淋巴细胞主要包括T细胞和B细胞。抗体由B细胞产生,执行体液免疫功能;T细胞用来调节B细胞的数量。T细胞分为和增强Th和抑制Ts细胞两种,分别用来增加和减少B细胞的数量,执行特异细胞免疫和免疫调节的功能。
当生物体遭到抗原入侵时,信息会传递到T细胞,T细胞通过调节B细胞数量,起到快速消灭抗原又不损害生物体正常功能的作用。当抗原较多时,增强Th细胞数量增大,刺激增强产生B细胞,B细胞产生抗体消灭抗原;当抗原减少时,体内的抑制Ts细胞数量增大,刺激减少产生B细胞;经过反复调节,免疫反馈系统趋于平衡。通过免疫机理对抗原的快速反应和稳定的免疫系统来完成抑制机理和主反馈机理的相互协作[9]。免疫系统原理如图6所示。
图6 免疫系统原理图
上述免疫规则用数学表达式如下:设第k时刻抗原的数量φ(k),则Th细胞的输出量为
Th(k)=k1φ(k)
(1)
其中,k1是一个正数,为刺激因子。因此,Th细胞的输出量与抗原的数量为正比关系。
Ts细胞的输出量为
(2)
其中,k2是一个正数,为抑制因子。S(k)为B细胞的总刺激量;ΔS(k)为总刺激在k时刻的变化量。函数f()是非线性函数,其值域为[0,1]。
B细胞接受的总刺激量为S(k),即
S(k)=Th(k)-Ts(k)
=k1{1-η[f(S(k),ΔS(k))]}φ(k)
(3)
其中,η=k2/k1;η为控制响应的稳定性。
2.2 模糊免疫PID控制器结构
模糊免疫PID控制器是在传统增量式PID的基础上加上免疫控制算法模块和模糊推理模块得到的,如图7所示。其中,免疫控制算法模块是基于免疫控制原理的。
图7 模糊免疫PID控制器原理图
设免疫控制算法模块的控制器的比例增益为kp1,由式(3)可知
kp1=k1{1-η[f(u(k),△u(k))]}
(4)
由图(7)可知,免疫控制算法输出量为
u(k)=kp1e(k)
(5)
免疫控制算法模块的控制器是一个非线性控制器。将免疫控制算法模块和传统增量式PID控制器串联,从而得到了模糊免疫PID控制器。其控制算法如下:
已知传统增量式PID控制器算法,即
u(k)=u(k-1)+△u(k)
(6)
△u(k)=kp[e(k)-e(k-1)]+kie(k)+
kd[e(k)-2e(k-1)+e(k-2)]
由图2可得模糊免疫PID控制器算法为
u(k)=u(k-1)+kp1[e(k)-e(k-1)]+
(7)
由式(4)可得
u(k)=u(k-1)+
k1{1-η[f(u(k),△u(k))]}[e(k)-e(k-1)]+
(8)
其中,函数f()是通过模糊推理模块来实现的,任意非线性函数都可以通过模糊控制规则来逼近。模糊控制器的维数越高,控制器结构越复杂,系统的控制精度越高,其构建难度也越高。本文通过二维模糊控制器逼近函数f()。
模糊控制器的输入语言变量为控制器的控制量u(k)和控制信号变化量Δu(k)。f[u(k),Δu(k)]为输出变量。用正(P)和负(N)两个模糊集来模糊化输入变量,用正(P)、零(Z)、负(N)等3个模糊集来模糊化输出变量。因此,确定以下模糊规则:
1)如果u(k)为正,且Δu(k)为正,则f[u(k),Δu(k)]为负;
2)如果u(k)为正,且Δu(k)为负,则f[u(k),Δu(k)]为零;
3)如果u(k)为负,且Δu(k)为正,则f[u(k),Δu(k)]为零;
4)如果u(k)为负,且Δu(k)为负,则f[u(k),Δu(k)]为正。
2.3 直流伺服电机的数学模型
已知直流伺服电机的数学模型为
(9)
其中,Tj表示电机时间常数;Td表示电磁时间常数;n表示转速;ku表示电压时间常数;Ua表示电压。对式(9)进行拉氏变换可得
TjTds2n(s)+Tjsn(s)+n(t)=kuUa(s)
(10)
由此可得直流伺服电机的传递函数为
(11)
3 控制效果测试
将模糊免疫PID控制算法用于变量施肥施肥控制系统,编制其MatLab程序,并进行了仿真控制实验,与传统的PID控制算法进行比较。仿真过程中,式(11)中的ku、Tj、Td这3个参数分别取ku=1、Tj=5、Td=3/5。
仿真控制结果如图8所示。伺服电机转速的目标值设置为2 000r/min,起始时间为0s。从图8中可以看出:基于模糊免疫PID控制算法的控制器可以快
速、准确地将目标值稳定控制在2 000r/min,没有任何超调量,而传统增量式PID控制算法响应速度较慢。在500ms时加入扰动信号,模糊免疫PID控制器响应迅速,可以将电机转速再次稳定地控制在2 000r/min,而传统增量式PID控制算法超调量较大,响应速度较慢。
图8 仿真控制结果图
4 变量施肥系统排肥性能试验
变量施肥系统实验分为排肥性能实验及控制效果实验。排肥性能实验的基础主要依据排放肥料的均值、肥料标准差及肥料变异系数来验证。肥料选择尿素、磷酸肥、钾肥固体废料作为实验对象,设置伺服电机设置5个转速,所排肥料最终收集在料筒中进行称重。根据肥料数据分别计算了所排化肥的均值、标准差和变异系数,数据分别如图9所示。
图9 田间施肥实验数据
由图9(a)可知:3种肥料的排肥均值与伺服电机的转速成正比,因此可以通过调节伺服电机转速的方式来改变排肥量。由于3种肥料颗粒大小不同,因此造成了转速变化有少量的差异。由图9(b)可知:氮磷钾3种肥料的排肥标准差也是与转速成正比,变异系数则在转速达到600r/min后逐渐一致。
变量施肥系统控制实验于2015年11月在河北农业科学院某试验站中进行。实验设计为:分别选取80、160、280、450kg/hm2等4个施肥量级,不同的氮磷钾配比,在使用变量施肥系统完成后,采用精度为5g的电子秤对接料桶中的肥料进行称重。实验结果如表1所示。
表1 变量施肥实验结果
表1试验结果表明:变量施肥控制系统的施肥精度大于94%,微控制器通过模糊免疫PID算法能够准确地控制伺服电机,从而使得变量施肥系统能够满足施肥准确度的需要。
5 结语
1)设计了变量施肥系统的机械结构和控制系统,以微控制器STM32F107作为控制器,使用轮速传感器测量施肥机械的行走速度,通过3个伺服电机来调节氮磷钾的排肥量。
2)在伺服电机控制算法方面,设计了基于模糊免疫PID的控制算法,克服了普通PID在稳定性、鲁棒性方面的缺点,并通过仿真实验对模糊免疫PID和传统PID算法进行控制效果的对比。
3)设计了田间作业实验方案,通过实验数据证明了该系统施肥精度大于90%,且施肥效果重复性好。
[1] 介站.我国谷物随机损失测试展望[J].农机化研究,2009,31(7):5-9.
[2] 舒秀平.焊接机器人伺服控制系统设计[D].长沙:湖南大学, 2013.
[3] 马国红,熊睿,聂军,等.焊接机器人直流电机控制系统PID仿真比较[J].微电机,2013(11):29-32.
[4] 张莉,朱海洋.混合模糊PID控制器在伺服控制系统中的应用[J].自动化仪表,2010(6):61-63.
[5] 张云辉.基于模糊免疫PID控制下的风电变桨控制研究[D].重庆:西南交通大学, 2011.
[6] 朱伊姝,许力.模糊免疫PID算法在温度控制系统中的应用研究[J].自动化与仪表,2012(8):42-44.
[7] 王学伦,程志,付磊,等.伺服控制系统中模糊免疫PID控制器设计[J].微特电机,2011(4):58-61.
[8] 魏纯,李明,于良军.基于Kalman滤波的联合收获籽粒清选损失监测研究[J].农机化研究,2015,37(3):23-27.
[9] 樊立萍,马怀通,刘义.基于模糊免疫PID的轧机液压位置自动控制[J].电气传动,2015(2):58-62.
A Variable Fertilization Control System Base on Fuzzy Immune PID Control Algorithm
Yang Yu, Han Xiaolei
(Inner Mongolia Technical College of Mechanics and Electrics, Hohhot 010070, China)
Servo system is the most important part of variable fertilization which the motor position accurate control is the key. In view of contradiction between rapidity and stationary existed in the variable fertilization progress of conventional PID control algorithm. In this paper, an fuzzy immune PID controller which increases the fuzzy immune feedback processing module compare with traditional PID controller. Finally, the adaptively adopt accurate control was finished on the motor position of servo system. The results show this new controller has many advantages such as fast response speed, strong adaptability, high controlled control precision.
variable rate fertilization; servo motor; fuzzy immune PID; MCU
2016-10-25
内蒙古自然科学基金项目(2016gzc170)
杨 宇(1984-),男,内蒙包头人,讲师,硕士,(E-mail)79046248@qq.com。
S147.2;TP273
A
1003-188X(2017)10-0203-05