基于单片机的烘箱温度控制器设计.doc_第1页
基于单片机的烘箱温度控制器设计.doc_第2页
基于单片机的烘箱温度控制器设计.doc_第3页
基于单片机的烘箱温度控制器设计.doc_第4页
基于单片机的烘箱温度控制器设计.doc_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基于单片机的烘箱温度控制器设计目录1. 项目概述11.1. 该设计的目的及意义11.2. 该设计的技术指标22. 系统设计32.1. 设计思想32.2. 方案可行性分析42.3. 总体方案53. 硬件设计63.1. 硬件电路的工作原理63.2. 参数计算74. 软件设计84.1. 软件设计思想84.2. 程序流程图94.3. 程序清单105. 系统仿真与调试115.1. 实际调试或仿真数据分析115.2. 分析结果136. 结论127. 参考文献138. 附录141. 项目概述:1.1该设计的目的及意义温度的测量及控制,随着社会的发展,已经变得越来越重要。而温度是生产过程和科学实验中普遍而且重要的物理参数,准确测量和有效控制温度是优质,高产,低耗和安全生产的重要条件。在工业的研制和生产中,为了保证生产过程的稳定运行并提高控制精度,采用微电子技术是重要的途径。它的作用主要是改善劳动条件,节约能源,防止生产和设备事故,以获得好的技术指标和经济效益。而本设计正是为了保证生产过程的稳定运行并提高控制精度,采用以51系列单片机为控制核心,对温度进行控制,不仅具有控制方便、组态简单和灵活性大等优点,而且可以大幅度提高被控温度的技术指标。通过本设计的实践,将以往学习的知识进行综合应用,是对知识的一次复习与升华,让以往的那些抽象的知识点在具体的实践中体现出来,更是对自己自身的挑战。1.2该设计的技术指标设计并制作一个基于单片机的温度控制系统,能够对炉温进行控制。炉温可以在一定范围内由人工设定,并能在炉温变化时实现自动控制。若测量值高于温度设定范围,由单片机发出控制信号,经过驱动电路使加热器停止工作。当温度低于设定值时,单片机发出一个控制信号,启动加热器。通过继电器的反复开启和关闭,使炉温保持在设定的温度范围内。(1) 1KW 电炉加热(电阻丝),最度温度为120(软件实现)(2) 恒温箱温度可设定,温度控制误差2(软件实现PID)(3) 实时显示温度和设置温度,显示精度为1(LED)。(4) 温度超过设置温度5,发出超限报警,升温和降温过程不作要求。(5) 升温过程采用PID算法, 控制器输出方式为PWM输出方式,降温采用自然冷却。(6) 功率电路220 VAC供电,强弱电气电隔离2. 系统设计2.1. 设计思想以87C51单片机为整个温度控制系统的核心,为解决系统出现一时的死机的问题,需构建复位电路,来重新启动整个系统。要想控制温度,首席必须能够测量温度,就需要一温度传感器,将测量得到的温度传给单片机,经单片机处理后,去控制继电器等器件实现电炉的断与通来达到温度期望值,当温度超过设定上下限值时,可以通过中断信号,控制指示灯的亮灭,来提醒温度过高或过低,以便采取必要的措施,来阻断或导通电炉进行加热或者冷却,以使温度保持在设定值,更可以通过LED显示设定值和温度实时值,可以设定一功能键,来切换是显示设定值还是温度实时值,另外如果想更改设定温度值,可以通过设定加减键来实现温度设定值的增减,而温度的控制过程可以通过软件编程实现最优控制,比如PID算法。2.2. 可行性方案分析实现温度控制的方法主要有以下几种。1.方案一:采用纯硬件的闭环控制系统。该系统的优点在于速度较快,但可靠性比较差控制精度比较低、灵活性小、线路复杂、调试、安装都不方便。且要实现题目所有的要求难度较大。2.方案二:FPGA/CPLD或采用带有IP内核的FPGA/CPLD方式。即用FPGA/CPLD完成采集,存储,显示及A/D等功能,由IP核实现人机交互及信号测量分析等功能。这种方案的优点在于系统结构紧凑,可以实现复杂的测量与与控制,操作方便;缺点是调试过程复杂,成本较高。3. 方案三:单片机与高精度温度传感器结合的方式。即用单片机完成人机界面,系统控制,信号分析处理,由前端温度传感器完成信号的采集与转换。这种方案克服了方案一、二的缺点,所以本课题任务是基于单片机和温度传感器实现对温度的控制。 2.3. 总体方案(1)系统结构框图:显示模块(LED)键盘模块(输入)80C51单片机温度传感器DS18B20报警电路(蜂鸣器或者指示灯)被控对象温度控制电路复位电路(2)闭环回路系统输出温度被控对象晶闸管主电路驱动电路87C51单片机给定值采 样 电 路3.硬件设计3.1.硬件电路的工作原理3.1.1单片机选择单片机是整个控制系统的核心,要满足大内存、高速率、通用性、价格便宜等要求,本设计选择87C51作为主控芯片。 87C51是INTEL公司MCS-51系列单片机中基本型产品,它采用INTEL公司可靠的CHMOS工艺技术制造的高性能8位单片机,属于标准的MCS-51的体系结构和指令系统。它结合了HMOS的高速和高密度技术及CHMOS的低功耗特征,是80C51BH的EPROM版本,电改写光擦除的片内4kB EPROM。87C51内置中央处理单元、128字节内部数据存储器RAM、32个双向输入/输出(I/O)口、2个16位定时/计数器和5个两级中断结构,一个全双工串行通信口,片内时钟振荡电路。快速脉冲编程,如编写4kB片内ROM仅需12秒。此外,87C51还可工作于低功耗模式,可通过两种软件选择空闲和掉电模式。在空闲模式下冻结CPU而RAM定时器、串行口和中断系统维持其功能。掉电模式下,保存RAM数据,时钟振荡停止,同时停止芯片内其它功能。87C51有PDIP和PLCC两种封装形式。 单 片 机 87C51 引 脚 图主要功能特性: 标准MCS-51内核和指令系统 4kB内部ROM(外部可扩展至64kB) 32个可编程双向I/O口 128x8bit内部EPRAM(可扩充64kB外部存储器) 2个16位可编程定时/计数器 时钟频率0-16MHz 5个中断源 5.0V工作电压 可编程全双工串行通信口 布尔处理器 2层优先级中断结构 电源空闲和掉电模式 快速脉冲编程 2层程序加密位 PDIP和PLCC封装形式 兼容TTL和CMOS逻辑电平(1)电源引脚Vcc和VssVcc(40脚):接+5V电源正端;Vss(20脚):接+5V电源正端。(2)外接晶振引脚XTAL1和XTAL2XTAL1(19脚):接外部石英晶体的一端。在单片机内部,它是一个反相放大器的输入端,这个放大器构成采用外部时钟时,对于HMOS单片机,该引脚接地;对于CHOMS单片机,该引脚作为外部振荡信号的输入端。XTAL2(18脚):接外部晶体的另一端。在单片机内部,接至片内振荡器的反相放大器的输出端。当采用外部时钟时,对于HMOS单片机,该引脚作为外部振荡信号的输入端。对于CHMOS芯片,该引脚悬空不接。(3)控制信号或与其它电源复用引脚有RST/VPD、ALE/P、PSEN和EA/VPP等4种形式。RST/VPD(9脚):RST即为RESET,VPD为备用电源,所以该引脚为单片机的上电复位或掉电保护端。当单片机振荡器工作时,该引脚上出现持续两个机器周期的高电平,就可实现复位操作,使单片机复位到初始状态。当VCC发生故障,降低到低电平规定值或掉电时,该引脚可接上备用电源VPD(+5V)为内部RAM供电,以保证RAM中的数据不丢失。ALE/ P (30脚):当访问外部存储器时,ALE(允许地址锁存信号)以每机器周期两次的信号输出,用于锁存出现在P0口的地址信号。PSEN(29脚):片外程序存储器读选通输出端,低电平有效。当从外部程序存储器读取指令或常数期间,每个机器周期PESN两次有效,以通过数据总线口读回指令或常数。当访问外部数据存储器期间,PESN信号将不出现。EA/Vpp(31脚):EA为访问外部程序储器控制信号,低电平有效。当EA端保持高电平时,单片机访问片内程序存储器4KB(MS52子系列为8KB)。若超出该范围时,自动转去执行外部程序存储器的程序。当EA端保持低电平时,无论片内有无程序存储器,均只访问外部程序存储器。对于片内含有EPROM的单片机,在EPROM编程期间,该引脚用于接21V的编程电源Vpp。(4)输入/输出(I/O)引脚P0口、P1口、P2口及P3口P0口(39脚22脚):这8条引脚有两种不同功能,分别适用于两种不同情况。第一种情况是89S51不带片外存储器,P0口可以作为通用I/O口使用,P0.0-P0.7用于传送CPU的输入/输出数据。第二种情况是89S51带片外存储器,P0.0-P0.7在CPU访问片外存储器时用于传送片外存储器的低8位地址,然后传送CPU对片外存储器的读写数据。 P1口(1脚8脚):这8条引脚和P0口的8条引脚类似,P1.7为最高位,P1.0为最低位。当P1口作为通用I/O口使用时,P1.0-P1.7的功能和P0口的第一功能相同,也用于传送用户的输入和输出数据。 P2口(21脚28脚):这组引脚的第一功能和上述两组引脚的第一功能相同,既它可以作为通用I/O口使用。它的第二功能和P0口引脚的第二功能相配合,用于输出片外存储器的高8位地址。 P3口(10脚17脚):P3.0P3.7统称为P3口。它为双功能口,可以作为一般的准双向I/O接口,也可以将每1位用于第2功能,而且P3口的每一条引脚均可独立定义为第1功能的输入输出或第2功能。单片机P3口管脚第2功能引脚 第二功能P1.0 RXD(串行口输入端)P1.1 TXD(串行口输出端)P1.2 INT0(外部中断0请求输入端,低电平有效)P1.3 INT1(外部中断1请求输入端,低电平有效)P1.4 T0(定时器/计数器0计数脉冲端)P1.5 T1(定时器/计数器1计数脉冲端)P1.6 WR(外部数据存储器写选通输出端,低电平有效)P1.7 RD(外部数据存储器读选通输出端,低电平有效)3.12.温度传感器的选择本系统采用DALLAS半导体公司生产的一线式数字温度传感器DS18B20采集温度数据,DS18B20属于新一代适配微处理器的智能温度传感器,可广泛用于工业、民用、军事等领域的温度测量及控制仪器、测控系统和大型设备中。它具有体积小,接口方便,传输距离远等特点。1、 DS18B20的主要特性1.1. 适应电压范围更宽,电压范围:3.05.5V,在寄生电源方式下可由数据 线供电1.2. 独特的单线接口方式,DS18B20在与微处理器连接时仅需要一条口线即可 实现微处理器与DS18B20的双向通讯1.3. DS18B20在使用中不需要任何外围元件,全部传感元件及转换电路集成在 形如一只三极管的集成电路内1.4. 温范围55125,在-10+85时精度为0.51.5.可编程的分辨率为912位,对应的可分辨温度分别为0.5、0.25、0.125和0.0625,可实现高精度测温1.6. 在9位分辨率时最多在93.75ms内把温度转换为数字,12位分辨率时最多在750ms内把温度值转换为数字,速度更快1.7. 用户可分别设定各路温度的上、下限2、 DS18B20的外形和内部结构DS18B20内部结构主要由四部分组成:64位光刻ROM、温度传感器、非挥发的温度报警触发器TH和TL、配置寄存器。DS18B20的外形及管脚排列如下图DS18B20引脚定义: (1)DQ为数字信号输入/输出端; (2)GND为电源地; (3)VDD为外接供电电源输入端(在寄生电源接线方式时接地)。 DS18B20内部结构图3、 DS18B20工作原理 DS18B20的读写时序和测温原理与DS1820相同,只是得到的温度值的位数因分辨率不同而不同,且温度转换时的延时时间由2s减为750ms。 DS18B20测温原理如图3所示。图中低温度系数晶振的振荡频率受温度影响很小,用于产生固定频率的脉冲信号送给计数器1。高温度系数晶振随温度变化其振荡率明显改变,所产生的信号作为计数器2的脉冲输入。计数器1和温度寄存器被预置在55所对应的一个基数值。计数器1对低温度系数晶振产生的脉冲信号进行减法计数,当计数器1的预置值减到0时,温度寄存器的值将加1,计数器1的预置将重新被装入,计数器1重新开始对低温度系数晶振产生的脉冲信号进行计数,如此循环直到计数器2计数到0时,停止温度寄存器值的累加,此时温度寄存器中的数值即为所测温度。图3中的斜率累加器用于补偿和修正测温过程中的非线性,其输出用于修正计数器1的预置值。图3: DS18B20测温原理框图表2 DS18B20高速暂存器序号寄存器名称作 用序号寄存器名称作用0123温度低字节温度高字节TH/用户字节1HL/用户字节2以16位补码形式存放以16位补码形式存放存放温度上限存放温度下限4、5678保留字节1、2计数器余值计数器/CRC以12位转化为例说明温度高低字节存放形式及计算:12位转化后得到的12位数据,存储在18B20的两个高低两个8位的RAM中,二进制中的前面5位是符号位。如果测得的温度大于0,这5位为0,只要将测到的数值乘于0.0625即可得到实际温度;如果温度小于0,这5位为1,测到的数值需要取反加1再乘于0.0625才能得到实际温度。表3 温度高低字节存放形式高8位 S S S S S 26 25 24 低8位 23 22 21 20 2-1 2-2 2-3 2-4 在硬件上,DS18B20与单片机的连接有两种方法,一种是Vcc接外部电源,GND接地,I/O与单片机的I/O线相连;另一种是用寄生电源供电,此时UDD、GND接地,I/O接单片机I/O。无论是内部寄生电源还是外部供电,I/O口线要接5K左右的上拉电阻。 DS18B20有六条控制命令,如表4所示:表4 DS18B20控制命令指 令约定代码操 作 说 明温度转换读暂存器写暂存器复制暂存器重新调E2RAM读电源供电方式44HBEH4EH48HB8HB4H启动DS18B20进行温度转换读暂存器9个字节内容将数据写入暂存器的TH、TL字节把暂存器的TH、TL字节写到E2RAM中把E2RAM中的TH、TL字节写到暂存器TH、TL字节启动DS18B20发送电源供电方式的信号给主CPUCPU对DS18B20的访问流程是:先对DS18B20初始化,再进行ROM操作命令,最后才能对存储器操作,数据操作。DS18B20每一步操作都要遵循严格的工作时序和通信协议。如主机控制DS18B20完成温度转换这一过程,根据DS18B20的通讯协议,须经三个步骤:每一次读写之前都要对DS18B20进行复位,复位成功后发送一条ROM指令,最后发送RAM指令,这样才能对DS18B20进行预定的操作。4. 温度传感器DS18B20的引脚3.1.3 单片机控制模块控制模块是整个设计方案的核心,它控制了温度的采集、处理与显示、温度值的设定与温度越限时控制电路的启动。本控制模块由单片机AT89S51及其外围电路组成。(1) 复位和时钟脉冲电路该电路采用按键加上电复位,S1为复位按键,复位按键按下后,复位端通过小电阻R1与电源接通,迅速放电,使RST引脚为高电平,复位按键弹起后,电源通过大电阻对电容C3重新充电,RST引脚端出现复位正脉冲.87C51内部有一个高增益反相放大器,用于构成振荡器,但要形成时钟脉冲,外部还需附加电路,本设计采用内部时钟方式,利用芯片内部的振荡器,然后在引脚XTAL1和XTAL2两端跨接晶体振荡器,就构成了稳定的自激振荡器,发出的脉冲直接送入内部时钟电路,C1和C2的值通常选择为30pF左右,晶振Y选择12MHz.为了减小寄生电容,更好地保证振荡器稳定、可靠地工作,振荡器电容应尽可能安装得与单片机引脚XTAL1和XTAL2靠近。3.14. 温度数据采集模块温度由DALLAS 公司生产的一线式数字温度传感器DS18B20 采集。DS18B20 测温范围为-55C+125C,测温分辨率可达0.0625C,被测温度用符号扩展的16 位补码形式串行输出。CPU 只需一根端口线就能与诸多DS18B20 通信,占用微处理器的端口较少,可节省大量的引线和逻辑电路。本设计采用三引脚PR-35封装的DS18B20,其引脚图见图3。Vcc接外部+5V电源,GND接地,I/O与单片机的P3.4(T0)引脚相连。3.14. 显示模块显示部分采用LED静态显示方式,共阴极的数码管的公共端COM连接在一起接地,每位的段选线与74HC164的8位并口相连,只要在该位的段选线上保持段选码电平,该位就能保持相应的显示字符,考虑到节约单片机的I/O资源,因而采用串行接口方式,外接8位移位寄存器74HC164构成显示电路,电路如图5所示。74HC164的逻辑功能介绍如下:当清除端(CLEAR)为低电平时,输出端(QAQH)均为低电平。 串行数据输入端(A,B)可控制数据。当 A、B 任意一个为低电平,则禁 止新数据输入,在时钟端(CLOCK)脉冲上升沿作用下 Q0 为低电平。当 A、B 有一个为高电平,则另一个就允许输入数据,并在 CLOCK 上升沿作用下决定 Q0 的状态。真值表如表5所示。在单片机的TXD(P3.1)运行时钟信号,将显示数据由RXD(P3.0)口串行输出至74HC164的A、B端。3.1.5. 温度设置模块温度设置部分采用独立式按键,S4为温度值加1按键,与单片机的P0.0

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论