单片机控制恒温箱电路设计.docx
- 文档编号:7260894
- 上传时间:2023-01-22
- 格式:DOCX
- 页数:32
- 大小:792.11KB
单片机控制恒温箱电路设计.docx
《单片机控制恒温箱电路设计.docx》由会员分享,可在线阅读,更多相关《单片机控制恒温箱电路设计.docx(32页珍藏版)》请在冰豆网上搜索。
单片机控制恒温箱电路设计
单片机控制恒温箱电路设计
谭宇飞
(陕理工物理与电信工程学院电子信息科学与技术专业1201班,陕西汉中723001)
*******
[摘要]温恒控制在生物、医学以及化学研究领域中举足轻重,温度的控制直接影响着研究的结果。
本作品采用单片机作为控制中心,在温度检测方面,摒弃了传统的热电阻、热电偶、PN结,转而采用可编程温度传感器——DS18B20。
它不需要复杂的信号调理电路和A/D转换电路,能直接与单片机链接完成数据采集和处理,并且实现方便,精度高,抗干扰能力强。
而显示模块采用LED数码管显示,并对温度的采样值与设定值进行比较,计算出偏差,根据偏差值来决定电路的动作,提高系统的控制精度。
[关键词]单片机;温度传感器;恒温;控制;LED
CircuitDesignOfSingleChipMicrocomputerControlledConstantTemperatureBox
TanYufei
(Grade12,Class1,MajorElectronicInformationScienceandTechnology,Instituteofphysicsandelectronicinformationengineering,ShaanxiUniversityofTechnology,Hanzhong723000,Shaanxi)
Tutor:
SongWeixing
Abstract:
Action,playingadecisiveroleintheconstanttemperaturecontrolinindustrialproductionprocess,temperaturecontroldirectlyaffectindustrialproductionyieldandquality.Thisworkusesamicrocontrollerasthecontrolcenter,thetemperaturedetection,toabandonthetraditionalthermalresistance,thermocouple,PNjunction,infavorofaprogrammabletemperaturesensorDS18B20.Itdoesnotneedcomplexsignalconditioningcircuitanda/Dconversioncircuit,canbedirectlyandSCMlinktocompletethedataacquisitionandprocessing,convenientrealization,theprecisionhigh,anti-interferenceabilityisstrong.AnddisplaybyLEDdigitaltubedisplay,andthetemperatureofthesamplevaluesandsetvalueswerecomparedwithcalculateddeviation.Accordingtothedeviationvaluetodecisioncircuitcanimprovethesystemcontrolaccuracy.
Keywords:
DS18B20;MCU;Constanttemperaturecontrol;LED
引言
在生物与化学等诸多领域当中,温度在实验或生产过程中起着尤为重要的作用,达不到试验或生产过程中需要的温度,常常会导致试验出现误差,生产也会达不到预期的目标,对温度控制系统的广泛需求使得这方面的研究颇为必要。
所以,需要对温度控制系统进行研究,有必要去设计恒温箱这样一个温度控制系统。
当今社会温度的测量与控制系统在生产和生活的各个领域中扮演着越来越重要的角色,大到工业冶炼,物质分离,环境监测,电力机房,冷冻库,粮仓,医疗等方面,小到家庭冰箱,空调,电饭煲,太阳能热水器等方面,温度测量与控制系统在各方面都得到了广泛的应用,而温度控制不好可能会引起生产安全事故,实验结果出现偏差等问题,所以对温度控制系统这方面的研究是非常有必要的。
而恒温箱的性能在很大程度上取决于对温度的控制性能,本设计采用单片机为主控制器,然后通过转换后实现发信号传送到单片机处理,在由单片机发送到各个处理后的显示部件中这样就完成了整个电路硬件的设计。
本作品可以人温度保持在设定的温度范围内,如果温度低于设置的温度时,蜂鸣器报警,单片机控制加热装置加热,温度慢慢升高,如果恒温箱里面的温度高于设置的温度时,单片机控制加热装置停止加热,温度慢慢降低,本设计是基于现代普通的温度测量以及处理装置,具有非常多的特点,在本设计当中,实现了多功能的智能化检测和控制,操作更加的人性化,简单实用。
在硬件的基础上实现了软件的开发和多功能的控制,他的人性化水平依靠软件的开发程度。
因为考虑到交互信息,故在设备上进行远距离的信息传输,方便管理和控制。
1系统概述
1.1设计目的
设计一个恒温自动调节控制系统,温度可以在一定范围内由人工设定,实时温度测量及显示,超出温度范围相应的继电器工作,继电器可以驱动相应的加热或制冷负载,上下限温度可通过按键设定等功能。
利用单片机AT89C51实现温度的智能控制,使温度能够在设定温度实现恒定温度调节,利用数字温度传感器读出实际温度,并在此基础上将实际温度调节到通过键盘设定的温度(其方式是加热或降温),并通过LED数码管实现当前温度与设定温度的显示。
1.2设计指标
在部分化学与生物试验中,常常需要对试验环境进行温度控制,以保证实验条件能够符合实验要求,获得正确的试验数据,现需要对一定体积的封闭空间进行温度控制,有必要设计出一个小型温度控制系统。
设计一个恒温自动调节控制系统,温度可以在一定范围内由人工设定,并能在环境温度降低时实现自动调节,以保持与设定的温度基本不变。
2系统总体设计方案
2.1设计方案
本作品采用单片机作为控制中心,在温度检测方面,摒弃了传统的热电阻、热电偶、PN结,转而采用可编程温度传感器——DS18B20[1]。
它不需要复杂的信号调理电路和A/D转换电路,能直接与单片机链接完成数据采集和处理,有实现方便,精度高,抗干扰能力强。
而显示上采用LED数码管显示,并对温度的采样值与设定值进行比较,计算出偏差,根据偏差值来决定电路的动作,能提高系统的控制精度[1]。
单片机控制恒温箱电路设计原理是所测量的温度信号直接通过数字温度传感器检测到温度后,送到单片机中,单片机把检测的温度同键盘设定的温度进行比较,并显示在显示器上,再由单片机根据控制策略给出控制量,然后将控制量送驱动电路、去驱动电源装置,从而构成温度控制系统[2]。
本设计的主要内容分为两部分:
硬件部分和软件部分。
硬件部分:
分为电源电路的选择、单片机的选择是用的AT89S51单片机、数字温度传感器DS18B20、LED数码管显示设计、温度调节电路的设计等。
软件部分:
采用C语言来实现编程的工作。
研究设计方法及技术路线:
温度检测模块将所测量的温度信号直接通过数字温度传感器DS18B20检测到温度后,送到单片机AT89S51中,主控部分的单片机把检测的温度的温度进行显示在数码管上,再由单片机根据控制策略给出控制量,然后将控制量送驱动电路、去驱动电源装置,以这几部分共同的协作从而构成温度控制系统。
2.2系统原理框图
温度采集电路
如图2.1为系统总体设计框图,复位电路对系统进行复位;温度设定按键电路可以自主设定温度;温度采集电路对温度数据进行采集并通过数码管显示电路显示在数码管上;温度调节电路则是按系统指标的要求对温度进行调节,若温度低于指标温度则启动加热器进行加热升温,若温度高于指标温度,则制冷模块开始对系统进行降温;单片机则是本设计的核心,对各模块进行控制,实现设计的目标[3]。
2.3系统功能
(1)可以对温度进行自由设定,设定时可以实时显示出设定的温度值。
(2)如果温度不在设定温度时,根据设定的温度值与实际检测的温度值之差来使继电器控制加热或者制冷。
加热采用加热管来实现,制冷采用最小单元制冷片来实现。
(3)能够保持实时显示温度,显示位数4位,分别为百位、十位、个位和小数位。
(但由于规定不超过90度,所以百位也就没有实现,默认的百位是不显示的。
)
3系统硬件设计
恒温控制系统主要由六部分组成:
CPU主控制模块、主电源模块、按键设置模块、温度采集模块、继电器控制模块及LED显示模块。
3.1CPU主控制模块
CPU主控制模块采用AT89C51芯片,把数字温度传感器采集到的温度信号与原预先设定值进行比较,控制继电器的通断进行不同加热方式,能用键盘进行输入数据的处理以及温度信号的实时显示[4]。
3.1.1AT89C51简介
AT89C51是一种带4K字节闪存可编程可擦除只读存储器(FPEROM—FalshProgrammableandErasableReadOnlyMemory)的低电压,高性能CMOS8位微处理器,俗称单片机。
AT89C51是一种带4K字节闪存可编程可擦除只读存储器的单片机[2]。
单片机的可擦除只读存储器可以反复擦除100次。
该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容[5]。
由于将多功能8位CPU和闪速存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C51单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。
3.1.2AT89C51引脚功能
AT89C51单片机引脚如图3.2所示。
VCC:
供电电压。
Vdd:
接地。
P0口:
P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。
P1口:
P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。
P2口:
P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。
P3口:
P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。
RST:
复位输入。
ALE/PROG:
当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。
/PSEN:
外部程序存储器的选通信号。
在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。
/EA/VPP:
当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。
当/EA端保持高电平时,从内部程序存储器开始读取。
XTAL1:
反向振荡放大器的输入及内部时钟工作电路的输入。
XTAL2:
来自反向振荡器的输出[5]。
3.2晶振电路与复位电路的设计
单片机内部带有时钟电路,只需要在片外通过XTAL1、XTAL2引脚接入定时控制单元(晶体振荡和电容),即可构成一个稳定的自激振荡器。
振荡器的工作频率一般在1.2~12MHz之间,当然在一般情况下频率越快越好,可以保证程序运行速度即保证了控制的实时性[6]。
一般采用石英晶振作定时控制元件,在不需要高精度参考时钟时,也可以用电感代替晶振,有时也可以引入外部时钟脉冲信号。
接在晶振上的电容虽然没有严格要求,但电容的大小会影响振荡器的稳定性和起振的快速性。
因此,通常选择在10~30pF左右,在此次设计时钟电路时,晶振频率选用(12MHz),电容选用(20pF),并且它们应尽可能靠近芯片,以减小分布电容,保证振荡器振荡的稳定性。
复位电路为确保微机系统中电路稳定可靠工作,复位电路是必不可少的一部分,复位电路的第一功能是上电复位。
一般微机电路正常工作需要供电电源为5V±5%,即4.75~5.25V。
由于微机电路是时序数字电路,它需要稳定的时钟信号,因此在电源上电时,只有当VCC超过4.75V低于5.25V以及晶体振荡器稳定工作时,复位信号才被撤除,微机电路开始正常工作[6]。
时钟电路和复位电路如图3.3所示。
3.3温度采集模块
本设计温度采集模块采用数字温度传感器DS18B20,DS18B20数字温度计是Dallas公司生产的1-Wire器件,即单总线器件。
与传统的热敏电阻有所不同,DS18B20可直接将被测温度转化成串行数字信号,以供单片机处理,具有连线简单、微型化、低功耗、高性能、抗干扰能力强、精度高等特点。
因此用它来组成一个测温系统,具有电路简单,在一根通信线上可以挂很多这样的数字温度计,十分方便。
目前已被众多行业进行广泛的运用(锅炉、温控表粮库、冷库、工业现场温度监控、仪器仪表温度监控、农业大棚温度监控等)[6]。
通过编程,DS18B20可以实现9~12位的温度读数。
信息经过单线接口送入DS18B20或从DS18B20送出,因此从微处理器到DS18B20仅需连接一条信号线和地线。
读、写和执行温度变换所需的电源可以由数据线本身提供,而不需要外部电源[7]。
每片DS18B20在出厂时都设有唯一的产品序列号,因此多个DS18B20可以挂接于同一条单线总线上,这允许在许多不同的地方放置温度传感器,特别适合于构成多点温度测控系统。
3.3.1DS18B20引脚以及特点介绍
(1)DS18B20的外形及封装引脚排列如图3.4所示。
DS18B20引脚定义:
①GND为电源地;
②DQ为数字信号输入/输出端;
③VDD为外接供电电源输入端(在寄生电源接线方式时接地。
图3.4DS18B20引脚排列图
(2)DS18B20特点:
①独特的单线接口方式:
与微处理器连接时仅需要一条口线即可实现双向通讯。
②在使用中不需要任何外围元件。
③可用数据线供电,电压范围:
+3.0~+5.5V。
④测温范围:
-55~+125℃。
固有测温分辨率为0.5℃。
⑤通过编程可实现9~12位的数字读数方式。
⑥用户可自设定非易失性的报警上下限值。
⑦支持多点组网功能,多个DS18B20可以并联在惟一的三线上,实现多点测温。
⑧负压特性,电源极性接反时,温度计不会因发热而烧毁,但不能正常工作。
⑨适用于DN15~25,DN40~DN250各种介质工业管道和狭小空间设备测温。
⑩PVC电缆直接出线或德式球型接线盒出线,便于与其它电器设备连接[7]。
3.3.2DS18B20的测温原理
DS18B20的测温原理用于产生固定频率的脉冲信号送给减法计数器1,高温度系数晶振随温度变化其振荡频率明显改变,所产生的信号作为减法计数器2的脉冲输入,当计数门打开时,DS18B20就对低温度系数振荡器产生的时钟脉冲后进行计数,进而完成温度测量。
计数门的开启时间由高温度系数振荡器来决定,每次测量前,首先将-55℃所对应的基数分别置入减法计数器1和温度寄存器中,
减法计数器1和温度寄存器被预置在-55℃所对应的一个基数值[6]。
法计数器1对低温度系数晶振产生的脉冲信号进行减法计数,当减法计数器1的预置值减到0时温度寄存器的值将加1,减法计数器1的预置将重新被装入,减法计数器1重新开始对低温度系数晶振产生的脉冲信号进行计数,如此循环直到减法计数器2计数到0时,停止温度寄存器值的累加,此时温度寄存器中的数值即为所测温度,由于它内部的斜率累加器用于补偿和修正测温过程中的非线性,其输出用于修正减法计数器的预置值,只要计数门仍未关闭就重复上述过程,直至温度寄存器值达到被测温度值。
DS18B20的内部结构如图3.5所示。
图3.5DS18B20内部结构图
3.3.3系统测温电路
当程序运行时,首先将DS18B20初始化,设置好要求的初始值,再调用温度读取子程序读取温度测量值,DS18B20在本设计电路中的连接方式如图3.6所示。
图3.6测温电路
3.4按键控制电路
在如图3.7所示的按键电路中,温度设置按键接单片机P3.1口,设置预设温度;温度加按键接单片机P3.2口,控制预设温度加;温度减接单片机P3.3口,控制预设温度减。
图3.7温度设置按键电路
按键电路运行分析:
当系统通电正常运行时,系统每一秒钟就对按键电路扫秒一次,扫描结束后,将扫描的结果送至系统中进行校验,如果有按键按下,则判断是那个键按下,在进行相关操作。
3.5继电器驱动电路
继电器(Relay),也称电驿,是一种电子控制器件,它具有控制系统(又称输入回路)和被控制系统(又称输出回路),通常应用于自动控制电路中,它实际上是用较小的电流去控制较大电流的一种“自动开关”。
故在电路中起着自动调节、安全保护、转换电路等作用。
继电器一般都有能反映一定输入变量(如电流、电压、功率、阻抗、频率、温度、压力、速度、光等)的感应机构(输入部分);有能对被控电路实现“通”、“断”控制的执行机构(输出部分);在继电器的输入部分和输出部分之间,还有对输入量进行耦合隔离,功能处理和对输出部分进行驱动的中间机构(驱动部分)[7]。
驱动电路采用继电器驱动方式,若温度不在指标范围内,单片机则会控制继电器在周期内通断的时间,实现对加热装置或制冷装置的开关控制。
由单片机控I/O口输出的控制信号,经PNP晶体管放大,驱动继电器工作。
继电器驱动电路原理如图3.8所示。
图3.8继电器原理图
制冷电路同理。
3.6蜂鸣器报警电路
报警电路如图3.9所示,该电路采用一个三极管Q5驱动蜂鸣器来实现,当单片机接收到超额温度信号或危险信号时,输出脚输出低电平,Q5导通,致使蜂鸣器电工作,发出报警声。
图3.9蜂鸣器报警电路
电路原理图见附录A。
4系统软件设计
4.1软件描述
在软件设计时,必须先弄清恒温控制系统的操作过程和工作过程。
加热器与制冷片开始时处于停止状态,首先设定温度,显示器显示温度[8]。
温度检测系统不断检测并显示系统中的实时温度,当实时温度高于预设温度,则控制继电器驱动制冷片制冷,低于预设温度时,驱动加热管加热。
因为温度的设定可以根据实验要求改变。
若要改变设定的温度,可以先按复位/停止键再重复上述过程。
4.2系统主流程
主程序完成系统的初始化,调用温度模块程序,对其预置值及其合法性进行检查,预置温度的显示,调用键盘扫描模块等[8]。
若正常执行完三个子程序,则返回初始化进入到其它的状态,主程序的流程图如图4.10所示,部分程序见附录A。
图4.10系统主流程图
4.3按键设置电路流程
在本设计中,按键设置电路是在系统启动时对指标温度进行设置的根本,通电或复位以后,系统进入键盘管理状态,单片机只接收设定温度和启动。
当检测到有键闭合时先去除抖动,这里采用软件延时的方法,延时一段时间后,再确定是否有键闭合,然后将设定好的值送入预置温度数据区,并调用温度合法检测报警程序[5]。
通过三个按键来设置指标温度并显示在数码管上,单片机则会对温度采集模块反馈的数据与设置的指标温度数据进行比较计算,而后对继电器驱动模块发出加热或制冷指令,达到作品要求。
按键设置电路流程图如图4.11所示。
图4.11按键设置电路
4.4温度采集模块流程
根据DS18B20的通讯协议,单片机控制DS18B20完成温度转换必须经过三个步骤:
每次读写之前都要对DS18B20进行复位,复位成功后再发送一条ROM指令,最后发送RAM指令,这样才能对DS18B20进行预定的操作[8]。
本系统对DS18B20进行的操作主要包括两个子过程:
(1)读取DS18B20的序列号。
主机首先发一复位脉冲,等收到返回的存在脉冲后,发出搜索器件的序列号命令,读取DS18B20的序列号;
(2)启动DS18B20作温度转换并读取温度值。
主机在收到返回的存在脉冲后,发出跳过器件的序列号命令,跟着发出温度转换命令,再次复位并收到返回的存在脉冲后,发送DS18B20的序列号,读出数据(如图4.12所示)。
图4.12温度传感器驱动子程序流程图
4.5继电器驱动模块流程
温度控制子程序流程如图10所示,将当前温度与设定好的温度比较,当当前温度小于设定温度时,开启电热器;当当前温度大于设定温度时,关闭电热器;当二者相等时,电热器则保持这一状态。
流程图如图4.13所示。
图4.13继电器驱动流程
5系统的调试及检测
系统调试采用模块化调试和整体组合调试相结合的方法来进行。
5.1KeilC51软件环境简介
KeilC51集成开发环境是基于80C51内核的微处理器软件平台,内嵌多种符合当前工业标准的开发工具,可以完成从工程建立、管理、程序编译、链接、目标代码生成、软硬件仿真等完整的开发流程[10]。
尤其是C编译工具在产生代码的准确性和效率方面达到了较高水平,而且可以附加灵活的控制选项,在开发大型项目时非常理想。
KeilC51集成开发环境的主要功能有以下几点:
(1)uVision4forWindows一个集成开发环境,它将项目管理、源代码编辑和程序调试等组合在一个功能强大的环境中;
(2)C51国际标准优化C交叉编译器。
代码产生可重定位的目标模块;
(3)A51宏汇编器。
从80C51汇编源代码产生可重定位的目标模块;
(4)BL51链接/定位器。
组合由C51和A51产生可重定位的目标模块,生成绝对目标模块;
(5)LIB库管理器。
从目标模块生成连接器可以使用的库文件;
(6)OH51目标文件至HEX格式的转换器。
从绝对目标模块生成IntelHEX文件;
(7)RTX-51实时操作系统。
简化了复杂的实时应用软件项目的设计[11]。
KeilC51件编译环境如图5.14所示。
图5.14KeilC51开发环境
5.2Proteus软件环境简介
本系统的硬件设计首先是在Proteus软件环境中仿真实现的。
Proteus软件集成了高级原理绘图、混合模式SPICE电路仿真,PCB板设计以及自动布线来实现一个完整的电子设计系统[9]。
Proteus软件由ISIS和ARES两个软件构成,其中ISIS是一款便捷的电子系统仿真平台软件,ARES是一款高级的布线编辑软件[9]。
Proteus软件仿真环境如图5.15所示。
图5.15protues仿真软件开发环境
5.3电路仿真图
使用Proteus软件对本设计进行仿真,系统各模块连线仿真如图5.16所示。
图5.16系统仿真图
5.4主要元、器件列表
本设计中用到主要的元、器件如下表所示。
表5.16主要元、器件表
序号
器件名称
数量
备注
1
主控芯片AT89C51
1
C51系列芯片均可以
2
LED数码管
4
LED显示
3
上拉电阻
1
10K
4
按键
4
按键
5
继电器
2
控制负载
6
万能板
1
大小7cm*10cm
7
晶振
1
频率12mHz(CRYSTAL)
8
电容
2
2个30pF瓷片电容
实物图见附录C。
6结束语和展望
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 控制 恒温箱 电路设计