2. 传感器选型:土壤湿度、温度、光照、水位传感器的选型与原理

好,咱们直接进入正题。传感器选型这事儿,说白了就是给系统装上「眼睛」和「耳朵」。选对了,整个灌溉系统就活了;选错了,后面调试能让你怀疑人生。我这些年踩过的坑,不少都跟传感器有关。

2.1 土壤湿度传感器

这是温室灌溉的核心传感器。你想想看,水浇多了烂根,浇少了苗蔫。所以测准土壤湿度,是第一步。

2.1.1 常见类型与原理

  • 电容式土壤湿度传感器:利用土壤介电常数随含水量变化的原理。土壤含水越多,介电常数越大,电容值就越高。通过测量振荡电路的频率变化,就能反推出湿度。我个人习惯用这种,因为它耐腐蚀,寿命长。
  • 电阻式土壤湿度传感器:两根探针插土里,测两极间的电阻。湿土导电好,电阻小;干土电阻大。嗯,这里要注意——直流供电容易让探针电解腐蚀。我在项目中遇到过,用了三个月探针就锈断了。
  • 频域反射法(FDR)传感器:专业级方案。发射特定频率的电磁波,根据土壤反射回来的信号分析湿度。精度高,但价格也高,一般用在科研或高端大棚。

2.1.2 选型建议

参数 电容式 电阻式 FDR
精度 ±3% ±5% ±1%
寿命 2-3年 6-12个月 5年以上
成本
接口 模拟/数字 模拟 RS485/数字
我的经验: 普通温室用电容式就够了。我一般选型号 SEN0193 或类似方案,输出 0-3V 模拟量,ADC 直接读,省事。
避坑指南: 我曾经把电阻式传感器埋在黏土里,结果排水不好,探针一直泡在水里,一个月就报废了。记住,电阻式只适合沙质土壤或短期使用。

2.2 温度传感器

温度影响作物生长速率,也影响灌溉决策。比如夏天中午高温时浇水,容易伤根。所以温度数据必须准。

2.2.1 常用方案

  • DS18B20:一线总线,数字输出,精度 ±0.5°C。我最常用的型号。为什么?因为一根线就能传数据,而且可以挂多个传感器在总线上。我做过一个项目,一条线上挂了 12 个 DS18B20,分别测不同区域的温度,稳得很。
  • DHT22:温湿度一体,精度 ±0.3°C。适合需要同时测湿度的场景。但注意,它的采样周期是 2 秒,不能读太快。
  • PT100 铂电阻:工业级,精度 ±0.1°C。需要搭配调理电路,成本高。一般用在育苗室或实验室。

2.2.2 接口与接线

// DS18B20 典型接线(寄生供电模式)
// VCC -> 3.3V
// GND -> GND
// DQ  -> GPIO (需外接4.7kΩ上拉电阻)

// 读取代码片段(OneWire库)
OneWire ds(DS18B20_PIN);
byte addr[8];
ds.search(addr);
ds.reset();
ds.select(addr);
ds.write(0x44);  // 启动转换
delay(750);      // 等待转换完成
ds.reset();
ds.select(addr);
ds.write(0xBE);  // 读取暂存器
int16_t raw = (ds.read() | (ds.read() << 8));
float temp = raw * 0.0625;

关键点: DS18B20 的转换时间最长 750ms。如果你需要快速轮询多个传感器,建议用「跳过 ROM」指令批量启动转换,然后逐个读取。这样能省不少时间。

2.3 光照传感器

光照强度决定了作物光合作用的效率。温室里,光照数据用来控制遮阳帘或补光灯。说白了,就是告诉系统「现在该晒太阳还是该遮阴」。

2.3.1 主流选择

  • BH1750:数字光照传感器,I2C 接口,量程 1-65535 lux。精度高,直接输出 lux 值,不用自己算。我特别喜欢它的原因是——内部有光电二极管和 ADC,校准好了直接用,省去标定环节。
  • TSL2561:也是 I2C 接口,但可以分别测红外和可见光。适合需要区分光谱的场景,比如判断是太阳光还是补光灯。
  • 光敏电阻(LDR):模拟输出,成本几毛钱。但线性度差,温度漂移大。说实话,我只有在做原型验证时才用它。正式产品,还是老老实实用数字传感器。

2.3.2 安装位置

嗯,这里有个容易忽略的点——传感器不能装在阴影里。我见过有人把光照传感器贴在温室北墙上,结果数据一直偏低,补光灯白天也开着,浪费电。正确做法是:装在温室中央,离地 1.5 米,朝南,且要加防尘罩。

小技巧: BH1750 有两种测量模式——连续模式和单次模式。如果系统是低功耗设计,用单次模式,测完就休眠,能省不少电。

2.4 水位传感器

水箱、营养液池、排水沟,都需要监测水位。水位传感器选不好,要么溢水,要么水泵干转烧掉。

2.4.1 类型对比

类型 原理 优点 缺点
浮球开关 磁簧开关+浮子 简单、便宜、可靠 只能输出开关量,不能测连续水位
超声波 发射超声波,测回波时间 非接触,不怕腐蚀 受泡沫、蒸汽影响
压力式 测液体静压 精度高,适合深水箱 需要浸入液体,有结垢问题
电容式 测电极间电容变化 无机械部件,寿命长 对液体介电常数敏感

2.4.2 我的推荐

对于温室灌溉系统,我一般这样搭配:

  • 水箱:用超声波传感器(如 JSN-SR04T,防水型)。非接触,不怕营养液腐蚀。量程 25-450cm,够用。
  • 排水沟:用浮球开关做高低位报警。成本低,坏了换一个也不心疼。
  • 营养液池:用压力式传感器(如 4-20mA 输出的扩散硅压力变送器)。精度高,适合自动配液系统。
注意: 超声波传感器不能装在密闭容器顶部正中央。我曾经这么干过,结果超声波在容器壁之间来回反射,读出来的数据全是乱的。正确做法是装在侧面,或者加导波管。

2.5 传感器选型总结

最后,我列一个快速选型表,方便你对照:

测量参数 推荐型号 接口 供电 典型成本
土壤湿度 电容式 SEN0193 模拟 0-3V 3.3-5V ¥15-30
温度 DS18B20 OneWire 3.0-5.5V ¥5-10
光照 BH1750 I2C 3.3V ¥10-20
水位(水箱) JSN-SR04T UART/GPIO 5V ¥20-40
水位(报警) 浮球开关 开关量 无源 ¥3-8

选型时记住一句话:够用就好,别盲目追求高精度。温室灌溉不是造火箭,土壤湿度 ±3% 完全够用。省下来的钱,多买几个传感器做冗余,系统可靠性反而更高。

下一章,咱们聊聊传感器怎么跟单片机连起来,以及怎么处理那些「不听话」的模拟信号。