电热恒温箱的单片微机控制电路设计Word文档格式.docx
《电热恒温箱的单片微机控制电路设计Word文档格式.docx》由会员分享,可在线阅读,更多相关《电热恒温箱的单片微机控制电路设计Word文档格式.docx(22页珍藏版)》请在冰点文库上搜索。
![电热恒温箱的单片微机控制电路设计Word文档格式.docx](https://file1.bingdoc.com/fileroot1/2023-5/2/048912d0-1d4f-4f21-9cee-200656e32901/048912d0-1d4f-4f21-9cee-200656e329011.gif)
5.1.2 仿真调试21
5.2软件调试21
5.2.1用C语言程序21
5.2.2用汇编语言21
5.3系统仿真21
6设计总结22
参考文献23
致谢24
附录:
25
摘要
在日常生活、工业生产和实验室中电热恒温箱的应用随处可以见到。
在生活中我们保存食物用到恒温箱,工业生产中一些生产原料的保存用到恒温箱,实验室里,特别是生物的培育实验室,恒温箱的应用更是普遍。
在本设计中,我们针对培养箱而设计的一个恒温系统,在系统里,通过对恒温箱温度的检测与变送传到单片机,与给定值进行比较,单片机对数据进行处理,本设计是基于AT89S52单片机的恒温箱控制系统,系统分为硬件和软件两部分,其中硬件包括:
温度传感器、显示、控制和报警的设计;
软件包括:
显示程序设计、控制程序设计和温度报警程序设计。
编写程序结合硬件进行调试,能够实现设置和调节初始温度值,进行LCD数码显示,当加热到设定值后立刻报警。
另外,本系统通过软件实现对按键误差、加热过冲的调整,以提高系统的安全性、可靠性和稳定性。
本设计从实际应用出发选取了体积小、精度相对高的数字式温度传感元件DS18B20作为温度采集器,单片机AT89S52作为主控芯片,LCD1602作为显示输出,实现了对温度的实时测量与恒定控制。
关键词
单片机;
温度传感器;
恒温;
控制;
报警
TheDesignofElectricityHeatingIncubatorControlSystemBasedontheMCU
Abstract
Indailylife,industrialproductionandlaboratoryintheelectricalthermostaticboxapplicationscanbeseeneverywhere.Inlifewepreservefoodusethermostaticbox,industrialproductioninthepreservationoftherawmaterialsusedsomelaboratory,constanttemperaturebox,cultivatelaboratory,especiallybiologicalapplicationsofconstanttemperatureboxiscommon.
Inthisdesign,wefocusedonincubatoranddesignofaconstanttemperaturesystem,inthesystem,theconstanttemperatureboxbyinspectionandanalogtomicrocontroller,comparedwithagivenvalueofasinglechipcomputerdataprocessing,thisdesignisbasedontheconstanttemperatureboxAT89S52SCMcontrolsystem,hardwareandsoftwaresystemisdividedintotwoparts,includinghardwareincluding:
temperaturesensors,display,controlandalarmdesign;
Thesoftwareincludes:
showprogramdesign,controlprogramdesignandtemperaturealarmprogramming.Writeaprogramcombininghardwaredebugging,canrealizeSettingsandadjustingtheinitialtemperature,forLCDdigitaldisplay,whenheatedtoimmediatelyaftersettingthepolice.Inaddition,thesystemthroughthesoftwarerealizationofkeyerror,heatingovershootadjustmentstoenhancethesystemsafety,reliabilityandstability.Thisdesignfromtheactualapplicationofselectedthesmallvolume,precisionrelativelyhighdigitaltemperaturesensorDS18B20astemperatureterminal,monolithicintegratedcircuitAT89S52asthemasterasdisplayoutputLCD1602chip,realizethereal-timemeasurementandconstanttemperaturecontrol.
Keywords
DS18B20;
MCU;
Constanttemperaturecontrol;
1-wiretransmission
1前言
温度控制是工业生产过程中经常遇到的过程控制,特别是在冶金、化工、建材、食品、机械、石油等工业中,具有举足重轻的作用,其温度的控制效果直接影响着产品的质量,因而设计一种较为理想的温度控制系统是非常有价值的。
对于不同场所、不同工艺、所需温度高低范围不同、精度不同,则采用的测温元件、测温方法以及对温度的控制方法也将不同;
产品工艺不同、控制温度的精度不同、时效不同,则对数据采集的精度和采用的控制算法也不同。
因而,对温度的测控方法多种多样。
随着电子技术和微型计算机的迅速发展,微机测量和控制技术也得到了迅速的发展和广泛的应用。
利用微机对温度进行测控的技术,也便随之而生,并得到日益发展和完善,越来越显示出其优越性。
然而现有的温度传感元件大多为模拟器件(热电耦)体积大、应用复杂、而且不容易实现数字化等缺点,阻碍了应用领域的扩展。
本设计从实际应用出发选取了体积小、精度相对高的数字式温度传感元件DS18B20作为温度采集器,单片机AT89S52作为主控芯片,LCD液晶作为显示输出,实现了对温度的实时测量与恒定控制。
单片机已经在测控中获得了广泛的应用,它除了可以测量电信号以外,还可以用于温度、湿度等非电信号的测量,能独立工作的单片机温度检测、温度控制系统已经广泛应用到很多领域。
单片机的接口信号是数字电信号,要想用单片机获取温度这类非电信号的信息,毫无疑问,必须使用温度传感器。
温度传感器的作用是将温度信息转换为电流或电压输出,如果转换后的电流或电压输出是模拟信号,那么还必须进行A/D转换,以满足单片机接口的需要。
传统的温度检测大多以热敏电阻为温度传感器,但热敏电阻的可靠性差、测量温度准确率低,而且必须经过专门的接口电路转换成数字信号后才能由单片机进行处理。
随着微电子技术的发展,单片微处理器功能日益增强,价格低廉,在各方面得到广泛应用。
在温度控制器中应用单片机,具有设计简单、可靠性高、控制精度高,功能易扩展,有较强的通用性等优点。
温度控制器主要实现对恒温箱温度的控制,并满足不同用户的个性需求。
因此一个较完善的控制器应具有以下功能:
温度的测量与显示;
用户设定功能(如温度设定,定时设定等);
对电加热管的控制功能;
一些功能键(如定时自动加热,恒温控制,手动加热等);
安全措施(漏电检测,安全失效保护,限温保护等)。
本文将采用一种数字温度传感器来实现基于51单片机的恒温箱控制系统设计。
整个控制系统分为硬件电路设计和软件程序设计两部分。
2设计方案
设计51单片机的恒温箱控制系统时,需要考虑下面3个方面的内容:
1)选择合适的温度传感器芯片。
显然,本文中的核心器件是单片机和温度传感器,单片机采用常用的51单片机即可,而温度传感器的选择则比较重要,好的温度传感器能起测出更高的精度范围。
2)单片机和温度传感器的接口电路设计。
3)控制温度传感器实现温度信息采集以及数据传输的软件设计。
2.1温度传感器的选择
方案一:
采用热敏电阻,可满足40~90℃的测量范围,但热敏电阻精度、重复性、可靠性都比较差,其测量温度范围相对较小,稳定性较差,不能满足本系统温度控制的范围要求。
方案二:
采用温度传感器铂电阻Pt1000。
铂热电阻的物理化学性能在高温和氧化性介质中很稳定,它能用作工业测温元件,且此元件线性较好。
在0—100摄氏度时,最大非线性偏差小于0.5摄氏度。
方案三:
采用模拟温度传感器AD590K,AD590K具有较高精度和重复性(重复性优于0.1℃),其良好的非线性可以保证优于±
0.1℃的测量精度。
但其测量的值需要经过运算放大、模数转换再传给单片机,硬件电路较复杂,调试也会相对困难,所以本系统不宜采用此法。
方案四:
采用数字温度传感器DS18B20,DS18B20提供九位温度读数,测量范围-55℃—125℃,采用独特1-WIRE总线协议,只需一根口线即实现与MCU的双向通讯,具有连接简单,高精度,高可靠性等特点。
并且,DS18B20支持一主多从,若想实现多点测温,可方便扩展。
综合以上四种方案,本设计采用第四种方案,利用数字温度计DS18B20作为温度传感器。
2.2CPU的选择
方案1:
可以用逻辑电路搭建一个控制器,实现PID控制。
但系统还要附加显示、温度设定等功能,要附加很多电路,总体的电路设计和制作比较繁琐。
方案2:
采用8031芯片,其内部没有程序存储器,需要进行外部拓展,这给电路增加了复杂度。
方案3:
本方案的CPU模块采用2051芯片,其内部有2KB单元的程序存储器,不需要外部拓展程序存储器,但由于系统用到较多的I/O口,因此此芯片的资源不够用。
方案4:
采用AT89S52单片机,其内部有8KB单元的程序存储器,不需要外部扩展程序存储器,而且其I/O口达32个,完全满足本次设计需要。
比较这4种方案,综合的考虑单片机各部分资源,由于本设计需采用大量数据采集及处理单元,因此,采用方案4不仅减少了硬件电路,同时提高了最大功率点实时采集速度,精度。
2.3加热方案和功率电路的选择
方案1:
加热的装置,根据题目,可以使用电热炉或热得快进行加热,控制电炉的功率岂可控制加热速度。
水温过高时,一般只能关掉电炉,让其自然冷却。
为求更好的控制效果,也可以装置一个小风扇,电炉加热时风扇关闭,水温超高时关闭电炉开启风扇加速散热。
方案2:
可以采用可控硅控制加热器的工作。
通过单片机产生PWM信号来控制可控硅的导通和关断,控制加热器的加热时间,从而控制加热器的功率。
从加热的响应速度考虑,采用方案2。
因为加热的功率较大,故电源采用市电220伏。
2.4 输出控制
方案一:
采用继电器,易于控制,且实行比较简单,但强电和弱电不能很好的隔离,抗干扰能力极差。
采用光电藕合器,控制信号与输出信号可以很好的隔离,增强了系统的安全性和抗干扰能力。
综合以上两种方案,本设计采用光电藕合器控制负载工作。
3.硬件设计及工作原理
3.1电热恒温箱的系统硬件结构设计
根据恒温箱控制器的功能要求,并结合对51系列单片机的资源分析,即单片机软件编程自由度大,可用编程实现各种控制算法和逻辑控制。
所以采用AT89S52作为电路系统的控制核心。
恒温箱控制器的总体布局如图一所示。
按键将设置好的温度值传给单片机,通过温度显示模块显示出来。
初始温度设置好后,单片机开启输出控制模块,使电热器开始加热,同时将从数字温度传感器DS18B20测量到的温度值实时的显示出来,当加热到设定温度值时,单片机控制声光报警模块,发出声光报警,同时关闭加热器。
当自然冷却到设定温度3摄氏度以下时,单片机再次启动加热器,如此循环反复,以达到恒温控制的目的。
系统结构框图如图3.1所示,系统基本硬件电路图如图3.2所示,在本系统中,JP2用于LCD数码显示;
P3.3用于接收DS18B20采集到的数字温度信号;
P2.3控制光电开关,决定电加热器是否工作;
K1~K3用于按键控制;
BELL用于控制扬声器,进行声光报警。
图3.1系统结构框图
图3.2电路总原理图
根据上面对工作流程的分析,系统可以分为以下几个功能模块:
(1)键盘管理:
监测键盘输入,接收温度预置,启动系统工作。
(2)显示:
显示设置温度及当前温度。
(3)温度检测及温度值变换:
完成A/D转换及数字滤波。
(4)温度控制:
根据检测到的温度控制电炉工作。
(5)报警:
当预置温度或当前炉温越限时报警。
3.1.1DS18B20测温电路
DS18B20数字温度计是Dallas公司生产的1-Wire器件,即单总线器件。
与传统的热敏电阻有所不同,DS18B20可直接将被测温度转化成串行数字信号,以供单片机处理,具有连线简单、微型化、低功耗、高性能、抗干扰能力强、精度高等特点。
因此用它来组成一个测温系统,具有电路简单,在一根通信线上可以挂很多这样的数字温度计,十分方便。
目前已被众多行业进行广泛的运用(锅炉、温控表粮库、冷库、工业现场温度监控、仪器仪表温度监控、农业大棚温度监控等)。
通过结合软件,DS18B20可以实现9~12位的温度读数。
信息经过单线接口送入DS18B20或从DS18B20送出,因此从微处理器到DS18B20仅需连接一条信号线和地线。
读、写和执行温度变换所需的电源可以由数据线本身提供,而不需要外部电源。
每片DS18B20在出厂时都设有唯一的产品序列号,因此多个DS18B20可以挂接于同一条单线总线上,这允许在许多不同的地方放置温度传感器,特别适合于构成多点温度测控系统。
3.1.2 DS18B20的特点介绍
(1)独特的单线接口方式,与单片机通信只需一个引脚,DS18B20与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通讯。
(2)在使用中不需要任何外围元件。
(3)可用数据线供电,电压范围:
+3.0~+5.5V。
(4)测温范围为-55~125℃。
在-10~+85℃范围误差为0.5℃。
(5)通过编程可实现9~12位的数字读数方式。
(6)用户可自设定非易失性的报警上下限值。
DS18B20的详细引脚功能如图3.3所示
图3.3DS18B20详细引脚功能描述
18B20连接电路图如图3.4所示。
图3.4
3.2功率控制电路
此部分电路主要由光电耦合器MOC3041和双向可控硅BTA12组成。
以脉宽调制输出控制电炉与电源的接通和断开比例,以通断控制调压法控制电炉的输入功率。
MOC3041的内部集成了发光二极管、过零检测电路和一个小功率双向可控硅。
当单片机PWM输出为1,MOC3041中的发光二极管发光,用于过零检测电路的同步作用,内部的双向可控硅在过零后马上导通,从而使触发双向可控硅BTA16导通,负载中有电流通过,反之当单片机PWM输出为0,双向可控硅截止,负载中没有电流通过。
光电耦合的耐压值为400v,它的输出级由过零触发的双向可控硅构成,它控制着主电路双向可控硅的导通和关闭。
控制部分电路图如图3.5所示:
图3.5功率电路
为了实现水温的PID控制,功率放大电路的输出不能是一个简单的开关量,输入电炉的加热功率必须连续可调。
为了实现这个要求和抵抗干扰,我们采用了光耦和双向可控硅来控制。
采用脉宽调制输出控制电炉与电源的接通和断开比例,以通断控制调压法控制电炉的输入功率。
由于负载是550W的电炉,用于控制负载输入功率的双向可控硅应满足负载对工作电压、电流的要求。
工作电压峰值可按下式(3-1)计算
(3-1)
工作电流峰值可按下式(3-2)计算
(3-2)
为了满足应用要求并适当流有余地,双向可控硅选用BAT12−600,其最大工作电压为600V,电流为12A,足以满足要求。
光耦选择MC3041,它的耐压值为400v,它的输出级由过零触发的双向可控硅构成,它控制着主电路双向可控硅的导通和关闭。
100Ω电阻与0.01uF电容组成双向可控硅保护电路。
3.3单片机控制部分
3.3.189S52功能特性描述
AT89S52是一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flash存储器使用Atmel公司高密度非易失性存储器技术制造,与工业80C51产品指令和引脚完全兼容。
片上Flash允许程序存储器在系统可编程,亦适于常规编程器。
在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得AT89S52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。
AT89S52具有以下标准功能:
8k字节Flash,256字节RAM,32位I/O口线,看门定时器,2个数据指针,三个16位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。
另外,AT89S52可降至0Hz静态逻辑操作,支持2种软件可选择节电模式。
空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。
掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止,其电路原理图如图3.6所示。
图3.6AT89S52电路原理图
P0口:
P0口是一个8位漏极开路的双向I/O口。
作为输出口,每位能驱动8个TTL逻辑电平。
对P0端口写“1”时,引脚用作高阻抗输入。
当访问外部程序和数据存储器时,P0口也被作为低8位地址/数据复用。
在这种模式下,P0具有内部上拉电阻。
在flash编程时,P0口也用来接收指令字节;
在程序校验时,输出指令字节。
程序校验时,需要外部上拉电阻。
P1口:
P1口是一个具有内部上拉电阻的8位双向I/O口,P1输出缓冲器能驱动4个TTL逻辑电平。
对P1端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。
作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。
此外,P1.0和P1.2分别作定时器/计数器2的外部计数输入(P1.0/T2)和时器/计数器2的触发输入(P1.1/T2EX)。
P2口:
P2口是一个具有内部上拉电阻的8位双向I/O口,P2输出缓冲器能驱动4个TTL逻辑电平。
对P2端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。
在访问外部程序存储器或用16位地址读取外部数据存储器(例如执行MOVX@DPTR)时,P2口送出高八位地址。
在这种应用中,P2口使用很强的内部上拉发送1。
在使用8位地址(如MOVX@RI)访问外部数据存储器时,P2口输出P2锁存器的内容。
在flash编程和校验时,P2口也接收高8位地址字节和一些控制信号。
P3口:
P3口是一个具有内部上拉电阻的8位双向I/O口,p2输出缓冲器能驱动4个TTL逻辑电平。
对P3端口写“1”时,部上拉电阻把端口拉高,此时可以作为输入口使用。
P3口亦作为AT89S52特殊功能(第二功能)使用。
3.4.2 键盘管理部分
键盘管理子程序流程如图3.6所示。
图3.6键盘处理程序流程
当通电或复位以后,系统进入键盘管理状态,单片机只接收设定温度和启动。
当检测到有键闭合时先去除抖动,这里采用软件延时的方法,延时一段时间后,再确定是否有键闭合,然后将设定好的值送入预置温度数据区,并调用温度合法检测报警程序,当设定温度超过最大值如60℃时就会报警,最后当启动键闭合时启动加热。
键盘设定:
用于温度设定。
共三个按键。
KEY1(P1.1):
状态切换;
温度设置确认;
温度重新设置。
KEY2(P1.2):
设置温度“+”。
KEY3(P1.3):
设置温度“-”。
系统上电后,数码管全部显示为零,根据按KEY1次数,决定显示的状态,根据相应的状态,利用KEY2、KEY3进行加减,当温度设定好之后,再按KEY1确定,系统开始测温,开启加热器。
4软件设计及程序流程图
在软件设计时,必须先弄清恒温控制系统的操作过程和工作过程。
加热器开始时处于停止状态,首先设定温度,显示器显示温度,温度设定后则可以启动加热。
温度检测系统不断检测并显示系统中的实时温度,当达到设定值后停止加热,当温度下降到下限(小于设定值3℃)时再自动启动加热,这样不断的循环,使温度保持在设定范围之内。
启动加热以后就不能再设定温度,因为温度的设定可以根据实验要求改变。
若要改变设定的温度,可以先按复位/停止键再重复上述过程。
根据以上对操作和工作过程的分析,程序应分为两个阶段:
一是通电或复位后到启动加热,程序主要是按键设定、显示器显示设定温度;
二是检测并显示系统的实时温度,并根据检测的结果控制电热器,这时系统不接收键盘的输入。
因此,程序可以分为温度设定和启动;
温度显示;
温度检测;
温度控制以及报警等几个模块。
4.1.1 控制模块
温度控制子程序流程如图4.1所示,将当前温度与设定好的温度比较,当当前温度小于设定温度时,开启电热器;
当当前温度大于设定温度时,关闭电热器;
当二者相等时,电热器保持这一状态。
图4.1控制模块程序流程
4.1.2PWM波的产生
PWM是一种对模拟信号电平进行数字编码的方法。
通过高分辨率计数器的使用,方波的占空比被调制用来对一个具体模拟信号的电平进行编码。
PWM信号仍然是数字信号,因为在给定的任何时刻,满幅值的直流供电不是完全有(ON),就是完全无(OFF)。
电压或电流源是以一种通(ON)或断(OFF)的重复脉冲序列被加到模拟负载上去的。
通的时候即是直流供电被加到负载上的时候,断的时候即是供电被断开的时候。
只要带宽足够,任何模拟值都可以使用PWM进行编码。
用单片机做PWM控制电加热器的加热功率请问控制思路可以这么考虑:
加热功率的大小由输出脉冲的占空比决定,占空比大,则加热功率就大。
而输出脉冲的的形成可采用计时方式,即利用内部的定时/计数器产生,可以设置两个定时器,一个为脉冲高电平输出的延时,另一个为低电平输出的延时或整个周期