基于STM32的智能马桶漏水检测仪设计

2020-11-30 03:27郭红英林梅燕
绵阳师范学院学报 2020年11期
关键词:低电平漏水马桶

郭红英,林梅燕

(1.漳州职业技术学院,福建漳州 363000;2.阳光学院,福建福州 350015)

0 引言

随着人们对环保意识的不断增强,节约水资源、保护水生态已引起了政府及民众的重视.但多数人在挑选马桶时主要看重的仍是马桶冲水能力以及款式价格.对于国外的高科技智能马桶因其高昂的价格普通民众无法受用.普通的马桶水箱的水流控制方法多是机械式而且无漏水检测及提醒功能[1-2],一般家庭发现马桶漏水的主要途径是马桶流水声音的异常,而在公共场合,密闭式抽水马桶漏水只能通过超额的水费单或是定期的检查才能发现异常.为了解决这些问题本文提出一种低功耗、低成本的设计方案,并根据拟定的方案设计相应的软件程序,进行节水马桶水箱漏水检测仪整体的连接调试.

1 系统硬件设计

1.1 系统结构

该设计由水流、液位传感器采集模块、漏水检测模块、显示模块、GSM无线报警模块与主控模块五大模块构成,如图1所示.主控模块以STM32F1038T6为主控芯片,处理各模块传送来的信息数据;水流传感器采集模块及漏水检测模块将检测到的信息传送至主控模块,由该模块进行数据分析处理;显示模块接收来自主控模块传送来的水流信息及漏水情况并显示在LCD屏上,同时也显示GSM模块当前的工作状态;GSM报警模块,当系统检测到漏水或水流信息异常时,由主控模块判定是否超过规定标准,若判定超过则立刻触发蜂鸣器报警并发送指令启动GSM无线传输模块,将数据信息以短信的形式发送至客户手机端,提醒用户及时维修更换.

图1 结构框图Fig.1 Block Diagram of Structure

1.2 水流、液位传感器检测模块

水流传感器采用霍尔水流传感器,其特点是采用德国不漏水的灌封胶封装结构设计,叶轮内部转轴材质耐磨,防水性及抗老化强,低功耗,抗干扰能力强,外观小巧,便于安装.霍尔水流传感器的电路设计图2所示,水流量传感器需5 V电源供电,水流流经水流传感器带动转子转动切割磁感线,产生占空比约为50%的电脉冲,当引脚OUT输出高电平,开关管T0管导通,集电极PA0输出低电平;当无水流时转子没有切割磁感线,霍尔元件无电压输出,引脚OUT输出低电平,开关三极管截止,集电极输PA0出高电平.如此将水流信息经PA0口采集至STM32M.根据厂家数据4分入水口传感器1L流量的脉冲数约为1560个脉冲,因此通过的计算脉冲个数便可估算出水流容量,方便用户根据水箱大小调节计数阈值.

图2 霍尔水流传感器电路Fig.2 Electric Circuit of Hall Water Flow Sensor

液位检测采用投入式液位变送器传感器,其工作原理是被测液体静压与高度成正比,采用传感器将静压转化为电信号,经补偿修正后输出4~20 mA的DC标准电流信号或0~5V的DC电压信号.针对马桶容量选择传感器工作参数为:测量量程0~0.5 m,工作电压12 VDC.为获得稳定的电压信号采用了OPA237电压跟随器,如图3所示,输出电压为0~5 VDC,STM32的(12位)AD采集参考电压取3.3 V,节水型水箱内部尺寸为:水位高15 cm,长29 cm,宽10 cm,考虑传感器误差小于2%,取水箱容量计阈值约为4 400 mL(脉冲总数为6 864), 由于传感器为线性,液位及容量与输出电压成正比,则传感器的输出电压范围为0~1.5 VDC,在AD采集的参考电压值范围之内. 液位与容量关系如公式(1)、流量计数器初始值脉冲数与容量关系如公式(2),其中AD_data为液位AD采集的值;AD_max是水箱停止注水时液位(15 cm)的AD采集数值,该值可在初始化过程中测得;int_Data_h是霍尔水流传感器脉冲计数器.

图3 液位检测Fig.3 Liquid Level Detection

(1)

int_Data_h=1 560÷1 000×V液位容量

(2)

1.3 漏水检测模块

漏水传感器采用Water Sensor,这是一款简单易用、性价比高的水位/水滴识别检测传感器.通过一系列暴露的平行导线线迹测量其水滴/水量大小从而判断水位,轻松完成水量到模拟信号的转换,低成本、低功耗和高灵敏度,还可直接与微处理器或其他逻辑电路相连,使用方便[3-5].漏水检测模块电路设计如图4所示.管脚S代表信号输出管脚“+”代表VCC电源正极,管脚“-”代表GND电源负极,管脚1连接1KΩ限流电阻R3再与STM32单片机PB1口连接,输入低电平信号,管脚2与单片机VCC(3.3 V)脚连接,为水位传感器工作电源正极,3号管脚与单片机GND引脚连接,为电源接地.在当该水位、水滴传感器接触到水,传感器上的导线形成短路,输出一个低电平信号至主控MCU,当主控MCU接收到发送来的低电平信号时则判定为漏水,通过发送AT指令至GSM模块,由GSM模块发送报警短信至用户手机端并启动蜂鸣器声音报警,完成马桶水箱外部的漏水警报.

图4 水滴传感器实物及电路Fig.4 Water Drop Sensor and the Electirc Circuit

1.4 显示模块

本设计的显示模块,采用Nokia5110 LCD液晶显示作为节水马桶水量检测仪的显示模块.Nokia5110 LCD是一个84x48像素点,可显示15个汉字30个字符,其性价比较高、成本低、接口简单仅四根I/O线即可驱动具有掉电模式、体积45 mm×45 mm×5 mm、采用低电压供电、工作电流小于200 uA.模块化设计与STM32主控器采用SPI接口通信,通信传输速率可高达4Mbps,可全速写入显示数据无需等待时间,安装和更换简便,如图5为Nokia5110 LCD显示电路图.

1.5 GSM报警模块

GSM报警模块采用SIM800C模块.SIM800C是一款高性能高性价比的四频GSM/GPRS模块,为城堡孔封装,性能稳定,外观小巧.SIM800C工作频率为GSM/GPRS 850/900/1800/1900 MHz,可以低功耗实现语音、SMS和数据信息的传输,适用于各类紧凑型产品设计需求,更新换代也十分方便[6-8].GSM模块与STM32单片机的通信采用串口协议,TTL电平控制接口,可以直接与单片机串口进行连接.GSM模块电路图6所示,模块的TXD引脚和RXD引脚分别与STM32单片机的PA3口和PA2口连接实现串口通信.

图6 SIM800C电路Fig.6 Electric Circuit of SIM800C

2 系统软件设计

本系统设计程序首先将系统各个模块初始化,SIM800C模块插上SIM卡后开始工作,该模块正常工作后采集模块开始工作并且显示模块LCD显示屏上显示水流信息.STM32工作业于睡眠模式,当有外部中断时被唤醒进入工作状态进行数据处理,其中外部中断源有水流检测模块、漏水检测模块、按键检测,主函数工作流程如图7所示.

2.1 故障检测中断子程序

系统设有四个外部中断,分别是水流检测外部中断1、漏水检测外部中断2、按键检测外部中断3、排水按键检测中断4,如图所示.外部中断1设下降沿触发工作模式,当有水流流动切割磁感线时霍尔传感器将输出相应的脉冲激活外部中断,每次计数前判断是否按下排水键,有排水则启动液位检测,将液位检测值换算成容量值赋给流量计数器,清除排水标志后启动脉冲计数,当计数值超过正常阈值时说明马桶存在漏水,水位达不到停止注水阈值,故障标志置1,若未发送GSM短信则发送GSM短信,最后刷新LCD显示数据,工作流程如图7(b)所示.外部中断2设低电平触发模式,当出现漏水时,传感器输出低电平触发漏水中断,为避免在故障排除前重复触发,在发送GSM短信后关闭漏水中断直到故障排除,工作流程如图7(c)所示.按键外部中断3、4设低电平触发模式,当故障排除完毕后按下解除键,将故障标志、GSM发送标志清零并重新开启漏水中断;当排水键按下时将排水标志位置1并延时3秒待水箱排水完毕,工作流程如图7(d)所示.

图7 软件流程图:(a)主函数;(b) 水流量检测中断;(c)漏水中断;(d)按键中断Fig.7 Software Flow Chart: (a) Main Function; (b) Water Flow Detection Interruption; (c) Water Leakage Interruption; (d) Key Interruption

2.2 GSM子程序

GSM短信报警模块软件系统开始工作.先进行系统初始化,在主控模块检测到漏水是通过串口将漏水信息传送至GSM模块,之后进行通信.通过串口发送AT指令“AT+CMGF=1”,设置短信模式txt模式.当GSM模块无法进行正常工作时显示“AT+CMGF=1 error”表示不在正常工作状态,处于正常工作状态时显示“AT+CMGF=1 OK”.通过发送AT指令“AT+CMGS=18760667072”指令到指定手机号上.再通过串口发送字符串,即为报警短信内容.最后串口发送0x1a,置位GSM发送标志及故障标志后返回.GSM报警短信发送的流程如图8所示.

图8 GSM子程序流程Fig.8 Subprogram Flow of GSM

3 系统测试

如图9所示,将各模块与STM32系统连接.首先在接通电源之前先将SIM卡以正确方向插入卡槽中,再接上5 V电源,此时可看到主控模块工作灯亮起(红色),GSM模块右上角工作灯(红色)亮起,左上角网络灯(蓝色)亮起并处于快速闪烁状态,LCD显示屏亮起并显示所有待测量为零.当LCD显示屏上出现“AT+CMGD=1 OK”,则说明SIM卡插入成功GSM模块工作正常,可以进行工作.LCD显示屏上显示“W”为预设定的水箱容量(mL).“WP”为流量传感器测得的水位容量(mL).“WA”为累积的漏水容量值(mL).LCD显示屏初始化完毕,开始工作状态.取节水型水箱尺寸为:水位高15 cm,长29 cm,宽10 cm,考虑液位传感器误差小于2%,预设定正常水容量为4 400 mL,霍尔计数器值超过此设定值则可判为马桶内部出现漏水,若未发出任告警则发送GSM短信告知用户,发送成功后相关标志位置零.对于不同规格的马桶水箱只需要调整预设值W便可,使用方便快捷.

图9 连接测试图Fig.9 Diagram of Connection Testing

4 结语

此设计以STM32F103C8T6芯片为控制中心,通过霍尔水流传感器采集水流量的信息,且可根据水箱具体情况调节预设值,应用灵活.同时增加马桶外漏水检测功能,可实现对马桶水量信息进行实时监测,及时发现问题,反馈问题.此外,STM32功耗低,拥有丰富的接口资源,方便各类智能家居服务的扩展应用,有利于产品的推广使用.

猜你喜欢
低电平漏水马桶
一种实用的电脑接口判断方法
滴ī答滴答,漏水啦!
2017款凯迪拉克2.8L/3.0L/3.2L/3.6L车型低电平参考电压总线电路图
房屋漏水后的“奇观”,实属罕见
漏水的鞋
数字电子技术的应用
下雨时才漏水
浅谈物理电路与数字电路
便便哪去了
床到马桶的距离