基于STC89C52的水温控制系设计与实现

发布时间 : 星期四 文章基于STC89C52的水温控制系设计与实现更新完毕开始阅读

基于STC89C52的水温自动控制系统设计与

实现

李昌禄,李海宾,李希茜

天津大学 电气电子实验中心,天津300072

摘要: 本设计以单片机STC89C52为控制核心,单线数字温度传感器 DS18B20 构成前置信号采集电路,固体继电器SSR构成后向控制电路,根据分段控制的思想简化复杂的增量型数字PID算法,设计出分段拟合法取得不错的效果,并通过调功法对加热系统的水温进行控制。目标温度可在30℃到80℃范围内任意设定,静态误差小于1oC。经过实验测试,系统运行稳定,控制效果良好。 关键词:水温控制;STC89C52单片机;DS18B20;PID算法 中图分类号:TP273 文献标识码:A

The Circuit Design and Implementation of Water Temperature

Control System Based on STC89C52

LI Chang-lu, LI Hai-bin,LI Xi-xi (Experimental Center of Electrical and Electronic Technology, Tianjin

University, Tianjin 300072,China)

Abstract: The system takes the STC89C52 single chip as its controlling core.Its hardware mainly consists of two parts. The single digital temperature sensor DS18B20 constitutes a pre-signal acquisition circuit,while the back controlling circuit is mainly composed of the SSR solid-state relay.The system uses a controlling arithmetic that is called PID in different segment,and it uses the adjusting power method to control the water.The range of the system’s work temperature is from 30 centigrade to 80 centigrade,and the temperature can be discretionarily set in the region,the static error in the temperature is less than 1 centigrade.By laboratory analysis, the system works stably and controls well. Key: Temperature control;STC89C52;DS18B20;PID controlling arithmetic

引言

现代工业生产中,在很多的电子产品中都要用到温度检测和温度控制。在科

研、生产中,常需要对某些系统进行温度的监测和控制[1]。而随着温度控制器应用范围的日益广泛和多样性,各种适用于不同场合的智能温度控制器应运而生,智能化的控制系统成为一种发展的趋势[2]。传统的通过人工使用温度计测量再使用设备加热来控制温度的方法,不仅效率低质量差,而且不易及时控制温度变化

[3]

导致生产的变质,造成较大经济损失。目前,国外也开发出了一些基于单片机式计算机的温度控制设备,但是价格比较高,且目前其操作系统均为英文,普及性不强[4]。本文设计了一种基于STC89C52的水温自动控制系统,该系统能够极大地提高温度控制的技术指标,灵活性好,可靠性高,达到热平衡的速度较快,且精度较高。

1 系统概述和整体方案

1.1 系统概述

该水温自动控制系统,控制对象为500毫升左右的净水,温度设定范围为40~80℃,最小区分度为1℃,温度控制的静态误差小于等于0.5℃。采用适当的控制方法,当设定温度突变时,使系统的调节时间和超调量尽量小,并且实时显示控制温度和实际温度。

1.2 整体方案

系统硬件构成分为以下几个部分:STC89C52单片机最小系统,DS18B20温度采集电路,加热控制电路,显示电路。系统框图如图1所示:

图 1整体系统框图

2 硬件电路设计

2.1 温度采集模块

由于温度传感器DS18B20可直接使用数字量与单片机通信,读取测温数据控制方便[5],且它能够达到0.5℃的固有分辨率,满足我们对于精度的要求。

该传感器特点为:①基于 DS18B20;②具有专门设计的不锈钢外壳,壁厚仅 0.2 mm;③具有导热性高的密封胶,保证灵敏度,可在水中长期使用。数字式温度传感器 DS18B20 是美国 DALLAS 公司推出的一种可组网数字式温度传感器,采用 1-wire 总线接口,测温范围为-55 ℃到+125 ℃,精度可达0.067 5 ℃,最大转换时间为 200ms[6]。DS18B20 能够直接读取被测物体的温度值,体积小,电压适用范围宽(3V~5V),还可以通过编程实现 9~12 位的温度读数,即具有可调的温度分辨率。

DS18B20温度传感器内置AD转换器,无需外加电路使得电路简单。它的接口电路只需要三根外引线:单线数据传输总线端口DQ ,外供电源线VDD,共用地线GND。外部供电方式VDD接+5V,且数据传输总线接4.7k的上拉电阻),如图2所示。

VCC123DS18B20R1 4.7kΩP3.7

图 2 DS18B20温度传感器接口电路

2.2 加热电路

由于固态继电器使用简单,无需外加光耦而且没有触点,自身就可以实现电气隔离,还可以频繁动作控制加热器工作,故选用固态继电器。通过单片机根据温差调节PWM波占空比来控制固态继电器的通断时间来达到控制加热器功率的目的[7],适合功率不大精度不高,简易水温控制系统。

根据设计要求,当水温大于设定温度值时,停止加热。当水温低于设定温度值时加热。通过单片机产生占空比不同的PWM波来控制继电器的通断,以实现对水加热功率进行调节,不同的占空比对应不同的功率,具体控制中占空比的实时

值是根据设定温度与实际温度的温差大小进行自动调节。

VCCS1LED_GREENP3.1LED_REDD11N4001加热棒R3500ΩP3.0R2500ΩQ1R1 1kΩ2N1132A

图 3水温自动控制系统加热电路

2.3 显示电路

使用STC89C52单片机系统的BCD数码管显示被测温度和设定温度[8]。该方案程序简单并且直观。键盘选用4个独立键盘即可满足要求,实现温度的设定,及温度的加和温度的减控制。

3 软件程序设计

程序主要由3部分构成,包括一个主程序和两个中断子程序。其中主程序负责解决传感器初始化,两个中断程序初始化、数据温度显示以及计算控制等问题。两个中断分别负责温度采样和PMW波的占空比控制。

本系统的核心就是控制算法和加热方法的确定。我们根据增量式PID算法[9]

思想根据温差大小的范围不同而产生不同占空比的PWM波来控制固体继电器的通断,从而控制加热功率。

△u(k)=Ae(k)-Be(k-1)+Ce(k-2)

式中e(k)为误差值,A、B、C为PID系数。加热共分两种状态:①如果当前值小于输入的设定值,则PWM波形占空比增加,输出加热,直到输出值等于设定值。②如果输出值大于或等于设定值,则 PWM 输出占空比减小,让系统(水)自然散热,当一旦检测到输出值小于设定值时,又改变 PWM 波型输出,返回状态①。通过不断的加热和散热,让水温维持恒定。

具体实现为:当温差>10℃时,占空比为100%;当5℃<温差<10℃时,占空比为70%;当0℃<温差<5℃时,占空比为30%;当温差<0℃时,占空比为0%。

联系合同范文客服:xxxxx#qq.com(#替换为@)