基于STC89C52单片机的温度控制系统

时间:2022-07-03 02:28:39

【摘要】(National Key Laboratory for Electronic Measurement Technology, North University of China, Taiyuan 030051, China) Abstract: This paper discusses a STC89C52 MCU to incre...

基于STC89C52单片机的温度控制系统

摘要: 讨论了一个以STC89C52单片机为核心的温度控制系统,给出了系统的单片机电路、控温输出电路、温度检测放大等电路的设计。实现了炉温的自动控制,并提高控温的精度,具有重要的工程应用价值。

关键词:STC89C52单片机;温度控制;温度检测

中图分类号:TP273文献标识码:A文章编号:1009-3044(2011)04-0902-02

A Temperature Control System Based on STC89C52 MCU

WU Jian, HOU Wen, ZHENG Bin

(National Key Laboratory for Electronic Measurement Technology, North University of China, Taiyuan 030051, China)

Abstract: This paper discusses a STC89C52 MCU to increase the technical indexes of accused of temperature control system,Presented the design of the MCU circuitry of system, temperature control output circuit, temperature detecting amplifier circuit and so on. Realized of furnace temperature automatic control and improve the precision temperature control. Be provided with important engineering use value.

Key words: STC89C52 MCU; temperature control; temperature test

随着工业技术的不断发展,利用温度控制表,温度接触器的控制方式已不能满足高精度、高速度的控制要求,其主要缺点是温度波动范围大,受仪表本身误差和交流接触器寿命的限制,通断频率很低。本文设计了一种基于stc89c52单片机控制的温度控制系统。它使用了较少的器件和较为简单的电路设计,因此具有成本低、控制方便,实用性强等特点。

1 系统设计

本系统是对电炉炉温进行控制的微机控制系统。控制方式是单闭环控制形式。温度控制系统是以STC89C52单片机为控制核心,其系统结构框图如图1所示。

键盘将温度设定值和温度反馈值送入单片机,然后经过运算得到输出控制量,输出控制量控制控温输出电路得到控制电压,施加到驱动器上,从而控制电加热炉内温度。

2 系统硬件设计

硬件系统由单片机电路,温度检测放大电路,A/D、D/A转换电路,控温输出电路等组成。下面分别给予介绍。

2.1 单片机电路

STC89C52是一个低功耗,高性能的51内核的CMOS 8位单片机, 具有在线编程功能,不再需要启动像STC89C51那样的12V的VPP编程高压[1]。 使用简单且价格非常低廉。故本文使用STC89C52为系统的主控制器。单片机发送温度设定值和采集温度反馈值,并据此调节I/O的输出来控制温度的值。

2.2 温度检测放大电路

温度检测电路承担着检测电阻炉温度并将温度数据传输到单片机的任务。铂电阻最常应用于中低温区,精度高,稳定性好,具有一定的非线性,温度越高电阻变化率越小,测量范围一般为-200~850℃。目前应用最广泛的是Pt100。Pt100铂热电阻与温度的关系如下:

(1)

其中:Rt――温度为t℃时铂电阻的电阻值(Ω);R0――温度为0℃时铂电阻的电阻值(Ω);A,B,C――常数,3.96847×10-3 (℃-1);-5.847×10-7 (℃-2);-4.22×10-12(℃-3)。

信号放大电路采用OP07E放大器,温度信号输入采用差动放大模式,输入电压范围为+/-14V,输出电压范围为+/-12V。设计电路如图2所示。

U1放大器放大倍数为:

(2)

2.3 A/D转换电路

温度检测电路采集到的温度值为模拟信号,需要转化为数字信号才能被单片机处理。温度控制系统的A/D转换模块采用ADC0804型8位全MOS A/D转换器。转换时间约为100μs,转换时钟信号可以由内部施密特电路和外接RC电路构成的震荡器产生,当/CS与/WR同时有效时便启动A/D转换,经DATA口送入单片机,再采集第二个模拟量进行转换。

2.4 D/A转换电路

温度控制系统的D/A转换芯片采用DAC0832。D/A转换器由8位输入锁存器、8位DAC寄存器、8位D/A转换电路及转换控制电路构成[2]。DAC0832的主要特性参数:分辨率为8位;电流稳定时间1us;可单缓冲、双缓冲或直接数字输入;只需在满量程下调整其线性度;单一电源供电,电压范围为+5V~+15V;低功耗,功耗为200mW。

2.5 可控硅调功控温电路

温度控制电路采用可控硅调功率方式。双向可控硅串在50Hz交流电源和加热丝电路中,在给定周期里改变可控硅开关的接通时间改变加热功率,从而实现温度调节[3]。如图3所示。

可控硅驱动器MOC3041集光电隔离、过零检测功能于一身,具有体积小、功耗低、抗干扰能力强,无噪声等优点[4],RS、CS为吸收电路,起保护作用。经验公式如下:

Cs=(2~4)IT×10-3(uF)(3)

Rs=10~50Ω(4)

R17是触发器输出限流电阻,取51Ω。R16是驱动器的门极电阻,一般取值300-500Ω。

3 PID温度控制算法

温度控制技术大致可分为定值开关控温法,PID线性控温法。定值开关控温法通过硬件电路或软件计算判别,系统温度上升至设定点时关断电源,当系统温度下降至设定点时开通电源,因而无法克服温度变化过程的滞后性,致使被控温度波动较大,精度低。当我们不完全了解被控对象,或不能通过有效的测量手段来获得系统的参数时,最适合用PID控制技术。PID线性控温法主要取决于比例值、积分值、微分值[5]。只要三参数选取的正确,其控制精度是比较令人满意的。当执行机构需要的不是控制量的绝对值,而是控制量的增量时,需要用PID的“增量算法”。增量式PID控制算法可以通过(式5)推导出。

(5)

Uk――控制器的输出值;ek――控制器输入与设定值之间的误差;Kp――比例系数;

Ti――积分时间常数;Td――微分时间常数;T――调节时间。由(式5)可以得到控制器的第k-1个采样时刻的输出值为:

(6)

将(式5)与(式6)相减并整理,就可以得到增量式PID控制算法公式:

(7)

其中:

由(式7)可以看出,如果计算机控制系统采用恒定的采样周期T,一旦确定A、B、C,只要使用前后三次测量的偏差值,就可以由(式7)求出控制量。物理模型如图4所示。

4 系统软件设计

为了便于程序的调试与维护,系统全部程序采用模块化结构。由一个主程序和若干子程序组成。子程序主要包括A/D转换子程序、D/A转换子程序、LED显示子程序、增量式PID控制子程序、键盘控制子程序等,各子程序均能很快返回主程序,不会发生子程序时间过长等问题,子程序对相关事件的处理依靠标志位和判断标志位来完成。主程序通过调用各个子程序来完成所有的温度控制器功能。主程序的流程图如图5所示。

5 设计结果

设计的温度控制系统基于STC89C52单片机,采用了信号放大,可控硅控制等简单的电路,经过焊接、 组装、 调试后,可以很好实现控制功能,具有很强的实用性,尤其是具有体积小、 易移动等优点。 该方案也可以在功能上加以扩展,如加上LED电路,当到达我们想要的温度时绿灯亮,当超过我们想要的温度一定量程时红灯亮。

参考文献:

[1] 张俊谟.单片机中级教程[M].北京:北京航空航天大学出版社,1999:75-86.

[2] 小岛郁太郎.实现数字电路与模拟电路及软件的协调设计[J].电子设计应用,2009(6):15-20.

[3] 王海宁.基于单片机的温度控制系统的研究[D].合肥:合肥工业大学,2008.

[4] 何小艇.电子系统设计[M].杭州:浙江大学出版社,2000:378-396.

[5] 刘娜.基于遗传算法的PID参数寻优[J].计算机仿真,2002,19(2):70-73.

上一篇:网络舆情智能检测与分析系统的设计 下一篇:基于软件工程技术的宝马4S店管理系统设计