1. 引言
温度是生活中最常见的基本量,它能反映物体的冷热程度。目前,温度控制在工业生产和日常生活中都发挥着重要作用,在冶金、电子、石油、化工领域,温度是最重要的热工参数之一 [1] [2]。
在温度控制中,特别是高温控制比较难以实现,因为温度过高时,时间和温度之间并不是线性关系,在实际加热过程中,温度加热的时间既不能过长,又不能过短 [3] [4]。否则会导致温度值不能达到预期温度值。而对于一些特定的工业生产及家庭需求,需要一种温度能够恒定的装置,否则会造成一些损失 [5]。因此,设计一种可以实时监测并能最终稳定在恒定数值的温度控制系统迫在眉睫 [6] [7] [8]。
2. 总体设计
在本系统中,硬件部分主要应用AT89C52单片机、ADC0809数模转换芯片、74HC573锁存、OVEN加热装置、RLY-SPNO继电器、RESPACK上拉电阻、以及与非门、数码管等组成。单片机主要用于计算AD转换的精度、控制显示、设定PID等。主要流程就是单片机控制OVEN加热,当温度高于80度时,会控制其冷却,当低于80度时,会控制其加热,使其最终稳定在80度,通过与单片机相连并经过数模转换的数码管显示当前加热器的温度,并且将此时的反馈信号给单片机控制继电器,然后在控制加热器。系统硬件连接示意图如图1所示:
Figure 1. Schematic diagram of the overall hardware connection
图1. 总体硬件连接示意图
3. 系统硬件设计
3.1. 单片机最小系统设计
在构建AT89C52单片机最小系统时,AT89C52单片机的外围电路需要外接复位电路和时钟电路,本文在构建时钟电路时,选取的晶振的值为6 MHz,电容值为30 PF。单片机最小应用系统连接图如图2所示。
Figure 2. Schematic diagram of single chip microcomputer application system connection
图2. 单片机最小应用系统连接示意图
3.2. 显示电路设计
锁存器U4、U5、U6的输出口Q0-Q7分别对应三个数码管的A1-G1、A2-G2、A3-G3。三个锁存器的输入D0-D7都接到了单片机的P0.0-P0.7。锁存器的IE口分别接在P2.7-P2.5引脚。电路连接图如图3所示。
Figure 3. Shows the circuit connection diagram
图3. 显示电路连接示意图
本设计选用共阳极LED,其使能端均接高电平,在其输入端连接一个反相器。将第二、三个数码管分别作为个位及小数点后一位。将第二位数码管的最后一个显示引脚接低电平,使之长时间工作。
若单片机要对左边第一个数码管赋值,首先需将所输出的数据发送到P0口,再将P2.7置于高电位,使得U5芯片选通工作,进而将从P0口接受的数据锁存起来。外接的石英晶振向单片机输出6MHz的时钟频率,RP1为上拉电阻,保护电路。
3.3. 模数转换电路设计
将一个大频率的时钟信号接到ADC0809模数转换的时钟引脚上,P1.0~P1.7与输出端OUT1-OUT8相连。选择IN0口输入模拟信号,因为三个二进制数分别可对应8个十进制数的选择,故ADDA-ADDC接地。将INO口引入的u0即OVEN输出电压的模拟量转化成数字量。模数(A/D)转换电路连接图如图4所示。
Figure 4. Schematic diagram of analog-to-digital conversion circuit connection
图4. 模数转换电路连接示意图
当系统向外部读一个模拟信号时,P2.4、P3.6端口处于低电平,模拟信号由IN0口进入模数转换器并进行模数转换,随后使P3.7位于低电平时转换后的二进制信号输出到OUT1~OUT8端口。
3.4. 温度控制电路设计
继电器RL1的一个端口与加热管的负端口相连,RL1的另一端口接地,继电器RL2的输出端与加热管正端口相连,继电器的开关分别与P2.3端口及DAWN端和地相连。单片机发出冷却指令时,P2.3和DAWN端口输出相应的电平,使继电器断开或者工作,即加热/冷却。电路连接图如图5所示。
主要工作原理是:当温度比设定温度低时,DAWN为低电平,P2.3为高电平,左面的继电器断开,右面的继电器工作,加热器处于加热状态。当温度高于设定温度时,左面的继电器工作,右面的继电器为低电平,其引入一个−5 V的直流电源,加热器可以自动调节温度,处于冷却工作状态,使其保持在恒定状态 [9]。
4. 分段PID算法
4.1. PID算法基本原理
PID控制算法的核心思想是指将比例环节P、积分环节I及微分环节D集成一个三者均包含的控制器。类似一种黑匣子,将三者均放在一起,但参数可调。通过调试三者的参数来改变其控制系统的性能,一般来说,根据调试经验或现场设备情况手动设定P、I、D三个参数,应用简单、有效,这也是PID算法经久不衰的原因。但PID在控制温度时,由于其温度很高,此时的PID参数不容易调节,并且在控制过程中常出现发散的情况。因此需要应用分段PID进行控制,为了综合整个系统,本文选择了三段进而对应三组不同的PID参数。
Figure 5. Schematic diagram of temperature control circuit connection
图5. 温度控制电路连接示意图
4.2. 分段PID控制器设计
由于PID控制温度的过程中,其效果是不稳定的,并且温度最终输出的值并不一定能够恒定在要求的值,因此,就系统的上升阶段、超调阶段及稳定阶段进行分析,对不同的阶段应用不同的PID参数,从而能够使输出恒定在需求值。分段式PID温控系统框图如图6。
Figure 6. PID temperature control system diagram
图6. 分段式PID温控系统图
由于若分段较多,在实际操作中比较难实现,并且单片机程序中循环较多,反应较慢,因此综合整体系统,将响应过程主要分为三个阶段,即上升阶段、稳态阶段及稳定阶段即可,通过闭环PID来不断的选择参数,参数选择应满足相应曲线。若系统的对应输出是稳定的,则该参数可选,之后不断的调节PID的系数,使其更加完善。
本文设计的分段PID控制算法的主要流程如下:
由于加热系统响应时间较长,在控温程序中,设计用2 Hz采样率进行温度采样,设置2个温度阈值进行分段控制,采用增量式PID算法计算占空比增量(
)并输出PWM波的占空比(
)。其划分阶段及各阶段执行的任务为:
① 当实际温度T小于预设温度A的一半(T < A × 0.5)时,占空比增量
设置为0;
② 当实际温度T小于预设温度A的98% (A × 0.5 < T < A × 0.9)时,使用第一组PID调节参数进行增量式PID计算
;
③ 当实际温度T大于预设温度A的98% (T < A × 0.9)时,使用第二组PID调节参数进行增量式PID计算
。
温度控制算法的流程图如图7所示。
Figure 7. Flow chart of temperature control algorithm
图7. 温控算法流程图
5. 系统软件设计
5.1. 定时程序设计
定时的原理是利用定时计数器技术溢出后产生溢出中断的特点,当产生中断时,进入中断函数,在该函数内,对num进行加1,以num到达一定值为一个周期,定时程序设计图如图8所示。
5.2. 模数转换程序设计
因为从ADC输出的数据是8位二进制数,所以不能直接输出,经测量,当输出为1 V时,ADC转换为51,当输出为5 V时,ADC转换输出为255。
根据炉温系数,将转化得到的电压换算成真实温度。在温度的显示部分,需要将温度的各个位赋给各个数码管,将数字取余取整后除以各个位的权,进而取出各位的数。在取余取整的过程中,需要判断取余取整后的数是否大于原来的数来避免四舍五入的情况,如果大于原来的数,则说明进五,需要进行减一。模数转换程序框图如图9所示。
Figure 9. Block diagram of analog-to-digital conversion
图9. 模数转换程序框图
6. 仿真结果
6.1. PID温度控制仿真
图10是通过Proteus软件输出的温度控制曲线,根据图10所示的曲线可知,温度控制的过程是一个二阶响应,最终稳定的温度趋近于80℃,与设计中设定的80℃相近,表明本控制器较为合理。最终输出的温度值可通过数码管来读数。
6.2. 数码管输出
系统稳定时,数码管的工作状态如图11所示。
Figure 10. Proteus temperature output curve
图10. Proteus温度输出曲线
如图11为输出的显示模块,由于Proteus导出为PDF时数码管没有显示出颜色变化,但是可以根据锁存器的红色、蓝色判断出每个引脚的高低电平,蓝色代表低电平,红色代表高电平。最左侧的逻辑引脚分别为G1、F1、E1、D1、C1、B1、A1,对应的颜色分别为蓝色、蓝色、蓝色、蓝色、红色、红色、红色,即逻辑功能为0000111,对应的数码管显示为7。中间的逻辑引脚分别为G2、F2、E2、D2、C2、B2、A2,对应的颜色分别为红色、红色、蓝色、红色、红色、红色、红色,即逻辑功能为1101111,对应的数码管显示为9。最右侧的逻辑引脚分别为G3、F3、E3、D3、C3、B3、A3,对应的颜色分别为红色、红色、蓝色、红色、红色、蓝色、红色,即逻辑功能为1101101,对应的数码管显示为2。即此时输出的温度为79.2˚。
7. 结论
本文在“计算机控制技术”电烤箱闭环控制实验进行研究。使用温度检测单元测量温度,经ADC0809转换后读入系统中,引入数字分段PID控制,最后在虚拟示波器上实时显示温度控制信号的响应曲线。实验结果表明,本文提出的分段PID控制方法,能够有效地实现温控系统的实时监测和温度恒定功能。
参考文献
NOTES
*通讯作者。