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-10SM3001,直接读数字量,省去 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 做灌溉控制,性能过剩到可以跑神经网络——但说实话,没必要。够用就好,稳定第一。

下一章咱们聊电路设计,包括电源管理、驱动电路和信号调理。到时候我会把原理图拿出来,手把手教你避坑。