基于STC89C52的智能饮水机系统的设计与实现毕业论文Word文件下载.docx
《基于STC89C52的智能饮水机系统的设计与实现毕业论文Word文件下载.docx》由会员分享,可在线阅读,更多相关《基于STC89C52的智能饮水机系统的设计与实现毕业论文Word文件下载.docx(28页珍藏版)》请在冰豆网上搜索。
sdemandfordrinkingwatermultiplefunctions,andsaveenergy.Butthepriceofsuchhigh-endwatercoolersoftenriseswiththetechnology,andfamiliesmaybereluctanttospendthatmoney.Wherethereisdemand,therewillbeamarket,becausetherearepeoplewhowantaffordable,powerfulwaterdispenser,soIdesignedthiswaterdispenser.Thiswaterdispenserispowerfulbutaffordable.ItUSESSCMtocontrolthetemperatureriseoftheheatingresistance,soastoheatthewater.IntheLCDscreen,somebasicdata(watertemperature,wateroutput,currentmode,etc.)canbepresentedtotheuser,whichwillimprovetheuserexperienceandmakethehuman-computerinteractionmoreintuitiveanddirect.Thiswaterfountainhastwomodesofoperation:
automaticmodeandmanualmode.Thewaterdispenserisequippedwithanumberofemergencymethods,suchas:
1,thewatertankisstillinusewhenthereisnowater;
2,thewatercannotbeheated;
3,theownerofthewaterdispensershouldbealertedtoaddwatertothewaterdispensertoensurethesafetyofthewaterdispenser.Emergencymeasureswillmakethiswaterdispensermuchsafertoensurethesafetyofusers.
Keywords:
intelligentdrinkingmachineSCMdrinkingwatersafety
第一章绪论
1.1课题研究背景以及意义
在社会经济发展蓬勃迅速的当今社会,我们老百姓除了追求追求基本的生活和生存,而是更多的追求健康。
在现在智能时代的来临下,有许多日常用品、电器等都加入了智能化设计和自动化管理。
就拿饮水机来说,已经普遍投放使用在许多家庭和办公场所,在用户量如此多的情况下,商家自然会提高自己产品的竞争力,所以也让饮水机朝着自动化、智能化的方向发展。
现在人们对自己的健康越来越重视,但现代社会的水质还未得到很大的改善的情况下,所以人们在挑选饮水机时都会选择更加智能而且安全系数更高的的饮水机。
怎么样才能做出更智能、更符合用户需求的饮水机呢?
如何保证饮用水的安全呢?
为了满足这一需求,所以我想制作一个智能安全的饮水机。
1.2国内外研究历史和现状
饮水机从上世界90年代兴起到现在,外表与功能都已经改革换代很多次,从第一代的桶装饮水机,这种饮水机虽然体积小巧,使用方便,但是会由于饮用水会被加热多次形成“千滚水”,饮用后不利于身体健康。
第二代饮水机加入了净水功能,做到将出水口的水净化,确保喝到的每一口水都是安全水,缺点是体积略笨重。
第三代饮水机结合了以上两点,将机器隐藏在壁橱内,实现了体积小巧,饮水安全的两全方法。
其中国外的法国圣帝尼、美国威世顿是著名的外饮水机产品,他们的产品功能很多,其中一下几点最受消费者喜欢:
1、多种冲泡模式(咖啡模式、沏茶模式、冲奶粉模式等)
2、内置冷热两个水箱,根据用户所需要的水温,计算冷热水比列后将水输送到出水口
3、利用冷水流经热水胆,达到快速获得温水且节省能源的目的
4、设置了多个保护措施,比如在水位过低时停止加热工作避免烧坏加热器、出水口只有检测到被子后才能出水,且出水前有提醒音效等等
将目光转回国内,国内市场的饮水机市场也蓬勃发展,提出了饮水机的全新概念,比如含有强大净水能力的饮水机,可以得到更加纯净水的电解水饮水机、可以直接连接饮用水的饮水机……
1.3论文研究内容与目标
第一,以前的饮水机功能过于简单,只有普通的把水烧开的功能。
第二章系统方案构思
2.1设计方案原理设想
系统软件将采用分模块的设计方法,所以这款饮水机的软件设计部分主要有以下几个子程序模块:
1、水位采集子程序
2、调节温度子程序
3、继电器控制电磁阀、加热电阻丝子程序
4、数据显示子程序
这款饮水机将使用C语言开发来实现。
系统硬件将采用以单片机为核心,通过处理按键选择的模式信心、温度传感器采集的水温信息、水位检测传感器采集的水位的信息之后,把这些信息显示在LCD液晶显示屏上,还会根据这些信息,判断饮水机当前是否时安全使用状态,比如出现干烧情况后会提示报警声等。
按下不同的按钮可以切换不同的功能模式,比如按下KEY3可以切换手动模式和自动模式。
通过将按下按键的一刻来改变按键端口的高低电平,将高低电平是做某种模式的开启,经单片机处理后,进入不同的工作模式状态。
2.2需求分析
1、可以获得当前模式、水温和水量等数据:
使用DS18B20这一款数字温度传感器,实现温度传感器模块对温度的采集。
2、可以将当前模式、水温和水量等数据显示给用户,方便用户了解:
采用LCD1602显示屏模块实现对采集数据的显示,提高用户体验,让人机交互更加方便直观。
3、可以获得当前饮水桶的水量、防烧干措施:
使用了液位传感器来时刻检测水位的改变,防干烧措施则是。
当单片机检测到水箱内的水位过低时,会启动蜂鸣器鸣叫和让LED灯亮起,提醒用户。
4、通过简单操作,切换多种功能模式:
饮水机模式(自动模式、手动模式、自定义模式)的选择和饮水机水温设置可以利用按下重置按钮实现。
用户可以通过按下重置按钮,选择不同的模式、水温和出水量(出水量默认为200ml),满足用户不同的需求。
5、检测到出水口处有杯子(物体)后,才能出水:
使用电磁式继电器控制它里面的常闭触点和常开触点,在检测到杯子后,线圈有电流经过,吸引弹簧取消弹簧的压力让阀口打开来。
6、有自动模式和手动模式(检测到杯子后,按下即可出水):
通过按键的按下步骤来设置不同模式的按键逻辑。
通过主芯片与各类传感器的共同协调合作,本款饮水的功能才能更好的完善。
通过分析了饮水机的功能后,我将对本饮水机系统进行大概的框架描画。
本饮水机整体设计思路如图2.1
图2.1饮水机整体设计
2.3系统框图
当饮水机开机运行时,各类的传感器和模块也在运行,比如液位检测在检测水位,计算出水位高度;
温度传感器模块检测温度,确保加热电阻模块是否工作;
按键模块选择当前的冲泡模式(沏茶模式、泡茶模式)后,确定水温的最高温。
报警模块在水位过低时,停止加热功能后响起报警音并亮起警示灯;
电磁阀控制出水口的。
为了实现上述需求,构建的系统框图,如图2.2所示:
图2.2系统框图
2.4系统硬件设计框架
图2.4系统硬件设计框架
第三章系统硬件设计
3.151单片机最小系统
由STC89C52单片机的使用说明书可以知道,这款单片机类型具有高性能、低功耗的特点。
这款单片机可以用来制作很多功能,因此可以适用于不同的项目。
晶振电路和复位电路组成本单片机的最小系统,复位功能可以让单片机回复到初始状态,晶振则可以产生稳定的脉冲信号,其中,复位电路如图3.1.1所示。
图3.1.1复位电路
单片机复位过程中,在复位端口会出现高电平信号且多于2个或者2个以上的机器周期。
使用11M晶振可以计算出标准的波特率,9600。
晶振电路图如下图3.1.2所示。
图3.1.2晶振电路原理图
3.2温度检测部分
饮水机十分重要的一个功能就是检测水是否沸腾(或者达到预设温度),因此,使用一个温度传感器当作一个是否决定加热的开关就变得尤为重要,再加上要让饮水机具有智能的效果,那进行水温的调节就必不可少,因此我没有选择传统的温度传感器,而是选择了DS18B20数字温度传感器,它具有直接得到被检测物体(气态、液态)的温度,而且可以通过简单的代码设置,就可以实现数据的读取。
这款温度传感器的读入或者输出,只需要一根单线接口,这是十分方便的。
使用DS18B20可以是整个系统简单和可靠,也提高用户的使用体验。
由使用说明书可知,DS18B20检测温度范围为-55°
~125℃,且可以提供较高精度的数值,可以正好满足设计的要求并且价格比较实惠,所以这个设计所采用的是DS18B20为温度检测部分为核心装置。
因为该传感器的输出电路较小,所以需要加上一个4.7k以上的上拉电阻,从而确保数据传输。
温度检测电路如图3.2所示。
图3.2温度检测电路原理图
3.3按键设计
按下KEY1可以进入自动模式,在此模式下,可以通过KEY2、KEY3键可以对水温的上限和下限进行设置,同时也可以为KEY4的手动模式这两种模式中,对出水量进行设定(200ml-500ml),两种模式用户自己选择,KEY5为出水键。
设计原理如图3.3所示。
图3.3按键模块
3.4继电器控制部分
继电器,简单来说,它就是可以实现,通过较小的电流控制去控制教大电流的保护流控开关,既可以提高安全性,又方便。
现在市面上由许多的类型的继电器,是和本款饮水机的继电器类型是电磁式继电器,由电磁式继电器的内部结构可知,这种类型的继电器的组成是触点和线圈两部分.
它的工作原理是,当电流流经这个线圈时,会使线圈产生磁力因此与触电碰在一起,所以电流可以控制触点的断开和闭合,这样就能实现常开触点使电路导通,从而达到控制的功能。
使用这种类型的继电器,就可以让VCC(5V)的电压去控制电磁阀的开启与闭合、以及大功率(3KW)的加热电阻丝了。
因为这个电路由大功率的加热电阻丝存在,所以,所以选择是和该电路的电阻器的型号与参数就变得十分有必要,比如最大流经电流、最大电压等,选择错误可能会到之继电器甚至整个系统的安全。
3.4.1电磁阀控制
电磁阀的使用,会让整个系统的安全行得到加强。
当水箱中的水被加热到用户所设置的温度范围时(即在温度上下限内),就会检测出口税是否防止了障碍物(水杯),只有检测到出水口由障碍物(水杯)时,系统才会让电磁阀开启,让水泵从水箱中进行抽取水到出水口。
如果出水口没有水,电磁阀就会在关闭状态,这样就保证了对出水口的控制,也保证了滚烫的热水不会被随意流出。
电磁阀,我们知道它由电磁来控制开启和闭合,也就是控制内部的常开触口和常闭触口,当由电流流经线圈时,被线圈围绕的铁芯就会产生磁性,从而将处在常闭触口的开关吸引到离铁芯更近的常开触口,这样就实现了常开触口的吸合,达到电磁阀打开,并且在手动模式下,电磁阀的额定工作电压之内,电磁阀的阀门打开的幅度越大,相同的,铁芯的磁性越强。
因为这个电磁阀系使用供电电压为12V,所以这个电路会十分节约成本,而且降低了真个电路的设计难度。
因为电磁式的继电器可以实现较小的电流对教大的电流的控制,这压根既可以提高安全性,设计上又方便。
如图3.4.1
3.4.2加热电阻控制
因为饮水机最初始也是最重要的功能就是加热水,因此,饮水机的最主要部件(芯片除外)就是加热部分了。
由焦耳定理可知,电阻发热的热量等于电阻阻值和流经电阻的电流大小的平方的乘积,即Q=RI2。
而加热电阻丝的发热原理都是焦耳定律,所以电阻丝的功率都比较大,并且大功率电阻丝使用的电压为220V的交流电,我们都知道,当电压大于等于37V时,就可以危害人生安全,并且如此高压也由可能会损坏整个电路系统,所以只要有一点点的参数和类型上的选择不恰当,就会对电路甚至人体造成损伤。
因为我想继续使用电磁式继电器来控制加热电阻,为了预防安全事故的发生,所以我就必须慎重选择继电器的类型和参数。
我选择的是大功率电磁式继电器,让它能够以因为弱电控制强电的模式,以10A的电流去控制220V的大功率从电子器件,这样可以保证系统的安全性和稳定性。
经过不断的摸索和测试,我选择了3000W的加热电阻丝。
因为这个饮水机需要快速升温功能,所以热水箱里的水不要太多,并且通过软件,可以避免将水箱里的多次沸腾,避免多次被煮沸的水被人喝下影响健康。
原理图如图3.4.2所示。
图3.4.1阀门控制电路
图3.4.2电阻丝的控制电路
3.5显示电路
3.5.1液晶显示器芯片介绍
考虑到需要显示的数值是温度和湿度这两个,且数值不会太大,所以只需要能够显示1-2行的、屏幕稍小的显示器就能够满足这个需求。
所以我选择了LCD1602这款液晶显示器,通过它的使用说明书可以得知,它的屏幕可以显示2行数据,每行可以显示16个符号、字母或者数字它体积小巧,功耗较低,数据显示效果较好,又刚好可以满足设计的需要,是一款非常实用的液晶显示设备。
LCD1602有16个引脚,它的引脚介绍如表3.5.1.1:
表3.5.1.1LCD1602引脚表介绍
由说明书可知,LCD1602液晶显示器工作电压为3.5~5V,它与单片机一样,它的内部设计也有复位电路。
因为它是专门对数据的显示的硬件,所以它可以清空屏幕、可以对光标进行移动等一系列操作。
为了能够调节显示屏的显示亮度,我还为它连接了一个外部的调节电位器。
单片机通过连接他的内部的存储器(储存数据),我们就可以通过单片机来控制屏幕的显示。
LCD1602显示屏一共有16个引脚,通过改变RS、RW的值,我们就可以控制单片机对它的读写,它的工作状态如表3.5.1.2
表3.5.1.2LCD工作状态介绍
LCD1602液晶显示器只有当它的忙标志位为低电平(00)时才表示可以执行指令。
LCD1602的原理图如图3.5.1,其显示程序流程图如图3.5.2
图3.5.1LCD1602液晶显示器
图3.5.2LCD液晶显示器工作流程
3.6液位检测
干烧是每个饮水机都要避免的情况,所以液位传感器的存在除了告知用当前的水量外,最重要的任务还是预防无水干烧。
在无水干烧的情况下,会让点热电阻过热而损坏,并且会造成较大的安全隐患。
一开始我使用水位检测的办法就是使用两个导线直接放入水箱之中,如果两个导线完全浸没在液体水平表面上的时候,两根导线之间接通,随后导通I/0口就可以检测到相对应的电信号。
这样来说,虽然廉价简单,但是可靠性、稳定性和安全性缺失,不能算是明智的方法。
因此我放弃了一开始的方法,选择了使用稳定性更好,而且用起来也非常方便的光电式液位传感器。
通过查找资料,我看到了这样一款型号为XKC-W001-NPN的水位传感器,这个传感器使用的原理是红外光电效应,因为液体的颜色、透明度和含有杂质都不一样,这就对水位检测传感器的要求就高了,而红外光电可以对使用这个可以对许多上述不同的液体都可以进行检测。
在这个传感器中,它有可以发射红外线的红外发射头,在通上电后,就可以向检测方向发射红外线,假若在检测方向红外线没有碰到液体,红外线则不做任何反应,但是如果检测方向有液体时,红外线在触碰到液体后就会返回,红外线接收头就能就收到这缕返回的红外线,接收到后,传感器的输出管脚的高低电平就会改变,从而实现由红外线(光)信号转换为电信后输出到单片机。
由也为传感器的接线图可知,XKC-W001-NPN的水位传感器有四个端口,其中红线接VCC(5V电源),白线与红线相连,且它们之间还加入了一个负载电阻(10K),这是为了放大输出信号的微弱电流而加入的上拉电阻。
液位传感器如图3.6.1所示水位检测的原理图如图3.6.2
图3.6.1液位传感器典型接线图
图3.6.2水位检测原理图
3.7报警电路
无源蜂鸣器,是整个报警电路中最重要的部分,因为报警的声音就是由它发出来的。
无源蜂鸣器它内没有自带振动源,所以想要它发出声音,就要使用2KHz-5KHz
的矩形波去驱动它,简单来说,只要流经它的电流越大,那么它的响度就会越大。
也可以用不同赫兹的矩形波去让它发出不同的音调,从而唱歌。
因为要增大流经蜂鸣器的电流,所以我使用的三极管型号是S8550PNP型,这个放大倍数可以让蜂鸣器发出的声音较大。
为了避免流经三极管的电流太大导致被烧坏,我使用了一个1K的电阻。
如图3.7所示。
图3.7蜂鸣器报警电路
3.8红外感应电路
红外感应电路是用来感应是否有杯子的,红外线传感器模块可以很好的适应外界环境的光纤,它有一个红外线发射器和一个红外线接收器组成。
当检测防线有杯子时,会先确认当前模式时自动模式还是手动模式,确定在手动模式后,随后绿色指示灯会亮起后方能出水。
可通过电位器旋钮调节检测距离。
如图3.8所示。
图3.8红外感应原理图
第四章系统软件设计
4.1主程序设计
通过程序进行对不同的按键设置,让用户可以通过按下不同的按键进入不同的子程序,实现对各功能的控制。
系统主流图如图4.1所示。
图4.1主程序流程图
4.2温度子程序设计
DS18B20温度传感器测温时得到的二进制数据让单片机转换成十进制后发送到LCD1602液晶显示器上。
温度检测子程序设计流程图如图4.2.1。
4.3按键子程序设计
本设计使用了五个按键来控制系统进入何种模式,每种模式的判定由Flag的数值决定,选择不用的按钮组合会改变这个值。
程序流程图如图4.3.1所示。
图4.2.1温度检测流程图
图4.3.1按键子程序流程图
设计按键程序时,我设置了一个按键1,按键1是进入温度阈值设置的按键,进入温度阈值设置时,会默认开始调整温度上限,再按一下按键1可以调整温度下限,这时候按按键2增加增加温度,按按键3减少温度。
在自动模式的主界面时,按下按键2增加自动出水量,按下按键3减少自动出水量。
按下按键4可以切换自动模式和手动模式。
若红外感应未感应到水杯的存在,自动模式和手动模式下按按键5都无法打开水泵,若感应到了水杯存在,自动模式下会按照预设值加水,手动模式下按下多久水泵就工作多久。
按钮模块一般会增加防抖动模式,防抖模式的设计原理为,在判断按下按键后,延迟一定时间,再进行一次是否按下按钮的判断。
这种方法是放置误触,防抖动模式流程图如图4.3.2
图4.3.2防抖动/防误触模式流程图
4.4继电器控制子程序设计
这个子程序主要用于控制饮水机加热与出水。
其主要功能在于控制继电器的开关。
当水温低于我们预设的水温下限的时候,控制闭合加热继电器开关进行加热,在高于预设水温上限或水箱无水时断开。
在感应到杯子的情况下,按下按键5,控制闭合水泵继电器开关进行出水,出水完毕或松开按键时断开。
继电器控制电热丝、电磁阀的流程图,如图4.4所示
4.5显示子程序设计
这个显示的部分用的LCD1602,LCD1602自带文字库,使用方便。
并且能用串行数据的传输和并行数据的传输。
显示子程序所用的是LCD1602并行数据传输方式。
单片机发送的数据进入LCD1602,当写入所显示数据就会写入数据所相应的ASCLL码或者文字库里自带的文字,但是写入命令却是直接更改LCD1602内部寄存器里的参数。
其显示程序流程图如图4.5:
图4.4继电器控制流程图
图4.5显示器流程图
第五章实物功能验证
5.1整体实物与各类硬件模块介绍
图5.1.1整体实物图
图5.1.2水位检测模块、