基于STM32单片机的漏水报警和排水系统设计
一、系统总体设计
漏水事故在家庭、实验室、工业机房等场景中易造成设备损坏、财产损失,传统人工巡检存在响应滞后、覆盖不足等问题。本系统以“实时检测、快速响应、自动处置”为核心目标,基于STM32单片机构建集漏水感知、报警提示、自动排水于一体的智能系统,适配厨房、卫生间、机房等小面积漏水场景。系统总体架构分为四层:感知层通过漏水传感器实时监测水浸信号;控制层以STM32F103C8T6单片机为核心,处理感知数据并触发联动逻辑;执行层由排水泵与声光报警装置组成,完成漏水处置与警示;交互层包含LCD显示屏与功能按键,支持状态查看、灵敏度调节及手动控制。设计注重环境适应性,传感器采用防水封装,系统支持低功耗模式,确保长期稳定运行,预留扩展接口可接入多个传感器实现多点监测。
二、硬件电路设计
1. 核心控制单元
选用STM32F103C8T6单片机作为核心,其ARM Cortex-M3内核运算速度快(72MHz),具备丰富的GPIO、ADC及定时器资源,可高效处理传感器数据并驱动外设,满足系统实时性需求。
2. 感知模块
采用电极式漏水传感器(如YL-83)作为检测核心,其通过两个金属探头接触水体时的电阻变化判断漏水状态(干燥时电阻≥10MΩ,漏水时≤1kΩ)。传感器输出信号经RC滤波电路(10kΩ电阻+100nF电容)去除环境噪声后,接入STM32的GPIO输入口(配置为下拉输入),确保信号稳定。为提升可靠性,采用双探头冗余设计(主副探头间距5cm),仅当两者同时检测到漏水时触发响应,降低误报率。
3. 执行模块
- 排水单元:选用12V微型潜水泵(流量≥1L/min),通过继电器模块(如SRD-05VDC-SL-C)与STM32连接,继电器控制端经三极管(8050)驱动,实现弱电控制强电,避免水泵启动电流干扰单片机。
- 报警单元:采用120dB有源蜂鸣器(频率2kHz)与红色LED组成声光报警,蜂鸣器通过三极管驱动增强音量,LED与单片机IO口直接连接(串联限流电阻),确保报警信号清晰可辨。
4. 交互与电源模块
- 交互单元:配备0.96英寸OLED显示屏(I2C接口),实时显示“正常/漏水”状态、排水时长及传感器状态;设置3个轻触按键(“手动排水”“报警静音”“灵敏度调节”),按键电路添加100nF电容硬件防抖。
- 电源模块:采用双路供电设计,STM32及传感器由5V经LM1117-3.3V稳压供电,水泵与蜂鸣器由12V锂电池(容量2000mAh)直接供电,总功耗≤5W,续航时间≥4小时(断电场景下),支持外接220V转12V电源适配器长期运行。
三、软件功能实现
系统软件基于STM32CubeIDE开发,采用C语言模块化设计,包含初始化、数据采集、逻辑控制、执行驱动及人机交互五大模块,核心流程如下:
1. 初始化模块
完成STM32的GPIO(传感器输入、继电器输出、按键输入)、I2C(OLED通信)、定时器(100ms时基)配置,初始化传感器检测阈值(默认连续3次检测到漏水视为有效)、OLED显示参数及系统状态(默认“待命”)。
2. 数据采集模块
通过定时器中断每100ms扫描一次漏水传感器状态,采用“连续检测-状态确认”机制:首次检测到漏水后,间隔50ms再次检测,连续3次确认漏水后判定为“有效漏水”,避免水滴飞溅等瞬时干扰导致的误判。
3. 逻辑控制模块
- 正常状态:传感器未检测到漏水时,OLED显示“状态:正常”,系统进入低功耗模式(关闭未用外设,CPU休眠),每2秒唤醒一次检测,降低功耗。
- 漏水状态:检测到有效漏水后,立即触发三级响应:①启动声光报警(蜂鸣器持续发声,LED闪烁);②启动排水泵,开始计时;③OLED实时更新“漏水!排水中(XX秒)”。排水过程中每5秒检测一次漏水状态,若连续2次检测无漏水,延迟10秒关闭排水泵与报警,恢复正常状态。
4. 人机交互模块
- 按键功能:“手动排水”键强制启动排水泵(持续30秒或手动停止);“报警静音”键暂时关闭蜂鸣器(LED保持闪烁);“灵敏度调节”键切换检测阈值(高/中/低三档,对应连续2/3/5次检测确认)。
- 状态反馈:OLED实时显示当前模式、排水时长及传感器故障信息(如探头短路/断路时显示“传感器异常”)。
四、系统测试与验证
搭建模拟测试环境(1m×1m积水区域,模拟厨房漏水场景),开展功能与性能测试:
1. 功能测试
- 漏水检测:向传感器探头倒水后,系统在0.3秒内触发报警与排水,响应及时;移除积水后,15秒内停止排水与报警,恢复正常。
- 手动控制:按下“手动排水”键,水泵立即启动,30秒后自动停止;“报警静音”键触发后,蜂鸣器在0.2秒内关闭,LED保持闪烁。
- 故障自检:人为短路传感器探头,OLED在1秒内显示“传感器异常”,验证故障检测有效性。
2. 性能测试
- 响应时间:从漏水发生到报警/排水启动,延迟≤0.5秒,满足实时性需求。
- 稳定性:连续72小时运行(模拟间歇漏水),系统无死机、误报,检测准确率100%。
- 抗干扰:在潮湿环境(相对湿度90%)、电磁干扰(靠近220V电器)下,传感器检测无异常,误报率为0。
- 续航能力:锂电池供电时,满负荷排水状态可连续运行4.5小时,满足应急需求。
测试结果表明,该系统能精准检测漏水并自动处置,适配家庭及小型工业场景的漏水防护需求。后续可优化多点传感器组网(通过RS485扩展),实现大面积区域监测,并增加无线通信模块(如ESP8266),支持手机APP远程报警与控制,进一步提升实用性。