基于数字PID算法的温度控制系统设计*
2019-12-20王冠龙朱学军
王冠龙, 崔 靓, 朱学军
(宁夏大学 机械工程学院,宁夏 银川 750021)
0 引 言
温度是日常生产和生活中的重要参数,在工业和现代农业等行业,精准的温控技术起着非常重要的作用,由于温度具有非线性、惯性大、滞后现象比较严重等特点,建立精确的数学模型比较困难,给控制过程带来很大难题。
本文研究一种简单实用的控制方案,设计了以STC12C5A60S2单片机为核心的温度控制器,选用数字温度传感器DS18B20组成的闭环控制系统,实现了对温度的良好控制[1,2]。
1 智能数字化比例—积分—微分控制算法
1.1 比例—积分—微分控制算法分析及其数字化
比例—积分—微分(proportional-integral-differential,PID)[3~6]控制的模拟输出微分方程为
(1)
式中u(t)为输出信号,e(t)为反馈偏差值,Kp为比例放大系数,TI为积分时间常数,TD为微分时间常数。PID控制的传递函数G(s)表达式为
(2)
由于计算机控制是一种采样控制,只能根据采样的偏差值计算控制量,因此,必须对式(1)进行离散化处理,用数字形式的差分方程代替连续系统的微分方程,本文研究的由继电器作为控制开关的温度控制系统属于位置型PID控制算法。公式如下
(3)
则可得到离散的PID表达式为
(4)
式中TS为系统采样周期;e(k)为第k次采样偏差值;e(k-1)为第k-1次采样偏差值;k为采样节点,k=0,1,2,…;u(k)为调节器第k次采样输出值。
1.2 PID参数整定[7~10]
根据温控系统设计,文中的被控对象为一阶延迟惯性环节,可以等效为一阶惯性环节与纯延迟环节的串联,即数学参考模型的传递函数可以写为
(5)
式中K为对象的静态增益,T为对象的时间参数,τ为对象的纯滞后时间参数。本文系统选用温度控制器作为控制对象,系统的传递函数为[4]
(6)
采用Ziegler-Nichols控制器参数整定得:KP=0.588,TI=352,TD=80。
系统的单位阶跃响应曲线如图1所示,系统的上升时间和调节时间比较长。
图1 Ziegler-Nichols控制器参数整定下系统的单位阶跃响应曲线
采用Cohen-Coon控制器参数整定法得:KP=0.917,TI=242.76,TD=42.67。
系统的单位阶跃响应曲线如图2所示,系统出现超调现象,但上升时间和调节时间缩短。
图2 Cohen-Coon控制器参数整定下系统的单位阶跃响应曲线
在上述2种方法的基础上,根据温度控制系统调节器参数的经验值,δ为20 %~60 %,TI为3~10 min,TD为0.5~3 min,重新设定参数,最终KP=0.67,TI=140,TD=41,系统的单位阶跃响应曲线如图3所示,系统的稳定调节时间大大缩短。
图3 单位阶跃响应曲线
可以看出,PID参数整定效果好,上升速度快、调节时间短、余差小、抗干扰能力也比较强,基本达到了工业控制工程中提出的稳、准、快的要求。
2 基于数字化PID控制算法的温度控制系统设计与实现
2.1 系统硬件构成
本系统主要由单片机模块、PL2303通信模块、LCD1602显示模块、DS18B20温度检测模块、按键模块和继电器控制模块六部分构成[11],PID控制算法由STC12C5A60S2单片机实现,组成了一个集温度采集、处理、显示、自动控制为一体的闭环控制系统,系统结构框图如图4所示。
图4 温度控制系统结构
2.1.1 单片机选型
本文选择STC12C5A60S2单片机[12]作为主控芯片,满足大内存、高速率、通用性、成本低等要求。
2.1.2 温度检测模块
采用温度传感器对温室内的温度进行实时采集,再对其温度高低进行判断,不但能够对室内温度进行有效测量,还可以准确设置所需要控制的温度,因此温度控制系统选用DS18B20作为温度传感器。
2.1.3 显示电路模块
由于LCD1602液晶显示屏功耗低、体积小、显示内容丰富(如清屏、字符闪烁、光标闪烁、显示移位等多种功能),与数码管相比,更加直观,超薄轻巧,符合应用环境要求,考虑到实用性和可操作性,本系统使用LCD1602液晶显示屏作为输出器件。
2.1.4 继电器控制模块
由于本系统要控制加热器或电风扇工作,功率比较大,采用继电器可以很容易地控制高电压和大电流。固态继电器是具有隔离功能的无触点电子开关,具有短路、过载和过热保护功能,考虑到所需继电器应满足防潮防霉、寿命长、可靠性高及成本较低等性能特点,本系统采用CDG1—1DA/40A固态继电器作为设备的控制开关[13]。
根据对系统中的几个重要电路模块的简要阐述,得到系统整体电路原理,如图5所示。
图5 系统整体电路原理
2.2 系统软件实现流程
软件程序包括从采集温度值到输出信号的整个控制流程,其流程如图6所示。程序功能主要由以下几部分组成:
1)系统初始化:设置各中断及定时器,设置各参数的初始值。
2)数据采集:该部分程序主要完成DS18B20温度传感器对数据的采集,并将采集到的数据传送给单片机处理。
3)继电器控制:主要控制继电器的开关,进而控制加热或降温设备的启停。
4)数据显示:程序主要完成实时温度值在LCD1602液晶显示屏上的显示,更直观地展示系统的工作状态。
5)PID控制算法。
图6 系统程序流程
3 系统调试与结果分析
在焊接的过程中,为了防止一次性焊接完成后,若调试不成功,问题查找困难,采用了分模块焊接和调试的方法,整个制作过程效率较高[14]。该温度控制器能够实时监测室内的温度,可以设定农作物生长的理想温度,根据当前温度与设定温度之间的差值,加热器或者风扇将自动启动,直至达到设定温度停止工作。
系统的性能需要通过具体的实验测试完成,观察真实值和测量值(系统稳定时的值)之间的误差,计算绝对误差和相对误差,如表1。
表1 误差分析表
运用MATLAB软件将真实值和测量值进行曲线拟合,如图7所示可以看出,真实值和测量值之间误差较小,测量准确性比较高。
图7 2种温度数据拟合曲线
4 结束语
设计了一个基于数字化PID算法的温度控制系统,该系统能够对农作物培养室温度进行实时监控,经测试,该系统响应速度快、稳定性强,较好地解决了温度控制环节的纯滞后问题,适用于农作物培养室等环境的温度控制,保证其理想生长温度,有利于提高农作物产量,具有较强的实用性及推广价值。