收藏 分销(赏)

基于单片机的智能热水壶设计.docx

上传人:精**** 文档编号:3996355 上传时间:2024-07-24 格式:DOCX 页数:23 大小:43.61KB
下载 相关 举报
基于单片机的智能热水壶设计.docx_第1页
第1页 / 共23页
基于单片机的智能热水壶设计.docx_第2页
第2页 / 共23页
基于单片机的智能热水壶设计.docx_第3页
第3页 / 共23页
基于单片机的智能热水壶设计.docx_第4页
第4页 / 共23页
基于单片机的智能热水壶设计.docx_第5页
第5页 / 共23页
点击查看更多>>
资源描述

1、目 录内容摘要1关键词1第1章 绪论21。1研究背景21。2研究目的与意义21。3热水壶发展现状3第2章 系统总体设计42。1设计总体思路42。2系统总设计框图42。3主要模块功能简介42。4外部配件材料的选择5第3章 硬件模块电路设计63。1硬件组成部分63。2主要模块电路设计63.2.1单片机模块63。2。2温度检测模块73。2.3液晶显示模块83。2。4按键控制模块83。2 总系统电路9第4章 软件模块电路设计104。1 设计总体思路104.2 烧开水功能设计特点104。3控制程序工作流图104.4系统主程序11第5章 系统测试125。1 硬件部分测试125.1。1热水壶功能测试125.

2、1。2系统误差分析125。2 软件部分测试125。3 结果分析12结论14致谢15参考文献16附录1 电路原理图与PCB图17附录2系统总程序代码19附录3元器件清单30附录4设计实物图31Abstract32基于单片机的智能热水壶系统设计【内容摘要】在日常生活中,热水壶有着十分广泛的应用领域.热水壶是结合用户的实际需求和现代社会需要的一种智能产品,于是本次设计了以单片机为核心器件,结合人性化的理念,最终实现智能的控制电路和程序设计的智能热水壶。本设计实现了日常烧开水功能,以及通过按键设定温度加热冷水,达到设定温度后,通过蜂鸣器提醒用户并自动断电,同时液晶显示屏显示即时温度等拓展功能。本设计硬

3、件部分由单片机芯片、温度检测,蜂鸣报警、液晶显示等模块,同时利用了单片机的智能性,软件部分在keil uvision开发环境中使用C语言编写软件程序,实现了对水温的智能控制,其具有生活化、实用性强的特点。【关键词】单片机;智能;热水壶;DS18B20;烧水;22第1章 绪论1。1 研究背景近年来,随着单片机技术的发展,单片机的应用研究不断深入,传统控制检测快速更新.在实时检测和自动控制的系统中,单片机通常是作为一个核心部件,基于具体的硬件结构和应用对象的应用特点,并结合软件改进控制系统,代替复杂的电子电路或数字电路,通过软件控制外围电路,确保智能化能够实现.单片机应用于范围广泛的智能产品中,如

4、智能仪表、实时工业控制、通信设备、导航系统、家用电器等,单片机应用在生产中时,其可以使产品升级换代,常在产品名前端冠名-“智能”.热水壶是在日常生活中需要的实际需求和用户相关的现代社会的产物,是一种单片机控制的智能产品.随着科技的发展和社会的进步,人们的生活质量在逐步增加。近年来,各种智能设备不断更新,如智能手机、智能水壶走进我们的生活。由于其自身的优点,安全、智能电水壶在生活中有着广泛的应用.1。2 研究目的与意义目前市场上品种繁多的开水壶存在着功能比较单一、不够完善等不足,所以我们在普通的烧水壶基础上利用所学单片机知识添加了一些方便实用的功能,如设温加热、蜂鸣提示、显示即时温度的功能,使产

5、品更加人性化,日常使用更加方便。随着社会的快速发展,智能新产品相继出现,比如数码相机、平板电脑等一系列的新鲜的事物,人们的日常生活中也发生了极大的变化。本设计以探究智能新产品工作原理为出发点,基于单片机设计了一款智能热水壶,设计过程考查了我们综合运用所学知识的能力,包括以前学过的关于单片机编程与应用、电装实习等的知识,同时我对当前的电子产业发展的新趋势有了一定的了解,实际动手能力和模拟实际产品的开发能力也得到了锻炼,对应届大学生日后工作能力的培养具有重要的意义.本次设计也培养了我理解工程技术的工作中需要的整体观和经济观,同时提高掌握设计的各种方案以及技术指标、资料收集、技术文献,分析计算,描绘

6、电路图及撰写论文等能力。1。3 热水壶发展现状电热水壶在中国的发展史上虽然短暂,发展速度却很快.在早期的中国,电热水壶很早就开始了工业生产,但其主要面向出口。电热水壶具有结构简单、加热快、节约能源、操作方便、安全实用、使用寿命长等优点。近年来,国内市场占有率开始快速增长,市场增长率超过50%。随着电热水壶产品消费者的意识不断提高,在国内市场电热水壶的容量有明显的提升。其次,虽然饮水机在我国的普及率很高,但由于饮水机体积大,重复加热,存在二次污染的问题,于是提供了电水壶产业发展的机会1.第2章 设计方案概述2。1 总体设计思路 本次智能热水壶的设计方案利用单片机软件系统为工作环境,不仅实现基本的

7、烧开水以及烧开后断电功能,并且结合按键控制温度的设定,可加热冷水至指定温度,蜂鸣器报警,随后热水壶断电,同时液晶显示屏显示即时温度.2.2 系统总设计框图 初步确定电路系统由以下模块组成,电路系统框图如图21所示.加热装置-继电器 蜂鸣报警器液晶显示- LM160L温度检测-DS18B20电源供电按键控制ST89C52RC单 片 机图2-1 电路系统框图2。3 主要模块电路功能简介1、单片机模块 作为智能热水壶设计的控制中心,单片机用于驱动整个热水壶系统的运作,如液晶屏上的温度显示、接收传感器中的温度信号以及按键信号、LED上显示温度等2。2、温度检测模块 周期性采集温度信号,判断是否达到预设

8、温度,传送至单片机内处理。3、液晶显示模块 显示水壶内热水的即时温度,便于用户随时掌控温度变化。4、控制按键模块三个独立按键组成一个独立键盘,连接单片机的I/O端口,对单片机输入控制信号,用于设温加热模式时控制设定温度的加或减,以及单片机的启动与停止.模式设定由一个独立按键组成,当按下按键,液晶显示屏右下角显示“1”,即为烧开水模式;再次按下按键,液晶显示屏右下角显示“2”,即为设温加热模式;显示“0”为停止加热状态。5、加热装置模块 用于加热水壶中的水,使水达到设定的温度.6、蜂鸣器模块 当冷水加热到指定温度时发出报警声提示用户.7、电源模块 用于给整个设计系统提供电。2.4 外部配件材料的

9、选择本热水壶采用220V 200W的制式,水壶的选用优先考虑耐高温的合金材料,继电器连接加热片来加热壶底来实现烧水。在水壶底部和加热片上都涂上一层导热胶,使冷水受热均匀、加热的速度更快,减少等待时间。水壶盖上开孔一个边长约为40mm的方洞,便于放入测温探头、散去蒸汽,避免暴沸。第三章 硬件模块电路设计3。1 硬件组成部分 确定了本次设计需要实现的功能后,针对烧开水、加热冷水、显示温度的功能,设计的硬件部分主要由单片机模块、温度控制模块、液晶显示模块、按键控制模块构成。3.2 主要模块电路设计3。2.1 单片机模块相比于普通的微型计算机,单片机具有以下特点:体积小,结构简单,控制能力强,可靠性高

10、,集成度高,抗干扰能力强,磁屏蔽能力强,适合在恶劣环境下工作,以及低电压,低功耗,性价比较高,开发周期短等。其中,STC89C52是STC公司生产的一种CMOS8位微控制器.STC89C52使用MCS51内核,但做了许多改进使芯片具有传统51单片机不具备的功能。在单芯片上,由于灵巧的8 位CPU 和在系统可编程Flash, STC89C52为众多嵌入式控制应用系统提供灵活、有效的解决方案3.STC89C52RC芯片如图3-1所示.图3-1 STC89C52RC芯片STC89C52单片机系统由单片机、时钟电路、复位电路组成,其具有以下功能:8k字节Flash,512字节RAM, 32 位I/O

11、口线,定时器,内置4KB EEPROM,MAX810复位电路,3个16 位定时器/计数器,4个外部中断,一个7向量4级中断结构(兼容传统51的5向量2级中断结构),全双工串行口。STC89C52 也可降至0Hz 静态逻辑操作,支持2种软件,还可选择节电模式。空闲模式下,CPU 停止工作,允许RAM、定时器/计数器、串口、中断继续工作.掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。最高运作频率35MHz,6T/12T可选4。本次设计采用STC89C52RC型号单片机,且单片机采用内部时钟方式,在MCS51电路外接晶体以及电容C4和C5组成并联谐

12、振电路且构成一个自激振荡器,接在放大器的反馈回路中,向内部电路提供震荡时钟。在本次设计中晶体选择1。2MHz频率,而电容C4和C5的选择为30pF的典型值。单片机中的复位电路采用上电自动复位和按键复位的方式。3.2。2 温度控制模块 比较热电偶温度传感器,它的实现过程为:靠光敏电阻检测光照的大小,光照的大小改变电阻的大小,再给电阻一个外加电压,就改变了电压的大小,再用转换器件检测电压的变化并转换为数字信号,随后传到单片机上作一定的处理后去控制相应的数码管来显示当时的温度。而对DS18B20来说过程则简单许多,热电偶电阻传感器一直到单片机之前的部分都可以用一个DS18B20来代替,从而真正的实现

13、了数字化5。 本设计系统采用的是DS18B20温度传感器,DS18B20是美国达拉斯公司生产的一款产品,是一线式数字化传感器。工作电源可在远端引入,也可采用寄生电源方式产生。低功耗、微型化、抗干扰能力很强,可根据实际要求通过简单的编程实现数字读数方式,便于与微处理器进行接口。电路简单,实现起来比较容易,几乎适用于所有类型的单片机。DS18B20内部结构主要由四部分组成:64位光刻ROM、温度传感器、非挥发的温度报警触发器TH和TL、配置寄存器。6DS18B20引脚图以及内部系统框图如图3-2、3-3所示。图32 DS18B20引脚图图33 DS18B20内部系统框图3。2。3 液晶显示模块 本

14、次设计采用的液晶显示屏为LM016L,除了PROTEUS中016没有显示调亮度的两个端口,它与LCD1602具有相同的原理。它可以显示两行,每行16 个字符,因此可相当于32 个LED 数码管,而且比数码管显示的信息还多。采用单+5V电源供电,外围电路配置简单,价格便宜,具有很高的性价比7.在单片机系统中应用液晶显示屏具有以下优点:显示质量高、数字式接口、体积小、重量轻、功耗低,在嵌入式应用系统中得到越来越广泛的应用。液晶显示屏、LCD1602管脚分布图如图3-4、35所示.图34 液晶显示屏图35 LCD1602管脚分布图3.2。4 按键控制电路三个按键构成一个独立键盘,一端分别接单片机的P

15、0。5、P0.6和P0。7口,另一端接地。通过单片机的扫描查询,判断按键是否按下,当没有按键按下时,P0口输入为高电平,反之则为低电平8。3.2。5 电源供电电路由于本设计的模块都采用直流+5V供电,于是直接采用三端稳压器供电,省去了复杂的电源变压电路。再考虑到单片机和液晶显示屏的功耗,使用电池供电比较费电,并且电流也达不到要求,所以也直接用三端稳压器供电,电流大、电压稳定.3。3 总系统电路 总系统电路原理图以及PCB图详见附录1。第四章 软件模块电路设计4.1 设计总体思路本设计采用51单片机系统固件,基于keil uVision4开发环境,使用C语言编写程序9。程序需要实现以下需求: 1

16、、一般热水壶都具有的烧开水功能。 2、指定温度加热冷水.切换模式后,按下加或减按键调节需要设定的温度,到水温到达指定温度后热水壶自动断电.3、LM016L液晶显示屏上显示即时温度、设定温度以及工作模式.4。2 烧开水功能设计特点由于不同的地域气压差异,当温度达到100度时,水不一定能烧开,甚至在海拔较高的地区水不能加热到100度。于是本设计中相应的在温度控制模块中采用周期性采样温度的方式,每10s保存一次温度值,通过每次的采样进行比较进而寻找水温的最大值,如果没有更大的水温值,则水达到沸点,若温度稳定持续超过3分钟,并且水温超过80度,此时可判断水烧开了,随后热水壶自动断开电源。程序执行采用定

17、时器中断方式,提高了系统的响应速度10。4。3 控制程序工作流图 根据设计的思路和目标功能,确立了软件的工作流图.控制程序工作流图如图41所示。图41 控制程序工作流图4。4 系统主程序系统主程序代码详见附录2。第5章 系统测试5.1 硬件部分测试本设计首先在Protel Altium Designer Summer 09软件上绘制出原理图,并且完成PCB的设计,之后送至电路板制版工厂完成主控双面电路板的制作,自行动手完成元器件的焊接和测试。焊接过程需要谨慎认真的态度,先焊好主控芯片,最后焊接其它元器件,焊接结束后用万用表欧姆档对照原理图进行电路检测,检测其导通情况以及是否有短路或虚焊现象并及

18、时修正。确保一切正常后,下载测试程序检测主控核心板是否能正常工作,经检测,主控核心板能达到预期的工作效果,可以作为本系统的主控部件.5。1。1 热水壶功能测试 在水壶内盛上大约100ml的冷水,放置在涂上一层导热胶的加热板上,将1个DS18B20温度传感器探头放进水中用于检测实时温度,再将程序下载至主控板内后接通电源,选择“1模式开始烧水,观察并记录如下:1。独立按键设定工作模式,在液晶显示屏上正常显示实时水温和工作模式。2。大约10分钟后,水烧开,蜂鸣器报警,显示屏上显示“Boiling”,随后断电。重复测烧开水时的温度和所用时间5次,得到的结果如表5-1所示:12345开水温度/度99。5

19、199。4999。5299。5199.50所用时间9分58秒9分56秒9分58秒9分57秒9分58秒重新在水壶内盛上大约100ml的冷水,重复烧开水前的准备步骤,接通电源,按两下模式按键,选择“2”模式,起始水温为26。41度,再通过温度加减按键调节设定温度,设定50度后,等待大约5分钟后到达设定温度,蜂鸣器报警,随后断电.重复测设定温度50度时的实际断电温度和所用时间5次,得到的结果如表52所示:12345实际温度/度51.2250.9951。1851。2351。21所用时间4分44秒4分40秒4分41秒4分42秒4分45秒5。1.2 系统误差分析 分析整个测试过程,总结出有几点误差: 1。

20、温度检测引起的误差。本设计温度检测中存在的误差是在可以接受的范围内的,由于DS18B20本身存在一定的系统误差,以及检测过程中温度环境不均匀、水流滚动影响等因素,因此设计采用周期采样温度的方法测定温度。 2。继电器引起的误差。随着继电器对电热管的加热,水温升高,电流流经SSR减小,因此交流的负载增加干扰信号也就不足为奇,SSR误导通。 3。电压波动引起的误差。5.2 软件部分测试 本设计使用C语言在keil uvision开发环境下进行编程,该软件兼容单片机C语言软件开发系统,编译过程中对于出错的地方给出清楚的位置,方便开发者改进错误。在编程的基础上,整个调试的工作包括工程的建立和函数的调用,

21、检查包含的头文件是否正确,分模块检查,根据设计的要求检查初始化程序,以及优化程序结构。经过反复的测试后,确定系统能够正常工作,系统功能得到了良好的实现,设计的软件部分测试完成。5.3 结果分析 经过对系统的硬件以及软件部分的反复测试,在两种功能模式下,系统各模块都能够正常工作。总体来说,这些功能的实现达到了毕业设计题目上的要求,并且本设计的外形设计提高了安全性和灵活性,具有操作简单、实用等特点。本设计的成本较低,便于进行工业生产,投入日常生活中使用,从这个角度来说,本设计具有一定的实用意义。结论通过硬件和软件的设计,我制作了智能热水壶,本次设计的各项目标功能都已实现,包括用烧开水、按键设置温度

22、、指定温度加热冷水、达到设定温度时自动断电等.通过这次设计,自己努力学习、认真设计,从搜集资料、分析和确定方案,我学习到了电路板的制作与程序的编写等操作技能,通过单片机编程和焊接电路板等实践方面的学习积累了自己的动手经验。在此期间,我充分的锻炼了我的自学能力,明白了学习生活中要有不轻言放弃的毅力。同时也领悟到不要在乎作品完成得是否完美,重要的是自己所学的在实践中如何应用以及怎样应用到最好.本次设计的硬件模块电路部分比较简单,大部分热水壶功能是由软件程序实现。在编程过程中,我重新复习了许多汇编语言的编程技巧,最终编写的程序更加灵活;另外我还学习了代码的优化技巧,逐渐养成了良好的编程习惯,写出了高

23、质量的程序代码,为今后的学习工作打下了良好的基础.致谢经过三个月的忙碌和工作,我的毕业设计已经接近尾声。由于经验的匮乏,本次毕业设计难免有许多考虑不周和制作不好的地方,如果没有导师的指导与督促,以及一起制作设计的同学们支持,要去完成这个设计是难上加难的.在这里首先要感谢我的导师。她平日里工作繁多,但在我做毕业设计的过程中,从设计方案的确定和修改、中期检查指导、后期完善修改、论文的规范修改等方面都给予了我耐心的指导。其次还要感谢所有帮助过我的老师,感谢电子工程学院所提供的实验室,在焊接和调试电路时给我们带来了极大的方便。在这里,我要再一次对我的导师以及电子工程学院的全体老师们表示深深的谢意,在你

24、们的支持与帮助下我顺利的完成了此次毕业设计。参考文献1中国行业研究网。电水壶发展的三大趋势,2007。2吉林工程技术师范学院.智能水壶.2009.3周鹏。基于STC89C52单片机的温度检测系统设计。现代电子技术,2012。4STC89C51RC单片机官方技术资料STC官网5南京航空航天大学金城学院。一个单片机实现温度传感网络并用数码管显示的设计,2013。6王欢,王忠庆,岳利维。基于STC89C52RC单片机的温度报警系统的设计与实现. 晋城职业技术学院学报,2011。7赵亮。跟我学51单片机(七)LCD1602液晶显示模块。2011。8吉小辉,陈育中.电水壶自动断电控制器的研究与设计.电子

25、设计工程,2013。9谭浩强。C语言程序设计(第二版).清华大学出版社,1999.10薛江玉,张鹏,冀鹏,宋玉倩。基于单片机的智能烧水壶,2011。附录1 电路原理图、PCB图附录2 系统主程序代码【main.c】include reg52。hinclude ”STC89C52RC。h”#include ”Lm016l。h”include DS18B20。h”#define TIMER0TIMEH0x3Cdefine TIMER0TIMEL0xB0#define HEATON0define HEATOFF1define BUZZERON0#define BUZZEROFF1define SET

26、TEMPUPLMT100#define SETTEMPDOWNLMT30sbit Buzzer = P37;sbit KeyMode = P05;sbit KeyUp = P06;sbit KeyDown = P07;sbit Heat = P36;/加热控制sbit Reserve = P23;sbit BackLight = P43;/测试用sbit Test1 = P32;sbit Test2 = P33;sbit Test3 = P34;sbit Test4 = P35;/定义几个全局变量unsigned char timeflag;int RlTemp;/这里定义为int 比较时也用

27、int型比较int svRlTemp;/保存一次温度值int pvTemp;/前两秒的温度值int MaxTemp;/用于寻找最大温度值/*/ 初始化定时器0 这里设置50ms定时/*void ConfigTimer0()TMOD = 0x01;TH0 = TIMER0TIMEH; / TL0 = TIMER0TIMEL;ET0 = 1; /TR0 = 1; /EA = 1;void SysInit()InitLCDLm016l();InitDs18b20();ConfigTimer0();void delay(unsigned int x)unsigned int y;for(;x0;x)f

28、or(y=110;y0;y-);/*void GetAndDisplay()stt = GetDs18b20Temperature(&temp);if(stt) WriteLm016lString(0,0,”error”);elseInteger2String(temp,str);WriteLm016lString(0,0,str);fttp = Ds18b20Convert2Temperature(temp);n = Float2String(fttp,2,str);WriteLm016lString(0,1,str);WriteLm016lChar(n,1,0x08);/这里0x08为第一

29、个自造字符/unsigned int abs(int a, int b)unsigned int rlt;if(a = b) rlt = a b;else rlt = b a;return rlt;/*/ 判断水是否开了/*unsigned char IsWaterBoiling()static unsigned char stb = 0;/if(abs(RlTemp,pvTemp) = 4)/小于+-0。25度/stb +;/else/stb = 0;/换种方式判断: 找最大值 如果没有更大的值 则到达沸点if(RlTemp MaxTemp) MaxTemp = RlTemp; stb =

30、0; else stb +; /判断if(stb = 120) & (RlTemp 1280) /如果温度稳定持续超过3min,并且水温超过80度,则认为水开了stb = 0;return 1;else return 0;void BuzzerLight(unsigned char n)for(;n0;n)Buzzer = BUZZERON;delay(50);Buzzer = BUZZEROFF;delay(30);/*/* 初始化定时器0 这里设置50ms定时/*void main()int temp;float fttp;unsigned char stt;unsigned char s

31、tr16;unsigned char i,n;unsigned char mode;unsigned char settp;int settpint;unsigned char blflag = 0;SysInit();/i=0;settp = 50;settpint = settp;settpint 2) mode = 0;/String2StringArray(” ”,str);WriteLm016lString(0,1,str);/WriteLm016lChar(15,1,mode+0);if(!KeyUp)delay(10);while(!KeyUp);/等待释放settp +;if(

32、settp SETTEMPUPLMT) settp = SETTEMPDOWNLMT;settpint = settp;settpint = 4;if(!KeyDown)delay(10);while(!KeyDown);/等待释放settp -;if(settp SETTEMPDOWNLMT) settp = SETTEMPUPLMT;settpint = settp;settpint = 20)/1stick = 0;timeflag = 0xff;/1s 采集一次温度Test4 = Test4;附录3 元器件清单附录4 设计实物图Smart kettle design based on

33、MCUAuthor:SuYaLiAbstract In daily life, a hot water bottle has a very broad field of application。 Hot water is a kind of intelligent products and the actual needs of the modern society with the needs of users, so the design of a singlechip microcomputer as the core device, combined with the concept

34、of humanity, the ultimate realization of intelligent kettle control circuit and program design of the intelligent. The design and implementation of the daily function of boiling water, and set the temperature of heating and cooling through the button, after reaching the set temperature, the buzzer t

35、o alert the user and automatically cut off the power supply, and LCD display realtime temperature expansion function. The hardware design of the single chip, temperature detection, buzzer alarm, liquid crystal display module, and the use of intelligent MCU, the software program using C language in keil uVision development environment, to achieve the intelligent temperature control, its life, practicality.keyword SCM; intelligent; DS18B20; boiling water kettle;

展开阅读全文
部分上传会员的收益排行 01、路***(¥15400+),02、曲****(¥15300+),
03、wei****016(¥13200+),04、大***流(¥12600+),
05、Fis****915(¥4200+),06、h****i(¥4100+),
07、Q**(¥3400+),08、自******点(¥2400+),
09、h*****x(¥1400+),10、c****e(¥1100+),
11、be*****ha(¥800+),12、13********8(¥800+)。
相似文档                                   自信AI助手自信AI助手
百度文库年卡

猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 学术论文 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服