电烤箱温度控制系统.docx
- 文档编号:27901025
- 上传时间:2023-07-06
- 格式:DOCX
- 页数:25
- 大小:237.05KB
电烤箱温度控制系统.docx
《电烤箱温度控制系统.docx》由会员分享,可在线阅读,更多相关《电烤箱温度控制系统.docx(25页珍藏版)》请在冰豆网上搜索。
电烤箱温度控制系统
第1章绪论
随着社会的不断发展,人们改造自然的能力也在不断的提高。
机器的诞生,为我们减少了部分或者全部的脑力劳动和体力劳动。
电子技术的诞生更是带来了翻天覆地的变化。
机电控制系统成为机械技术与微电子技术集成的共性关键技术。
人们通过它可以使机械完全按照自己的意愿来执行。
单片机也被称为微控制器(Microcontroller),是因为它最早被用在工业控制领域。
单片机由芯片内仅有CPU的专用处理器发展而来。
最早的设计理念是通过将大量外围设备和CPU集成在一个芯片中,使计算机系统更小,更容易集成进复杂的而对体积要求严格的控制设备当中。
INTEL的Z80是最早按照这种思想设计出的处理器,从此以后,单片机和专用处理器的发展便分道扬镳。
早期的单片机都是8位或4位的。
其中最成功的是INTEL的8031,因为简单可靠而性能不错获得了很大的好评。
此后在8031上发展出了MCS51系列单片机系统。
基于这一系统的单片机系统直到现在还在广泛使用。
随着工业控制领域要求的提高,开始出现了16位单片机,但因为性价比不理想并未得到很广泛的应用。
90年代后随着消费电子产品大发展,单片机技术得到了巨大的提高。
随着INTELi960系列特别是后来的ARM系列的广泛应用,32位单片机迅速取代16位单片机的高端地位,并且进入主流市场。
而传统的8位单片机的性能也得到了飞速提高,处理能力比起80年代提高了数百倍。
目前,高端的32位单片机主频已经超过300MHz,性能直追90年代中期的专用处理器,而普通的型号出厂价格跌落至1美元,最高端的型号也只有10美元。
当代单片机系统已经不再只在裸机环境下开发和使用,大量专用的嵌入式操作系统被广泛应用在全系列的单片机上。
而在作为掌上电脑和手机核心处理的高端单片机甚至可以直接使用专用的Windows和Linux操作系统。
单片机是靠程序的,并且可以修改。
通过不同的程序实现不同的功能,尤其是特殊的独特的一些功能,这是别的器件需要费很大力气才能做到的,有些则是花大力气也很难做到的。
一个不是很复杂的功能要是用美国50年代开发的74系列,或者60年代的CD4000系列这些纯硬件来搞定的话,电路一定是一块大PCB板!
但是如果要是用美国70年代成功投放市场的系列单片机,结果就会有天壤之别!
只因为单片机的通过你编写的程序可以实现高智能,高效率,以及高可靠性。
单片机在日常生活中的运用越来越广泛。
温度控制在工业生产中经常遇到。
从石油化工到电力生产,从冶金到建材,从食品到机械都要对温度进行控制.甚至在有些产品生产过程中温度的控制直接影响到产品的质量。
单片机温度控制无论是现在还是未来都会起到重要作用。
温度控制是工业生产过程中经常遇到的过程控制,有些工艺过程对其温度的控制效果直接影响着产品的质量,因而设计一种较为理想的温度控制系统是非常有价值的。
根据温度变化快慢,并且控制精度不易掌握等特点,本文电烤箱的温度控制为模型,设计了以AT89C51单片机为检测控制中心的温度控制系统。
温度控制采用PID数字控制算法,显示采用3位LED静态显示。
该设计结构简单,控制算法新颖,控制精度高,有较强的通用性。
本文介绍了以AT89C51单片机为核心的电烤箱温度控制系统。
电烤箱的温度控制系统有两个部分组成:
硬件部分和软件部分。
其中硬件部分包括:
单片机电路、传感器电路、放大器电路、转换器电路、以及键盘和显示电路。
软件部分包括:
主程序、运算控制程序、以及各功能实现模块的程序。
文章最后对本设计进行了总结。
第2章系统结构及主要元器件
2.1电烤箱温度控制系统结构
图2-1电烤箱温度控制系统结构
2.2制作电烤箱主要的元器件
1、AT89C51单片机
2、传感器
3、A/D转换器
4、放大器
5、键盘及显示
2.3部分元器件的介绍
2.3.1单片机引脚功能介绍
AT89C51系列单片机的封装形式有两种:
一种是双列直插方式封装;另一种是方形封装。
AT89C51单片机40个引脚及总线结构图2-2所示。
1.主电源引脚
主电源引脚两根:
VCC接+5V电源正端;VSS接+5V电源地端。
2.外接晶体引脚两根
XTAL1:
接外部石英体和微调电源的一端。
XTAL2:
接外部晶体和微调电容的另一端。
3.引脚功能
I\O引脚共32根。
a)PO口:
P0.0-P0.7统称为PO口是8位双向I/O口线。
P0口即可作为地址/数据总线使用,又可作为通用的I/O口线。
在不接片外存储器与不扩展I/O口时,可作为准双向输入/输出口。
在接有片外存储器或扩展I/O时,P0口分时复用为低8位地址总线和双向数据总线。
b)P1口:
P1.0-P1.7统称为P1口。
是8位准双向I/O口线。
P1口作为通用的I/O口使用。
c)P2口:
P2.0-P2.7统称为P2口。
是8位准双向I/O口线。
P2口即可作为通用的I/O口使用。
也可作为片外存储器的高8位地址线。
与P0口组成16位片外存储器单元地址。
d)P3口:
P3.0-P3.7统称为P3口。
是8位准双向I/O口线。
P3口除作为准双向口使用外。
每个引脚还具有第二功能。
P3口的每一个引脚均可独立定义为第一功能的输入输出或第二功能。
4.控制线
控制线共四根。
①ALE/PROG地址锁存有效信号输出率。
②PSEN片外程序存储器读选通信号输出端低电平有效。
③RST/VPD复位信号备用电源输入信号。
④EA/VPP片外程序存储器选用端。
图2-2单片机引脚图
2.3.2传感器的介绍
随着新技术革命的到来,世界开始进入信息时代,在利用信息的过程中,首先要解决的就是获取准确可靠地信息。
传感器是获取自然、生产、科研领域中信息的主要途径与手段。
1、传感器概述
根据国家标准,传感器的定义是:
能感受规定的被测量并按照一定得规律转换成可用输出信号的器件或装置。
传感器一般由敏感元件,转换元件和转换电路三部分组成。
2、传感器的基本特性
根据被测量的变化状态,可以把传感器的输入量分为静态量和动态量两类。
静态量指传感器的输入量位程序状态信号或变化及其缓慢的准静态信号;动态量指传感器的输入量为周期信号、瞬变信号或随机信号等时间变化的信号。
其中,传感器的静态特性是指传感器在被测量处于稳定状态下的输出输入关系,传感器的静态特性是在静态标准工作条件测定的。
1、传感器的技术性能指标
a)传感器的动态性能指标
b)环境参数指标
c)可靠性指标:
第3章硬件设计
系统的硬件部分包括单片机电路、A/D转换器电路、传感器电路、放大器电路、键盘及显示电路五部分。
其各部分连接关系已在第二章介绍过了如图2-1所示。
3.1系统总电路图
系统总电路图,如图3-1所示
图3-1系统总电路图
3.2AT89C51单片机的并行I/O端口设计
AT89C51单片机有4个8位并行I/O端口(P0、P1、P2、P3)每个端口都各有8条I/O口线,每条I/O口线都独立地用作输入输出,在具有片外扩展存储器的系统中,P2口送出高8位地址,P0口分时送出低8位地址和8位数据。
各端口的功能不同,结构上也有差异,但是每个端口的8位结构是完全相同的。
如图3-2所示。
1.P0口。
P0口是一个三态双向口,可作为地址/数据分时复用口,也可作为通用I/O接口。
2.P1口。
P1口为准双向口,它在结构上与P0口的区别在与输出驱动部分。
其输出驱动部分由场效应管V1与内部上拉电阻组成,当某某位输出高电平时,可以提供上拉电流负载,不必像P0口上那样需要外接上拉电阻。
3.P2口。
P2口也为准双向口。
其具有通用I/O接口或高8位地址总线输出两种功能,所以其输出驱动结构比P1口输出驱动结构多了一个输出模拟转换开关MUX和反相器3.
4.P3口。
P3口的输出驱动由与非门3和V1组成,比P0、P1、P2口结构多了一个缓冲器4.P3口除了可为通用准双向I/O接口外,每一根线还具有第二功能。
(a)P0口结构(b)P1口结构
(c)P2口结构(d)P3口结构
图3-2I/O口位结构图
3.3AT89C51单片机时钟电路设计
1.时钟电路
AT89C51单片机的时钟信号通常有两种方式产生:
一种是内部方式,一种是外部方式。
图3-3、3-4所示。
图3-3内部方式时钟电路图3-4外部方式时钟电路
3.4A/D转换电路设计
1.ADC0809的内部逻辑结构
图3-5ADC0809内部逻辑结构图
如图3-5所示,多路开关可达通讯员89模拟通道,允许8路模拟量分时输入,共用一个A/D转换器进行转换。
地址锁存与译码电路完成对A、B、C三个地址供进行锁存和译码,其译码输出用于通道选择。
3.5AT89C51单片机与ADC0809接口
ADC0809与AT89051单片机边接如图3-6所示,电路连接主要涉及两个问题,一是不是路模拟信号通道选择,二是A/D转换完成后数据的传送
1)8路模拟通道选择
A、B、C分别接地址锁存器提供的低三位地址。
只要把三位地址写入0809中的地址锁存器就实现了模拟通道选择。
对系统来说,地址锁存器是一个输出口,为了把三位地址写入,还要提供口地址。
2)数据的传输方式
A.定时传输方式
B.查询方式
C.中断方式
图3-6ADC0809与单片机的连接
3.6键盘及显示电路的设计
3.6.1键盘接口电路
1、键盘的工作原理
a)按键的确认
在单片机应用系统中,按键都是以开关状态来设置控制功能或能入数据的,键的半合与否,反映在电压上就是呈高电平或低电平,如果高电平表示断开的话,那么低电平就是表示闭合,所以通过电平的高代状态的检测,使可以克认按键接下与否。
b)按键的抖动处理
去抖有硬件和软件两种方法,硬件方法通常采用通过RS触发器连接按键除抖,软件方法采用昝方法除抖。
2、独立工按键
独立式按键是直接用I/O口线构成的单个按键电路,其特点是每个按键单独占用一根I/O口线,每个按键的工作不会其他I/O口线的状态
3、矩阵式按键
单片机系统中,若使用按键分明,通常采用矩阵式(也称行列式)键盘。
一个4*4的行列结构可以构成一个含有16个按键的键盘。
矩阵式键盘中,行列式分别连接到按键开关的两端,行式通过二伴电阻接到+5V上,当无键按下时,行式于高电平状态,当有键按下时,行列式将贯通,此时将由与此行线相连的列线电平决定,这是识别按键是否按下的关键。
3.6.2LED显示器接口电路
常用的LED显示器有LED状态显示器(俗称发光二极管)、LED七段显示器(俗称数码管和LED十六段显示器,发光二极管可显示两种状态,用于系统显示;数码管用于数字显示;LED十六段显示器,用于字符显示)。
1、数码管结构
数码管由8个发光二极管(以下简称字段)构成,通过不同组合可用来显示数字0-9.字符A-F及小数点“.”。
数码管又分为共阴极和共阳极两种结构。
2、数码管工作原理
共阳极数码管的8个发光二级管的阳极(二极管正端)连接在一起。
通常会共阳极接高电平1.一般接电源1.当某个阴极接低电平时,则该数码管导通并点亮。
共阴极数码管的8个发光二极管的阴极(二极管负端)连接在一起。
公共阴极接低电平(一般接地)当某个阳极接高电平,则该数码管并点亮。
3.7抗干扰电路设计
3.7.1电磁干扰的形成因素
电池干扰由电磁干扰源发射经过耦合途径传输到被干扰设备(敏感设备)因此形成电磁干扰的要素有:
电磁干扰源、传输通到、敏感设备。
3.7.2干扰的分类
a)按干扰源分为自然干扰和人为干扰。
b)按噪声波形及性质分为持续正弦波干扰和浪涌脉冲波形干扰。
c)按干扰传输系统的方式分为共模干扰、差模干扰、传导耦合、感应
藕合和辐射耦合。
3.7.3单片机应用系统电磁干扰控制的一般方法
单片机应用系统的干扰源分为内部干扰源和外部干扰源。
其中内部干扰源主要来自于印制电路板的布局及布线。
单片机系统的抗干扰技术主要包括以下四个方面的内容
a)精心选择元器件
元器件是构成部件或系统的基础。
要选择集成度高、抗干扰能力强功耗小的电子器件。
b)元部件要精密调整
元器件的精密度是保证系统完成设定功能的重要保证。
因此在使用前或经过一段运行时间之后,都应该对元器件及部件进行精确调整。
c)采用硬件抗干扰技术
硬件抗干扰技术是设计系统时首选的抗干扰措施,它能有效抑制干扰源,阻断干扰传输通道,只要合理地布置与选择有关参数。
d)采用软件抗干扰技术
软件抗干扰方法具有简单、灵活方便、耗费硬件资源少的特点。
在微机测控系统中获得了广泛应用。
3.7.4硬件抗干扰措施
a)屏蔽技术
b)接地技术
电气设备中的“地”通常有两种含义:
一种是“大地”.另一种是“工作基准地”。
所谓“大地”这里是指电气设备的金属外壳,线路等通过接地线、接地极与地球大地相连接。
这种接地可以保证设备和人身安全,提供静电屏蔽。
通路降低电磁感应噪声。
电气设备接地的目的有三个:
其一是为各电路的工作提供基准电位;其二是为了安全,其三是为了抑制干扰。
第4章软件部分设计
4.1功能模块
系统软件可以分为以下几个功能模块:
(1)键盘管理:
监测键盘输入,接收温度预置,启动系统工作。
(2)显示:
显示设置温度及当前温度。
(3)温度检测及温度值变换:
完成A/D转换及数字滤波。
(4)温度控制:
根据检测到的温度控制电炉工作。
(5)报警:
当预置温度或当前炉温越限时报警。
4.2功能软件设计
4.2.1键盘管理模块
上电或复位后系统处于键盘管理状态,其功能是监测键盘输入,接收温度预置和启动键。
程序设有预置温度合法检测报警,当预置温度超过120℃时会报警并将温度设定在120℃。
键盘管理子程序KIN:
KIN:
ACALCHK;预置温度合法性检测
MOVBT1,ST1
MOVBT0,ST0;预置温度送显示缓冲区
ACALLDISP;二次调用显示子程序延时去抖
ACALLKEY;再检测有无键按下
LCALLDISP;显示预置温度
KIN0:
ACALLKEY;读键值
JZKIN0;无键闭合和重新检测JZKIN0;无键按下重新检测
JBACC.1,S10
MOVA,#100;百位键按下
AJMPSUM
S10:
JBACC.2,S1
MOVA,#10;十位键按下
AJMPSUM
S1:
JBACC.3,S0
MOVA,#01;个位键按下
SUM:
ADDA,ST0;预置温度按键+1
MOVST0,A
MOVA,#00H
ADDCA,ST1
MOVST1,A
KIN1:
CALLKEY;判断闭合键释放
JNZKIN1;未释放继续判断
AJMPKIN;闭合键释放继续扫描键盘
S0:
JNBACC.0,KIN;无键按下重新扫描键盘
RET;启动键按下返回
KEY:
MOVA,P1;读键值子程序
CPLA
ANLA,#0FH
RET
4.2.2显示模块
显示子程序的功能是将显示缓冲区57H和58H的二进制数据先转换成三个BCD码,分别存入百位、十位和个位显示缓冲区(54H、55H和56H单元),然后通过串口送出显示。
显示子程序DISP:
DISP:
ACALLHTB;将显示数据转换为BCD码
MOVSCON,#00H;置串行口为方式0
MOVR2,#03H;显示位数送R2
MOVR0,#T100;显示缓冲区首地址送R0
LD:
MOVDPTR,#TAB;指向字型码表首地址
MOVA,@R0;取显示数据
MOVCA,@A+DPTR;查表
MOVSBUF,A;字型码送串行口
WAIT:
JBCTI,NEXT;发送结束转下一个数据并清中断标志
SJMPWAIT;发送未完等待
NEXT:
INCR0;修改显示缓冲区指针
DJNZR2,LD;判3位显示完否,未完继续
RET
TAB:
…;字型码表(略)
BCD码转换子程序HTB:
HTB:
MOVA,BT0;取二进制显示数据低8位
MOVB,#100;除100,确定百位数
DIVAB
MOVT100,A;百位数送54H单元
MOVA,#10;除10,确定十位
XCHA,B
DIVA,B
MOVT10,A;十位数送55H单元
MOVT,B;个位数送56H单元
MOVA,BT1;取二进制显示数据高8位
JNZLH1;高位不为0转LH1继续高8位转换
RET;高位为0结束,返回
LH1:
MOVA,#06H
ADDA,T
DAA;个位加6(十进制加)
MOVT,A;结果送回个位
MOVA,#05H
ADDCA,T10
DAA;十位加5(十进制加)
MOVT10,A;结果送回十位
MOVA,#02H
ADDCA,T100
DAA;百位加2(十进制加)
MOVT100,A;结果送回百位
RET
4.2.3温度检测模块
A/D转换采用查询方式。
为提高数据采样的可靠性,对采样温度进行数字滤波。
数字滤波的算法很多,这里采用4次采样取平均值的方法。
如前所述,本系统A/D转换结果乘2正好是温度值,因此,4次采样的数字量之和除以2就是检测的当前温度。
检测结果高位存入50H,低位存入51H。
温度检测子程序流程图如图4-1所示。
温度检测子程序TIN:
TIN:
MOVTEMP1,#00H;清检测温度缓冲区
MOVTEMP0,#00H
MOVR2,#04H;取样次数送R2
MOVDPTR,#7FF8H;指向A/D转换器0通道
LTIN1:
MOVX@DPTR,A;启动转换
HERE:
JNBIE1,HERE;等待转换结束
MOVXA,@DPTR;读转换结果
ADDA,TEMP0;累加(双字节加法)
MOVTEMP0,A
MOVA,#00H
ADDCA,TEMP1
MOVTEMP1,A
DJNZR2,LTIN1;4次采样完否,未完继续
CLRC;累加结果除2(双字节除法)
MOVA,TEMP1
RRCA
MOVTEMP1,A
MOVA,TEMP0
RRCA
MOVTEMP0,A
RET
N
Y
N
Y
图4-1温度检测子程序流程图
4.2.4温度控制模块
将当前温度与预置温度比较,当前温度小于预置温度时,继电器闭合,接通电阻丝加热;当前温度大于预置温度时,继电器断开,停止加热;当二者相等时电炉保持原来状态;当前温度降低到比预置温度低2℃时,再重新启动加热;当前温度超出报警上下限时将启动报警,并停止加热。
由于电炉开始加热时,当前温度可能低于报警下限,为了防止误报,在未达到预置温度时,不允许报警,为此设置了报警允许标志F0。
模块流程如图4-2:
图4-2温度控制流程图
4.2.5温度越限报警模块
报警上限温度值为预置温度+5℃,即当前温度上升到高于预置温度+5℃时报警,并停止加热;报警下限温度值为预置温度-5℃,即在当前温度下降到低于预置温度-5℃,且报警允许时报警,这是为了防止开始从较低温度加温时误报警。
报警的同时也关闭电炉。
报警子程序流程图如图4-3。
报警子程序ALARM
ALARM:
MOVA,TEMP0;当前温度低字节→A
CLRC
SUBBA,ST0;(当前温度低字节-预置温度低字节)→A
MOVB,A;低字节相减结果送B暂存
MOVA,TEMP1;当前温度高字节→A
SUBBA,ST1;(当前温度高字节-预置温度高字节)→A
JCLA0;有借位,当前温度小于预置温度转LA0
SETBF0;当前温度≥预置温度,允许报警
AJMPLA1
LA0:
MOVA,ST0;预置温度低字节→A
CLRC
SUBBA,TEMP0;
MOVB,A;低字节相减结果送B暂存
MOVA,ST1;预置温度高字节→A
SUBBA,TEMP1;
LA1:
XCHA,B;
CLRC
SUBBA,#05H;(低字节差-5)→A
XCHA,B;(低字节差-5)→B,高字节差→A
SUBBA,#00H;
JCLA2;相减结果小于5,不报警
JNBF0,LA2;相减结果≥5,判是否允许报警
CLRP1.6;启动报警
SETBP1.70;关电炉
LCALLD0.6s;报警延时0.6s
SETBP1.6;关报警
LA2:
RET
N
N
Y
YN
Y
图4-3报警子程序流程图
4.2.6主程序和中断服务子程序
主程序采用中断嵌套方式设计,各功能模块可直接调用。
主程序完成系统的初始化,温度预置及其合法性检测,预置温度的显示及定时器0设置。
定时器0中断服务子程序是温度控制体系的主体,用于温度检测、控制和报警(包括启动A/D转换、读入采样数据、数字滤波、越限温度报警和越限处理、输出可控硅的控制脉冲等)。
中断由定时器0产生,根据需要每隔15s中断一次,即每15s采样控制一次。
但系统采用6MHz晶振,最大定时为130ms,为实现15s定时,这里另行设了一个软件计数器。
主程序MAIN:
(数据缓冲区的定义和初始化部分略)
ORG0000H
AJMPMAIN
ORG000BH
AJMPPT0
ORG0030H
MAIN:
MOVSP,#59H;设定堆栈指针
MOVTMOD,#01H;定时器0初始化
MOVTL0,#0B0H;定时器定时时间100ms
MOVTH0,#3CH
MOVR7,#150;置15s软计数器初值
ACALLKIN;调键盘管理子程序
SETBET0;允许定时器0中断
SETBEA;开中断
SETBTR0;启动定时器0
SJMP$
定时器0中断服务子程序PT0:
PT0:
MOVTL0,#0B0H
MOVTH0,#3CH;重置定时器0初
DJNZR7,BACK;15s到否,不到返回
MOVR7,#150;重置软计数器初值
ACALLTIN;温度检测
MOVBT1,TEMP1;当前温度送显示缓冲区
MOVBT0,TEMP0
ACALLDISP;显示当前温度
ACALLCONT;温度控制
LCALLALARM;温度越限报警
BACK:
RETI
第5章系统仿真与调试
5.1系统调试
系统调试通常包括实验室硬件联调、实验室软件联调、实验室系统仿真、仿真考机运行和现场安装调试等几个环节。
在系统总装以后,首先要进行实验室条件下的系统硬件联调;联调成功以后,有了硬件操作保证,就很容易发现软件的
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 电烤箱 温度 控制系统