电冰箱控制系统设计(共23页).doc

上传人:飞****2 文档编号:13385097 上传时间:2022-04-29 格式:DOC 页数:23 大小:358KB
返回 下载 相关 举报
电冰箱控制系统设计(共23页).doc_第1页
第1页 / 共23页
电冰箱控制系统设计(共23页).doc_第2页
第2页 / 共23页
点击查看更多>>
资源描述

《电冰箱控制系统设计(共23页).doc》由会员分享,可在线阅读,更多相关《电冰箱控制系统设计(共23页).doc(23页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、精选优质文档-倾情为你奉上HEFEI UNIVERSITY 自动化综合设计设计题目: 冰箱温度控制设计 系 别: 11 电 子 系 专业班级: 自动化2班 指导老师: 丁 健 姓名学号: 董 祥() 吴 兵() 王万里() 丁超超() _钱心远( ) 摘 要近年来随着计算机在社会领域的渗透, 单片机的应用正在不断地走向深入,同时带动传统控制检测日新月益更新。在实时检测和自动控制的单片机应用系统中,单片机往往是作为一个核心部件来使用,仅单片机方面知识是不够的,还应根据具体硬件结构,以及针对具体应用对象特点的软件结合,以作完善。 电冰箱温度控制系统是利用温度传感器DS18B20采集电冰箱冷藏室和冷

2、冻室的温度以及蒸发表面温度。通过INTEL公司的高效微控制器MCS-C51单片机进行数字信号处理,从而达到智能控制的目的。本系统可实现电冰箱冷藏室和冷冻室的温度设置、电冰箱自动除霜、开门报警等功能。 通过对直冷式电冰箱制冷系统的改进和采用模糊控制技术,实现了电冰箱的双温双控,使电冰箱能根据使用条件的变化迅速合理地调节制冷量,且节能效果良好。 关键词:单片机;温度传感器;电冰箱;温度控制 一、设计内容家用电冰箱一般是双门冰箱,分为冷冻室和冷藏室两个部分。冷冻室用于冷冻食品和制冰。长时间存放,食品中的水份也会凝结成冰。冷冻室的温度为-6-18。为保证冷冻室良好的制冷效果。当霜厚达3mm时,能自动检

3、测霜厚并进行除霜。冷藏室用于在较低的温度中存放食品。要求有一定的保鲜而不冻伤食物的功能。冷藏室的温度一般为 010。对家用电冰箱的要求是:较高的温度控制精度和最优的节能效果。系统结构框图: 二、硬件设计直冷式电冰箱的控制原理是根据蒸发器的温度控制制冷压缩机的启动与停止,使冰箱内的温度保持在设定的温度范围内。本电冰箱控制系统要完成冷冻室及冷藏室的温度检测和动态显示的功能,霜厚检测及除霜的功能,温度设置功能,。控制系统硬件结构如图所示,主要由电源电路,AT89C52最小系统,温度传感器,功能按键, ADC0809转换电路,时钟电路,键盘电路,显示电路,复位电路,测霜、除霜装置。 系统总体设计硬件方

4、框图三 各部分电路作用及介绍 1.AT89C52单片机简介 AT89C52是一个低电压,高性能8位,片内含8k bytes的可反复擦写的只读和256 bytes的随机存取数据存储器(),器件采用的高密度、非易失性存储技术生产,兼容标准MCS-51,片内置通用8位和Flash,AT89C52单片机在电子行业中有着广泛的应用。MCS-51系列单片机是美国Inter公司在1980年推出的高性能8位单片微型计算机,较原来的MCS-48系列更为先进,功能更强。2. 时钟电路 时钟电路用于产生单片机工作所需的时钟信号,时序是指令执行中各信号之间的相互关系。单片机本身就如同一个复杂的同步时序电路,为了保证同

5、步工作方式的实现,电路应在唯一的时钟信号控制下严格地按时序进行工作。在单片机内部带有时钟电路,因此,只需要在片外通过XTAL1和XTAL2引脚接入定时控制元件(晶体振荡器和电容),即可构成一个稳定的自激振荡器。XTAL1和XTAL2之间跨接晶体振荡器和微调电容。晶体呈感性,与C1、C2构成并联谐振电路。振荡器的振荡频率主要取决于晶体;电容的值则有微调作用,通常取30pF左右。电容的安装装置应尽量靠近单片机芯片。MCS8051的时钟电路如图所示: 3 复位电路 复位是单片机的初始化操作,其主要功能是使单片机从0000H单元开始执行程序。除了进入系统的正常初始化以外,当由于程序运行出错或操作错误使

6、系统处于死锁状态时,本单片机系统采用自动复位方式复位。 4 温度检测 我们选用DS18B20单线数字温度传感器。 1.DS18B20单线数字温度传感器的主要技术指标: (1)独特的单线接口方式,DS18B20在与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通讯。(2)测温范围 55125,固有测温分辨率0.5。(3)支持多点组网功能,多个DS18B20可以并联在唯一的三线上,最多只能并联8个,如果数量过多,会使供电电源电压过低,从而造成信号传输的不稳定,实现多点测温。(4)工作电源: 35V/DC。(5)在使用中不需要任何外围元件。(6)测量结果以912位数字量方式串行传

7、送。 2.DS18B20外形和内部结构 DS18B20内部结构如图所示,主要由4部分组成:64位ROM、温度传感器、非挥发的温度报警触发器TH和TL、配置寄存器。DS18B20的外形及管脚排列如图和表所. DS18B20的内部结构 DS18B20的管脚排列 DS18B20引脚定义:序号名称引脚功能描述1GND地信号2DQ数据输入/输出引脚。开漏单总线接口引脚。当被用着在寄生电源下,也可以向器件提供电源。3VDD可选择的VDD引脚。当工作于寄生电源时,此引脚必须接地。 3、DS18B20接口设计下图为DS18B20接入电路的两种方法:(a)寄生电源工作方式 (b)外接电源工作方式 5.键盘与显示

8、电路键盘是人与MCS8051联系的重要手段,用于向CPU输入运行参数,控制系统的运行状态。键盘电路形式分为直接编码输入键盘和矩阵键盘。前者接口电路简单,一般应用于需要少量按键的控制系统。后者因占用I/O引脚数少,常被按键较多的控制系统所采用。本课程设计采用直接编码输入键盘,系统采用了5个按键,分别设置为加一键、减一键、正常键、冷藏室温度显示键、冷冻室温度显示键。显示器是常用的输出器件。显示器件种类很多,有LED发光二极管、LED数码管、液晶显示器LCD、阴极射线管CRT等。本电冰箱的电控系统使用的液晶显示器LCD。端读入键盘信号,若读得“0”表示有键按下,转入处理键功能程序。6.制冷与除霜控制

9、电路 用机械方法来增加气体压力的设备称为压缩机。在电冰箱制冷系统中,用于压缩制冷剂蒸气,并使制冷剂在系统中循环的设备称为制冷压缩机。电冰箱制冷系统所选用的压缩机属于容积型压缩机。容积型压缩机是指气缸内制冷剂蒸气直接受到压缩,使其容积变小,压力增高的压缩机。所以,在整个电冰箱的制冷系统中,压缩机的正常有序的运行是非常重要的,因此,需恰当的设计制冷压缩机的启动与停止控制电路。本设计中的电冰箱的电控系统中,含有自动除霜的功能,所以,也需要设计自动控制除霜电热丝的启动与停止的控制驱动电路。7. 驱动控制电路的设计(1)制冷压缩机和除霜电热丝的启动和停止控制驱动电路如图所示: 制冷压缩机和除霜电热丝的启

10、动和停止控制驱动电路 四. 软件设计本电冰箱的软件设计是在硬件电路设计的基础上,此电冰箱电控系统控制设计过程中主要完成以下几个功能:冷冻室及冷藏室温度采样并进行模拟到数字的转换,自动除霜功能,键盘扫描和Lcd显示。 本系统软件主要由主程序、功能子程序、中断服务程序组成。采用主程序调用功能子程序,子程序尽可能少的调用其它子程序,以保证系统的稳定运行。主程序 主程序是整个电冰箱的总控制程序,如控制各单元初始化、控制中断、定时、显示、键盘程序的启动与重复等,为系统软件的主干部分。本电冰箱的电控系统的核心部分是冷冻室和冷藏室的温度检测及控制电路。主程序中对是否为冷冻室和冷藏室的温度键进行了逐步的判断,

11、通过判断调用不同的子程序来实现对冷冻室和冷藏室的温度的控制。 主程序框图如图所示: 主程序流程图2 打开、关闭压缩机子程序 程序流程图如下图如示:压缩机子程序调用框图总程序附表#include #include #define uchar unsigned char#define uint unsigned int/*定义按键-*/sbit K1 = P14; /K1-设置sbit K2 = P15; /K2-确认、返回sbit K3 = P16; /K3-加sbit K4 = P17; /K4-减sbit K5 = P32; /电机开关sbit beep=P36;sbit jdq=P25;s

12、bit LED=P31;sbit fan=P26;bit f_low=0;uchar flag,shan;int beep_tmp=40,shu,beep_jdq=-20,shu_j;/*/void delay1ms(uint ms)/延时1毫秒 for(i=0;ims;i+) for(j=0;j110;j+);void delaynms(uint ms)/延时1毫秒 uint i; for(i=0;i=0)WriteData( );if(beep_tmp%1000/100)=0)WriteData( );elseWriteData(beep_tmp%1000/100+0x30);delayn

13、ms(5);WriteData(beep_tmp%100/10+0x30);delaynms(5);WriteData(.);delaynms(5);WriteData(beep_tmp%10+0x30);delaynms(5);elseshu=beep_tmp+1;WriteData(-);if(shu%1000/100)=0)WriteData( ); elseWriteData(shu%1000/100+0x30);delaynms(5);WriteData(shu%100/10+0x30);delaynms(5);WriteData(.);delaynms(5);WriteData(s

14、hu%10+0x30);delaynms(5);tmp(0xc0+7);WriteAddress(0xc0+8);/设定屏幕上的显示位置delaynms(5);WriteData(J);delaynms(5);WriteData(:);delaynms(5);if(beep_jdq=0)WriteData( );if(beep_jdq%1000/100)=0)WriteData( );elseWriteData(beep_jdq%1000/100+0x30);delaynms(5);WriteData(beep_jdq%100/10+0x30);delaynms(5);WriteData(.)

15、;delaynms(5);WriteData(beep_jdq%10+0x30);delaynms(5);elseshu_j=beep_jdq+1;WriteData(-);if(shu_j%1000/100)=0)WriteData( ); elseWriteData(shu_j%1000/100+0x30);delay1ms(10);WriteData(shu_j%100/10+0x30);delay1ms(10);WriteData(.);delay1ms(10);WriteData(shu_j%10+0x30);delay1ms(10);tmp(0xc0+15);/*主程序*/void

16、 main() LcdInt();/液晶初始化for(;)read_temp();ds1820disp();beep_scan();if(flag=0)if(tvaluebeep_tmp) jdq=0;f_low=1; elseif(tvalueshu_j)&(f_low=1)jdq=0; else jdq=1;f_low=0;/*设置时间-*/if (K1 = 0) beep=1;delaynms(20); /按键消抖if(K1 = 0) /当是调时状态 本键用于调整下一项shan+;if(shan=5)shan=1;switch(shan) case 1: WriteAddress(0xc

17、0+4); Write_com(0x0f); break; case 2: WriteAddress(0xc0+6); Write_com(0x0f);break; case 3: WriteAddress(0xc0+12); Write_com(0x0f); break; case 4: WriteAddress(0xc0+14); Write_com(0x0f);break; while(K1 = 0); /等待键松开 /*-*/while(shan!=0)if (K1 = 0) delaynms(20); /按键消抖if(K1 = 0) /当是调时状态 本键用于调整下一项shan+;if

18、(shan=5)shan=1;switch(shan) case 1: WriteAddress(0xc0+4); Write_com(0x0f); break; case 2: WriteAddress(0xc0+6); Write_com(0x0f);break; case 3: WriteAddress(0xc0+12); Write_com(0x0f); break; case 4: WriteAddress(0xc0+14); Write_com(0x0f);break; while(K1 = 0); /等待键松开 if (K2 = 0) / 当在调时状态时就退出调时delaynms

19、(20);if(K2 = 0)shan=0; Write_com(0x0c);while(K2 = 0); if (K3 = 0) / 当在调时状态时就退出调时delaynms(20);if(K3 = 0)switch(shan) case 1: beep_tmp+=10;beep_scan();WriteAddress(0xc0+4);Write_com(0x0f); break; case 2: beep_tmp+=1;beep_scan();WriteAddress(0xc0+6);Write_com(0x0f);break; case 3: beep_jdq+=10;if(beep_t

20、mpbeep_jdq)beep_jdq=beep_tmp;beep_scan(); WriteAddress(0xc0+12); Write_com(0x0f); break; case 4: beep_jdq+=1;if(beep_tmpbeep_jdq)beep_jdq=beep_tmp;beep_scan();WriteAddress(0xc0+14); Write_com(0x0f);break;while(K3 = 0); if (K4 = 0) / 当在调时状态时就退出调时delaynms(20);if(K4 = 0)switch(shan) case 1: beep_tmp-=1

21、0;if(beep_tmpbeep_jdq)beep_tmp=beep_jdq;beep_scan();WriteAddress(0xc0+4);Write_com(0x0f); break; case 2: beep_tmp-=1;if(beep_tmpbeep_jdq)beep_tmp=beep_jdq;beep_scan();WriteAddress(0xc0+6);Write_com(0x0f);break; case 3: beep_jdq-=10;beep_scan(); WriteAddress(0xc0+12); Write_com(0x0f); break; case 4:

22、beep_jdq-=1;beep_scan();WriteAddress(0xc0+14); Write_com(0x0f);break;while(K4 = 0); /*电机开关*/if (K5 = 0) delaynms(20); /按键消抖if(K5 = 0) fan=fan; while(K5 = 0); /等待键松开 fan=1;总结:在这次的课程设计中不仅检验了我所学习的知识,也培养了我如何去把握一件事情,如何去做一件事情,又如何完成一件事情。在设计过程中,与同学分工设计,和同学们相互探讨,相互学习,相互监督。学会了合作,也学会了做人与处世。课程设计是我们专业课程知识综合应用的实践训练,这是我们迈向社会,从事职业工作前一个必不少的过程”千里之行始于足下”,通过这次课程设计,我深深体会到这句千古名言的真正含义我今天认真的进行课程设计,学会脚踏实地迈开这一步,就是为明天能稳健地在社会大潮中奔跑打下坚实的基础专心-专注-专业

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁