《智能电饭煲控制系统课程设计说明书(31页).doc》由会员分享,可在线阅读,更多相关《智能电饭煲控制系统课程设计说明书(31页).doc(31页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、-智能电饭煲控制系统课程设计说明书-第 17 页 广州学院课程设计说明书 智能电饭煲控制系统设计 毕业设计(论文)原创性声明和使用授权说明原创性声明本人郑重承诺:所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得 及其它教育机构的学位或学历而使用过的材料。对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了谢意。作 者 签 名: 日 期: 指导教师签名: 日期: 使用授权说明本人完全了解 大学关于收集、保存、使用毕业设计(论文)的规定,
2、即:按照学校要求提交毕业设计(论文)的印刷本和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部内容。作者签名: 日 期: 学位论文原创性声明本人郑重声明:所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。本人完全意识到本声明的法律后果由本人承担。作者签名: 日期: 年 月 日学位论文版权使用授
3、权书本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。本人授权 大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。涉密论文按学校规定处理。作者签名:日期: 年 月 日导师签名: 日期: 年 月 日指导教师评阅书指导教师评价:一、撰写(设计)过程1、学生在论文(设计)过程中的治学态度、工作精神 优 良 中 及格 不及格2、学生掌握专业知识、技能的扎实程度 优 良 中 及格 不及格3、学生综合运用所学知识和专业技能分析和解决问题的能力 优 良 中
4、 及格 不及格4、研究方法的科学性;技术线路的可行性;设计方案的合理性 优 良 中 及格 不及格5、完成毕业论文(设计)期间的出勤情况 优 良 中 及格 不及格二、论文(设计)质量1、论文(设计)的整体结构是否符合撰写规范? 优 良 中 及格 不及格2、是否完成指定的论文(设计)任务(包括装订及附件)? 优 良 中 及格 不及格三、论文(设计)水平1、论文(设计)的理论意义或对解决实际问题的指导意义 优 良 中 及格 不及格2、论文的观念是否有新意?设计是否有创意? 优 良 中 及格 不及格3、论文(设计说明书)所体现的整体水平 优 良 中 及格 不及格建议成绩: 优 良 中 及格 不及格(在
5、所选等级前的内画“”)指导教师: (签名) 单位: (盖章)年 月 日评阅教师评阅书评阅教师评价:一、论文(设计)质量1、论文(设计)的整体结构是否符合撰写规范? 优 良 中 及格 不及格2、是否完成指定的论文(设计)任务(包括装订及附件)? 优 良 中 及格 不及格二、论文(设计)水平1、论文(设计)的理论意义或对解决实际问题的指导意义 优 良 中 及格 不及格2、论文的观念是否有新意?设计是否有创意? 优 良 中 及格 不及格3、论文(设计说明书)所体现的整体水平 优 良 中 及格 不及格建议成绩: 优 良 中 及格 不及格(在所选等级前的内画“”)评阅教师: (签名) 单位: (盖章)年
6、 月 日教研室(或答辩小组)及教学系意见教研室(或答辩小组)评价:一、答辩过程1、毕业论文(设计)的基本要点和见解的叙述情况 优 良 中 及格 不及格2、对答辩问题的反应、理解、表达情况 优 良 中 及格 不及格3、学生答辩过程中的精神状态 优 良 中 及格 不及格二、论文(设计)质量1、论文(设计)的整体结构是否符合撰写规范? 优 良 中 及格 不及格2、是否完成指定的论文(设计)任务(包括装订及附件)? 优 良 中 及格 不及格三、论文(设计)水平1、论文(设计)的理论意义或对解决实际问题的指导意义 优 良 中 及格 不及格2、论文的观念是否有新意?设计是否有创意? 优 良 中 及格 不及
7、格3、论文(设计说明书)所体现的整体水平 优 良 中 及格 不及格评定成绩: 优 良 中 及格 不及格(在所选等级前的内画“”)教研室主任(或答辩小组组长): (签名)年 月 日教学系意见:系主任: (签名)年 月 日课 程 设 计 任 务 书兹发给2009级机械工程及自动化 班学生 课程设计任务书,内容如下:1 设计题目: 智能电饭煲控制系统设计 2 应完成的项目: (1) 智能电饭煲控制系统整体方案设计 (2) 智能电饭煲控制系统硬件电路设计 (3) 智能电饭煲控制系统软件程序设计 (4) 完成电路原理图1张、软件程序清单1份 3 参考资料以及说明: 1余永权.单片机与家用电器智能化技术M
8、.北京:电子工业出版社,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 日课程设计评语:课程设计总评成绩:指导教师签字:年 月 日目 录摘要2第一章 绪论11.1 背景及发展11.2 设计任务错误!未定义书签。第二章 智能
9、电饭煲控制系统整体设计方案错误!未定义书签。第三章 智能电饭煲控制系统硬件设计33.1 单片机的选择33.2 传感器DS18B20的简介错误!未定义书签。3.3 显示模块的设计53.4 键盘模块的设计6 3.5 火力控制模块73.6 电源模块设计83.7功率调节8第四章 智能电饭煲控制系统软件设计104.1主程序设计104.2子程序设计114.2.1定时功能控制流程114.2.2 加热功能控制流程13结束语14参考文献15附 录16附录1:智能电饭煲控制系统电路原理图16附录2:智能电饭煲控制系统软件源程序清单17摘要本次课程设计是以AT89C52单片机为核心器件,设计了智能电饭煲控制系统。在
10、当今科技发达的时代,智能科技成为了我们生活中必不可少的生活帮手,在家用电器中运用智能科技可以使我们的生活更加方便。智能电饭煲的设计原则就是“方便人们的生活”。本次的课程设计是先对电饭煲的发展状况进行了阐述,分析了电饭煲的发展趋势,以及智能电饭煲的发展优势。在此基础上,确定了本课题智能电饭煲控制系统整体设计方案。其次,从实用性、智能化、节约成本、环保节能等角度出发,对智能电饭煲控制系统的硬件、软件进行了详细设计。按照实现功能对硬件、软件进行了功能划分,并对各部分的原理、实现方法进行了详细说明。关键词:智能控制,电饭煲,单片机,传感器第一章 绪论1.1 背景及发展 电饭煲,又称作电锅、电饭锅。是利
11、用电能转变为内能的炊具,常见的电饭锅分为保温自动式、定时保温式以及新型的微电脑控制式三类。现在已经成为日常家用电器,电饭煲的发明缩减了很多家庭花费在煮饭上,在今天,电饭煲已经成了家庭必备的电器之一。电饭煲最初是机械式控制,这种控制方式具有结构简单、技术门槛低、价格便宜等优点,但同时也有功能单一、控制方式不灵活等不足之处。近年来,随着电子技术的发展,元器件的制造成本不断下降,电饭煲也迎来了智能化的春天。智能电饭煲修改过去功能简单的煮饭模式,将煮食这一事件细分为煮饭、煲汤、煮粥等多种任务模式,此外还具有预约定时,自动保温及功率选择等功能,提升了产品的人性化设计,使得煮食过程更加方便、快捷,满足了人
12、们的需求。1.2设计任务 试设计电饭煲控制器,要求可以有预约煮饭、定时做饭功能、煮饭、煮粥等功率选择具体要求如下。1.2.1 控制策略 控制系统支持对煮饭时间进行提前预约,定时时间到后自动进行煮饭,煮饭结束后自动转入保温模式。1.2.2 定时 用户可以是电饭煲在预约时间(倒计时方式)开始工作。1.2.3 功率选择 煮饭、煮粥时可选择不同的功率,相对于煮饭,煮粥的功率可选择较小。1.2.4 显示器 本设计中选用LCD-1602作为显示器件,用于向用户传递更多的信息,包括定时时间显示、工作模式显示、故障提示等信息。第二章 智能电饭煲控制系统整体设计方案 智能电饭煲控制系统硬件电路按照功能可划分为七
13、个组成部分,即控制系统单片机最小系统工作电路、控制系统电源电路、按键输入电路、温度传感器电路、LED状态指示电路、LCD显示电路以及电饭锅加热电路。图一 智能电饭煲控制系统组成图第三章 系统硬件设计 3.1 单片机的选择 中央处理模块单片机芯片通过比较,选用了 AT89C521单片机来作为本系统的核心,图二所示的是单片机的最小系统电路。图二 智能电饭煲控制系统单片机最小系统电路3.2传感器DS18B20简介 DS18B20数字温度计是DALLAS公司生产的1Wire,即单总线器件,具有线路简单,体积小的特点。因此用它来组成一个测温系统,具有线路简单,在一根通信线,可以挂很多这样的数字温度计,十
14、分方便。 DS18B20是一款功能独特的产品,其特点如下: (1)、只要求一个端口即可实现通信。 (2)、在DS18B20中的每个器件上都有独一无二的序列号。 (3)、实际应用中不需要外部任何元器件即可实现测温。 (4)、测量温度范围在55。C到125。C之间。 (5)、数字温度计的分辨率用户可以从9位到12位选择。 (6)、内部有温度上、下限告警设置。 DS18B20有两种封装形式,即TO92封装和8-pinSOIC封装。每种封装的样式及引脚排列见图三,其引脚功能描述见表3-2。图三DS18B20的引脚排列表3-2 DS18B20详细引脚功能描述序号名称引脚功能描述1GND地信号2DQ数据输
15、入/输出引脚。开漏单总线接口引脚。当被用着在寄生电源下,也可以向器件提供电源。3VDD可选择的VDD引脚。当工作于寄生电源时,此引脚必须接地。3.3显示模块设计 液晶显示器以其微功耗、体积小、显示内容丰富、超薄轻巧的诸多优点,本设计中选用的字符型液晶模块是一种用5x7点阵图形来显示字符的液晶显示器,根据显示的容量可以分为1行16个字、2行16个字、2行20个字等等,本设计中选用常用的2行16个字的1602液晶模块。LCD-1602共有引脚16个,各引脚的功能如下: 第1脚:VSS为地电源 第2脚:VDD接5V正电源 第3脚:V0为液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最
16、高。 第4脚:RS为寄存器选择,高电平选择数据寄存器、低电平时选择指令寄存器。 第5脚:RW为读写信号线,高电平时进行读操作,低电平时进行写操作。当RS和RW共同为低电平时可以写入指令或者显示地址,当RS为低电平RW为高电平时可以读忙信号,当RS为高电平RW为低电平时可以写入数据。 第6脚:E端为使能端,当E端由高电平跳变成低电平时,液晶模块执行命令。 第714脚:D0D7为8位双向数据线。 第1516脚:BLA(BL1):LED背光正极。需要背光时,BLA串接一个限流电阻接VDD,BLK接地,实测该模块的背光电流为50mA左右,一般接一个几十欧姆的电阻。 BLK(BL2):LED背光地端。如
17、图四所示。 图四为显示模块电路3.4键盘模块设计 该系统的键盘由5个独立键盘构成,包括一个中断键盘单元。来完成智能电饭煲的手动控制。键盘的一脚接在单片机的p1.0至p1.5脚上,另外一脚接在电源地上,当有键盘按下时对应的键盘就会有一低电平送进单片机内部。为消除触点式按键开关的机械抖动,单片机内部有程序进行消抖处理,然后确定那一个键盘被按下后来执行程序完成该系统的指定工作。 该控制系统键盘接入电路如图五所示。图五 控制系统键盘输入电路3.5火力控制模块设计 电饭煲采用加热盘作为加热部件,加热盘需要直接与220V交流电压相连接,而且功率一般在1500瓦以上,因此其工作电流也比较大。因此控制系统需要
18、专门设计驱动加热盘的电路,如图五所示 本设计中采用继电器驱动加热盘与220V交流电源接通。 原因有二,一是继电器具有驱动电流大,控制简单,稳定可靠的优点,适合电饭煲中开关频率不高的应用场合。二是继电器的线圈与输出节点之间有天然的隔离作用,无需另外添加光耦等隔离器件。 本电路中加热盘驱动电路如图。单片机引脚通过驱动NPN三极管间接驱动继电器。当与之相连的单片机引脚电平为高时,三极管处于导通状态,继电器线圈中有电流流过,从而触电吸合。电路中将继电器触点通过插接器件引出,方便将加热盘与电源串接起来。 其中,R8为限流电阻,阻值定为3.3K。D1为二极管,在此电路中起到对继电器线圈续流作用,避免线圈感
19、生高电压击穿三极管。图六 控制系统热盘驱动电路 3.6 电源模块设计 本设计中,控制系统电源电路设计如图3-6所示。 220V交流电源由J1接入电路,后经变压器T1将220V降压为8.5V交流电压,该低交流电压经N1进行全波整流,变为脉动直流,最后,该脉动直流经过低压差稳压芯片78L05稳定为纹波系数较小的5V直流电源。 图七 整流流程图3.7 功率调节设计 本电饭煲功率调节电路,可获得四挡火力,用以适应不同火候的要求。 电路工作原理 电路原理图如图九所示。调节波段开关SA的挡位,可以改变电容C1的充放电速率。利用C1两端交流电压通过双向触发二极管VD3去触发双向晶闸管VS导通、并改变了VS的
20、导通角,使负载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
21、、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.1 主程序设计 系统的软件设计采用结构化和模块化设计的方法,便于程序的编写、调试和排除错误,同时也便于检验和维护。根据设计的要求和前面描述的控制器系统硬件设计的具体情况,单片机系统的软件程序主要由以
22、下模块组成:初始化主程序、输入及显示、温度采集、火力控制。主程序流程图如图11所示。图11 主程序结构图4.2子程序设计4.2.1 定时功能控制流程 软件实现该功能的流程如图12所示。 系统运行后,若按下“SET”按键,系统即可进入预设定时时间状态,此时“时”位数值开始闪烁,表示“时”位数值处于可设定状态。此时按下“ADD”键,预定时间的小时数将累加1,若按下“DEC”键,预定时间的小时数减1。 本控制系统支持最大定时12小时,当小时数超出12后会溢出为0。即置“时”位数值时,若当前示数为12,且按下“ADD”键,则小时数由12变为0时0分。 小时数设定完成后,按下“OK”键,进入设定“分”状
23、态,同时“分”位数值开始闪烁。此时按下“ADD”键,预定时间的分钟数加1,若按下“DEC”键,则预定时间的分钟数减1。 若当前的分钟数为59,且按下“ADD”键,则分钟数溢出为0,同时小时数加1;若当前分钟数为0,且按下“DEC”键,则分钟数溢出为59,同时小时数减少1。 分钟数设定完成后,再次按下“OK”键,系统则保存用户设定的定时时间并退出定时时间设定状态。 随后系统暂停所处的工作模式,进入倒计时程序。定时时间到,系统自动进入预定的工作模式,或煮饭或煲汤或保温。图12 定时功能控制流程4.2.2 加热功能控制流程 智能电饭煲控制系统对电饭煲加热与否需要根据当前锅内温度以及所处的工作模式做出
24、选择。其软件控制流程如图13所示。 控制器先通过置于盖顶的温度传感器获得当前锅内温度,根据所处的工作模式,得到需要到达的目标温度。若当前锅内温度小于目标温度,则控制器接通加热盘加热,否则断开加热盘,停止加热。图13加热功能控制流程图结束语 本次的电饭煲控制系统设计完全实现智能控制,包括预约煮饭、煮粥、定时做饭、煮粥、做饭功率的选择等功能。预约和定时做饭时间可随意调节,预约结束后自动进行相应的预约动作。 这次课程设计是对我学习微机原理及单片机课程的检验及实际应用能力一次提高。在编写程序之前,我们查阅了大量的相关资料,力求做到规范清晰。编程的过程中,我们遇到了很多问题,但在同学和老师的帮助下都得到
25、了解决。经过两个星期的课程设计,我得到了充分的锻炼,不仅对单片机的学习有深刻的理解,同时也增强了我们的毅力和处理突发问题的能力。课程设计是一次很好的实践动手机会,通过这次设计,我们学会了如何将所知识学以致用。为我们的毕业设计奠定了良好的基础。参考文献1余永权.单片机与家用电器智能化技术M.北京:电子工业出版社,1995.2李士勇.模糊控制神经控制和智能控制论M.黑龙江:哈尔滨工业大学出版社,19983周鲜成.模糊电饭煲的控制原理J.株洲工学院学报,2000, 14 (6) : 35-37.4李宇成,卢俊峰.电饭煲的模糊控制器J.北方工业大学学报,1998, 10 (3) : 85-90.附 录
26、附录1:智能电饭煲控制系统电路原理图附录2:智能电饭煲控制系统软件源程序清单CPU:AT89C51晶振:24M版本:V1.0日期:2012.03#include#include #include #define PORT P2 #define NEGATIVE10#define POSITIVE11#define Y0XFF#define N0x00#define LOW0X00#define HI0x01/读端口数据-#define POWERON(P1&(10)/p1.0#define POWEROFF(P1&(11)/p1.1#define MODEL(P1&(12)/p1.2#defi
27、ne ADD(P1&(13) /P1.3#define DEC(P1&(14) /P1.4#define OK(P1&(15) /P1.5/写端口数据-sbit HOT=P30;sbit workingled=P31;sbit timerled=P32;sbit banwenled=P33;sbit baotangled=P34;sbit zhufanled=P35;sbit RS=P00; sbit RW=P01; sbit EN=P02; sbit DQ=P17; unsigned char code shuzidaima=0x30,0x31,0x32,0x33,0x34,0x35,0x3
28、6,0x37,0x38,0x39,0x2d,0x2b;unsigned char temp_lowbyte_unprocess; unsigned char temp_hibyte_unprocess; unsigned char temp_xiao;unsigned char temp_ge;unsigned char temp_shi;unsigned char temp_bai;unsigned char temp_fuhao;unsigned char poweron=N;unsigned char model=0;unsigned char dest_temp=0;unsigned
29、char now_temp=255;signed int min_num=0;unsigned char timersetting_state=0;unsigned char timing_state=N;unsigned int loop=0;unsigned char loop1=0;unsigned char loop2=0;unsigned int loop3=0;/*=子程序=*/函数名:delay()void delay() unsigned int i; for(i=0;i=800;i+)/函数名:lcd_wcomd()void lcd_wcomd(unsigned char c
30、ommand) RS=0; RW=0; PORT=command; delay(); EN=1; _nop_(); EN=0; delay();/函数名:lcd_wdata()void lcd_wdata(unsigned char dat) RS=1; RW=0; PORT=dat; delay(); EN=1; _nop_(); EN=0; delay();/函数名:lcd_ini()void lcd_init() lcd_wcomd(0x01); lcd_wcomd(0x06); lcd_wcomd(0x0c); lcd_wcomd(0x38); /函数名:printchar()void
31、 printchar(unsigned char zifu) unsigned char j,k; k=strlen(zifu); for(j=0;j=1)printchar(TimerSet );else if(model=0)printchar(- - );if(model=1)printchar(KeepWarm);if(model=2)printchar(PotSoup );if(model=3)printchar(CookRice);/函数名:delay1()void delay1(unsigned int n) for(n;n0;n-)/函数名:rest_1820()void re
32、st_1820() DQ=0; DQ=1; delay1(77);/函数名:write_18b20(unsigned char xiecan)void write_18b20(unsigned char xiecan) unsigned char xie_i; for(xie_i=1;xie_i1;/函数名:read_18b20()unsigned char read_18b20()unsigned char du_i;unsigned char outdata_1820=0x00; unsigned char tmp_du=0x00; for(du_i=1;du_i=8;du_i+) DQ=
33、1; DQ=0; _nop_ _nop_(); DQ=1; _nop_();tmp_du=P1&0x80;tmp_du=tmp_du1; return(outdata_1820);/函数名: readtemp_conver()void readtemp_conver() rest_1820(); write_18b20(0xcc); write_18b20(0x44); /函数名: readtemp_readdata()void readtemp_readdata() rest_1820(); write_18b20(0xcc); write_18b20(0xbe); temp_lowbyte
34、_unprocess=read_18b20(); temp_hibyte_unprocess=read_18b20(); /函数名:hex_dec()unsigned char chazhi(unsigned char h_data) if(h_data=0x05)if(h_data=0x00)return(0);if(h_data=0x01)return(1);if(h_data=0x02)return(2);if(h_data=0x03)return(3);if(h_data=0x04)return(4);if(h_data=0x05)return(5);else if(h_data4;
35、hex_di=chazhi(hex_di); hex_gao=chazhi(hex_gao); dec_jieguo=hex_gao*16+hex_di; return(dec_jieguo);/函数名:key()void key() if(POWERON=LOW) poweron=Y; workingled=0; model=0; if(POWEROFF=LOW) poweron=N;workingled=1;model=0;if(poweron=Y) if(model1&now_tempdest_temp) model=1;if(MODEL=LOW&loop3)model+;if(model=4)model=1;loop=0;if(ADD=LOW&timersetting_state=1&