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% 完全够用。省下来的钱,多买几个传感器做冗余,系统可靠性反而更高。
下一章,咱们聊聊传感器怎么跟单片机连起来,以及怎么处理那些「不听话」的模拟信号。