欢迎来到冰点文库! | 帮助中心 分享价值,成长自我!
冰点文库
全部分类
  • 临时分类>
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • ImageVerifierCode 换一换
    首页 冰点文库 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    基于单片机的恒温箱控制系统设计.docx

    • 资源ID:16220220       资源大小:311.54KB        全文页数:27页
    • 资源格式: DOCX        下载积分:1金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要1金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    基于单片机的恒温箱控制系统设计.docx

    1、基于单片机的恒温箱控制系统设计基于单片机的恒温箱控制系统设计电子信息工程 王锋摘要 恒温控制在工业生产过程中举足轻重,温度的控制直接影响着工业生产的产量和质量。本设计是基于AT89C51单片机的恒温箱控制系统,系统分为硬件和软件两部分,其中硬件包括:温度传感器、显示、控制和报警的设计;软件包括:键盘管理程序设计、显示程序设计、控制程序设计和温度报警程序设计。编写程序结合硬件进行调试,能够实现设置和调节初始温度值,进行数码管显示,当加热到设定值后立刻报警。另外,本系统通过软件实现对按键误差、加热过冲的调整,以提高系统的安全性、可靠性和稳定性。本设计从实际应用出发选取了体积小、精度相对高的数字式温

    2、度传感元件DS18B20作为温度采集器,单片机AT89C51作为主控芯片,数码管作为显示输出,实现了对温度的实时测量与恒定控制。关键词 单片机;温度传感器;恒温;控制;报警The Design of Refrigerator Door Shell Shaping Control System Based on Siemens WINCCElectronicInformationEngineeringWANGFengAbstract: The system makes use of the single chip AT89C51 as the temperature controlling ce

    3、nter, uses numeral thermometer DS18B20 which transmits as 1-wire way as the temperature sensor, through the pressed key, the numerical code demonstrated composite of the man-machine interactive connection ,to realize set and adjust the initial temperature value. After the system works, the digital t

    4、ube will demonstrate the temperature value, when temperature arriving to the setting value, the buzzer will be work immediately. In addition, the system through the software adjusting to the pressed key error, and the excessively hutting. All of these are in order to enhance the systems security, re

    5、liability and stability.Keywords: DS18B20;MCU;Constant temperature control; 1-wire transmission目录1引言 12系统概述 12.1简述 13设计思路分析 24方案论证 24.1温度传感器 24.2显示部分 24.3输出控制 35硬件设计及工作原理 35.1系统功能及工作流程介绍 35.2功能模块 55.3系统硬件设计 55.3.1DS18B20测温电路 55.3.2DS18B20的特点介绍 65.3.3单线(1-wire)技术 65.3.4DS18B20的引脚及功能介绍 75.3.6输出控制电路 95

    6、.3.7温度越线报警电路 106系统的应用软件设计 106.1软件描述 106.1.1键盘管理模块 106.1.2显示模块 116.1.3控制模块 116.1.4温度报警模块 126.1.5主程序和中断服务程序流程 127系统调试与仿真 147.1 硬件调试 147.1.1脱机检查 147.1.2仿真调试 147.1.3检查CPU的时钟电路 147.1.4对扩展的RAM、ROM进行检查调试 157.2 软件调试 157.2.1交叉汇编 157.2.2用汇编语言 157.2.3手工汇编 157.3 系统仿真 158抗干扰技术 188.1硬件抗干扰技术 188.2软件抗干扰技术 189系统制作与测

    7、试 19结束语 21参 考 文 献 22致谢 231引言温度控制是工业生产过程中经常遇到的过程控制,特别是在冶金、化工、建材、食品、机械、石油等工业中,具有举足重轻的作用,其温度的控制效果直接影响着产品的质量,因而设计一种较为理想的温度控制系统是非常有价值的。对于不同场所、不同工艺、所需温度高低范围不同、精度不同,则采用的测温元件、测温方法以及对温度的控制方法也将不同;产品工艺不同、控制温度的精度不同、时效不同,则对数据采集的精度和采用的控制算法也不同。因而,对温度的测控方法多种多样。随着电子技术和微型计算机的迅速发展,微机测量和控制技术也得到了迅速的发展和广泛的应用。利用微机对温度进行测控的

    8、技术,也便随之而生,并得到日益发展和完善,越来越显示出其优越性。然而现有的温度传感元件大多为模拟器件(热电耦)体积大、应用复杂、而且不容易实现数字化等缺点,阻碍了应用领域的扩展。本设计从实际应用出发选取了体积小、精度相对高的数字式温度传感元件DS18B20作为温度采集器,单片机AT89C51作为主控芯片,数码管作为显示输出,实现了对温度的实时测量与恒定控制。2系统概述2.1简述单片机已经在测控中获得了广泛的应用,它除了可以测量电信号以外,还可以用于温度、湿度等非电信号的测量,能独立工作的单片机温度检测、温度控制系统已经广泛应用到很多领域。单片机的接口信号是数字电信号,要想用单片机获取温度这类非

    9、电信号的信息,毫无疑问,必须使用温度传感器。温度传感器的作用是将温度信息转换为电流或电压输出,如果转换后的电流或电压输出是模拟信号,那么还必须进行A/D转换,以满足单片机接口的需要。传统的温度检测大多以热敏电阻为温度传感器,但热敏电阻的可靠性差、测量温度准确率低,而且必须经过专门的接口电路转换成数字信号后才能由单片机进行处理。随着微电子技术的发展,单片微处理器功能日益增强,价格低廉,在各方面得到广泛应用。在温度控制器中应用单片机,具有设计简单、可靠性高、控制精度高,功能易扩展,有较强的通用性等优点。温度控制器主要实现对恒温箱温度的控制,并满足不同用户的个性需求。因此一个较完善的控制器应具有以下

    10、功能: 温度的测量与显示;用户设定功能(如温度设定,定时设定等); 对电加热管的控制功能; 一些功能键(如定时自动加热,恒温控制,手动加热等); 安全措施(漏电检测,安全失效保护,限温保护等)。本文将采用一种数字温度传感器来实现基于51单片机的恒温箱控制系统设计。整个控制系统分为硬件电路设计和软件程序设计两部分。3设计思路分析设计51单片机的恒温箱控制系统设计时,需要考虑下面3个方面的内容: 选择合适的温度传感器芯片。显然,本文中的核心器件是单片机和温度传感器,单片机采用常用的51单片机即可,而温度传感器的选择则需慎重。 单片机和温度传感器的接口电路设计。 控制温度传感器实现温度信息采集以及数

    11、据传输的软件设计。4方案论证4.1温度传感器方案一:采用热敏电阻,可满足4090的测量范围,但热敏电阻精度、重复性、可靠性都比较差,其测量温度范围相对较小,稳定性较差,不能满足本系统温度控制的范围要求。方案二:采用温度传感器铂电阻 Pt1000。铂热电阻的物理化学性能在高温和氧化性介质中很稳定,它能用作工业测温元件,且此元件线性较好。在 0100 摄氏度时,最大非线性偏差小于 0.5 摄氏度。铂热电阻与温度关系是,Rt = R0(1+At+Bt*t) ;其中 Rt 是温度为 t 摄氏度时的电阻;R0 是温度为 0 摄氏度时的电阻;t 为任意温度值,A,B 为温度系数。方案三:采用模拟温度传感器

    12、AD590K,AD590K具有较高精度和重复性(重复性优于0.1),其良好的非线性可以保证优于0.1的测量精度。但其测量的值需要经过运算放大、模数转换再传给单片机,硬件电路较复杂,调试也会相对困难,所以本系统不宜采用此法。方案四:采用数字温度传感器DS18B20,DS18B20提供九位温度读数,测量范围-55125,采用独特1-WIRE 总线协议,只需一根口线即实现与MCU 的双向通讯,具有连接简单,高精度,高可靠性等特点。并且,DS18B20支持一主多从,若想实现多点测温,可方便扩展。综合以上四种方案,本设计采用第四种方案,利用数字温度计DS18B20作为温度传感器。4.2显示部分方案一:采

    13、用I/O口直接驱动,需要占用大量可贵的I/O口资源,且系统运行后,更换元件不易,不符合系统设计的可靠性、易扩展性原则。方案二:采用串行口驱动、静态显示,利用单片机的串行口输出数据,显示多位数码,可节省大量的I/O口,但每个数码管必须有一个驱动芯片,且每位段码须接一个限流电阻,所须元件多,硬件电路比较复杂。方案三:采用串行口驱动、动态扫描显示,利用单片机的串行口输出数据,显示多位数码,多个数码管可共用驱动芯片和限流电阻。这样既可以简化硬件电路,又可以节省大量的I/O口线,为功能扩展留下空间。综合以上三种方案,本设计采用方案三:串行口驱动、动态显示。根据系统具体指标要求,可以对每一个具体部分进行分

    14、析设计。4.3输出控制方案一:采用继电器,易于控制,且实行比较简单,但强电和弱电不能很好的隔离,抗干扰能力极差。方案二:采用光电藕合器,控制信号与输出信号可以很好的隔离,增强了系统的安全性和抗干扰能力。综合以上两种方案,本设计采用光电藕合器控制负载工作。5硬件设计及工作原理5.1系统功能及工作流程介绍根据恒温箱控制器的功能要求,并结合对51系列单片机的资源分析,即单片机软件编程自由度大,可用编程实现各种控制算法和逻辑控制。所以采用AT89C51作为电路系统的控制核心。恒温箱控制器的总体布局如图1所示。按键将设置好的温度值传给单片机,通过温度显示模块显示出来。初始温度设置好后,单片机开启输出控制

    15、模块,使电热器开始加热,同时将从数字温度传感器DS18B20测量到的温度值实时的显示出来,当加热到设定温度值时,单片机控制声光报警模块,发出声光报警,同时关闭加热器。当自然冷却到设定温度3摄氏度以下时,单片机再次启动加热器,如此循环反复,以达到恒温控制的目的。系统结构框图如图1所示,系统基本硬件电路图如图2所示,在本系统中,DP1DP3用于七段数码显示;P1.0用于接收DS18B20采集到的数字温度信号;FUZA1控制光电开关,决定电加热器是否工作;K1K3用于按键控制;BELL和P1.4、P1.5用于控制扬声器和发光二极管,进行声光报警;串行口用于输出显示段码;P2.0、P2.1用于对数码管

    16、进行动态扫描。图1 系统结构框图图2 基本硬件电路图5.2功能模块根据上面对工作流程的分析,系统软件可以分为以下几个功能模块:(1) 键盘管理:监测键盘输入,接收温度预置,启动系统工作。(2) 显示:显示设置温度及当前温度。(3) 温度检测及温度值变换:完成A/D转换及数字滤波。(4) 温度控制:根据检测到的温度控制电炉工作。(5) 报警:当预置温度或当前炉温越限时报警。5.3系统硬件设计5.3.1DS18B20测温电路DS18B20数字温度计是Dallas公司生产的1Wire器件,即单总线器件。与传统的热敏电阻有所不同,DS18B20可直接将被测温度转化成串行数字信号,以供单片机处理,具有连

    17、线简单、微型化、低功耗、高性能、抗干扰能力强、精度高等特点。因此用它来组成一个测温系统,具有电路简单,在一根通信线上可以挂很多这样的数字温度计,十分方便。目前已被众多行业进行广泛的运用(锅炉、温控表粮库、冷库、工业现场温度监控、仪器仪表温度监控、农业大棚温度监控等)。通过编程,DS18B20可以实现912位的温度读数。信息经过单线接口送入DS18B20或从DS18B20送出,因此从微处理器到DS18B20仅需连接一条信号线和地线。读、写和执行温度变换所需的电源可以由数据线本身提供,而不需要外部电源。每片DS18B20在出厂时都设有唯一的产品序列号,因此多个DS18B20可以挂接于同一条单线总线

    18、上,这允许在许多不同的地方放置温度传感器,特别适合于构成多点温度测控系统。5.3.2DS18B20的特点介绍(1)独特的单线接口方式,与单片机通信只需一个引脚,DS18B20与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通讯。 (2)在使用中不需要任何外围元件。 (3)可用数据线供电,电压范围:+3.0+5.5 V。 (4)测温范围为-55 +125 。在-10+85范围内误差为0.5 。 (5)通过编程可实现912位的数字读数方式。 (6)用户可自设定非易失性的报警上下限值。 (7)支持多点组网功能,通过识别芯片各自唯一的产品序列号从而实现单线多挂接,多个DS18B20

    19、可以并联在唯一的线上,简化了分布式温度检测的应用,实现多点测温。 (8)负压特性,电源极性接反时,温度计不会因发热而烧毁,但不能正常工作。(9)告警寻找命令可以识别和寻址那些温度超出预设告警界限的器件。5.3.3单线(1-wire)技术 目前常用的微机和外设之间数据传输的串行总线有I2C总线、SPI总线等,其中,I2C总线采用同步串行两线(一根时钟线、一根数据线)方式,而SPI总线采用同步串行三线(一根时钟线、一根输入线和一根数据出线)方式。这两种总线需要至少两根或两根以上的信号线。美国达拉斯半导体公司推出了一项特有的单线(1-wire)技术。该技术与上述总线不同,它采用单根信号线,即可传输时

    20、钟,又能传输数据,而且数据传输是双向的,因而这种单线技术具有线路简单、硬件开销少、成本低廉、便于扩展的优点。单线技术适用于单主机系统,单主机能够控制一个或多个从机设备。主机可以是微控制器,从机可以是单线器件,它们之间的数据交换、控制都由这根线完成。主机或从机通过一个漏极开路或三态端口连至数据线,以允许设备在不发送数据时能够释放该线,而让其他设备使用。单线通常要外接一个约5K的上拉电阻,这样,当该线闲置时,其状态为高电平。主机和从机之间的通信主要分3个步骤:初始化单线器件、识别单线器件和单线数据传输。由于只有一根线通信,所以它们必须是严格的主从结构,只有主机呼叫从机时,从机才能应答,主机访问每个

    21、单线器件必须严格遵循单线命令序列,即遵守上述3个步骤的顺序。如果命令序列混乱,单线器件将不会响应主机。所有的单线器件都要遵循严格的协议,以保证数据的完整性。1-wire协议由复位脉冲、应答脉冲、写0、写1、读0和读1这几种信号类型组成。这些信号中,除了应答脉冲,其他均由主机发起,并且所有命令和数据都是字节的地位在前。5.3.4DS18B20的引脚及功能介绍DS18B20的外形及TO92封装引脚排列见左图,其引脚功能描述见表1,实测温度和数字输出的对应关系见表2.表1 DS18B20详细引脚功能描述序号名称引脚功能描述1GND地信号2DQ数据输入/输出引脚。开漏单总线接口引脚。当被用着在寄生电源

    22、下,也可以向器件提供电源。3VDD可选择的VDD引脚。当工作于寄生电源时,此引脚必须接地。表2 温度值分辨率配置表温度数字输出(二进制)数字输出(十六进制)+1250000 0111 1101 000007D0H+850000 0101 0101 00000550H+25.06250000 0001 1001 00010191H+10.1250000 0000 1010 001000A2h+0.50000 0000 0000 10000008H00000 0000 0000 0000000H-0.51111 1111 1111 0000FFF8H-10.1251111 1111 0101 11

    23、10FF5EH-25.06251111 1110 0110 1111FF6FH-551111 1100 1001 0000FC90H 5.3.5DS18B20的使用方法 由于DS18B20采用的是1Wire总线协议方式,即在一根数据线实现数据的双向传输,而对AT89S51单片机来说,硬件上并不支持单总线协议,因此,我们必须采用软件的方法来模拟单总线的协议时序来完成对DS18B20芯片的访问。 由于DS18B20是在一根I/O线上读写数据,因此,对读写的数据位有着严格的时序要求。DS18B20有严格的通信协议来保证各位数据传输的正确性和完整性。该协议定义了几种信号的时序:初始化时序、读时序、写时

    24、序。所有时序都是将主机作为主设备,单总线器件作为从设备。而每一次命令和数据的传输都是从主机主动启动写时序开始,如果要求单总线器件回送数据,在进行写命令后,主机需启动读时序完成数据接收。数据和命令的传输都是低位在先。(1) DS18B20的复位时序,见图3图3 DS18B20的复位时序图置总线为低电平并保持至少480us,然后拉高电平,等待从端重新拉低电平作为响应,则总线复位完成。(2) DS18B20的读时序,见图4。图4 DS18B20的读时序图对于DS18B20的读时序分为读0时序和读1时序两个过程。对于DS18B20的读时隙是从主机把单总线拉低之后,在15秒之内就得释放单总线,以让DS1

    25、8B20把数据传输到单总线上。DS18B20在完成一个读时序过程,至少需要60us才能完成。 (3) DS18B20的写时序 ,见图5。图5 DS18B20的写时序图对于DS18B20的写时序仍然分为写0时序和写1时序两个过程。对于DS18B20写0时序和写1时序的要求不同,当要写0时序时,单总线要被拉低至少60us,保证DS18B20能够在15us到45us之间能够正确地采样IO总线上的“0”电平,当要写1时序时,单总线被拉低之后,在15us之内就得释放单总线。 (4) DS18B20在电路中的连接,见图6。1- wire总线支持一主多从式结构,硬件上需外接上拉电阻。当一方完成数据通信需要释

    26、放总线时,只需将总线置高点平即可;若需要获得总线进行通信时则要监视总线是否空闲,若空闲,则置低电平获得总线控制权。图6 DS18B20测温电路5.3.6输出控制电路MOC3041内部带有过零控制电路,MOC3041输出端额定电压为400V。加热电路中采用MOC3041的目的有两个:其一是实现强电与弱电的隔离;其二是实现双向可控硅的过零触发,从而使流过双向可控硅的电流波形为正弦波,减少谐波。电路连接如图6所示,其在电路中的工作原理是单片机根据传感器和设定开关输入的控制指令,控制电器的电源通断。Q2为MAC97A6型小型塑封双向晶闸管,其最大通态电流为1A。当电源控制电路的输出管脚送出的开关控制指

    27、令为高电平,MOC3041截止,Q2截止,电器被关闭;当电源控制电路送出的开关控制指令为低电平,MOC3041导通,Q2导通,电器被打开。通过MOC3041内部的过零触发电路,保证Q2在电压过零时导通和截止,对供电系统干扰极小。R8和C6是Q2的保护电路。图7 光耦控制输出5.3.7温度越线报警电路报警电路如图8所示,该电路采用一个小功率三极管Q1驱动蜂鸣器BELL,当单片机接收到超额温度信号或危险信号时,输出脚BELL输出高点平,Q1导通,致使蜂鸣器BELL得电工作,发出报警声。同时,电路中的发光二极管指示出电路的工作状态。图8 报警电路6系统的应用软件设计6.1软件描述在软件设计时,必须先

    28、弄清恒温控制系统的操作过程和工作过程。加热器开始时处于停止状态,首先设定温度,显示器显示温度,温度设定后则可以启动加热。温度检测系统不断检测并显示系统中的实时温度,当达到设定值后停止加热,当温度下降到下限(小于设定值3)时再自动启动加热,这样不断的循环,使温度保持在设定范围之内。启动加热以后就不能再设定温度,因为温度的设定可以根据实验要求改变。若要改变设定的温度,可以先按复位停止键再重复上述过程。根据以上对操作和工作过程的分析,程序应分为两个阶段:一是通电或复位后到启动加热,程序主要是按键设定、显示器显示设定温度;二是检测并显示系统的实时温度,并根据检测的结果控制电热器,这时系统不接收键盘的输

    29、入。因此,程序可以分为以下几个功能模块:温度设定和启动;显示;温度检测;温度控制以及报警。6.1.1键盘管理模块键盘管理子程序流程如图9所示。图9 键盘处理程序流程当通电或复位以后,系统进入键盘管理状态,单片机只接收设定温度和启动。当检测到有键闭合时先去除抖动,这里采用软件延时的方法,延时一段时间后,再确定是否有键闭合,然后将设定好的值送入预置温度数据区,并调用温度合法检测报警程序,当设定温度超过最大值如90时就会报警,最后当启动键闭合时启动加热。键盘设定:用于温度设定。共三个按键。 KEY1(P1.1): 状态切换;温度设置确认;温度重新设置。KEY2(P1.2): 设置温度“+”。KEY3

    30、(P1.3): 设置温度“-”。 系统上电后,数码管全部显示为零,根据按 KEY1 次数,决定显示的状态,根据相应的状态,利用KEY2、KEY3进行加减,当温度设定好之后,再按KEY1确定,系统开始测温,开启加热器。6.1.2显示模块显示子程序的功能是将缓冲区的二进制数据先转换成3个BCD码,再将其分别存入百位、十位、个位3个显示缓冲区,送往串行口,利用单片机的P2口进行扫描,让数据动态的显示出来,可显示设置温度和测量温度。6.1.3控制模块温度控制子程序流程如图10所示,将当前温度与设定好的温度比较,当当前温度小于设定温度时,开启电热器;当当前温度大于设定温度时,关闭电热器;当二者相等时,电

    31、热器保持这一状态。图10 控制模块程序流程6.1.4温度报警模块报警子程序流程如图11所示。根据设计要求,当检测到当前温度值高于设定温度值3时报警,报警的同时关闭电热器。为了防止误报,设置了报警允许标志,只有在允许报警的情况下,温度值高于设定温度值时才报警。图11 报警子程序流程6.1.5主程序和中断服务程序流程主程序采用中断嵌套方式设计,各功能模块可直接调用。主程序完成系统的初始化,温度预置及其合法性检测,预置温度的显示及定时器0设置。定时器0中断服务子程序是温度控制体系的主体,用于温度检测、控制和报警(包括启动温度转换、读入采样数据、数字滤波、越限温度报警和越限处理、输出控制脉冲等)。中断由定时器0产生,根据需要每隔15 s中断一次,即每15 s采样控制一次。但系统采用6 MHz晶振,最大定时为130 ms,为实现15 s定时,这里另行设了一个软件计数器。图12 主程序流程图图13 中断服务程序流


    注意事项

    本文(基于单片机的恒温箱控制系统设计.docx)为本站会员主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2023 冰点文库 网站版权所有

    经营许可证编号:鄂ICP备19020893号-2


    收起
    展开