智能电饭煲控制系统课程设计报告书.docx

上传人:b****7 文档编号:15637205 上传时间:2023-07-06 格式:DOCX 页数:35 大小:624.69KB
下载 相关 举报
智能电饭煲控制系统课程设计报告书.docx_第1页
第1页 / 共35页
智能电饭煲控制系统课程设计报告书.docx_第2页
第2页 / 共35页
智能电饭煲控制系统课程设计报告书.docx_第3页
第3页 / 共35页
智能电饭煲控制系统课程设计报告书.docx_第4页
第4页 / 共35页
智能电饭煲控制系统课程设计报告书.docx_第5页
第5页 / 共35页
智能电饭煲控制系统课程设计报告书.docx_第6页
第6页 / 共35页
智能电饭煲控制系统课程设计报告书.docx_第7页
第7页 / 共35页
智能电饭煲控制系统课程设计报告书.docx_第8页
第8页 / 共35页
智能电饭煲控制系统课程设计报告书.docx_第9页
第9页 / 共35页
智能电饭煲控制系统课程设计报告书.docx_第10页
第10页 / 共35页
智能电饭煲控制系统课程设计报告书.docx_第11页
第11页 / 共35页
智能电饭煲控制系统课程设计报告书.docx_第12页
第12页 / 共35页
智能电饭煲控制系统课程设计报告书.docx_第13页
第13页 / 共35页
智能电饭煲控制系统课程设计报告书.docx_第14页
第14页 / 共35页
智能电饭煲控制系统课程设计报告书.docx_第15页
第15页 / 共35页
智能电饭煲控制系统课程设计报告书.docx_第16页
第16页 / 共35页
智能电饭煲控制系统课程设计报告书.docx_第17页
第17页 / 共35页
智能电饭煲控制系统课程设计报告书.docx_第18页
第18页 / 共35页
智能电饭煲控制系统课程设计报告书.docx_第19页
第19页 / 共35页
智能电饭煲控制系统课程设计报告书.docx_第20页
第20页 / 共35页
亲,该文档总共35页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

智能电饭煲控制系统课程设计报告书.docx

《智能电饭煲控制系统课程设计报告书.docx》由会员分享,可在线阅读,更多相关《智能电饭煲控制系统课程设计报告书.docx(35页珍藏版)》请在冰点文库上搜索。

智能电饭煲控制系统课程设计报告书.docx

智能电饭煲控制系统课程设计报告书

广州学院

课程设计说明书

智能电饭煲控制系统设计

 

院(系)机械工程学院

专业机械工程及自动化

班级

学生姓名

指导老师

 

2012年1月1日

课程设计任务书

兹发给2009级机械工程及自动化班学生课程设计任务书,内容如下:

1.设计题目:

智能电饭煲控制系统设计

2.应完成的项目:

(1)智能电饭煲控制系统整体方案设计

(2)智能电饭煲控制系统硬件电路设计

(3)智能电饭煲控制系统软件程序设计

(4)完成电路原理图1张、软件程序清单1份

3.参考资料以及说明:

[1]余永权.单片机与家用电器智能化技术[M].北京:

电子工业出版社,1995.

[2]李士勇.模糊控制·神经控制和智能控制论[M].黑龙江:

哈尔滨工业大学出版社,1998

[3]周鲜成.模糊电饭煲的控制原理[J].株洲工学院学报,2000,14(6):

35-37.

[4]李宇成,卢俊峰.电饭煲的模糊控制器[J].北方工业大学学报,1998,10(3):

85-90.

4.本设计任务书于2012年12月24日发出,应于2013年1月4日前完成,然后进行答辩。

 

指导教师签发2012年12月24日

课程设计评语:

 

课程设计总评成绩:

指导教师签字:

年月日

第三章智能电饭煲控制系统硬件设计3

3.1单片机的选择3

3.3显示模块的设计5

3.4键盘模块的设计6

3.5火力控制模块7

3.6电源模块设计8

3.7功率调节8

第四章智能电饭煲控制系统软件设计10

4.1主程序设计10

4.2子程序设计11

4.2.1定时功能控制流程11

4.2.2加热功能控制流程13

结束语14

参考文献15

附录16

附录1:

智能电饭煲控制系统电路原理图16

附录2:

智能电饭煲控制系统软件源程序清单17

 

摘要

本次课程设计是以AT89C52单片机为核心器件,设计了智能电饭煲控制系统。

在当今科技发达的时代,智能科技成为了我们生活中必不可少的生活帮手,在家用电器中运用智能科技可以使我们的生活更加方便。

智能电饭煲的设计原则就是“方便人们的生活”。

本次的课程设计是先对电饭煲的发展状况进行了阐述,分析了电饭煲的发展趋势,以及智能电饭煲的发展优势。

在此基础上,确定了本课题智能电饭煲控制系统整体设计方案。

其次,从实用性、智能化、节约成本、环保节能等角度出发,对智能电饭煲控制系统的硬件、软件进行了详细设计。

按照实现功能对硬件、软件进行了功能划分,并对各部分的原理、实现方法进行了详细说明。

关键词:

智能控制,电饭煲,单片机,传感器

 

第一章绪论

1.1背景及发展

电饭煲,又称作电锅、电饭锅。

是利用电能转变为内能的炊具,常见的电饭锅分为保温自动式、定时保温式以及新型的微电脑控制式三类。

现在已经成为日常家用电器,电饭煲的发明缩减了很多家庭花费在煮饭上,在今天,电饭煲已经成了家庭必备的电器之一。

电饭煲最初是机械式控制,这种控制方式具有结构简单、技术门槛低、价格便宜等优点,但同时也有功能单一、控制方式不灵活等不足之处。

近年来,随着电子技术的发展,元器件的制造成本不断下降,电饭煲也迎来了智能化的春天。

智能电饭煲修改过去功能简单的煮饭模式,将煮食这一事件细分为煮饭、煲汤、煮粥等多种任务模式,此外还具有预约定时,自动保温及功率选择等功能,提升了产品的人性化设计,使得煮食过程更加方便、快捷,满足了人们的需求。

1.2设计任务

试设计电饭煲控制器,要求可以有预约煮饭、定时做饭功能、煮饭、煮粥等功率选择

具体要求如下。

1.2.1控制策略

控制系统支持对煮饭时间进行提前预约,定时时间到后自动进行煮饭,煮饭结束后自动转入保温模式。

1.2.2定时

用户可以是电饭煲在预约时间(倒计时方式)开始工作。

1.2.3功率选择

煮饭、煮粥时可选择不同的功率,相对于煮饭,煮粥的功率可选择较小。

1.2.4显示器

本设计中选用LCD-1602作为显示器件,用于向用户传递更多的信息,包括定时时间显示、工作模式显示、故障提示等信息。

第2章智能电饭煲控制系统整体设计方案

智能电饭煲控制系统硬件电路按照功能可划分为七个组成部分,即控制系统单片机最小系统工作电路、控制系统电源电路、按键输入电路、温度传感器电路、LED状态指示电路、LCD显示电路以及电饭锅加热电路。

 

 

图一智能电饭煲控制系统组成图

 

第三章系统硬件设计

3.1单片机的选择

中央处理模块单片机芯片通过比较,选用了AT89C521单片机来作为本系统的核心,图二所示的是单片机的最小系统电路。

图二智能电饭煲控制系统单片机最小系统电路

 

3.2传感器DS18B20简介

DS18B20数字温度计是DALLAS公司生产的1-Wire,即单总线器件,具有线路简单,体积小的特点。

因此用它来组成一个测温系统,具有线路简单,在一根通信线,可以挂很多这样的数字温度计,十分方便。

DS18B20是一款功能独特的产品,其特点如下:

(1)、只要求一个端口即可实现通信。

(2)、在DS18B20中的每个器件上都有独一无二的序列号。

(3)、实际应用中不需要外部任何元器件即可实现测温。

(4)、测量温度范围在-55。

C到+125。

C之间。

(5)、数字温度计的分辨率用户可以从9位到12位选择。

(6)、内部有温度上、下限告警设置。

DS18B20有两种封装形式,即TO-92封装和8-pinSOIC封装。

每种封装的样式及引脚排列见图三,其引脚功能描述见表3-2。

图三DS18B20的引脚排列

表3-2DS18B20详细引脚功能描述

序号

名称

引脚功能描述

1

GND

地信号

2

DQ

数据输入/输出引脚。

开漏单总线接口引脚。

当被用着在寄生电源下,也可以向器件提供电源。

3

VDD

可选择的VDD引脚。

当工作于寄生电源时,此引脚必须接地。

3.3显示模块设计

液晶显示器以其微功耗、体积小、显示内容丰富、超薄轻巧的诸多优点,本设计中选用的字符型液晶模块是一种用5x7点阵图形来显示字符的液晶显示器,根据显示的容量可以分为1行16个字、2行16个字、2行20个字等等,本设计中选用常用的2行16个字的1602液晶模块。

LCD-1602共有引脚16个,各引脚的功能如下:

第1脚:

VSS为地电源

第2脚:

VDD接5V正电源

第3脚:

V0为液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高。

第4脚:

RS为寄存器选择,高电平选择数据寄存器、低电平时选择指令寄存器。

第5脚:

RW为读写信号线,高电平时进行读操作,低电平时进行写操作。

当RS和RW共同为低电平时可以写入指令或者显示地址,当RS为低电平RW为高电平时可以读忙信号,当RS为高电平RW为低电平时可以写入数据。

第6脚:

E端为使能端,当E端由高电平跳变成低电平时,液晶模块执行命令。

第7~14脚:

D0~D7为8位双向数据线。

第15~16脚:

BLA(BL1):

LED背光正极。

需要背光时,BLA串接一个限流电阻接VDD,BLK接地,实测该模块的背光电流为50mA左右,一般接一个几十欧姆的电阻。

BLK(BL2):

LED背光地端。

如图四所示。

图四为显示模块电路

3.4键盘模块设计

该系统的键盘由5个独立键盘构成,包括一个中断键盘单元。

来完成智能电饭煲的手动控制。

键盘的一脚接在单片机的p1.0至p1.5脚上,另外一脚接在电源地上,当有键盘按下时对应的键盘就会有一低电平送进单片机内部。

为消除触点式按键开关的机械抖动,单片机内部有程序进行消抖处理,然后确定那一个键盘被按下后来执行程序完成该系统的指定工作。

该控制系统键盘接入电路如图五所示。

图五控制系统键盘输入电路

3.5火力控制模块设计

电饭煲采用加热盘作为加热部件,加热盘需要直接与220V交流电压相连接,而且功率一般在1500瓦以上,因此其工作电流也比较大。

因此控制系统需要专门设计驱动加热盘的电路,如图五所示

本设计中采用继电器驱动加热盘与220V交流电源接通。

原因有二,一是继电器具有驱动电流大,控制简单,稳定可靠的优点,适合电饭煲中开关频率不高的应用场合。

二是继电器的线圈与输出节点之间有天然的隔离作用,无需另外添加光耦等隔离器件。

本电路中加热盘驱动电路如图。

单片机引脚通过驱动NPN三极管间接驱动继电器。

当与之相连的单片机引脚电平为高时,三极管处于导通状态,继电器线圈中有电流流过,从而触电吸合。

电路中将继电器触点通过插接器件引出,方便将加热盘与电源串接起来。

其中,R8为限流电阻,阻值定为3.3K。

D1为二极管,在此电路中起到对继电器线圈续流作用,避免线圈感生高电压击穿三极管。

图六控制系统热盘驱动电路

3.6电源模块设计

本设计中,控制系统电源电路设计如图3-6所示。

220V交流电源由J1接入电路,后经变压器T1将220V降压为8.5V交流电压,该低交流电压经N1进行全波整流,变为脉动直流,最后,该脉动直流经过低压差稳压芯片78L05稳定为纹波系数较小的5V直流电源。

图七整流流程图

 

3.7功率调节设计

本电饭煲功率调节电路,可获得四挡火力,用以适应不同火候的要求。

电路工作原理电路原理图如图九所示。

调节波段开关SA的挡位,可以改变电容C1的充放电速率。

利用C1两端交流电压通过双向触发二极管VD3去触发双向晶闸管VS导通、并改变了VS的导通角,使负载RL两端交流电压随之发生变化。

发光二极管VD2、VD5作为信号指示,由于导通角不同,发光亮度各异。

SA置于“1”挡,VD5显示;SA置于“4”挡,则VD2显示;R5是限流电阻,用来保护VS。

电阻R7、电容C2为吸收回路,用来吸收SA在选挡时所产生的干扰脉冲,否则在SA选挡过程中将对电视机、音响及其他电声器件产生一定的干扰;元器件选择电容C1选用0.1uF/160V,C2选0.022uF/400V(涤纶电容器)。

电阻R1为56kΩ、1/2W,R2为39kΩ、1/4W,R3为27kΩ、1/4W,R4为2kΩ、1/4W,R5为47Ω、1/2W,R6为100kΩ、1/2W(可变),R7为300Ω、1/4W,R8为43kΩ、1/2W。

二极管VD1、VD4用1N4004。

发光二极管VD2用BT104(黄色),VD5用BT103(绿色)。

触发二极管VD3为DB3或VR60。

双向晶闸管V5用TLC226B(3A/400V)或TLC336A(3A/600V)。

波段开关SA用KZX-1-2D-11W。

负载RL为交流220V/1500W(加热盘)。

图九功率调节电路

 

第4章智能电饭煲控制系统软件设计

4.1主程序设计

系统的软件设计采用结构化和模块化设计的方法,便于程序的编写、调试和排除错误,同时也便于检验和维护。

根据设计的要求和前面描述的控制器系统硬件设计的具体情况,单片机系统的软件程序主要由以下模块组成:

初始化主程序、输入及显示、温度采集、火力控制。

主程序流程图如图11所示。

图11主程序结构图

 

4.2子程序设计

4.2.1定时功能控制流程

软件实现该功能的流程如图12所示。

系统运行后,若按下“SET”按键,系统即可进入预设定时时间状态,此时“时”位数值开始闪烁,表示“时”位数值处于可设定状态。

此时按下“ADD”键,预定时间的小时数将累加1,若按下“DEC”键,预定时间的小时数减1。

本控制系统支持最大定时12小时,当小时数超出12后会溢出为0。

即置“时”位数值时,若当前示数为12,且按下“ADD”键,则小时数由12变为0时0分。

小时数设定完成后,按下“OK”键,进入设定“分”状态,同时“分”位数值开始闪烁。

此时按下“ADD”键,预定时间的分钟数加1,若按下“DEC”键,则预定时间的分钟数减1。

若当前的分钟数为59,且按下“ADD”键,则分钟数溢出为0,同时小时数加1;若当前分钟数为0,且按下“DEC”键,则分钟数溢出为59,同时小时数减少1。

分钟数设定完成后,再次按下“OK”键,系统则保存用户设定的定时时间并退出定时时间设定状态。

随后系统暂停所处的工作模式,进入倒计时程序。

定时时间到,系统自动进入预定的工作模式,或煮饭或煲汤或保温。

图12定时功能控制流程

 

4.2.2加热功能控制流程

智能电饭煲控制系统对电饭煲加热与否需要根据当前锅内温度以及所处的工作模式做出选择。

其软件控制流程如图13所示。

控制器先通过置于盖顶的温度传感器获得当前锅内温度,根据所处的工作模式,得到需要到达的目标温度。

若当前锅内温度小于目标温度,则控制器接通加热盘加热,否则断开加热盘,停止加热。

图13加热功能控制流程图

结束语

本次的电饭煲控制系统设计完全实现智能控制,包括预约煮饭、煮粥、定时做饭、煮粥、做饭功率的选择等功能。

预约和定时做饭时间可随意调节,预约结束后自动进行相应的预约动作。

这次课程设计是对我学习微机原理及单片机课程的检验及实际应用能力一次提高。

在编写程序之前,我们查阅了大量的相关资料,力求做到规范清晰。

编程的过程中,我们遇到了很多问题,但在同学和老师的帮助下都得到了解决。

经过两个星期的课程设计,我得到了充分的锻炼,不仅对单片机的学习有深刻的理解,同时也增强了我们的毅力和处理突发问题的能力。

课程设计是一次很好的实践动手机会,通过这次设计,我们学会了如何将所知识学以致用。

为我们的毕业设计奠定了良好的基础。

 

参考文献

[1]余永权.单片机与家用电器智能化技术[M].北京:

电子工业出版社,1995.

[2]李士勇.模糊控制·神经控制和智能控制论[M].黑龙江:

哈尔滨工业大学出版社,1998

[3]周鲜成.模糊电饭煲的控制原理[J].株洲工学院学报,2000,14(6):

35-37.

[4]李宇成,卢俊峰.电饭煲的模糊控制器[J].北方工业大学学报,1998,10(3):

85-90.

 

附录

附录1:

智能电饭煲控制系统电路原理图

附录2:

智能电饭煲控制系统软件源程序清单

CPU:

AT89C51

晶振:

24M

版本:

V1.0

日期:

2012.03

//=========================================/

#include

#include

#include

//---------------------------------------------------------

#definePORTP2

#defineNEGATIVE10

#definePOSITIVE11

#defineY0XFF

#defineN0x00

#defineLOW0X00

#defineHI0x01

//读端口数据-----------------------------------------------

#definePOWERON((P1&(1<<0))>>0)//p1.0

#definePOWEROFF((P1&(1<<1))>>1)//p1.1

#defineMODEL((P1&(1<<2))>>2)//p1.2

#defineADD((P1&(1<<3))>>3)//P1.3

#defineDEC((P1&(1<<4))>>4)//P1.4

#defineOK((P1&(1<<5))>>5)//P1.5

//写端口数据------------------------------------------------

sbitHOT=P3^0;

sbitworkingled=P3^1;

sbittimerled=P3^2;

sbitbanwenled=P3^3;

sbitbaotangled=P3^4;

sbitzhufanled=P3^5;

sbitRS=P0^0;

sbitRW=P0^1;

sbitEN=P0^2;

sbitDQ=P1^7;

//------------------------------------------------------

unsignedcharcodeshuzidaima[]=

{0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x2d,0x2b};

unsignedchartemp_lowbyte_unprocess;

unsignedchartemp_hibyte_unprocess;

unsignedchartemp_xiao;

unsignedchartemp_ge;

unsignedchartemp_shi;

unsignedchartemp_bai;

unsignedchartemp_fuhao;

//-------------------------------------------------------

unsignedcharpoweron=N;

unsignedcharmodel=0;

unsignedchardest_temp=0;

unsignedcharnow_temp=255;

signedintmin_num=0;

unsignedchartimersetting_state=0;

unsignedchartiming_state=N;

unsignedintloop=0;

unsignedcharloop1=0;

unsignedcharloop2=0;

unsignedintloop3=0;

/*=======子程序=======*/

//----------------------------------------------------------------

//函数名:

delay()

//-----------------------------------------------------------------

voiddelay()

{

unsignedinti;

for(i=0;i<=800;i++)

{;}

}

//----------------------------------------------------------------

//----------------------------------------------------------------

//函数名:

lcd_wcomd()

//-----------------------------------------------------------------

voidlcd_wcomd(unsignedcharcommand)

{

RS=0;

RW=0;

PORT=command;

delay();

EN=1;

_nop_();

EN=0;

delay();

}

//----------------------------------------------------------------

//函数名:

lcd_wdata()

//-----------------------------------------------------------------

voidlcd_wdata(unsignedchardat)

{

RS=1;

RW=0;

PORT=dat;

delay();

EN=1;

_nop_();

EN=0;

delay();

}

//----------------------------------------------------------------

//函数名:

lcd_ini()

//-----------------------------------------------------------------

voidlcd_init()

{

lcd_wcomd(0x01);

lcd_wcomd(0x06);

lcd_wcomd(0x0c);

lcd_wcomd(0x38);

}

//----------------------------------------------------------------

//函数名:

printchar()

//-----------------------------------------------------------------

voidprintchar(unsignedcharzifu[])

{

unsignedcharj,k;

k=strlen(zifu);

for(j=0;j<=k-1;j++)

{

lcd_wdata(zifu[j]);

}

}

//----------------------------------------------------------------

//函数名:

display_num()

//-----------------------------------------------------------------

voiddisplay_num(unsignedcharshuzi_in)

{

lcd_wdata(shuzidaima[shuzi_in]);

}

//----------------------------------------------------------------

//函数名:

display_1602()

//-----------------------------------------------------------------

voiddisplay_1602()

{

lcd_wcomd(0x80+0x00);

printchar("Model:

");

lcd_wcomd(0x80+0x07);

if(timersetting_state>=1)

{

printchar("TimerSet");

}

else

{

if(model==0)

{

printchar("----");

}

if(mode

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 工程科技 > 能源化工

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

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