李容容

(陕西机电职业技术学院,陕西宝鸡,721001)

0 引言

我国是一个水资源短缺的国家,人均水资源占有量只有2500 立方米,约为世界人均水资源占有量的四分之一。推行节约用水政策,加强水资源的管理和合理利用,是缓解水资源危机、促进经济和社会持续发展的重要措施。现如今,建设资源节约型社会的理念已深入人心,然而在淋浴过程中,水资源浪费的情况却很少能够得到大家的关注,因此浪费了大量的水资源。而自动感应式淋浴控制系统的应用,可将淋浴过程中水资源浪费情况显着减少,实现水资源能耗节省。本文设计了一款自动淋浴水位控制报警系统,可以自动感应人体来去出水,同时能够显示和控制淋浴装置中的水位。

1 本系统的技术指标

(1)当淋浴装置中水量高于上水位限定值时,上水功能关闭,淋浴装置自动感应人体出水。

(2)当容器中水量低于下水位限定值时,自动关闭淋浴功能,发出警报同时开启上水功能。

(3)利用超声波检测水位并用LED 数码管显示水位。

2 系统整体方案设计

该设计以AT89S52 单片机为主控芯片,它与红外传感器检测模块、LED 数码管显示模块、超声波测距模块以及报警模块协同工作,实现系统自动感应人体出水、显示淋浴装置水位并报警的功能。该系统的硬件设计主要由单片机最小系统、红外传感器检测模块、LED 数码管显示模块、超声波测距模块以及报警模块等构成。AT89S52 单片机首先对超声波发射器电路进行控制,超声波接收器会把传感器检测来的超声信号自动输入到单片机内存中,然后通过芯片内部的程序将传输到的超声波数据自动进行分析、计算和处理,最终在LED 数码显示模块上显示水位。该系统整体硬件设计方案框图如图1 所示。

图1 系统整体方案框图

图2 单片机最小系统电路图

3 各模块电路设计

■3.1 单片机最小系统电路

(1)51 单片机最小系统中的复位电路中包含了极性电容C1,它的大小直接影响到单片机的复位时间,系统中一般采用10μF 大小的电容。

(2)51 单片机最小系统中晶振的振荡频率直接影响到单片机对于输入数据的运算和处理速度。为了加快单片机处理数据的速度,一般情况下,晶振的振荡频率要较大才能满足要求。在系统正常工作的情况下,晶振Y1 一般情况下可以采用22.1184MHz 这样的频率。

(3)除了复位电容C1 之外,51 单片机最小系统中还有两个起振电容C2、C3,它们一般采用15~33pF 这样的大小。在布局单片机最小电路时,起振电容C2、C3 要尽可能的靠近晶振,这样起振效果才比较好。

■3.2 红外传感器检测模块

当有人站在淋浴装置喷头下时,系统中的红外传感器检测到相应的人体红外信号,同时将才采集到的红外信号数据在单片机中进行处理,然后触发超声波检测模块去检测淋浴装置中的水位。本文采用红外接收发射二极管作为红外传感器。红外感应电路图如图3 所示。

图3 红外感应电路图

3.2.1 红外接收发射二极管工作原理

红外线感应电路[1]主要由红外接收二极管和红外发射二极管构成。这两种二极管器件都采用了新型的导电材料,可以使接收到的红外线光信号通过它们之后变成红外线电信号。和目前市面上的普通半导体红外二极管相比,这种二极管在材料的使用上和工艺方法的实现上有许多优点。

红外线接收二极管的设计是为了便于在单位面积内更多的接收到入射的红外光线[2],所以它里面的PN 结电极的面积也就尽量地做的比较大,而且通常PN 结电极的结深要做的很浅,一般要小于1μm,这样才有利于接收到更多的红外光线。

此外还应注意的是,红外线接收二极管只能在反向电压的作用下工作。当外界没有红外光照时,反向暗感应电流的值较小(一般小于0.1μA)。当外界环境有强烈的红外线光照时,红外线接收二极管中的两种载流子(电子和空穴)能在光反向电压的作用下参加电荷漂移运动,使其反向的电流强度明显增大。红外接收发射二极管结构图如图4 所示。

图4 红外接收发射二极管结构图

3.2.2 CD4093 简介

因为有的时候红外线感应电路采集到的红外信号太小,会影响淋浴系统自动感应出水的功能,所以红外感应电路增加了CD4093 芯片来放大接收到的红外信号[3]。

CD4093 的应用范围:

(1)波形和脉冲整形;(2)单稳态多频振荡器;(3)高环境噪声系统;(4)非稳态多谐振荡器。

CD4093 是CD 系列数字集成电路中的一个型号,采用CMOS 工艺制造。CD4093 内部有四个施密特触发器,每个触发器有一个2 输入与非门,当正极性或负极性信号输入时,触发器在不同的点翻。正极性(VP)和负极性(VN)电压的不同之处由迟滞电压(VH)确定。在输出电流<1mA 时,一般在5 至15VDC 电源时,输出电压接近电源电压;若输出电流增大时,输出电压会降低,特别是电源电压较低时影响更大。CD4093 结构图如图5 所示。在本设计中,CD4093 芯片可以用74 系列芯片74LS32 同等替换。

图5 CD4093 结构图

■3.3 液位开关

液位开关是测量液位最常见的测量工具之一,它结构简单、易于安装维护、工作寿命长。本系统用液位开关来测量水位的最高值和最低值。淋浴装置中的浮球处有两个限位开关,一个表示上水位、一个表示下水位,上水位处于常闭状态,下水位处于常开状态。工作原理是当淋浴水位上升到上限值时,浮球将限位开关打开,继电器断电,水泵停止运行;当淋浴水位下降到下限值时,浮球又将限位开关关闭,继电器吸合,水泵开始上水。液位开关如图6 所示。

图6 液位开关实物图

■3.4 超声波模块的设计

本系统采用超声波模块来进行水位高度检测。开始时,两个端口TRIG 端口和ECHO 端口都被设置为低电平,然后TRIG 端口将接收至少10μs 的高电平脉冲(模块自动向外发送8 个40kHz 的方波),同时开始等待,等待捕捉ECHO 端输出的上升沿,当捕捉到ECHO 端输出上升沿的同时,打开定时器并重新开始测试计时,然后再次等待捕捉ECHO 端输出的下降沿,当捕捉到ECHO 端输出下降沿时,读出计时器的运行时间,这一步的目的是为了测量超声波发生器在周围的空气介质环境中的实际运行的时间。按照测试距离=(高电平时间⋆声速(340m/s))/2 这个公式,就可以算出超声波到障碍物的距离。应注意的是,在实际检测时,超声波周期应为60ms 以上,这样可以避免回响信号受到发射信号的影响,造成检测误差[4]。HC-SR04 超声波检测时序图如图7 所示。

图7 HC-SR04 检测时序图

■3.5 报警模块的设计

本系统采用红外线蜂鸣器[5]作为自动报警装置。当有人站在淋浴装置喷头下淋浴时,系统芯片中内置的红外传感器能检测到一个相应频率的人体红外信号,此时系统报警模块便被单片机触发,将报警信号送给单片机控制系统进行信号判断,信号输入后单片机进行自动感应控制出水;同时系统可以实时显示当前淋浴供水装置的水位。当最低水位已达到安全警戒的水位线时,能够实现自动报警。单片机通过对IO 口的P1.2 接口进行控制,当水位到达安全警戒线时,单片机即给P1.2 接口输出一个低电平,蜂鸣器得到报警信号立即发出报警声。蜂鸣器电路与单片机的接口电路图如图8 所示。

图8 蜂鸣器与单片机的接口电路图

■3.6 显示模块的设计

本系统采用LED 数码管来显示淋浴水位。LED数码管显示模块具有功耗比较低、寿命长、无辐射、不易引起视觉疲劳等一系列优点,正在被广泛应用于仪器仪表、家用电器、计算机、医疗仪器设备及电子交通和计算机通信等领域。根据LED 的工作原理,单片机与LED 的接口电路如图9 所示。

图9 单片机与LED 接口电路

4 软件设计

本设计采用Keil C51 系统软件进行编程实现。Keil C51是美国Keil Software 公司出品的51 系列兼容单片机C 语言软件开发系统,与其他软件相比,它在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。

■4.1 超声波检测程序的设计

检测淋浴水位时,需要用到超声波模块中的定时器来计算超声波发射与返回之间的时间间隔,所以HC-SR04 超声波模块需要先配置在定时器模式下。配置完成后,超声波模块输出口Trig 引脚被拉至高电平,并使用_nop_()函数连续等待20 个机器周期,即延时20μs,然后重新拉低输出口Trig 引脚;当输入引脚Echo 变为高电平时,定时器开始计时;当输入引脚Echo 变为低电平时,定时器结束计时,定时器根据所记录的时间,计算出时间间隔;因为固定声速为340m/s,最终计算出淋浴水位。具体超声波检测程序流程图如图10 所示。

图10 超声波检测程序流程图

■4.2 LED 数码管显示程序的设计

本设计数码管采用共阳数码管,驱动电路采用S8550三极管搭建完成。所以数码管采用动态显示的方式,即第一位短暂显示后关闭第一位的显示,马上进入第二位的显示,短暂显示后关闭第二位的显示,马上进入第三位的显示。因为人眼有视觉保留功能,所以看起来是一次全部显示出来的效果。每一位显示延时时间不能过长,过长会超过人眼“余辉效应”的时间,就会看起来断断续续的,不能达到连续显示的效果。LED 数码管显示程序流程图如图11 所示。

图11 LED 显示程序流程图

5 结语

本文设计了一款能自动感应人体来去的淋浴水位控制报警系统,它由AT89S52 单片机模块、红外传感器检测模块、LED数码管显示模块、超声波测距模块以及报警模块等组成。可以实现自动感应人体出水、显示淋浴装置水位并自动报警的功能。该系统具有噪声低、线性度好、功耗低、反应速度快等特点,且这款架构已经经过实物制作验证,完全可以达到应用要求。