自动水温加热器设计
一.测控大作业要求
自动水温加热器设计
加热体:交流电阻丝 500W 测温传感器:热电偶
要求:能够检测水的温度,控制水温为设定值,允许少量偏差,比如温度45摄氏度 设计步骤;
传感器的信号输出,信号放大,滤波,电平偏移,A/D,PID控制,显示等。
二.设计目标
设计一个基于单片机的加热器的温度控制系统,以AT89C51单片机为控制核心,以传感器AD590采集温度信号,放大后经ADC0809将模拟信号转换为数字信号,送入单片机AT89C51,通过软件编程AT89C51可以驱动各个管脚连接的功能模块实现各个功能,如温度采集、温度设定、显示、示警等。该系统可以实时检测加热器水箱的水温,并且可以通过数码管显示加热器水箱水温度数,可以通过键盘或开关选择制冷或加热,可以人为设置水的温度的上下限,如加热,当温度在设定的范围内时正常工作,当低于水温下限时控制加热器加热;如制冷,当温度高于水温上限时控制压缩机制冷,温度检测范围0~95℃,精度±1℃,当温度超过设定值时具有示警功能。
三.方案总设计
以单片机系统为核心的控制方案,其原理框图如图1所示。本方案通过温度传感器将温度信号转换为电流信号,信号放大后,经A/D转换器,A/D
转换器将进来的模拟信号转换成数字信号,然后送到单片机处理,并将采集的温度值与键盘设定的温度值进行比较,根据比较的结果,单片机输出相应的信号来控制外部设施,达到控制加热器加热或压缩机制冷的目的。还具有显示、报警等功能。 传 感 负 器 载 加 热 或 制 冷 受控对象 信号放大 A/D转换 单 片 机 显示 继 电 器 键盘 示警 图1方案原理框
四.电路设计
4.1 单片机最小系统设计
本设计单片机最小系统如图2所示,由主控器AT89C51、时钟电路和复位电路三部分组成。单片机AT89C51作为核心控制器控制着整个系统的工作,而时钟电路负责产生单片机工作所必需的时钟信号,复位电路使得单片机能够正常、有序、稳定地工作。
图2 单片机最小系统
4.1.1 单片机选择
AT89C51单片机是ATMEL公司的AT89系列单片机的其中一种,该系列是当今世界上最新型的电擦写八位单片机之一,和51系列完全兼容,低电压、低电流、低功耗,价格低廉,很受用户欢迎。其管脚图如图3所示。
图3 AT89C51管脚图
4.1.2 时钟电路
时钟电路用于产生AT89C51单片机工作时所必需的时钟信号。虽然AT89C51有内部振荡电路,但要形成时钟,必须外接元件。外接晶体以及X1和X2构成并联谐振电路。晶体的振荡的频率的范围通常是在1.2MHZ到12MH
Z
之间。晶体的频率越高,则系统的时钟频率就越高,单片机的运行速度也
就越快。AT89C51单片机常选择振荡频率6MHZ或12MHZ的石英晶体,考虑到本设计所用的各种器件对时钟频率的要求及整体电路的简洁性,本设计选用的是振荡频率为6MHZ的石英晶体。
4.1.3 复位电路
AT89C51的复位是由外部的复位电路来实现的。常用的复位电路有四种方式:(1)上电复位电路(2)按键复位电路(3)脉冲复位电路(4)兼有上电复位与按键复位的电路。由于考虑到结构和成本等原因,在很多设计里面,复位电路通常采用上电复位和按键复位两种。根据本系统的特性,决定选用最简单的上电复位电路。
上电复位是通过外部复位电路的电容充电来实现的。只要Vcc的上升时间不超过10ms,就可以实现自动上电复位。当时钟频率选用6MHZ,电容C选用22?F,电阻R选用1K?。该复位电路工作原理为:在通电瞬间,在RC电路充电过程中,RST端出现正脉冲,保证RST引脚出现10 ms以上稳定的高电平,从而使单片机复位。
4.2 温度采集电路设计
根据加热器的特性及本设计的特点,本设计的温度采集电路分为两路,其中一路是采集一个水箱热水的温度,另一路是采集另一个水箱凉水的温度,因为两路都是对加热器水箱温度的采集,因此,其元器件及电路连接
是一样的。这部分电路主要器件有:温度传感器、电位器、运算放大器、电阻等。它的主要功能是把采集到的温度转换成电压,然后输入到A/D转换器转换。
温度传感器选用AD590,运算放大器用LM741。温度传感器AD590的温度检测范围在-55℃~+150℃,而且精度很高,非线性误差为±0.3℃。达到本设计温度检测范围为0℃~95℃,精度±1℃的设计要求。LM741是单片高性能内补偿运算放大器,具有较宽的共模电压范围,它的特性是:不需外部频率补偿 、具有短路保护 、失调电压到零的能力 、较宽的共模和差模电压范围 、功耗低 、无阻塞现象。而电位器选用阻值分别为2K和50K。其电路图如图4所示。
图4 温度采集电路
温度传感器AD590将温度信号转换成电流信号,然后经过3个由LM741、电位器和电阻组成的转换电路OPA1、OPA2、OPA3。OPA1主要是将AD590输出的电流转换为电压。而OPA2是做零位调整,最后OPA3将电压放大。本设计共有两路采集电路,放大后的电压也就是输出电压,它们分别是V01、V02,V01、V02分别作为A/D转换器的两路模拟输入信号。
4.3 A/D转换电路设计
A/D转换部分电路的功能主要是将采集部分采集来的模拟信号转换成数字信号,然后输送到单片机进行数据处理。
A/D转换部分电路主要器件有ADC0809、74LS02、74S74等。ADC0809与AT89C51连接电路如图5所示。
图5 A/D转换电路
A/D转换器ADC0809共有八路模拟输入端,由于本设计温度采集只有两路,因此只用到两路模拟输入端,其输入通道为IN0、IN1。这两个通道的数据分别是温度采集电路的输出信号V01、V02,也就是转换为电压值的加热器两个水箱水的温度值。选择这两个通道需要通过设置ADC0809的ADDA、B、C的值,因为它对应的是八路模拟信号,而本系统只有两路模拟信号输入,因此,只需要将低位ADDA连到AT89C51的P2.2口,并根据P2.2口的电压是低电平或高电平来选择要检测哪个通道,当ADDA值为0时选的是IN0通道,当ADDA为1时选的是IN1 通道。而ADDB、ADDC只需接地即可。
4.4 显示电路设计
大多数的单片机应用系统,都要配置输入设备和输出设备。本系统的输出设备是显示器,根据本系统的设计特点,采用七段LED数码管作为显示器。而本系统设计要求温度检测范围0℃~95℃,精度±1℃。数码管只需显示两位即可达到要求,因此,显示部分电路采用两个一位的LED数码管来组成显示器,没有要求显示小数点,LED数码管的dp脚悬空。本设计显示电路的应用有两点,一是实时显示加热器水箱的水温值,另一个是显示键盘设定的温度上、下限值。其电路连接如图6所示。
图6 显示部分电路
通过一个74LS47连接7个100欧姆的电阻来驱动数码管显示。数码管的VCC脚分别连接到两个三极管的共射极,而三极管的共基极连到一起接到+5V电源上。共集极分别连接两个4.7K的电阻接到单片机AT89C51的P1.4、P1.5管脚。
LED显示块是由发光二极管显示字段的显示器件。在单片机应用系统中应用非常普遍,通常使用的是七段LED,这种显示器有共阳极和共阴极两种,本设计选用的是共阳极。共阳极LED显示器的发光二极管的阳极连接在一起,
通常此公共阳极接正电压5V。当某个发光二极管的阴极接低电平时,发光二极管被点亮,相应的段被显示。
4.5 键盘电路设计
根据本系统的设计特点及要求,键盘的功能主要是用来设置温度上下限,因此本设计采用独立式键盘来完成这一功能要求。其电路连接如图7所示。
图7 独立式键盘与AT89C51连接图
本设计,采用四按键键盘,所以在四个I/O口上接四个按键组成一个四按键的简易式键盘。各线通过电阻接+5V,当键盘上没有键闭合时,所有的线断开,呈高电平状态。当键盘上某一个键闭合时,该键所对应的线与连接单片机的线短路。
当S1键按1下,进入加热或制冷模式后,数码管显示为00,00代表温度设置起点温度。再按下按键S2数码管显示值将逐步从个位数往上加,直到想要设置的温度值,而按键S3是步进减键,按键每下一次,个位数减1。S4键是确定键,通过它来确定前面所设定的数值。
4.6 报警电路设计
报警电路主要是由发光二极管和蜂鸣器组成的,具有声、光报警功能的简单电路,其电路如图8所示。当温度超过设置的上、下限时,P2.2口输出高电平,三极管导通,蜂鸣器工作,发出声音。P2.3口输出高电平时,发光二极管正向导通,发光报警。
图8 报警电路
4.7 控制电路设计
该电路是由两个固态继电器作为控制开关,一个继电器控制加热装置,另一个继电器控制制冷装置。为了实现输入与输出的隔离,器件采用了高耐压的光耦合器。控制部分电路图如图9所示。
控制电路工作原理:当AT89C51的RXD口输出一个高电平时,三极管开始工作,驱动继电器J1工作,继电器J1呈导通状态,加热装置开始工作。同样,当AT89C51的TXD口输出一个高电平时,三极管开始工作,驱动继电器J2工作,继电器J2开关闭合,制冷装置开始工作。
图9 控制电路