APP下载

MATLAB的PID算法在温室大棚中的温湿度串级控制中的应用研究

2016-10-14王俊伟温荣

价值工程 2016年5期

王俊伟  温荣

摘要:针对内蒙古河套地区落后的农业结构和自动化程度低的问题,设计了基于MATLAB的增量式PID算法在温室大棚中温湿度控制的串级控制系统中,并将计算机PID算法应用到该串级控制系统中,使该串级控制系统具有较好的快速性、抗干扰性和控制质量、稳定性、精度高的特性。

Abstract: To the problem of the underdeveloped agricultural structure and the poor levels of automation in Hetao area of Inner Mongolia,we design a cascade control system that can control the temperature and humidity in greenhouses. We also apply the PID algorithm to this intelligent control system. Through this method, the cascade control system has a lot of advantages, such as the better rapidity and anti-interference. In addition to this, it can control the quality, stability and accuracy better than before.

关键词:增量式PID算法;串级控制;温湿度控制

Key words: incremental PID algorithm;cascade control;temperature and humidity control

中图分类号:TP273 文献标识码:A 文章编号:1006-4311(2016)05-0169-02

0 引言

内蒙古河套地区的农业技术相对落后,温室大棚技术方面还停留在传统的农业结构上。尤其是对于温室大棚中温湿度的测量和控制还停留在传统的温湿度计测量和人工经验来实现的,一些比较先进的温室大棚将开环控制应用到温湿度控制上,在一定程度上节省了人力成本,但是作物的产量不是很高,再加上温湿度的强耦合性和相互之间的影响,针对这种情况,笔者设计了将PID的整定技术和增量式PID算法的MATLAB程序结合的无自衡串级温温度控制系统,该控制系统具有较好控制效果。

1 串级控制系统特点介绍

与单回路系统相比,串级控制系统加入了副回路和主回路的的闭环反馈控制,对于控制系统存在干扰信号和控制精度要求较高的场合宜采用。串级控制系统的主回路是一个恒值控制系统,副回路是一个随动系统,具有调节速度快、抑制扰动强的特点。为了提高主要参数的控制质量,尽可能的将主要扰动放在二次扰动中,一次扰动尽量减小。时间常数的匹配度的是主、副回路设计必须考虑的问题。该参数是防止串级控制系统共振、安全生产和提高产品质量的重要条件。

2 基于MATLAB的串级控制系统介绍

2.1 串级控制系统结构

该系统研究的对象是温湿度相互影响的无自恒过程,当温室大棚的温度发生改变时,通过空调来调节温度的高低,由于温度发生改变相应的湿度也要发生变化,这时需要加湿器来达到湿度的恒定,湿度发生变化将影响温度的变化。当湿度恒定时,加湿器的频率恒定,湿度的控制构成了一个积分不变的时间常数。所以以湿度RH为定值主控制变量,以温度T为副控制变量。过程数学模型结构式如下:

=e-τs(1)

从公式可知,该系统是有时间延迟的二阶无自恒定系统,温度的变化滞后于湿度的变化,所以采用单回路设计需要经过一定的时间才能使被控变量有所反应。由于串级控制系统在克服容量纯滞后和滞后的效果比较理想,所以设计了如图1所示的串级控制系统。

该串级控制系统以大棚中的温度为副参数,以湿度为主参数,系统工作时,温度传感器和湿度传感器将检测到温湿度的信号,通过A/D转换器送入到STM32控制器,使其与控制器中的两个调节器的设定值进行比较,根据偏差的大小对空调作相应动作的调整,使温湿度达到作物的理想值。

上位机调用MATLAB的PID算法程序,包括两段PID算法程序,通过空调信号的给定来达到温湿度的控制。

2.2 增量式PID算法

由于当前的控制量输出与过去的状态有关,而且偏差的累加会占用比较大的内存,因此采用增量式PID算法。模拟PID控制器的控制规律如下:

u(t)=kp[e(t)+e(t)dt+TD]+u0 (2)

由于单片机控制是采样控制,而不能像模拟控制那样连续输出控制量,所以公式中的积分和微分项不能直接使用,需要对上式进行离散化,用求和的形式代替积分,用增量的形式代替微分。格式如下:

uk=kp[ek+KIej+KD(ek-ek-1)]+u0 (3)

式中:

K——采用信号(K=0,1,2,3…);

KI——积分系数;

KD——微分系数;

KP——比例系数;

ek——第K次采样时刻输入的偏差值;

ek-1——第K-1次采样时刻输入的偏差值;

Uk——第K次采样时刻的计算机输出值;

Uo——开始进行PID控制的原始值。

根据式(3)得出uk-1,将uk与uk-1,作差得出增量式PID算法公式,如下:

Δuk=uk-uk-1=kp[ek-ek-1+KIeK+KD(ek-2ek-1+ek-2)] =kp(1+KI+KD)ek-Kp(1+2Kd)ek-1+KpKDek-2=Aek-Bek-1+Cek-2(4)

由式(4)可以知,如果计算机采用恒定的采样周期T,只要确定A、B、C系数和前后三次测量的偏差值,就可以通过式4计算出控制量,由于计算简单,该方法在實际应用比较广泛。

2.3 控制结果

反复试验,使湿度逐渐趋于设定值,此时反馈值和设定值是相同的。待湿度稳定后,在温度控制上加扰动,经过副回路的调节,还影响温度值,在此基础上适当调整主回路,从而克服扰动使温度调节到给定值上。当扰动加到湿度控制上时,湿度会发生变化,利用主回路的校正功能,可以减小扰动对湿度的干扰作用,使湿度趋于稳定。在这一过程中,副回路也起到了校正作用,在一定程度上降低了扰动对湿度的影响程度。上位机监控软件得到图2所示的曲线。

3 结束语

对于纯滞后的温湿度无自恒过程,采用单回路控制系统实现的效果很不理想,而采用串级控制系统可以得到较为理想的效果。将MATLAB的PID算法应用到串级控制系统的温湿度控制上,实践表明,由于计算机控制算法的方便和灵活性,上位机调用MATLAB算法程序即可实现现场控制。

参考文献:

[1]唐贤伦,仇国庆,李银国,等.基于MATLAB的PID算法在串级控制系统的应用[J].重庆大学学报,2005(9):61-63.

[2]张得丰,等.MATLAB自动控制系统设计[M].北京:机械工业出版社,2010,1.

[3]彭高丰.温室大棚环境智能自动测量与调节系统研究[J].自动化检测技术,2012(10).

[4]霍罡,曹辉.可编程序控制器模拟量及PID算法应用案例[M].北京:高等教育出版社,2008.

[5]姜忠良,陈秀云.温度的测量与控制[M].北京:清华大学出版社,2005.

[6]胡寿松.自动控制原理[M].北京:科学出版社,2006,11.