四温冰箱单片机控制.docx
《四温冰箱单片机控制.docx》由会员分享,可在线阅读,更多相关《四温冰箱单片机控制.docx(48页珍藏版)》请在冰豆网上搜索。
四温冰箱单片机控制
摘要
电冰箱温度控制系统是利用温度传感器DS18B20采集电冰箱各温室的温度,通过INTEL公司的高效微控制器MCS-C51单片机进行数字信号处理,通过显示电路和温度的控制,从而达到智能控制的目的。
本系统可实现电冰箱冷藏室和冷冻室,保鲜室和软冻室的温度设置及控制、开门报警等功能。
本文在第一章介绍了电冰箱的系统组成及工作原理,第二章论述了本控制系统的硬件设计部分。
第三章论述了系统的软件设计部分。
通过对直冷式电冰箱制冷系统的改进和采用模糊控制技术,实现了电冰箱的四温控制,使电冰箱能根据使用条件的变化迅速合理地调节制冷量,且节能效果良好。
关键词:
单片机;温度传感器;电冰箱;温度控制
ABSTRACT
RefrigeratortemperaturecontrolsystemusestemperaturesensorDS18B20collectingtemperaturesofvoriousroomsofarefrigerator,withtheINTELcompany'shigh-performancemicrocontrollersMCS-C51single-chipdigitalsignalprocessing,displayingcircuitandtemperaturecontroltoachievethepurposeofintelligentcontrol.Thesystemcanberealizedfunctionsofrefrigeratingchamber,freezingchamber,preservationcompartment,deforstingroom,alarmingwhenyouopenthedoorandsoon.
Thisarticleintroducesrefrigeratorcomponentsandworkingprincipleofthesysteminthefirstchapter,thesecondchapterexplainsthehardwaredesignonofthecontrolsystem.Chapter3discussesthesoftwaredesignofthesystem.
Fourkindsoftemperaturescontrolofrefrigeratorswhichhavebeenrealizedbyimprovementsofdirect-coolrefrigeratorcoolingsystemandadoptionoffuzzycontroltechnologycausesreasonableregulationofcoolingcapacityinaccordancewithrapidlychangingconditions,andeffeciveenergysaving.
Keywords:
microcomputer;temperaturesensor;refrigerator;temperaturecontrol
目录
摘要I
ABSTRACTII
第1章绪论1
1.1课题来源1
1.2课题研究的目的意义1
1.3国内外现状及水平2
1.4课题研究内容2
第2章系统方案设计4
2.1电冰箱的系统组成4
2.2四温冰箱控制设计方案5
2.3方案论证6
第3章系统电路设计7
3.1工作原理7
3.2DS18B20与单片机接口电路8
3.3单片机对DS18B20的控制方法13
3.4显示电路16
3.5键盘电路19
3.5电源电路21
3.6控制电路21
3.7报警电路22
第4章程序设计23
4.1系统资源分配23
4.2系统流程设计24
4.3程序设计28
第5章系统仿真41
5.1PROTEUS仿真环境介绍41
5.2原理图绘制42
5.3程序加载42
5.4系统仿真43
5.5仿真结果分析44
总结46
参考文献47
致谢48
第1章绪论
1.1课题来源
随着集成电路技术的发展,单片微型计算机的功能也不断增强,许多高性能的新型机种不断涌现出来。
单片机以其功能强、体积小、可靠性高、造价低和开发周期短等优点,称为自动化和各个测控领域中广泛应用的器件,在工业生产中称为必不可少的器件,尤其在日常生活中发挥的作用也越来越大。
人们对家用电冰箱的控制功能越来越高,这对电冰箱控制器提出了更高的要求。
多功能,智能化是其发展方向之一,传统的机器控制,简单的电子控制已经难以满足发展的要求。
而采用基于单片机温度控制系统,不仅可大大缩短设计新产品的时间,同时只要增加少许外围器件在软件设计方面就能实现功能的扩展,以及智能化方面的提高,因此可最大限度地节约成本。
本文即为基于单片机的电冰箱温度控制系统。
设计要求系统测量的温度的点数为4个,测量精度为0.5℃,测温范围为-20℃~+16℃。
采用液晶显示温度值和路数,用电机代替压缩机进行温度控制,开门延时进行报警等。
显示格式为:
温度的符号位,整数部分,小数部分,最后一位显示℃。
显示数据每五秒刷新一次。
1.2课题研究的目的意义
研究和开发智能冰箱控制器的设计,可以利用各种工具软件对80C51系列单片机进行开发,学习单片机的开发流程;在传统的家用冰箱增加两个冰箱腔室,以达到使其功能更加强大,使用更加简单、方便和实用,为家庭生活创造更高品质的生活环境的目的。
本课题涉及一种冰箱,其包括冷冻室和冷藏室,同时设置冰温室和变温软冷冻室。
冰箱腔室有多个,且分别为不同的温度区域,这样可以有效地解决食品的分类存放问题,更好地方便了人们的生活,降低能耗。
在这次设计中我们的目的有3个:
(1)研究设计电路原理图。
学会使用protel软件进行电路图的绘画及PCB板的制作,列出元器件的清单及各个元件参数的计算设定。
研究KeilC51在实际电路中的应用。
(2)本课题综合了电子信息各方面的知识,具有综合性、科学性、代表性,可全面检验和促进学生的理论素养和工作能力。
(3)本课题的研究可以使学生更好地掌握基于单片机应用系统的分析与设计方法,培养创新意识、协作精神和理论联系实际的学风,提高电子产品研发素质,增强针对实际应用进行控制系统设计制作的能力。
1.3国内外现状及水平
冰箱业经过20年的发展,从诞生到现在,经历了三个阶段:
机械温控,电子温控和电脑温控。
温度控制从最初的档位调节,箱体受环境温度波动较大到现在的不受环境温度影响并能保持一定的恒温,用显示器直观显示温度。
功能从最初的基本冷冻冷藏功能到现在的具有记忆、报警、抑菌、速冻等多功能。
目前的冰箱按制冷方式的不同可分为直冷式冰箱、风冷式冰箱、风直冷式冰箱。
直冷式冰箱通过蒸发器表面低温的自然对流对冰箱各箱室进行降温,它的优点是保鲜效果好时间长,省电,静音,但冰箱容易结霜,一年需除霜一到两次。
风式冰箱冷气风道直接吹进箱内各间室造成循环,温度分布均匀不需人工除霜,但因为箱内冷气不停的循环容易带走水分,湿度低,食物容易风干脱水保鲜效果差。
并且耗电比直冷冰箱高,适合气候特别潮湿的地区使用。
风直冷式冰箱,在一台冰箱上采用上述两种不同的制冷方式,结合了他们的优点,保鲜效果好时间长,省电静音,无须除霜。
传统的电冰箱温度一般是由冷藏室控制,冷藏室、冷冻室的不同温度是通过调节蒸发器在两室的面积大小来实现的,温度调节完全依靠压缩机的开停来控制.但是冰箱内的温度受诸多因素的影响,如放入冰箱物品初始温度的高低、存放品的散热特性及热容量、物品在冰箱的充满率、环境温度的高低、开门的频繁程度等.因此对这种受控参数及随机因素很多的温度控制,既难以建立一个标准的数学模型,也无法用传统的PID调节来实现.一台品质优良的电冰箱应该具有较高的温度控制精度,同时又有最优的节能效果,而为了达到这一设计要求采用模糊控制技术无疑是最佳的选择。
在这个设计中我们采取了直冷式调节方式进行冰箱的设计。
1.4课题研究内容
本设计研究的主要内容如下:
(1)在广泛查阅温度检测控制理论和方法、测温技术和温度控制技术等资料的基础上,根据不同的控制要求及应用领域完成对系统方案的总体设计。
本设计采用以AT89C51为核心的单片机系统,来实现对温度的检测、控制,报警等功能。
(2)研究比较各相关元器件的功能与特点,选择合适的元器件。
(3)系统硬件设计。
系统硬件设计主要包括:
温度检测、单片机数据采集和处理、显示、键盘设定、控制电路和报警电路等部分。
(4)系统软件设计。
本课题采用C语言,利用Keil编译器进行编程及调试。
主要研究DS18B20与单片机的通信协议、时序及一些C51通用程序等。
第2章系统方案设计
2.1电冰箱的系统组成
液体由液态变为气态时,会吸收很多热量,简称为“液体汽化吸热”,电冰箱就是利用了液体汽化的过程中需要吸热的原理来制冷的。
图2.1系统工作原理图
蒸气压缩式电冰箱制冷系统原理图如图2.1所示,主要由压缩机、冷凝器、干燥过滤器、毛细管、蒸发器等部件组成,其中1为绝热箱体,2为蒸发器,3为压缩机,4为冷凝器,5为干燥过滤器,6为毛细管,其动力均来自压缩机,干燥过滤器用来过滤赃物和干燥水分,毛细管用来节流降压,热交换器为冷凝器和蒸发器。
制冷压缩机吸入来自蒸发器的低温低压的气体制冷剂,经压缩后成为高温高压的过热蒸气,排入冷凝器中,向周围的空气散热成为高压过冷液体,高压过冷液体经干燥过滤器流入毛细管节流降压,成为低温低压液体状态,进入蒸发器中汽化,吸收周围被冷却物品的热量,使温度降低到所需值,汽化后的气体制冷剂又被压缩机吸入,至此,完成一个循环。
压缩机冷循环周而复始的运行,保证了制冷过程的连续性。
根据各室的温度情况决定是否开压缩机和是否打开各温室的电磁阀。
2.2四温冰箱控制设计方案
方案一是采用模拟温度传感器AD590进行设计,由单片机、模拟温度传感器AD590、运算放大器、AD转换器、4×4键盘、LCD显示电路、电机,集成功率放大器、报警器组成,本方案采用模拟温度传感器AD590作为测温元件,传感器将测量的温度变换转换成电流的变化,再通过模拟电路将电流的变化转换成电压的变化,使用运算放大器交将信号进行适当的放大,最后通过模数转换器将模拟信号转换成数字信号,传送给单片机。
单片机将温度值进行处理之后用LCD显示,当温度值超过设置值时,系统开始启动压缩机。
方案二采用数字温度传感器DS18B20进行设计,该方案使用了AT89C51单片机作为控制核心,以数字温度传感器DS18B20为温度测量元件,采用多个温度传感器对各点温度进行检测,通过4×4键盘对各个温室的值进行设置,当温度超过设定时启用压缩机,压缩机用电机带动,显示电路采用128×64LCD,使用LM386作为开门延时报警电路中的功率放大器。
系统图如图2.2所示:
图2.2四温冰箱控制系统方案
直冷式电冰箱的控制原理是根据蒸发器的温度控制制冷压缩机的启、停,使冰箱内的温度保持在设定温度范围内。
冷冻室用于冷冻食品通常用于冷冻的温度为-6°C~-20°C,软冻室温度为0°C~-6°C,冷藏室用于相对于冷冻室较高的温度下存放食品,要求有一定的保鲜作用,不能冻伤食品,温度一般为0°C~8°C,保鲜室的温度控制在8°C~16°C,当测得冷冷冻室温度高至-6°C~0°C时或者是软冻室温度高至0°C~3°C是启动压缩机制冷,当冷冻室温度低于-15°C~-18°C或都冷藏室温度低于0°C~-3°C时停止制冷,关断压缩机。
采用单片机控制,可以使控制更为准确、灵活。
2.3方案论证
本设计要求测量的点数为4,测温范围为-20℃~+16℃,精度为0.5℃。
采用液晶显示,同时显示路数和温度,当环境温度低于设定温度时刷新1次显示数据。
综合模拟温度传感器和数字温度传感器的性能指标,以上两个方案都能达到设计的要求。
方案一采用模拟温度传感器AD590,转换结果需要经过运算放大器和AD转换器传送给处理器。
它控制虽然简单,成本低,但是后续电路复杂,且需要进行温度标定。
集成温度传感器AD590输出为电流,且输出信号较弱,所以需要后续放大及A/D转换电路。
如采用普通运放则精度难以保证,而测量放大器价格较高,这样会使系统成本升高。
方案二中我们采用了数字温度传感器DS18B20,改变了传统温度测量方法。
它能在现场采集温度数据,直接将温度物理量转换为数字信号并以总线方式传送到单片机,再由单片机进行数据处理,并且可根据实际要求通过简单的编程实现9-12位的数字式读取方式,因而使用DS18B20可使系统结构更加简单,可靠性更高,大大提高系统的抗干扰能力。
DS18B20体积小、经济、使用方便灵活、测试精度高、较高的性能价格比,有CRC校验,系统简明直观,适合于各种环境的现场温度测量。
在设计中,我们选择方案二进行设计。
第3章系统电路设计
3.1工作原理
四温冰箱单片机控制以AT89C51为核心器件,以KEIL为系统开用C语进行程序设计,以PROTEUS作为仿真软件设计而成的。
系统主要由单片机最小系统、传感器电路、液晶显示电路、键盘电路、报警电路、电源电路组成,系统原理图如3.1所示。
图3.1系统总原理图
DS18B20是数字温度传感器,它的输入/输出采用数字量,以单总线技术,接收主机发送的命令,根据DS18B20内部的协议进行相应的处理,将转换的温度以串口发送给主机。
主机按照通信协议用一个IO口(P1.7)模拟DS18B20的时序,发送命令(初始化命令、ROM命令、RAM命令)给DS18B20,转换完成之后单片机读取温度值,在内部进行相应的数值处理,用128×64LCD显示各点的温度,用四与门与电机组成的控制电路进行控制。
在系统启动的时候,可以通过4×4键盘设置各点温度的上限值,当某点的实际温度超过设置值时,开始启动压缩机工作,液晶显示该传感器的路数、设置温度值、实际温度值以及路数和该路的状态,从面实现了对各点温度的测量和实时监控。
3.2DS18B20与单片机接口电路
如图3.2所示,为单片机和DS18B20的接口电路。
DS18B20只有三个引脚,一个接地,一个接电源,一个数字输入输出引脚接单片机的P1.7口,电源与数字输入输出脚间需要接一个4.7K的电阻。
图3.2DS18B20与单片机接口电路
(1)AT89C51简介
AT89C51是一种带4K字节闪烁可编程可擦除只读存储器(FPEROM—FalshProgrammableandErasableReadOnlyMemory)的低电压,高性能CMOS8位微处理器,俗称单片机。
AT89C51是一种带2K字节闪烁可编程可擦除只读存储器的单片机。
单片机的可擦除只读存储器可以反复擦除100次。
该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。
由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C51单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。
外形及引脚排列如图3.3所示
图3.3AT89C51单片机引脚图
(2)主要特性
.4K字节可编程闪烁存储器
.寿命:
1000写/擦循环
·数据保留时间:
10年
·全静态工作:
0Hz-24MHz
·三级程序存储器锁定
·128×8位内部RAM
·32可编程I/O线
·两个16位定时器/计数器
·5个中断源
·可编程串行通道
·低功耗的闲置和掉电模式
·片内振荡器和时钟电路
(3)管脚说明
VCC:
供电电压。
GND:
接地。
P0口:
P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。
当P1口的管脚第一次写1时,被定义为高阻输入。
P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。
在FIASH编程时,P0口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。
P1口:
P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。
P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。
在FLASH编程和校验时,P1口作为第八位地址接收。
P2口:
P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。
并因此作为输入时,P2口的管脚被外部拉低,将输出电流。
这是由于内部上拉的缘故。
P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。
在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。
P2口在FLASH编程和校验时接收高八位地址信号和控制信号。
P3口:
P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。
当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。
作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。
P3口也可作为AT89C51的一些特殊功能口,如下表所示:
口管脚备选功能
P3.0RXD(串行输入口)
P3.1TXD(串行输出口)
P3.2/INT0(外部中断0)
P3.3/INT1(外部中断1)
P3.4T0(记时器0外部输入)
P3.5T1(记时器1外部输入)
P3.6/WR(外部数据存储器写选通)
P3.7/RD(外部数据存储器读选通)
P3口同时为闪烁编程和编程校验接收一些控制信号。
RST:
复位输入。
当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。
ALE/PROG:
当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。
在FLASH编程期间,此引脚用于输入编程脉冲。
在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。
因此它可用作对外部输出的脉冲或用于定时目的。
然而要注意的是:
每当用作外部数据存储器时,将跳过一个ALE脉冲。
如想禁止ALE的输出可在SFR8EH地址上置0。
此时,ALE只有在执行MOVX,MOVC指令是ALE才起作用。
另外,该引脚被略微拉高。
如果微处理器在外部执行状态ALE禁止,置位无效。
/PSEN:
外部程序存储器的选通信号。
在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。
但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。
/EA/VPP:
当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。
注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。
在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。
XTAL1:
反向振荡放大器的输入及内部时钟工作电路的输入。
XTAL2:
来自反向振荡器的输出。
(4)振荡器特性
XTAL1和XTAL2分别为反向放大器的输入和输出。
该反向放大器可以配置为片内振荡器。
石晶振荡和陶瓷振荡均可采用。
如采用外部时钟源驱动器件,XTAL2应不接。
有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。
(5)温度传感器DS18B20
(6)DS18B20的引脚功能
GND地信号
DQ数字输入输出引脚,开漏单总线接口引脚,当使用寄生电源时,可向电源提供电源
VCC可选择的VCC引脚,当工作于寄生电源时,该引脚必须接地该产品是由美国DALLAS公司生产的,具有耐磨耐碰,体积小,使用方便,封装形式多样,适用于各种狭小空间设备数字测温和控制领域。
技术性能描述
①独特的单线接口方式,DS18B20在与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通讯。
②测温范围-55℃~+125℃,固有测温分辨率0.5℃。
③支持多点组网功能,多个DS18B20可以并联在唯一的三线上,实现多点测温
DS18B20内部结构主要由四部分组成:
64位光刻ROM、温度传感器、非挥发的温度报警触发器TH和TL、配置寄存器。
该装置信号线高的时候,内部电容器储存能量通由1线通信线路给片子供电,而且在低电平期间为片子供电直至下一个高电平的到来重新充电。
DS18B20的电源也可以从外部3V-5.5V的电压得到。
DS18B20采用一线通信接口。
因为一线通信接口,必须在先完成ROM设定,否则记忆和控制功能将无法使用。
主要首先提供以下功能命令之一:
读ROM,ROM匹配,搜索ROM,跳过ROM,报警检查。
这些指令操作作用在没有一个器件的64位光刻ROM序列号,可以在挂在一线上多个器件选定某一个器件,同时,总线也可以知道总线上挂有有多少,什么样的设备。
若指令成功地使DS18B20完成温度测量,数据存储在DS18B20的存储器。
一个控制功能指挥指示DS18B20的演出测温。
测量结果将被放置在DS18B20内存中,并可以让阅读发出记忆功能的指挥,阅读内容的片上存储器。
温度报警触发器TH和TL都有一字节EEPROM的数据。
如果DS18B20不使用报警检查指令,这些寄存器可作为一般的用户记忆用途。
在片上还载有配置字节以理想的解决温度数字转换。
写TH,TL指令以及配置字节利用一个记忆功能的指令完成。
通过缓存器读寄存器。
所有的数据都读,写都是从最低
位开始。
3.3单片机对DS18B20的控制方法
DS18B20采用严格的单总线通信协议,以保证数据的完整性。
该协议定义了几种信号类型:
复位脉冲、应答脉冲写0、写1、读0和读1。
除了应答脉冲所有这些信号都由主机发出同步信号。
总线上传输的所有数据和命令都是以字节为单位,且低位在前,高位在后。
(1)初始化序列:
复位脉冲和应答脉冲
在初始化过程中,主机通过拉低单总线至少480µs,以产生复位脉冲(TX)。
然后主机释放总线并进入接收(RX)模式。
当总线被释放后,5kΩ的上拉电阻将单总线拉高。
DS18B20检测到这个上升沿后,延时15µs~60µs,通过拉低总线60µs~240µs产生应答脉冲。
初始化脉冲如图3.4所示。
图3.4DS18B20初始化时序
(2)DS18B20的读写控制
在写时序期间,主机向DS18B20写入数据;而在读时序期间,主机读入来自DS18B20的数据。
在每一个时序,总线只能传输一位数据。
读/写时序如图3.5所示。
①DS18B20写DS18B20存在两种写时序:
“写1”和“写0”。
主机在写1时序时向DS18B20
图3.5DS18B20读写时序
写入逻辑1,而在写0时序向DS18B20写入逻辑0。
所有写时序至少需要60µs,且在两次写时序之间至少需要1µs的恢复时间。
两种写时序均以主机拉低总线开始。
写1时序:
主机拉低总线后,必须在15µs内释放总线,然后由上拉电阻