史建伟
摘 要:为解决现代家用饮水机无法自动调节温度和自动出水的问题,本文设计了以STC89C52为控制单元的家用智能饮水机。其系统包括主控单元、电源模块、加热单元、显示单元、出水模块以及传感器单元,具有高低档加热、水温显示、自动出水等功能。该饮水机具有安全、方便、节能的特点,可以广发应用于现代家庭生活中。
关键词:STC89C52;饮水机;传感器
中图分类号:TP332.3文献标识码:A文章编号:1003-5168(2020)23-0063-03
Abstract: In order to solve the problem that modern domestic water dispensers cannot automatically adjust temperature and automatically produce water, this paper designed a domestic smart water dispenser with STC89C52 as the control unit. The system includes a main control unit, a power supply module, a heating unit, a display unit, a water outlet module and a sensor unit, which has functions such as high and low heating, water temperature display, and automatic water outlet. The water dispenser has the characteristics of safety, convenience and energy saving, and can be widely used in modern family life.
Keywords: STC89C52;water dispenser;sensor
水是生命之源,饮水问题一直受到大众的关注,传统的热水方式是使用热水壶或者热得快[1],这在使用过程中暴露出许多问题,最重要的是安全问题。近年来,因使用劣质热水产品引发火灾的事件时有发生,给人们带来了极大的经济损失,更为严重的是威胁着人们的生命安全。因此,为了更加安全和方便地饮水,人们对水加热方式提出了更高的要求。
为了解决上述问题,饮水机应用而生,目前已经普遍应用于家庭、学校、办公室等地。市面上,各个厂家设计并生产了多种类型的家用饮水机。现有的家用饮水机大都需要将桶装水安装在上面进行加热或降温,功能单一,同时存在一些安全隐患[1-3]。因此,本研究以安全、方便为设计原则,以STC89C52为主控芯片,设计了一款多挡加热、自动出水的家用饮水机,在保证加热、实时显示温度的常规功能上,极大地保障了饮水机使用安全。
1 方案设计
1.1 需求分析
普通家用饮水机虽然满足了日常需求,但是存在两个重要的问题。一是家中有儿童时,误操作容易发生烫伤事故,存在安全隐患;二是据调研,目前大部分家用饮水机加热到沸点后才停止工作,但是在日常使用过程中,所需的水温并非那么高[1],造成了许多不便。在社会不断进步的今天,使用安全、可靠且方便成为家用饮水机的主要需求特征。考虑家用饮水机的现状,本文设计的家用饮水机具备三大功能,即高低挡加热功能、自动出水功能、显示温度功能。
1.2 总体方案
基于以上需求,本设计针对普通家用饮水机进行了功能优化。一是通过手动控制拨码开关将需要加热的状态(高低挡加热)传送给控制器,同时温度传感器采集温度数据并传送给控制器,控制器通过比较并判断温度信号后发出指令给继电器,继电器得到指令后,控制电阻丝加热的电源接通,然后电阻丝通电开始加热,饮水机实现高低挡加热功能。二是为实现自动出水功能,饮水机接水槽两侧安装了红外对管分体光电开关,出水口处安装限位开关。当水杯遮挡住红外信号时,红外传感就会把被遮挡信号传递给单片机,同时触碰开关将信号传递给单片机,单片机给继电器发出指令控制电磁阀打开开关,以此满足自动出水功能的设计。三是通过温度传感器采集温度数据并传送给主控制器,主控制器将数据传输给显示模块,实现显示温度的功能。
综上所述,家用智能饮水机在硬件构成上具体包括主控单元、电源模块、加热单元、显示单元、传感器模块以及出水模块。
2 硬件设计
根据以上方案设计,主控电路采用STC89C52单片机。下面对本设计的核心电路进行详细介绍,具体包括测温单元、显示单元、红外检测和电源单元。
2.1 测温单元设计
温度测量常用的有DS18B20温度传感器和Pt100铂热电阻温度传感器,后者具有检测范围广、防水性能好、稳定性高、精度高的特點,非常适合本次设计。由于热电阻传感器无法直接测量温度,而是通过金属导体的电阻随着水温的升高而增加的原理实现的,因此将铂电阻探头置入水中,温度变化时,热电阻两端的电压信号传送到运算放大器LM741、ADC0804A/D数模转换芯片,最终传送到单片机进行处理。测温电路连接如图1所示。
2.2 显示单元设计
显示模块主要用于显示实时温度,本文采用OLED显示屏实现,其分辨率为128×64点阵面板,大小尺寸约为24.4 mm,具有较好可视化角度、省电的特点,被广泛应用于家电、MP3等设备,并且相较于普通显示屏减少了接线端,便于使用。该显示屏在上电后无法直接显示,需要通过SSD1306芯片进行驱动,P0.0~P2.4引脚与SSD1303相连接,OLED显示屏与SSD1303的COM、SEG引脚相连,电路连接如图1所示。
2.3 红外检测单元设计
本设计采用的红外对管分体光电开关安装于接水槽两侧,主要用来实现自动出水功能,同时具有良好的光电反射功能,在黑暗状态下也可以感应,感应有效距离为0~100 cm,适合本次设计要求。
发射端与接收端的红色线接正极,与接收端的黑色线接负极,在信号线与正极间接1 kΩ上拉电阻后与单片机P1.0引脚相连。在其处于工作状态时,它的红外发射二极管会持续地发射红外线,当水杯未遮挡住红外信号时,发出的红外线未被遮挡,接收端可以得到红外信号,处在接通的状态,所以单片机输出高电平;当水杯遮挡住红外信号时,接收端无法得到红外信号,单片机输出为低电平。其再配合限位开关、继电器实现自动出水功能。
2.4 电源单元设计
由于本设计是基于家庭使用的智能家用饮水机设计,故采用由220 V交流家庭用电直接经过电源模块转变为其他模块所需的直流电压供电的设计方案。本设计中具体的降压是通过降压模块将220 V降压至12 V,提供给电磁阀使用,再将12 V降压至5 V,提供给继电器使用,单片机配合降压模块,将5 V降压至2.7 V,使控制器模块可正常工作,电源电路部分连接如图2所示。
3 系统软件设计
本设计采用C语言编写程序,使用Keil软件进行编译。其采用了总分的设计思想,这样可以使函数更加清晰,采用分块函数在调试程序上也具有组织方便、寻找出错位置快的优点。主函数由初始化程序、高低挡加热程序、自动出水程序和显示程序这四段程序组成,共同完成对饮水机的控制,系统主程序流程如图3所示。
高低挡加热模块的两个功能分别是85 ℃的高挡加热和65 ℃的低挡加热。高低挡加热程序首先是由温度传感器采回温度数据作为参值用作比较,然后接收来自拨码开关的信号,判断加热的挡位,最后通过比较来自温度传感器检测的温度与挡位设定值的大小来决定是否进行加热。若检测温度未达到设定温度,则继续加热;若已达到设定温度,则进入保温状态,等待接水。当红外信号和限位开关两个信号仅被触发一个时,不会自动出水;当两个信号同时被触发时,进入子程序,电磁阀打开出水阀门,实现自动出水。
4 结论
传统饮水机没有温度调节和温度显示功能,而基于STC89C52的家用智能饮水机设计了一套控制系统。本设计从安全、方便的角度出发,以STC89C52单片机为控制单元,通过多种传感器与开关的配合使用,实现了预期的功能。本设计在安全上有所突破,能够满足当前的家庭需求,同时可以应用到企业、学校等地,具有很好的实际價值。
参考文献:
[1]陈德根,朱泽清,田金,等.饮水机使用现状分析[J].科技与创新,2019(18):120-121.
[2]梅梦瑶.浅谈多功能的智能饮水机[J].电子测试,2018(12):132.
[3]王瑜,杨武成,李腾飞,等.基于单片机的节能饮水机控制系统设计[J].国外电子测量技术,2017(6):75-80.