老式水浸电极泡水腐蚀、凝露乱报警?使用MicroPython快速驱动 WS61电容式水浸模组

引言

在机房、电力机柜、地下管廊、智能家居等场景,漏水检测是保障设备安全与建筑结构的关键防线。但传统电导式水浸传感器始终摆脱不了 “易腐蚀、误判率高、维护成本高” 的痛点 —— 金属电极长期暴露在潮湿环境中易被氧化腐蚀,不同水质的导电性差异会导致检测不稳定,且只能在两点间检测,存在漏点盲区。

image.png

传统电导式水浸传感器依赖电极与水的直接接触,存在诸多难以克服的缺陷:

  • 易腐蚀、寿命短​:金属电极长期接触水和潮湿空气,极易被氧化、腐蚀,导致检测失灵,需频繁更换维护;
  • 误判率高、受水质影响大​:水质、水垢、盐分等会改变水的导电性,导致检测结果不稳定,潮湿凝露也易触发误报警;
  • 检测盲区多、无定位能力​:仅支持两点间的开关量检测,无法覆盖大面积区域,且无法定位漏水点,故障排查效率低;
  • 安装限制多​:需破坏设备防水结构才能安装电极,不适用于密闭容器或已装修的场景。

而电容式水浸模组,正是针对这些痛点设计的新一代检测方案。

image.png

地下管廊、隧道等场景易受地表水或地下水影响,漏水隐患隐蔽且危害大。WS11 可部署在管廊、隧道的关键位置,实时监测水位变化,异常时即时发出警报,启动排水系统或采取应对措施;模组支持级联扩展,可实现多点漏水检测与定位,帮助管理人员快速响应,减少损失,提升基础设施运行的安全性。

image.png

在数据中心、通信机房和电力机柜中,WS11 可安装在设备底部或机柜内,实时监测水浸情况。一旦发生漏水,模组能快速检测并输出信号,触发报警或联动断电,防止水损导致的设备短路、火灾风险;非接触式设计无需频繁维护,可长期稳定运行在潮湿的机房环境中,为关键设备提供全天候安全防护。

image.png

在智能家居中,WS11 可安装在厨房、浴室、水管接口等易漏水位置,实时监测泄漏情况,及时通知用户;在楼宇建筑中,可监测管道破裂、空调冷凝水泄漏等问题,减少水损对建筑结构的破坏,降低维修成本。非接触式安装方式不影响装修美观,低功耗设计也适配智能家居设备的长续航需求。

image.png

一、模块简介

WS61(Water Sensor-MCP61)是一款电容型、非接触式感知的智能水浸传感器,采用敏源传感推出的新一代电容传感微处理器 SOC 芯片,集成了双通道电容型模拟前端传感电路(AFE CAP),并且搭载高精度温度芯片,通过 UART 接口输出电容信息,进行算法分析,有效滤除振动、凝露等干扰,实现有水/无水以及不同状态的准确区分,并可同时提供环境温度信息。

image.png

WS61 水浸传感器的产品形态、线缆规格和基础外观信息。

  • WS61 是一款电容型、非接触式感知的智能水浸传感器;
  • 相比传统电导式方案,具有检测范围大、可靠性高、受水质影响小等特点;
  • 支持连续数字量分析与级联定位,适合漏水监测和积水检测场景;
  • 默认提供 UART 接口,传感器防护等级可达 IP68

二、主要芯片介绍

2.1 芯片概述

WS61 基于电容式非接触测量原理,通过检测介电常数变化判断水浸状态,并可同步输出电容值、温度和报警状态。

2.2 引脚定义

image.png

2.3 功能框图

无。

2.4 性能参数

image.png

2.5 参考电路

无。

2.6 芯片配置

无。

2.7 通信接口和相关协议

image.png

image.png

image.png

2.8 寄存器定义

image.png

image.png

image.png

三、电路工程

3.1 电路源工程

获取电路源工程,请查看下面链接:

https://mysentech.com/productinfo/3228659.html

3.2 模块使用说明

3.2.1 模块测试环境搭建和注意事项

这里,测试前先给模组配好防水外壳(或用防水胶密封接线端),隔着透明塑料容器就能模拟漏水场景,上电确认串口数据稳定后,用清水隔着不同厚度塑料板测试,观察水浸档位是否随水的接触 / 远离同步变化。

关键注意事项:模组本身无防水设计,必须安装防水外壳 / 密封接口,严禁裸板直接接触水;供电电压严禁超过 5.5V;安装时需紧贴被测平面,远离金属物体,避免影响电容检测精度。

3.2.2 Modbus Poll 的使用

Modbus Poll 是一款通用型 Modbus 主站调试工具,适配本系列所有支持 Modbus-RTU 协议的电容式传感器,可快速实现传感器与电脑的串口通信调试、实时数据读取与日志导出,是验证传感器功能、采集测试数据的通用上位机工具。软件支持 Modbus RTU/ASCII/TCP/IP 协议,兼容多种寄存器类型与数据格式,操作流程对全系列传感器通用。

使用前需先完成软件安装与激活,可通过官方渠道下载安装包,首次打开可试用 30 天,也可输入注册码永久激活。硬件连接传感器与电脑后,打开软件点击「Connection」-「Connect」,在弹出窗口中配置串口参数(端口号、波特率、数据位 / 校验位 / 停止位,本系列传感器默认采用 9600 Baud、8N1 格式,具体以对应型号规格书为准),确认后即可建立通信连接。

image.png

以下为通用操作流程说明:

  1. ​串口连接配置:​将传感器通过 USB 转串口模块接入电脑后,打开 Modbus Poll 软件,点击菜单栏「Connection」-「Connect」,在弹出窗口中选择传感器对应的 COM 端口号,并配置与传感器匹配的串口参数(波特率、数据位、校验方式、停止位,本系列传感器默认采用 9600 Baud、8N1 格式),确认后即可建立通信连接。
  2. ​导入传感器配置文件:​软件支持导入各传感器型号对应的 .mbp 预配置文件,文件中已预设好寄存器地址、数据格式与别名定义,无需手动配置寄存器。直接在软件中打开对应传感器的 .mbp 文件,即可自动加载所有参数,连接成功后将直接显示传感器的实时检测数据(如尘 / 雨 / 霜厚度值、状态标志位等)。
  3. ​数据日志记录(可选):​如需保存测试数据,可通过「Setup」-「Excel Log」功能配置日志记录规则,支持按固定周期或每次数据更新记录数据,并可设置记录条数上限,方便后续对传感器数据进行分析与验证。

以上为通用的上位机基础操作,不同传感器型号的 .mbp 预配置文件、具体寄存器定义、特殊配置细节,可参考「七、相关资料」中内容。

3.3 应用实验

这里,我们使用 GraftPort-RP2040 开发板进行测试,水浸模组 WS61 上使用 UART 接口与主控进行通信。

这里,我们首先使用 HY2.0-4P 连接线将模块通过 XH2.54-4P 转接 HY2.0-4P 接口模块连接到 GraftPort-RP2040 开发板的 UART0 接口:
5c4a60cfd9706ead2115f3e780e19e74.png

该图展示了 WS61 模块与 GraftPort-RP2040 开发板的 UART 接线方式。

模块连线如下表所示:

开发板引脚 模块引脚 说明
引脚 16 MTX UART 数据传输线,对应开发板的发送引脚
引脚 17 MRX UART 数据传输线,对应开发板的接收引脚

这里,我们需要在 uPyPI 上搜索相关驱动包:https://upypi.net/zh/

image.png

该图演示了在 uPyPI 中搜索 WS61 驱动包的过程。

输入 ws61_driver 进行搜索,显示如下:

image.png

该图展示了 ws61_driver 搜索结果,用于确认对应驱动包。

点击复制本地安装命令:

image.png

该图展示了复制 WS61 驱动安装命令的界面,方便完成环境准备。

通过 mip 工具导入模块驱动库代码,以下是 mpremote 工具使用指令:

mpremote mip install https://upypi.net/pkgs/ws61_driver/1.0.0

导入水浸模组 WS61-MicroPython 驱动代码后,将下面 main.py 代码复制到我们的工程中:

# Python env   : MicroPython v1.23.0
# -*- coding: utf-8 -*-
# @Time    : 2026/4/3 下午2:30
# @Author  : FreakStudio
# @File    : main.py
# @Description : WS61水浸传感器数据采集主程序

# ======================================== 导入相关模块 =========================================

import time
from wd61 import WS61Water

# ======================================== 全局变量 ============================================

# ======================================== 功能函数 ============================================

# ======================================== 自定义类 ============================================

# ======================================== 初始化配置 ===========================================

# 等待硬件稳定
time.sleep(3)
# 输出初始化提示(纯英文)
print("FreakStudio: WS61 Water Sensor Initialization")

# 创建传感器对象,配置从机地址、UART编号、TX和RX引脚
sensor = WS61Water(slave_addr=1, uart_id=0, tx_pin=16, rx_pin=17)
# 写入报警电容阈值(单位:pF)
sensor.write_alarm_threshold(7.5)
# 写入解除报警阈值(单位:pF)
sensor.write_release_threshold(7)

# ========================================  主程序  ============================================

# 主循环:打印所有可读取参数
while True:
​    # 读取设备ID
​    dev_id = sensor.read_device_id()
​    # 读取485节点地址
​    node_addr = sensor.read_485_node_address()
​    # 读取报警电容阈值
​    alarm_th = sensor.read_alarm_threshold()
​    # 读取解除报警阈值
​    release_th = sensor.read_release_threshold()
​    # 读取实时电容值
​    cap = sensor.read_capacitance()
​    # 读取环境温度
​    temp = sensor.read_temperature()
​    # 读取水浸状态(1:有水报警,0:无水)
​    status = sensor.read_water_status()

​    # 格式化打印所有参数(输出纯英文)
​    print("=" * 60)
​    print(f"Device ID: {dev_id if dev_id is not None else 'Read failed'}")
​    print(f"485 Node Address: {node_addr if node_addr is not None else 'Read failed'}")
​    print(f"Alarm threshold: {alarm_th} pF" if alarm_th is not None else "Alarm threshold: Read failed")
​    print(f"Release threshold: {release_th} pF" if release_th is not None else "Release threshold: Read failed")
​    print(f"Capacitance: {cap} pF" if cap is not None else "Capacitance: Read failed")
​    print(f"Temperature: {temp} C" if temp is not None else "Temperature: Read failed")
​    print(f"Water status: {'Water alarm' if status == 1 else 'No water'}" if status is not None else "Water status: Read failed")
​    print("=" * 60)

​    # 延时1秒
​    time.sleep(1)

烧录代码,打开终端,输出如下:

image.png

该图展示了 WS61 示例程序输出的前半部分,包含设备地址和阈值等信息。

image.png

该图展示了 WS61 示例程序输出的后半部分,包含电容、温度和水浸状态信息。

image.png

这里,需要注意的是,我们的驱动库代码中已经封装了两次读取操作,开发者无需两次读取。

相关资料

获取相关资料,查看:https://f1829ryac0m.feishu.cn/wiki/space/7636611910099602383?ccm_open_type=lark_wiki_spaceLink&open_tab_from=wiki_home

faeb2ed0175f5244b49e3550fc37b303.png

eb6b459ccb3f99726a2fd06d98170352.png

e56a916b375ed771aab3187baee81773.png

posted @ 2026-06-05 19:49  FreakStudio  阅读(6)  评论(0)    收藏  举报