基于单片机的电阻炉温度控制系统设计 下载本文

内容发布更新时间 : 2024/5/17 23:58:27星期一 下面是文章的全部内容请认真阅读。

基于单片机的电阻炉温度控制系统设计、

概述

电阻炉在化工、冶金等行业应用广泛,因此温度控制在工业生产和科学研究中具有重要意义。其控制系统属于一阶纯滞后环节,具有大惯性、纯滞后、非线性等特点,导致传统控制方式超调大、调节时间长、控制精度低。采用单片机进行炉温控制,具有电路设计简单、精度高、控制效果好等优点,对提高生产效率、促进科技进步等方面具有重要的现实意义。此次课程设计温度控制系统的主要技术指标有:温控范围:300℃~1000℃;恒温时间:0~24小时;控制精度:±1℃;超调量<1%。

1 整体设计及系统原理

本系统由单片机AT89C51、温度检测电路、键盘显示、显示电路、温度控制电路等部分组成。系统中采用了新型元件,功能强、精度高、硬件电路简单。其硬件原理图如图1所示。

在系统中,利用热电偶测得电阻炉实际温度并转换成毫伏级电压信号。该电压信号经过温度检测电路转换成与炉温相对应的数字信号进入单片机,单片机进行数据处理后,通过液晶显示器显示温度,同时将温度与设定温度比较,根据设定计算出控制量,根据控制量通过控制继电器的导通和关闭从而控制电阻丝的导通时间,以实现对炉温的控制。

键盘 AT89C51 温度检测 电路 传感器 电阻炉 温度控制

图1 硬件原理图

显示 单片机 程序流程图

在系统软件中,主程序完成系统初始化和电炉丝的导通和关断;炉温测定、键盘输入、时间确定和显示、控制算法等都由子程序来完成;中断服务程序实现定时测温和读取时间。流程图如图2所示。

图2 总体流程图

开始 系统初始化设置 键盘输入及目标炉温设置 停止加热 炉温测量与显示 全速加热 炉温等于下限温度? Y N Y 炉温等于上限温度? N PID算法控制炉温加热 炉温测定并显示 等于目标温度且稳定时间到? N Y 结束 2 硬件设计2.1 温度检测电路

本系统采用的K型(镍铬-镍硅)热电偶,其可测量1312℃以内的温度,其线性度较

好,而且价格便宜。K型热电偶的输出是毫伏级电压信号,最终要将其转换成数字信号与CPU通信。传统的温度检测电路采用“传感器-滤波器-放大器-冷端补偿-线性化处理-A/D转换”模式,转换环节多、电路复杂、精度低。在本系统中,采用的是高精度的集成芯片MAX6675来完成“热电偶电势-温度”的转换,不需外围电路、I/O接线简单、精度高、成本低。

MAX6675是MAXIM公司开发的K型热电偶转换器,集成了滤波器、放大器等,并带有热电偶断线检测电路,自带冷端补偿,能将K型热电偶输出的电势直接转换成12位数字

2

量,分辨率0.25℃,工作电压为3.0~5.5V。温度数据通过SPI端口输出给单片机,其冷端补偿的范围是-20~80℃,测量范围是0~1023.75℃。表1为MAX6675的引脚功能图:

表1 MAX6675的引脚功能图 引脚号 1 2 3 4 5 6 7 8 名称 GND T- T+ VCC SCK SO NC 功能 接地端 热电偶负极(使用时接地) 热电偶正极 电源端 串行时钟输入端 片选信号 数据串行输出口 悬空不用 当MAX6675的CS引脚从高电平变为低电平时, MAX6675 将停止任何信号的转换并在时钟SCK的作用下向外输出已转化的数据。相反,当CS从低电平变回高电平时, MAX6675将进行新的转换。在CS 引脚从高电平变为低电平时, 第一个字节D15 将出现在引脚SO。一个完整的数据读过程需要16个时钟周期,数据的读取通常在SCK的下降沿进行。

MAX6675的输出数据为16位,其中D15 始终无用, D14~D3对应于热电偶模拟输入电压的数字转换量, D2用于检测热电偶是否断线(D2为1表明热电偶断开) , D1 为MAX6675 的标识符, D0 为三态。需要指出的是:在以往的热电偶电路设计中,往往需要专门的断线检测电路, 而MAX6675 已将断线检测电路集成于片内,从而简化了电路设计。D14~D3 为12 位数据,其最小值为0 ,对应的温度值为0 ℃; 最大值为4095 , 对应的温度值为1023.75 ℃; 由于MAX6675 内部经过了激光修正, 因此, 其转换结果与对应温度值具有较好的线性关系。温度值与数字量的对应关系为:

温度值= 1023.75 ×转换后的数字量/ 4095。

由于MAX6675 的数据输出为3 位串行接口, 因此只需占用微处理器的3 个I/ O 口。图2 是以89C51系列单片机为例给出的系统连接图。使用时, 可用软件模拟同步串行读取过程。图中串行外界时钟由微处理器的P1.3 提供,片选信号由P1.2 提供,转换数据由P1. 1 读取。热电偶的模拟信号由T+ 和T-端输入,其中T- 需接地。MAX6675 的转换结果将在SCK的控制下连续输出。

3