一种智能电热水器的制作方法

文档序号:11194232阅读:546来源:国知局
一种智能电热水器的制造方法与工艺
本实用新型涉及一种电热水器。
背景技术
:现有的储水式电热水器,一般包括带有加热装置及保温层的储水罐构成,通过保温的作用,长时间保持储水罐内的高温水,以满足使用者的要求,此种电热水器,一般是通过设定温度来控制水温的,由于家庭使用热水一般是集中在某个时间段内的(如晚上7点到11点间),大部分时间,电热水器都处于静止状态,在这过程中,水温会慢慢下降,当下降到设定值后,加热装置会启动加热,使水温保持在设定的温度下,由于需要经常加热来保持水温在设定的温度,这样,就会浪费大量的电能,特别是较长时间都没有人使用热水器时,电能消耗会更大。技术实现要素:本实用新型的发明目的在于提供一种既能满足使用者对热水的需要求同时又能节能的智能电热水器。本实用新型是这样实现的,包括带有电加热装置的且外包裹保温层的储水罐、控制装置,其特别之处在于控制装置包括带有时钟的单片机最小系统模块、温度检测模块、独立按键模块、显示模块、电源模块,电源模块供5V直流电,加热装置需要接通220V交流电,用以快速地进行加热;温度检测模块的作用是不断将水温信号采集回来,并完成将采集到的模拟信号转换成数字信号最后传输给单片机进行计算处理的任务;独立按键模块与显示模块是给用户进行指令下达的,用户通过独立按键设置水温或倒计时;加热模块主要由单片机输出一个高或低的电平信号来控制继电器的接通或断开,然后再由继电器控制加热装置的开关;工作时,单片机最小系统模块依据使用者当前长时间使用热水的记录时间或者使用者按键输入的使用热水的时间确定使用者下一次使用热水的习惯时间,然后依据该时间提前1—2个小时启动加热装置,使热水水温达到设定的水温,当使用者长时间使用热水时,单片机最小系统模块启动加热装置工作,直至水温达到设定的水温,当时间到了下一次使用热水的习惯时间,使用者没有使用热水时,单片机最小系统模块将该习惯时间归零,直至使用者重新长时间使用热水或者使用者按键输入的使用热水的时间以重新确定下一次的使用热水的习惯时间。与现有技术相比,本实用新型的有益效果为:(1)通过单片机的独立按键实现温度以及加热倒计时的设定;(2)控制器不断检测水温,并根据设计值控制加热装置的开关;(3)采用倒计时加热,则根据用户需求或者依据只能判断,时间到再加热并且保温,从而有效地解决约长时间维持水温所消耗的能量;(4)温度的设定值,实时水温以及加热倒计时实时显示在液晶屏上面。附图说明图1为本实用新型的控制装置方框图;图2为单片机最小系统模块电路图;图3为独立按键模块电路图;图4为显示模块电路图;图5为温度检测模块电路图;图6为电加热装置控制电路图;图7为蜂鸣报警模块电路图;图8为主程序流程图;图9为倒计时启动程序流程图;图10为LCD1602写操作时序图;图11为LCD1602RAM地址映射图;图12为DS18B20时序图;图13为DS18B20写操作时序图;图14为DS18B20读操作时序图。具体实施方式:现结合附图和实施例对本实用新型做进一步详细描述:本实用新型是这样实现的,包括带有电加热装置的且外包裹保温层的储水罐、控制装置,如图1所示,其特别之处在于控制装置包括带有时钟的单片机最小系统模块、温度检测模块、独立按键模块、显示模块、电源模块以及以及蜂鸣报警模块,电源模块供5V直流控制电源,加热装置需要接通220V交流电,用以快速地进行加热;温度检测模块的作用是不断将水温信号采集回来,并完成将采集到的模拟信号转换成数字信号最后传输给单片机进行计算处理的任务;如图3所示,独立按键模块与显示模块是给用户进行指令下达的,用户通过独立按键设置水温或倒计时;加热模块主要由单片机输出一个高或低的电平信号来控制继电器的接通或断开,然后再由继电器控制加热装置的开关,如图7所示,声音报警模块主要由蜂鸣器构成,实现当温度超限时发声报警的功能,工作时,单片机最小系统模块依据使用者当前长时间使用热水的记录时间或者使用者按键输入的使用热水的时间确定使用者下一次使用热水的习惯时间,然后依据该时间提前1—2个小时启动加热装置,使热水水温达到设定的水温,当使用者长时间使用热水时,单片机最小系统模块启动加热装置工作,直至水温达到设定的水温,当时间到了下一次使用热水的习惯时间,使用者没有使用热水时,单片机最小系统模块将该习惯时间归零,直至使用者重新长时间使用热水或者使用者按键输入的使用热水的时间以重新确定下一次的使用热水的习惯时间。这里,控制装置中,(1)如图2所示,单片机最小系统模块的CPU的选择:要实现电热水器控制器的功能,单片机的中央处理器应至少具有一个定时器中断,用以实现倒计时的功能,内部存储空间应大于4K,还有,需要4个8位并行I/O接口来给单片机与继电器、液晶显示屏、蜂鸣器、独立按键等进行通信。选用STC公司生产的STC89C52RC作为控制器,该芯片使用经典的MCS-51内核,指令代码与传统的51单片机完全兼容,经STC公司改进后,它相比于传统8051单片机,不仅拥有更多的定时器和更大的片内数据存储器和程序存储器,而且性价比超高,完全可以满足本系统CPU的要求。STC89C52RC单片机最小系统由电源电路、复位电路、时钟电路、晶振电路和52单片机芯片组成,本系统采用STC公司生产的8位STC89C52RC芯片,该芯片的特性如下:有一个串口通信接口;有掉电模式、空闲模式、正常工作模式3种工作模式;内部还有3个16位定时/计数器,5个中断源和32个I/O口;256字节的数据存储器,8K容量的程序存储器足够我们编程使用。复位是对单片机进行初始化的操作,它把PC的地址初始化为0000H,使单片机的程序从0000H开始执行,复位最重要的作用是当程序运行出错或者造作不当导致系统处于死锁状态时,为了回归正常运行状态,也需要按下复位键重新启动。该系统的晶振电路的晶振频率是12MHz,STC89C52RC片内的振荡电路由一个高增益反向放大器构成,振荡电路的输入输出端分别为XTAL1和XTAL2。(2)如图4所示,显示模块中的液晶显示LCD1602:本控制器只需要显示温度的设定值、实时值和倒计时剩余时间,因此采用编程简单,价格便宜的LCD1602,它虽然不能显示中文字符,但可以显示2行,每行16个字符,足以满足本控制器的显示需求。(3)如图5所示,温度检测模块的DS18B20:本控制器作为电热水器的控制器,主要控制作用就是温度的测量和控制,因此,对温度传感器的要求是必须具有防水性能,探测芯片不会在探测的过程中进水;测量数据精准,而测温范围需求不大,只要0℃到80℃;安装要求简单快捷;最关键的要求是它最好由一条线就可以完成数据交换和控制。DS18B20是单线数字温度传感器,它最大的优点是仅需要一条口线即可实现微处理器与DS18B20的双向通讯,即系统中的数据交换,控制都由这根线完成;在-10~85℃的温度范围内,测量精度为0.5℃;还可以在一条单线上并联接多个DS18B20,节省单片机I/O口资源。DS18B20是在高速暂存寄存器里以二字节补码的形式来存放转换后的温度值,高速暂存寄存器一共有9个字节,其中,D0,D1为分别用来存放温度的低8位数据和温度的高8位数据,因此转换一次温度一共是16位数据;如果我们只想读取温度的数据,那么我们只要读取D0,D1这两个字节就可以了。可以通过修改DS18B20的配置寄存器中的R1,R0来改DS18B20的分辨率,如果不改,R1,R0默认是1,也就是12位的分辨率,那么,一位就代表0.0625摄氏度。DS18B20的电路引脚图如图5所示。(4)如图6所示,电加热装置控制中的继电器的选择:由于继电器是用来控制使用220V交流电的加热装置的通断的,因此其安全性能十分重要,松乐的型号为SRD-05VDC-SL-C的继电器,该继电器在负载区域与控制区域之间增加了隔离槽,使得爬行距离与安全距离都符合国际标准,安全性更有保障。而且,要控制此继电器的通断只需要由单片机其中一个没有定义的I/O口(在程序中定义)传输来一个高低电平信号,这大大节省了单片机I/O口的资源,使得控制加热装置的开关变得简易。由以上各元件组成的实物图如图6所示。继电器控制电路的工作原理是:继电器控制区域的光感PCB17的接口2与单片机的其中一个I/O口相连,当这个I/O口传来一个低电平信号,1,2两端就接通了,LED发光,光感感应到后3和4两端也接通,这时负载区域的T73线圈也接通,负载加热装置也就接通了。图中D5是一个续流二极管,断电时,起到消耗线圈电流的作用,保护三极管Q5不被烧坏。继电器控制电路图如图6所示。(5)如图3所示,关于键盘的选择,单片机里有独立按键和矩阵键盘可供选择,矩阵键盘有16个按键,需要占用单片机8个I/O口,由于本设计只需要用到启动倒计时和对时间、温度进行设定,对按键需求不多,因此,采用容易编程,响应速度快和占用I/O口资源小的独立按键。本控制器用到4个独立按键,4个按键均占用一个I/O口,这4个按键的功能分别是:K1为倒计时启动键,K2选择设定温度/小时/分钟的切换键,K3为加1键,可用于小时、分钟或温度的加1,K4为减1键,可用于小时、分钟或温度的减1。由图2单片机最小系统电路引脚图可知TXD,RXD分别是MCU的P3.1和P3.0口,由图3可知,单片机通过P3.1、P3.0、P3.2、P3.3这4个I/O口检测K1,K2,K3,K4这4个按键的状态,当K1没有按下的时候,P3.1为高电平,而当P3.1为低电平时,表示K1被按下从而接通了GND,其他3个按键同理。(6)如图4所示,要将时间与温度清晰,准确地显示出来,在单片机中可采用数码管显示或液晶屏显示。因为单片机的数码管只能同时显示8个数字,不能满足本设计要同时显示8位时间与两个温度值的需求,因此,采用LCD1602液晶显示,可以清晰地显示2行,每行16位的ASCII码,即可以显示英文,数字或符号。LCD1602的主要技术参数如下表3-1所示,接口信号说明如下表3-2所示,LCD1602与单片机连接的引脚图如图4所示。表3-1LCD1602主要技术参数显示容量:16×2个字符芯片工作电压:4.5~5.5V工作电流:2.0mA(5.0V)模块最佳工作电压:5.0V字符尺寸:2.95×4.35(WXH)mm表3-2LCD1602接口信号说明编号符号引脚说明编号符号引脚说明1VSS电源地9D2DataI/O2VDD电源正极10D3DataI/O3VL液晶显示偏压信号11D4DataI/O4RS数据/命令选择端12D5DataI/O5R/W读/写选择端13D6DataI/O6E使能信号14D7DataI/O7D0DataI/O15BLA背光源正极8D1DataI/O16BLK背光源负极从上面的LCD1602与单片机连接的引脚图可以看出,LCD1602的第一个引脚VSS,第二个引脚VDD分别接电源地和电源正极,第三个引脚VL是液晶显示偏压信号,它连接一个电位器然后接地,我们可以调节这个电位器来调节LCD1602的显示对比度,第4个引脚数据/命令选择端,当它是高电平的时候选择的是数据,当它是低电平的时候选择的是命令,第5个引脚RS是读/写选择端,当它是高电平的时候是选择读,当它是低电平的时候是选择写,第6个引脚是写入数据或者命令的使能端。LCD1602与STC89C52RC单片机芯片的连线需要使用11个I/O口,分别是P0.1~P0.7、P2.5、P2.6和P2.7,其中,P0.1~P0.7与LCD1602的8个数据I/O口DB0—DB7相连,RS接单片机的P2.6,RW接单片机的P2.5,发送使能端E接单片机芯片的P2.7。由于本控制器不需要从液晶屏LCD1602中读取数据,只需要对LCD1602进行写操作(即显示),因此读/写选择端RW应置为低电平。(7)如图7所示,蜂鸣器电路,其中BZ接的是单片机的P1.5口,当给一个低电平BZ时,电路接通,高电平则不通,该蜂鸣器的工作原理就是通过P1.5口给蜂鸣器一定频率的脉冲信号从而使它发出声响,改变这个声音的大小可以通过修改脉冲的频率来实现,即改变每个高低电平的时间。控制器软件设计:为了完成控制器所需要的基本功能,使软件设计思路更加清晰,目的更加明确,程序设计按照控制器的功能分成几个模块,然后由主程序调用它们,例如有温度检测子模块、液晶显示模块、按键扫描模块、蜂鸣器报警模块、计时模块等。列出了系统的各个功能子模块后,为使编写程序的时候条理清晰,减少出错,故先将后面需要设计的各个子模块需要用到的I/O进行定义,归纳。本系统中单片机的I/O口资源主要用于五个模块,按键检测模块使用4个独立按键,定义了4个端口;液晶显示模块要定义8根数据线和3根控制线,定义了11个I/O端口;温度检测模块则定义了DS18B20的控制线;加热模块只需要一根控制线把信号传输给继电器;蜂鸣器报警模块同样只要定义一个I/O口就够了。单片机系统资源分配系统资源分配如下表所示。表4-1单片机系统资源分配主程序:控制器如何进行控制主要是由程序决定的,系统控制加热装置是否加热作出判断要根据一定的优先级,时刻检测是否有按键按下为最高优先级,第二优先级是检测用户是否通过按键开了定时功能,最后再判断时间是否到了和当前温度是否低于设定值。当然这些检测工作都是在一瞬间完成的,控制器在很短的时间内就可以做出决定是否加热,然后再控制继电器的工作。本系统的主程序流程图如图8所示。按键扫描程序:本控制器一共设定了4个独立按键,4个按键的功能如下:K1为启用定时器键;K2为设置时间/小时/分钟的切换键;K3,K4分别为加1,减1键。通过这4个按键进行温度,时间的设定的原理是:K1是启动倒计时加热的功能键,当用户需要设置倒计时加热,这时只要按一下K1,TR0就置为1,启动了单片机内部的定时器0计时,倒计时时钟也就启动了,此时若要调整倒计时时间,可通过按K2来进行温度,小时和分钟的选定切换,接着再通过按K3,K4可进行小时/分钟的修改,效果分别是加1和减1。由于单片机的运行速度很快,检测按键是否按下的程序语句只需要几微妙,按键的抖动很容易让单片机检测到,以为有按下按键,导致错误地执行动作。为了防止这种情况的发生,按键检测子程序需要加上一段延时程序再判断一次,确认是否真的按下了按键,按键检测子程序流程图如图9所示。LCD1602显示程序:要将字符显示在LCD1602液晶屏上,要对LCD1602进行的操作步骤是:初始化,写命令,写数据。1.初始化LCD1602显示模式的初始化如下表所示。表4-2显示模式初始化指令码表显示开/关及光标设置如下表。表4-3显示开/关及光标设置指令码表数据指针设置的指令码如下表所示。表4-4数据指针设置指令码表指令码功能80H+地址码(第一行0-27H,第二行40H-67H)设置数据地址指针对LCD1602进行初始化一共有5个步骤:1.发送第一个命令0x38(即显示模式初始化化的指令码00111000),设置成8位数据接口,5×7点阵,16×2显示;2.第二步要设置的是显示开/关及光标,我们需要开显示(D=1),不用显示光标(C=0),光标不闪烁(B=0),对应于指令码00001DCB就是00001100,转换成16进制数就是0x0c,因此,第二条命令是发送0x0c。3.同样的,根据显示开/关及光标指令码,当每写一个字符后需要地址指针加一,应置N=1,还有,当写一个字符后,整个屏幕不需要移动,所以置S=0,由指令码000001NS,得出00000110,转换成16进制数是0x06,第3条命令是发送0x06。4.第4步操作是进行显示清屏,指令码是01H,直接发送命令01H就可以了。5.最后一步是设置数据指针的起始地址,假如要显示在第一行的第一位上,由LCD1602RAM地址映射图可知,第一位的RAM地址是80H,因为前面已经设置了每写一个字符后指针地址加一,如果要写入坐标连续的字符,就不需要再发送地址命令了,它的光标会自动加一。2.写命令要对LCD1602进行写操作的时序图如图10所示,从LCD1602写操作时序图可以看出,如果我们要写命令,首先把数据/命令选择端RS设置为低电平,接着把读/写选择端RW也置低电平选择写,然后将要写入的数据放进I/O口DB0—DB7,然后至少要延时几十纳秒,再操作使能端产生一个高脉冲,这里的高脉冲是有时间限制的,最小值为150纳秒,因此需要再延时一下,最后把使能端E拉低,这就完成了命令的写入。3.写数据写入数据的过程跟写入命令的过程同理,只是把RS改为高电平就可以了。如果要想在LCD1602可以显示两排16个字符的屏幕上,在具体的坐标上显示字符,就要先写命令(即定位坐标)再写数据,LCD1602的第一排的坐标是80H+00H,第二排的坐标是80H加40H,其余的逐一往后加,LCD1602RAM地址映射图如图11所示。DS18B20温度检测程序:DS18B20的操作步骤为:初始化,ROM操作指令,发送存储器操作指令,最后再进行数据传输。在使用DS18B20之前,首先要进行初始化,目的是确认DS18B20是否可以正常工作,由于DS18B20是一个对时间很敏感的器件,因此程序里发送脉冲的时候要严格遵循它的时钟规律。DS18B20初始化时序图如下,步骤如下,首先由单片机发送一个时间大致为480ns到960ns的低脉冲,之后再拉高15-60ns等待DS18B20的回应,如果DS18B20有回应,它会把总线拉低60-240ns。说明DS18B20状态正常,最后释放总线。如果只要简单地读取温度值,则不需要对ROM进行操作,步骤如下:1.跳过ROM操作,指令码是发送0CCH;2.发送温度转换命令,发送指令代码44H开始转换,因为默认使用的是12位的分辨率,因此最大的转换时间是750ms;3.等待750微秒后,在此跳过ROM操作;4.发送读取温度的命令;5.读取温度值,读取温度值要分两次读取,先读取低8位字节,再读高8位字节,返回的读取值要连正负号一起返回。由于DS18B2020存储的温度值是以补码的形式存储的,所以我们要得出实际的温度值就要先把补码转换成原码,因为正数的补码是正数本身,而负数的补码是原码取反后再加1,因此,在默认的12位的分辨率之下(一位就代表0.0625摄氏度),正温度的实际值等于读取值乘以0.0625;负温度的实际值等于读取值减1,再取反,最后乘以0.0625。定时中断计时程序:本控制器的倒计时功能由STC89C52RC单片机内部的定时器实现,它相比使用时钟芯片DS1302编程更简单,且不需要使用单片机的I/O口资源。使用定时器也是要进行初始化的,操作步骤有如下5步:1.选择工作方式,选择控制方式,选择定时器或计数器模式,这三个方式的设定可以通过给工作方式寄存器一个值来同时设置好,本程序需要使用定时器0,且仅由TR0控制定时器0的中断,工作方式1,要把C/T位置0;GATE位置为0;M1,M0的值为0,1;指令码是00000001,即令TMOD=0x01;2.给定时器/计数器赋初值,若要定时50ms,需要通过计算给TH0,TL0赋一个初值;3.开启定时器中断,令ET0=1;4.开启总中断,令EA=1;5.打开定时器0,令TR0=1,设置好这5步,定时器0就开始定时了,且每50ms中断一次。有了这个定时器之后,若需要设置一个时钟,只要定时器每中断一次,利用程序中的变量进行计数,算出一秒钟需要计数多少次即可实现时钟的编程。蜂鸣器报警程序及控制继电器程序:查看蜂鸣器电路图和继电器电路图可知,它们都是由单片机的一个I/O口控制,而且都是低电平触发,蜂鸣器由P1.5口控制,单片机的I/O在使用时不能冲突,程序中定义没有被占用的P3.6为继电器控制端口,用线把继电器的控制区域的信号端IN与单片机的P3.6口相连接,就可以实现用单片机控制继电器的通断,即只要在程序中令P3.6为0,就可以控制加热了;同理令P1.5为零可使蜂鸣器发声。结果分析:通过上述硬件电路设计与软件程序设计相结合,本控制器基本能完成电热水器的基本功能,独立按键模块可以实现启动定时以及温度与倒计时时间的设定;液晶显示模块可以准确,清晰地显示时间、温度的设定值、温度的实时值和热水器当前的工作状态;温度检测模块可以把水温准确地检测出来;加热控制模块可以顺利控制加热装置的通断;当温度超出设定值5℃时,蜂鸣器可以发声报警。倒计时时间未到不加热,时间到则进行加热。设定温度60度,倒计时时间未到,继电器关闭,绿灯不亮,不加热。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1