基于模糊PID的鸡舍智能温度控制系统设计
2020-04-22张翠
张翠
【摘 要】 本文介绍了一种基于STC89C52单片机实现模糊PID控制鸡舍大棚内温度控制方法;为解决常规PID控制算法无法适应复杂的、非线性的、时变的控制系统问题,采用热电偶传感器对鸡舍温度进行实时监控,结合热电偶本身的非线性特点,采用单片机与模糊PID相结合进行温度控制,从而提高响应的速度和对温度的控制精度,具有一定的实用价值。
【关键词】 模糊PID;热电偶;单片机;温度控制
中图分类号:S24 文献识别码:A 文章编号:2096-1073(2020)02-0070-73
Design of intelligent temperature control system for coop
based on fuzzy PID
ZHANG Cui
(Bowen College of Management Guilin University of Technology Guilin, Guangxi 541006)
[Abstract] This paper introduces a fuzzy PID control method based on STC89C52 MCU for temperature control in chicken coop. In order to solve the conventional PID control algorithm cannot adapt to the complex, nonlinear, time-varying control system, using the temperature real-time monitoring of the henhouse thermocouple sensor, based on the nonlinear features of the thermocouple itself, and combined with fuzzy PID temperature control by single chip microcomputer, thus improve the response speed and control precision of temperature, has a certain practical value.
[Key words] fuzzy PID; thermocouple; single chip microcomputer; temperature control
1 引言
温度是工业、农业生产过程中最重要的控制因素之一[1]。传统的农业生产靠天吃饭,有较强的季节性,而且产量较低。当前,农业生产正在朝规模化、现代化方向发展,可以利用现代计算机技术、自动控制技术对环境进行控制、干预,达到提高产量的目的。在家禽养殖业中,不同的时期需要不同的温度环境,而且不能变动太大,保证家禽的疾病最少,快速生长,达到最大经济效益。
本文采用模糊PID控制器与单片机结合构建一个温度控制系统,并在鸡舍中应用,实现温度控制,改善鸡舍的温度环境。系统采用单片机与模糊PID相结合进行温度控制[2],有效解决鸡舍温度变化过快,系统不稳定的问题,从而使得鸡舍的温度与期望值相吻合。
2 系统设计方案
2.1 总设计方案
本系统采用STC89C52单片机为控制中心,负责所有数据的运算处理,并在各模块间进行控制信息的传送。温度采集模块中采用热电偶采用鸡舍的温度信息,经过模数转换后传送到单片机;单片机获得新的温度信息后,与系统设定的温度值进行比较,产生一个偏差值,模糊PID控制模块对偏差值进行控制处理,并将处理信息返回值單片机,如果偏差值过大,则激发蜂鸣器报警,且启动加温、降温处理模块进行温度的调节,完成温度控制。温度显示模块负责所有的温度及变化信息的显示。按键模块用与用户的交互,用户通过此模块根据自己的需求设定温度值。系统存储模块用于按时间序列存储温度信息,为用户了解环境的温度变化及决策提供帮助。除上述模块外,还有一些其它的外围模块,系统的设计总体框图如图1所示。
2.2 温度采集转换与温度存储模块
鸡舍的生产环境较差,对电偶的需求量较大,本系统采用K型热电偶进行温度采集,选择此电偶可降低系统成本。热电偶测量采用的温度的原理是根据电偶的正端与负端之间的电势差得到。
本系统利用单片K型热电偶数字转换器MAX6675,首先读取K型热电偶传感器检测的温度,然后,进行信号放大及转换处理,在处理过程中,要解信号变抽换的决线性化、冷端补偿、模数转换问题。该转换器最大可以分辩0.25℃的温度差。系统采用AT24C02数据存储芯片作温度数据存储模块,两个模块与单片相连的电路图如图2所示。
2.3 软件方案设计
完成系统硬件设计,现场布局以后,利用C语言和程序设计完成控制程序设计。第一步,对系统进行初始化,主要由主机发出一个复位脉冲,然后等待来自MAX6675的响应,在此期间也对MAX6675进行内存设置。第二步,系统温度的读取及显示。如果第一次开机,系统将进入读取温度,计算出和刷新,然后由微控制器来转换温度,最后由LCD显示;如果不是第一次打开,就会直接完成温度转换,显示所测量的温度值,再由PID算法进行运算,再由LCD显示。这个过程的时间很短,子程序调用被实时显示。在测温过程中可以设定温度的显示范围,如果超过设定温度范围,蜂鸣器和LED则会发出报警信号,并发出控制信号进行加热或降温,主程序流程图如图3所示。
3 模糊PID控制设计
3.1 常规PID控制
常规PID控制器具有算法简单、稳定性好、可靠性高的特点,是过程控制中最广泛的一类基本控制器[3],它对于各种线性定常系统的控制,都能够获得满意的控制效果,尤其适用于被控对象参数固定、非线性不很严重的系统,可以采用PID控制,PID控制的理想方程如公式(1)所示:
其中,U(t)表示模糊控制的有t时刻的输出,K_P为比例增益,K_I积分增益,K_D为微分增益;PID算法对这三个参数的调节,与t时刻产生的误差e(t)线性相关。
由于工业生产过程中被控对象的负荷多变、干扰因素复杂,常规PID控制与输出误差成线性相关,当变化的频率、幅度较大时,系统会产生振荡。要获得满意的控制效果,就需要对PID的参数不断地进行在线调整。有时由于这些参数的变化无常,往往没有确定不变的数学模型和规律可循,利用模糊控制器调节它们不失为一种实用、简便、可行的选择。
鸡舍所在的环境较复杂,一般都会选择在野外、山林中,这些地方自然条件优越,空气较好,但是温度变化无常,温度控制系统是一个大滞后、大惯性、非线性、时变性的控制系统,所以很难建立一个准确的数学模型。因此,采用传统的常规PID控制器会经常出现鸡舍温度波动大或温度分布不均从而影响鸡的正常活动,或出现疾病传播的问题。采用模糊PID控制器能充分利用操作人员进行实时非线性调节的成功实践操作经验,充分发挥PID控制器的优良控制作用,使得控制效果达到最优。
3.2 模糊PID控制原理
模糊PID控制的核心是以系统误差e及其误差的变化率ec的两个参数作为系统的输入,在系统中建立模糊变换规则[4],由规则计算出?K_P、〖?K〗_I、〖?K〗_D,即K_P、K_I、K_D三个参数的变化值,实现了根据误差e及其误差的变化率ec与PID控制参数的非线性关系,达到模糊控制效果,系统不断的对e和ec进行检查,实时调整K_P、K_I、K_D三个参数的值,实现系统的实时控制要求。控制系统原理图如图4所示。
其中,偏差信號e(t)=r(t)-y(t);r(t)是期望输入值;y(t)是实际反馈输出值;偏差变化率
PID控制器的参数要根据模糊推理得到,可以实现误差调节参数据根据误差及误差变化的情况动态调节,快速达到平衡。
模糊PID控制系统的输入是误差e及其误差的变化率ec,它的输出变化量?K_P、〖?K〗_I、?K_D,这三个参数分别对系统PID原来设计参数K_P、K_I、K_D进行修正,系统实际的输出取值分别是K_P+?K_P、K_I+?K_I、K_D+?K_D。
假设它们的模糊子集分别取{NB,NM,NS,ZO,PS,PM,PB}七个等级,论域的范围是{-6,-5,-4,-3,-2,-1,0,1,2,3,4,5,6},常用的隶属度函数有三角形函数,钟形函数,高斯型函数,梯形函数以及Sigmoid型函数,本文采用的是三角形函数,如图5所示。
模糊规则是模糊推理过程中比较重要的部分,根据误差e及其误差的变化率ec与比例、积分、微分三个系数之间的关系,用“If--Then”形式来描述的模糊推理规则。
规则1:If X is A1,且Y is B1, Then Z is C11
规则2:If X is A1,且Y is B2, Then Z is C12
……………
规则n:If X is An,且Y is B1, Then Z is Cn1依次类推。
模糊控制器的规则是使得对温度的调节更加精确,更加及时,避免超调以及稳定性等。
4 系统仿真实验
为了验证系统的性能,采用Matlab2015a软件中simulink模块对被控对象进行仿真分析[5-6],通过常规PID控制与模糊PID控制进行比较,从而验证了模糊PID控制的优越性。假设鸡舍加热环境采用水暖管道加热方式,采用单片机控制继电器通断电的方式从而实现加热或降温处理,在达到预设的温度值之前,会存在一定的延时,假设被控对象的温度传递函数模型为:
其中参数K是被控对象的静态增益,T为控制对象的时间常数,τ为被控对象的延时时间,则通过simulink仿真(假设K=0.85,T=200, τ=40)得到的实验效果图如下图6所示。
5 结论
本文设计了一个基于单片机的鸡舍温度控制系统,以单片机为温度控制的核心,结合模糊PID算法,达到提高控制稳定性的效果。由Matlab仿真结果显示,采用模糊PID控制时,系统的超调量比常规PID有所减少,同时响应的速度有所提高,参数自我调整的精确度和灵敏度也得到了改善,可靠性和稳定性更强,控制效果良好,调节后的温度值并通过蓝牙模块发送到用户手机端以便于用户实时监测,该方法在工业控制和养殖行业将具有一定的应用价值。
参考文献:
[1] 刘家琪,刘 嵩等.基于单片机的PID温度控制系统设计[J]. 湖北民族学院学报(自然科学版),2019,37:219-222.
[2] 李雪莲,郑丰隆.基于模糊 PID 的温室温度控制器设计[J]. 电子世界,2015(15):66-67.
[3]许惠君,饶 伟.基于单片机的电阻炉智能温度控制系统设计 [J].科技广场,2013(15):65-68
[4]黄 斌,谢国进.基于混合型模糊PID的加热炉温度控制系统 应用[J].电气传动,2018(48):43-68 46.
[5] 石辛民,郝整清.模糊控制及其MATLAB仿真(第2版)[M].北 京:清华大学出版社,2018.3.
[6]李国勇,杨丽娟.神经模糊预测控制及其MATLAB实现(第4 版)[M].北京:电子工业出版社,2018.11.
(编辑:赫亮)