基于AT89C52单片机模糊PID的电阻炉温度控制系统
扫描二维码
随时随地手机看文章
电阻炉是热处理工业中常用的设备,具有大滞后、参数时变、非线性等特点。各个领域对电阻炉温度控制的精度、稳定性、可靠性要求越来越高。提高该类对象的控制品质具有广泛的应用价值。常规PID控制算法简单、易于实现,适用于可建立精确数学模型的确定性控制系统。而实际工业生产过程往往具有非线性和时变性,难以建立精确的数学模型,因此常规PID控制器不能达到理想的控制效果。模糊控制不需要被控对象的精确数学模型,而且控制灵活、鲁棒性强,但模糊控制器的积分作用较弱,导致系统的动态品质较差。将模糊控制和PID控制两者结合起来的复合型控制器,对复杂控制系统具有良好的控制效果。
文中在深入研究先进PID控制理论及其智能优化控制策略的基础上,以电阻炉为被控对象,建立一种温度控制系统。由前端温度传感器及温度检测模块实时检测电阻炉温度,并转换成电压信号,该电压信号经过温度检测电路转换成与炉温相对应的数字信号进入单片机,单片机进行数据处理后,通过液晶显示屏显示温度并判断是否报警,同时将得到的温度偏差和偏差变化率进行模糊化,建立模糊控制规则表,由设定的模糊控制算法计算出控制量,通过控制固态继电器的导通和关闭从而控制电阻丝的导通时间,以实现对炉温的控制。
1 系统的硬件设计
1.1 总体设计
系统中,控制对象为电阻炉,被控量为炉温,控制目标是使炉温在常压下恒定在一个设定值允许的误差之内。需要检测的输入信号是炉温,需要输出的信号主要是PWM,通过调整其占空比的大小来控制固态继电器的导通与关闭,继而来控制电加热设备的导通与关闭,从而实现炉温的控制。同时设计了报警电路,以提高系统的安全性。控制系统以AT89C52单片机为控制核心,采用闭环控制的工作方式,系统总体结构如图1所示。
1.2 温度检测部分设计
根据系统控制对象的特性,温度传感器采用K型热电偶WRN-130,将检测到的信号通过SBWR系列温度变送器及A/D转换器等温度检测电路处理后转换成数字信号,供单片机处理。
1.3 人机接口部分设计
人机接口部分采用三位按键结构和LCD12864液晶显示屏完成温度给定值的设定、显示以及炉温的实时显示(如图2所示)。3个按键分别是选择键、调整键和确认键。由选择键在三位温度显示值之间循环选择,当位于任意一位时,可以用调整键进行该位数据量的调整(0~9),当设置好需要设定的温度值后,按确认键,系统将启动,并按照新的温度值进行工作,同时液晶屏显示当前的温度值。
1.4 输出驱动部分设计
该部分采用固态继电器E0542-14F来控制加热器的供电与否,使强、弱电之间在电气上完全隔离,具有价格低廉、触发电路简单可靠的特点。单片机以PWM形式输出控制信号,通过调整PWM的占空比来达到控制固态继电器,继而来控制炉温的目的。
1.5 报警电路设计
当温度达到、超过设定值或时间达到设定时间时,为保证安全,系统中设计了在紧急状态下能引起警觉的报警信号。该温度控制系统采用呜音报警,将达林顿陈列反向驱动器MC1413连接AT89C52的P3.5口,当P3.5口输出高电平时,NC1413输出低电平,使蜂鸣器鸣音,反之,蜂鸣器停止鸣音。AT89C52的P3.5口的高低电平输出是在中断服务程序中完成的。
2 控制策略
2.1 被控对象的数学模型
系统的被控对象为SX2-10系列实验室低温箱式电阻炉,额定电压为220 V,额定功率为2 000 W。设计目的是对炉膛的温度进行升温和恒温控制,达到调节时间短、超调量低且稳态误差在±5℃内的技术要求。电阳炉加热器模型的传递函数为:
给定系统电压输入为110 V,经测温达到稳定值时,给定输入阶跃信号110 V,使系统电压达到220 V,每分钟采样一次,并记录温度值,实验数据如表1所示。
此温度数据为多次测量得到,稳态的时间为30分钟。根据科恩-库恩公式,求得K=4.44、T=531s和τ=177s。所以加热器的近似模型为:
2.2 模糊PID控制算法
模糊PID控制器是以常规PID控制器为基础,采用模糊推理思想,根据不同的温度误差e和误差变化ec对PID的3个参数进行在线自调整。该控制系统由模糊推理和常规PID控制器两部分组成,控制结构如图3所示
3 系统的软件设计
控制系统软件部分主要包括主程序、采样子程序、模糊PID控制程序、定时子程序等。程序采用C语言编写,调试工具采用单片机AT89C 52的配套调试软件KEIL C51。
3.1 主程序设计
系统上电或复位后,在单片机的控制下自动进入控制系统主程序。首先对单片机及各种芯片进行初始化操作,包括各个端口的初始化、变量的初始化、定时器的初始化及编写模糊整定查询表等。待输入目标温度值后,进入后续程序。主程序把其余部分联接起来,构成一个无限循环图,控制系统的所有功能都在这个循环中周而复始地或有选择地执行。各种子程序都挂接在主程序上,主程序流程如图4所示。
3.2 A/D采样及处理
A/D采样及处理属于数据采集部分,其作用是完成对炉温的实时检测(每1秒钟采样一次),将检测到的电压值(经温度变送器和精密电阻转换)经过A/D转换部分进行模数转换,变成相应的数字量送入单片机AT89C52,保存在事先定义好的数组(10个元素)单元中。重复检测十次,将数值存满数组。为了去除干扰,进行均值滤波,去掉其中的一个最大值和一个最小值,将剩余的八个检测值求出平均值,为该时刻的检测值,存入相应单元。该部分主要程序代码如下:
3.3 液晶显示与按键驱动部分
液晶显示屏和按键是最常用的输出和输入设备。该系统中采用3个独立的按键作为输入控制键,LCD12864液晶显示屏作为输出设备。作为输入处理部分的3个按键的功能分别为选择、调整和确认。系统上电运行时,可以通过选择键循环选择设定温度的3个位和OK选项,当其中某项被选择后,其下面出现横线来标识。在设定温度的3个位上,可以通过调整键进行0~9的循环选择,当选中合适的数字后,可以按确认键进行值的确认。三位都调整确认完毕后,通过选择键选中“OK”,按确认键,这样系统将启动运行。
3.4 模糊PID计算
模糊PID计算是整个系统的核心部分,主要是设计模糊PID控制器,其中的e和ec的论域均为-3~+3。在实际的控制过程中,在加热至e为150之前,占空比为1,全速加热,当进入e≤150的区域后,才启动模糊PID进行计算,通过不断调整△Kp、△Ki和△Kd的大小,控制输出量u的大小,最后使电阻炉的温度达到平衡。
4 仿真实验
系统中分别采用常规PID控制、纯模糊控制和模糊PID控制3种控制方法,利用MATLAB进行仿真实验,从调节时间、超调量和稳态误差方面比较它们的控制性能。
通过前两种控制方法的仿真实验,对于常规PID控制,当给定温度值为500时,调节时间约为1 200 s,超调量约为22.9%,稳态误差为零;对于纯模糊控制,给定温度值为500时,调节时间约为1 000 s,超调量为20℃,最终的稳态误差较大,约为10℃。
最后对模糊PID控制方法进行仿真实验,对各输入参数进行模糊化处理,取e的量化因子Ke=0.02,ec的量化因子Kec=0.1。对输出量进行解模糊化,得到△Kp、△Ki和△Kd的比例因子均为0.1。选取经过优化后的初始PID参数,使Kp=0.15、Ki=0.001、Kd=1.7。得到的模糊PID控制仿真曲线如图5所示。
由系统的仿真曲线图可见,模糊PID控制的性能指标为:调节时间约等于3 500 s,超调量约为7.5%,稳态误差为零。
经过对常规PID控制、纯模糊控制和模糊PID控制3种控制方案的仿真研究和分析,明显看出,PID控制响应曲线超调量最大、调节时间较长、最终的稳态误差为零;纯模糊控制响应曲线超调量最小、调节时间最短、但是最终的稳态误差却很大;将两种控制算法结合在一起的模糊PID控制策略可实现减小超调量、稳态误差为零等非常理想的性能指标。温度控制的延迟是变化的,对于温度控制这样的非线性、有延迟的复杂的控制对象,模糊PID控制器显示了明显的优越性,性能指标要比常规PID控制器改善很多。
5 结论
文中将模糊控制算法引入传统的电阻炉温度控制系统构成模糊PID控制系统。通过将常规PID控制方法、纯模糊控制方法和模糊PID控制方法进行仿真对比,发现模糊PID控制方法具有较好的动静态响应特性和较强的鲁棒性,还能够消除系统余差,这对具有非线性、时变和延迟等特征