一。简介
本温度控制和显示系统是一个闭环反馈控制系统,它用温度传感器将检测到的温度信号经放大,A/D转换后送入计算机中,与设定值进行比较,得到偏差。对此偏差按PID算法进行修正,返回对应工况下的可控硅导通时间,调节电热丝的有效加热功率,从而实现对铁块的温度控制。
系统采用AT89C52芯片为CPU,外扩了8K的数据存储器6264。AT89C52是美国ATMEL公司生产的低电压,高性能的CMOS 8位单片机,片内含8K的可反复擦写的只读程序存储器(PEROM)和256bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度,非易失性存储技术生产,与标准的MCS-51指令系统及8052产品引脚兼容,片内置通用8位中央处理器(CPU)和Flash存储单元,功能强大AT89C52单片机适用于许多较为复杂控制应用场合。
AT89C52的主要性能参数有:
·与MCS-51产品指令和引脚完全兼容。
·8K可重擦写的闪速存储器。
·1000次擦写周期。
·全静态操作:0Hz-24MHz。
·三级加密程序存储器。
·256×8字节内部RAM。
·32个可编程I/O口线。
·3个16位的定时/计数器。
·8个中断源。
·可编程串行UART通道。
·低功耗空闲和掉电模式。
AT89C52提供以下标准功能:8K字节的Flash闪速存储器,256字节的内部RAM,32个I/O口线,3个16位的定时/计数器,一个6向量两极中断结构,一个全双工串行通信口,片内振荡器及时钟电路。同时,AT89C52可降至0Hz的静态逻辑操作,并支持两种软件可选的节电工作模式:空闲方式停止CPU的工作,但允许RAM,定时/计数器,串行通信口及中断系统继续工作。掉电方式保存RAM中的内容,但振荡器停止工作并禁止其他所有部件工作直到下一个硬件复位。
二.控制系统的原理
本温度控制和显示系统中,单片机系统用控制对铁块的加热时间来控制铁块的温度,铁块的温度经检测,放大,校正和A/D转换后送入单片机,由单片机计算当前值,然后根据PID控制规律返回可控硅导通的脉冲个数Tn,通过比较Tn和当前可控硅导通的脉冲个数决定打开关闭双向可控硅。铁块的温度给定和PID控制器参数设定用单片机系统的键盘来实现。控制系统结构框图如下:
系统的数据采集主要是对铁块现时温度的检测转换,温度的检测由铂电阻完成,用电桥得到差动值,经差动放大器放大后,送入A/D转换器进行转换,最后送入处理器处理。
温度传感器和信号放大电路如下图所示:
我们使用电桥读取铂电阻的输出信号,图中TL431电路部分为供桥电压产生电路,因为供桥电源的变化几乎是一比一的反映到电桥电压输出,所以供桥电源的稳定与否直接影响到温度采样的精度。当系统有一精度足够的+10V电源时,TL431电路部分可以省略。电桥部分桥上臂电阻选22KΩ,右下臂电阻选100Ω,电桥输出电压为:
(1)
假设系统温度变化范围为0-120℃,则根据(1)式得电桥输出电压范围约为:0-20mV。
信号放大部分属于V-V放大,前面我们已经知道电桥的输出电压为0-20 mV,而A/D转换的输入电压为-5V-+5V,我们选用单极性输入+3V,这样可以确定放大器的增益为150倍(3V/20 Mv)。放大器的极数与单极放大器的带宽增益有关,由于铁块控制系统中测量速度不是主要的,也就是说带宽问题不予考虑,如果我们选用带宽增益积较大的芯片,则使用单极放大就足够了。在这里我们选用差分式斩波稳零高精度运算放大器ICL7650。一级放大接成双端差分输入,单端输出形式。放大器接成T型反馈网络,则放大器的放大倍数为:
(2)
在应用时,各元件阻值可按照上图中选取,实际放大倍数应该根据系统需要通过微调Rv2得到。
A/D转换芯片选择首先取决于控制系统对分辨率的要求,在本系统中要求达到控制温度范围为20~100摄氏度,控制精度为0.25摄氏度,则分辨率为:
100/0.25=400
若选用8位的A/D转换则分辨率为256,不能满足要求,故需要选用转换位数更高的芯片。本系统选用12位的A/D转换芯片ICL7109,该芯片是双积分型的,具有精度高,低噪声,低漂移,具有防尖峰干扰能力,价格低廉,不过由于是双积分型,故转换速度较慢,转换时间为30ms,但在本系统中已经足够。ICL7109有14位输出,低12位为A/D转换值输出,OR为溢出标志输出,当转换值溢出时该位输出高电平;POL为极性输出,输入电压信号大于零时该位输出高电平。14根数据线与单片机数据总线的接法为:B1~B8分别接P0.1~P0.7,B9~B12,OR和POL分别接P0.1~P0.5,如下图所示。CPU对A/D转换数据的读取通过依次选通LBEN和HBEN端口两步完成。由于用3-8译码器SEL1和SEL2来选通LBEN和HBEN。所以可以得到A/D转换数据的地址为:
ICL7109的RUN/HOLD引脚悬空,表示芯片工作在连续转换状态,在该状态下,每隔8196个时钟周期(约30ms)完成一次转换,并将转换值置于输出三态缓冲中等待读取。这样,在我们需要读取数据时,直接通过选通LBEN或HBEN进行读取可从输出缓冲器中读出数据。
三.看门狗电路
为了防止系统受干扰而使程序丢失,或者走进死循还而使系统死机,应加入看门狗电路,以保证系统的可靠性。其电路连接如下图所示。图中当P1.7为低电平时,三极管Q2不导通,电流由“+5V R1 C1地”对电容C1充电;当P1.7为高电平时,三极管Q2饱和导通,
电容C1通过“Q2 R3 地”放电。这样我们通过在程序运行中定时对P1.7脚进行置位和清零操作,便可以保持Q2集电极为低电平。当程序进入死循还,不能对P1.7口进行置位操作,那么电路就会对电容持续充电,使Q2集电极电平持续上升,当上升到高电平电压时,单片机系统复位,程序重新开始运行,达到看门狗功能。电阻R1与电容C1值应根据程序运行情况选择,R1越大,充电电流越小,电平上升时间就越长,反之则反。R4和D1起电源指示作用,R2和按钮构成手动复位电路。
结束语:
本文所涉及到的温度控制系统具有温度显示准确,反馈响应及时,控制及时及控制效果佳,已经是一个成熟的产品,在实际应用中收到了良好的效果。
参考文献:
1.何立民 编 《单片机应用技术选编(1)》 北京航空航天大学出版社 1993.2
2.何立民 编 《单片机应用技术选编(2)》 北京航空航天大学出版社 1994.4
3.童诗白 编 《模拟电子技术基础》 高等教育出版社 1988.5
4.赖寿宏 编 《微型计算机控制技术》 机械工业出版社 1999.5
5.何希才 编 《传感器及其应用电路》 电子工业出版社 2001.3