news 2026/4/16 9:18:40

基于STM32单片机的漏水报警和排水系统

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
基于STM32单片机的漏水报警和排水系统

基于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远程报警与控制,进一步提升实用性。




版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/1 7:48:38

12.16 - 全排列 C语言中声明和定义的区别

目录 1.全排列 a.核心思想 b.思路 c.步骤 2.C语言中声明和定义的区别 a.核心区别 b.场景对比 c.关键规则 d.特殊情况 1.全排列 46. 全排列 - 力扣(LeetCode)https://leetcode.cn/problems/permutations/ class Solution { public:// 回溯算法…

作者头像 李华
网站建设 2026/4/12 3:48:03

LobeChat话题标签Hashtag生成

LobeChat 与智能对话的未来:从部署到生态的全面进化 在大语言模型(LLM)席卷全球的浪潮中,一个有趣的现象逐渐浮现:我们不再缺“聪明”的模型,而是缺“好用”的接口。 GPT-4、Claude、Gemini 等顶尖模型已经…

作者头像 李华
网站建设 2026/4/9 17:54:02

7、深入理解 Linux 网络名称服务与解析器配置

深入理解 Linux 网络名称服务与解析器配置 1. 名称解析基础 在 TCP/IP 网络中,将名称转换为地址有多种方式。最简单的是使用存储在 /etc/hosts 中的主机表,不过这种方式仅适用于由单个管理员管理且与外部无 IP 流量的小型局域网。另一种选择是使用 Berkeley Internet Nam…

作者头像 李华
网站建设 2026/4/14 16:13:19

“从入门到入狱”?网络安全小白必看的知识体系与法律边界

引言 随着数字化时代的到来,网络安全已成为企业和个人不可或缺的防护屏障。无论是防止数据泄露,还是抵御黑客攻击,网络安全工程师的角色越来越重要。 那么,如果你想入行网络安全,需要学习哪些知识点呢? …

作者头像 李华