AquaSentinel鱼缸守护助手:GD32F505水温、水位与漏水监测

基于GD32F505VGT7的低压鱼缸监测终端,集成DS18B20水温、浮子水位、漏水干接点、OLED显示及声光提醒,支持静音、光照和投喂检查提醒。提供KiCad源文件、固件、BOM及测试记录。已通过EDA检查、目标编译与电脑模拟,尚未打样和实板验证,不控制市电或自动投喂。

AquaSentinel鱼缸守护助手:GD32F505水温、水位与漏水监测封面
jf_960070432026-11-04 08:50:40CERN-OHL-P v2
9
Star

PCBA

设计文件

KiCad图标AquaSentinel_KiCad.zip274.59KB(1次下载)

生产BOM

源代码

其他附件

EDA查看器

复制嵌入代码

详细介绍

AquaSentinel 鱼缸守护助手

项目摘要

AquaSentinel 是一套基于 GD32F505VGT7 的开源鱼缸状态监测与本地提醒设计。它把水温、低水位、柜内漏水和光照信息集中到一块低压主板,帮助养鱼者及时发现异常,同时明确区分“测量正常”“测量异常”和“传感器不可用”。

项目面向家庭淡水缸、小型水草缸以及希望自行扩展设备的电子爱好者。它采用外接探头与模块,主板保持干燥,避免将普通空气传感器当成水下传感器。当前交付为可审查的硬件与固件工程,尚未完成打样和实物运行验证。

为什么做这个项目

养鱼时,单独看一眼温度并不能覆盖所有问题:水位下降、柜内积水、探头断线和灯光变化,往往需要分别观察。AquaSentinel 将这些分散的信息集中起来,让异常及其原因更容易被看见。

设计优先考虑日常可理解、可维护的功能:探头接错或失联时不显示成正常读数,水位线断开时给出提醒,声光告警与静音操作相互独立。它不直接控制加热棒、补水泵或市电设备,避免未经验证的执行控制给鱼缸带来额外风险。

主要设计亮点

把异常和失联分开呈现

水温采用外供电 DS18B20 探头接口,温度信息需要经过协议与数据有效性处理。无效读数不能被当成正常温度,陈旧数据也不能冒充本次测量结果。

低水位采用正常闭合的无源浮子接点。水位异常或电缆断开都会使输入变为开路,从而进入提醒路径。这种设计覆盖了断线场景,但不能区分水位异常与断线,也不能识别接线短路。

漏水接口采用检测到水时闭合的隔离干接点。它只接收开关状态,不让裸电极直接接入主板。常开接口不能识别断线,需要定期人工测试。

本地可用的低压设计

监测与声光提醒由本地主控承担,不以联网、云服务或手机在线为前提。输入为稳压 5 V,主板工作电压为 3.3 V。接口按用途分开,配合串联电阻、上拉与滤波,便于检查和逐项调试;这些措施不能替代长线防浪涌或安全认证。

可追溯的开源工程

项目提供 KiCad 原理图、PCB、BOM、制造文件、应用与板级源码、构建及检查记录。PCB 使用活动指定的 GD32F505VGT7,并在顶层丝印加入活动要求的两家官方标识。

代码验证、EDA 规则检查和未来的实物测试分别列出。这样,后续复现者可以知道哪些结论来自工具,哪些仍需在真实电路上确认,而不是只看到一张效果图。

系统组成

  • 主控板:GD32F505VGT7,LQFP100,120 × 80 mm 双层 PCB。

  • 水温:单只外部 3.3 V 供电、适合水浸封装的 DS18B20。

  • 水位:正常水位闭合接地的无源浮子开关。

  • 漏水:检测到水时闭合的隔离干接点探测器。

  • 光照:外接 BH1750 模块,用于观察鱼缸周边照度变化,不等同于水下 PAR 测量。

  • 交互:OLED 模块接口、报警 LED、有源蜂鸣器与按键。

  • 调试与数据:SWD 和 3.3 V TTL UART。

外接探头、显示模块、电源、调试器和蜂鸣器需另外准备。接口的实际引脚顺序须按信号核对,不能直接假设不同厂家的模块兼容。

已实现的交互与提醒逻辑

  • 水温约每秒采集一次,DS18B20 采用异步转换与 scratchpad CRC 校验;连续异常样本进入提醒,恢复使用迟滞,避免阈值附近频繁切换。

  • 固件演示阈值为 ≤22°C 低温、≥28°C 高温,连续 3 次触发;分别回到 ≥23°C、≤27°C 后恢复。这些数值仅用于演示,不是特定鱼种的饲养建议。

  • 低水位、漏水和温度探头故障有各自状态。探头失联不会自动解除已经存在的高低温告警。

  • SSD1306 OLED 显示水温、水位、漏水、提醒倒计时、可选光照及告警状态。屏幕模块需另配,目前未做实屏验证。

  • 投喂检查提醒从开机或上次到期确认开始,按经过 8 小时计时;不是每天固定时刻,也不是自动投喂。断电后重新计时。

  • 短按按键静音 60 秒;投喂提醒已经到期时,同一按键同时确认该提醒。静音不抹除屏幕和 LED 上的异常状态。

  • 串口输出 CSV,并保留最近 60 条 RAM 样本;没有断电存储、联网通知或手机应用。

GD32F505 在项目中的作用

GD32F505 统一承担采样调度、协议交互、有效性判断、提醒状态和本地输出。当前版本围绕可靠、可解释的采集与交互展开,没有为展示芯片指标而加入不必要的高速功能,也不声称已经达到芯片性能上限。剩余资源可供后续加入更完整的交互、长期日志和经过验证的扩展。

展示场景与后续实物验证

以下为打样后应执行的演示流程,不是已经拍摄或完成的实测:

  1. 接入全部传感器,展示水温和环境状态。

  2. 改变水温,观察阈值判定、恢复过程和提醒信息。

  3. 断开浮子接线,展示异常输入不会被判为正常水位。

  4. 用隔离接点模拟漏水,展示声光提醒,并验证静音后异常信息仍可见。

  5. 拔掉水温探头,确认故障与当前有效测量明确区分。

  6. 检查投喂提醒、按键交互与断电重启行为,避免把提醒确认描述为自动投喂完成。

实际展示时必须说明使用的是合成输入、模拟接点还是真实探头,不能用电脑模拟画面代替硬件运行证据。

当前验证与限制

新主板已通过 KiCad ERC 与 DRC 检查;独立复核确认原理图、PCB 和设计数据中的引脚网络一致。EDA 检查通过不代表电源完整性、通信时序、探头线缆兼容性、EMC 或长期可靠性已经验证。

固件的最终功能、目标构建结果和测试范围见 firmware/README_zh.md 及 tests/。待完成的实物工作包括限流上电、探头协议波形检查、参考仪器比对、故障注入、声光告警、断电重启和连续运行测试。

本设备不测量溶氧、pH、氨氮、亚硝酸盐或完整水质,不宣称能判断鱼只健康;温度阈值也必须根据实际饲养对象配置。主板与普通模块不得入水。不控制市电、加热棒、补水泵或投喂执行器,不应作为鱼缸唯一安全保障。

开源与第三方素材

原创硬件采用 CERN-OHL-P 2.0(宽松型)许可,原创固件采用 MIT 许可,完整条款随工程提供。兆易创新 SDK、数据手册、工具及标识遵循各自条款;第三方商标不因随工程分发而变为本项目原创或自由授权素材。设计源码和代码公开时需一并保留适用许可与来源说明。

提交材料索引

  • 原理图与 PCB:hardware/ 中的 KiCad 工程。

  • 原理图预览:outputs/schematic.pdf 与 schematic_preview.png。

  • PCB 与丝印截图:outputs/pcb_layout.png、top_silkscreen.png。

  • 物料与接口:hardware/BOM.csv、docs/HARDWARE.md。

  • 固件与构建:firmware/、tests/。

  • 官方标识来源:sources/LOGO_PROVENANCE.md。