1. 项目概述:当STM32遇上智能水族生态
去年帮学弟调试他的毕业设计时,我们一起折腾的这个智能鱼缸系统让我印象深刻。传统鱼缸管理需要人工投喂、频繁换水,而基于STM32的这套方案,通过多传感器融合和自动控制算法,实现了水温、水质、光照的闭环管理。最让我惊喜的是,在测试阶段系统成功预警了一次过滤器故障,避免了整缸鱼苗的损失。
这套系统本质上是一个典型的物联网边缘计算节点,以STM32F103C8T6为主控,搭配防水型DS18B20温度传感器、TDS水质检测模块、浊度传感器构成感知层。执行机构包括12V直流喂食器、潜水泵和全光谱LED灯组。所有数据通过ESP8266上传到手机APP,形成完整的监测-决策-执行闭环。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 硬件设计精要
2.1 核心器件选型对比
主控芯片的选择经历过一次迭代:最初考虑使用Arduino Uno,但在实测中发现其ADC精度和定时器资源无法满足多路传感器并行采样的需求。最终方案采用STM32F103C8T6,主要优势在于:
- 72MHz主频确保实时性
- 12位ADC精度(0.61mV)满足水质检测需求
- 多达7个定时器可独立控制喂食、换水等时序任务
传感器阵列的防水处理是关键细节:
- DS18B20温度传感器用热缩管包裹接口处
- TDS探头采用环氧树脂密封PCB部分
- 浊度传感器安装时保持45°倾斜避免气泡堆积
2.2 电源系统设计
系统存在3种电压需求:
- 主控电路:3.3V/500mA
- 执行机构:12V/2A(峰值)
- 传感器组:5V/300mA
采用两级电源架构:
c复制[24V适配器] → [LM2596降压至12V] → [AMS1117-5.0] → [AMS1117-3.3]
↑
[驱动电机/灯组]
实测中发现的问题及解决方案:
- 电机启动瞬间导致3.3V电源波动 → 在AMS1117输出端增加470μF钽电容
- 长导线传输产生压降 → TDS传感器改用独立5V供电并做电压补偿校准
3. 软件架构实现
3.1 传感器数据融合算法
水质评估需要综合多个参数,我们采用加权评分模型:
python复制def water_quality_score(tds, tu
