4. 硬件平台选型:主控芯片、传感器与执行器
好,咱们进入第四章。这一章聊硬件选型,说白了就是给智能灌溉系统挑「大脑」、「眼睛」和「手脚」。我做了这么多年嵌入式,见过太多项目因为选型翻车——要么芯片性能过剩浪费钱,要么传感器精度不够导致误判。今天我把经验摊开来讲。
4.1 主控芯片:STM32 vs ESP32
主控芯片是整个系统的核心。我个人习惯先看需求再选型,而不是盲目追新。
STM32 系列:工业级稳定,外设丰富。我在项目中遇到过用 STM32F103 控制 8 路电磁阀的场景,跑 FreeRTOS 稳如老狗。它的优势在于:
- 定时器精准,适合 PWM 控制水泵
- ADC 采样稳定,读取土壤湿度传感器很靠谱
- 低功耗模式成熟,电池供电场景首选
ESP32 系列:自带 Wi-Fi 和蓝牙,省去外挂通信模块。说白了,如果你要做远程监控,ESP32 是性价比之王。但要注意——它的 ADC 线性度一般,读取模拟传感器时建议加外部 ADC 芯片。
我的建议:
- 本地控制 + 低功耗 → STM32L0 或 STM32F0
- 远程监控 + 联网 → ESP32
- 两者结合 → STM32 做主控,ESP32 做通信协处理器
你想想看,如果只是定时浇水,用 ESP32 有点浪费。但如果你要接入云平台、做数据分析,那 ESP32 的 Wi-Fi 功能就真香了。
4.2 传感器选型:土壤湿度、流量、雨量
传感器是系统的「眼睛」。选错了,后面算法再牛也白搭。
4.2.1 土壤湿度传感器
市面上常见两种:
- 电容式:耐腐蚀,寿命长。我建议优先选这个。我曾经用过电阻式的,结果半年后探头生锈,数据漂移得离谱。
- 电阻式:便宜,但容易氧化。适合短期测试或低成本方案。
输出方式上,有模拟电压输出和 I2C 数字输出。我个人习惯用 I2C 的,比如 THS-10 或 SM3001,直接读数字量,省去 ADC 校准的麻烦。
避坑指南:我曾经在项目中直接用模拟土壤湿度传感器接 STM32 的 ADC,结果发现不同批次传感器输出电压偏差很大。后来加了校准系数,才解决问题。建议每块传感器单独标定。
4.2.2 流量传感器
流量传感器用来监测实际用水量。我常用的是 霍尔效应流量计,比如 YF-S201。它输出脉冲信号,通过脉冲频率换算流量。
选型要点:
- 量程:家庭灌溉一般 1-30 L/min 就够了
- 精度:±5% 以内可接受
- 接口:脉冲输出,直接接 MCU 的外部中断引脚
嗯,这里要注意——流量传感器安装时一定要保证管道满管,否则测量值会偏小。我吃过这个亏,后来加了排气阀才解决。
4.2.3 雨量传感器
雨量传感器用来判断是否下雨,避免「下雨天还浇水」的尴尬。常见类型:
- 翻斗式:机械结构,精度高,适合气象站
- 电容式:无机械部件,响应快,适合智能灌溉
我建议用 电容式雨量传感器,比如 RS-RAIN-01。它输出模拟电压或开关信号,简单可靠。你想想看,翻斗式虽然准,但容易卡住,维护成本高。
注意:雨量传感器要安装在开阔处,远离遮挡物。我曾经装在屋檐下,结果雨量数据一直偏低,排查了半天才发现是位置问题。
4.3 执行器选型:电磁阀与水泵
执行器是系统的「手脚」。选型不当,轻则漏水,重则烧泵。
4.3.1 电磁阀
电磁阀控制水路通断。我常用的是 常闭型电磁阀,断电自动关闭,安全可靠。
关键参数:
| 参数 | 说明 | 推荐值 |
|---|---|---|
| 工作电压 | 与系统供电匹配 | 12V 或 24V DC |
| 接口口径 | 与水管匹配 | DN15 或 DN20 |
| 驱动电流 | MCU 无法直接驱动 | 需加继电器或 MOS 管 |
驱动方式上,我建议用 MOS 管 + 续流二极管 方案,比继电器更安静、寿命更长。不过如果你对电路不熟,用继电器模块也行,简单粗暴。
经验之谈:电磁阀线圈是感性负载,关断时会产生反向电动势。我曾经忘记加续流二极管,结果烧了三个 MOS 管才反应过来。切记!
4.3.2 水泵
水泵选型要看扬程和流量。家庭灌溉场景,我推荐 直流隔膜泵,比如 370 泵 或 DP-130。它们体积小、噪音低、自吸能力强。
选型要点:
- 扬程:3-5 米足够家庭使用
- 流量:5-10 L/min 即可
- 电压:12V 或 24V,与电磁阀统一
驱动水泵时,建议用 PWM 调速,而不是简单的开关控制。为什么?因为不同作物需水量不同,PWM 可以精确调节水压和流量。我做过一个项目,用 PWM 控制水泵转速,配合 PID 算法,节水效果提升了 30%。
小技巧:水泵启动瞬间电流很大,是额定电流的 3-5 倍。设计电源时要留足余量,否则系统会频繁复位。我一般按额定电流的 2 倍选电源。
4.4 选型总结
好了,咱们把这一章的核心内容捋一捋:
- 主控芯片:STM32 适合本地控制,ESP32 适合联网场景
- 传感器:土壤湿度选电容式,流量选霍尔式,雨量选电容式
- 执行器:电磁阀用常闭型,水泵用直流隔膜泵
选型没有绝对的对错,关键看你的应用场景和预算。我见过有人用 STM32H7 做灌溉控制,性能过剩到可以跑神经网络——但说实话,没必要。够用就好,稳定第一。
下一章咱们聊电路设计,包括电源管理、驱动电路和信号调理。到时候我会把原理图拿出来,手把手教你避坑。