传感器技术基础:温度、湿度、光照、CO₂ 选型与原理
传感器这东西,说白了就是温室的「五官」。你想想看,一个系统再聪明,如果传感器数据不准,那后面的控制全是瞎忙活。我这些年踩过的坑,十有八九都出在传感器选型上。今天咱们就把温度、湿度、光照、CO₂ 这四类传感器掰开揉碎了讲。
温度传感器:PT100 与 DS18B20
温度是温室里最基础的参数。常用的就两种:PT100 和 DS18B20。它们俩的脾气完全不同。
PT100 铂电阻
PT100 的原理很简单——铂的电阻值随温度变化。0℃ 时正好 100Ω,所以叫 PT100。它的线性度非常好,精度能做到 ±0.1℃。我在东北一个大型连栋温室项目里用过它,冬天零下 30℃,PT100 依然稳得很。
- 测温范围:-200℃ ~ 850℃
- 精度等级:A 级 ±0.15℃,B 级 ±0.3℃
- 接线方式:二线制、三线制、四线制
DS18B20 数字温度传感器
DS18B20 是 Dallas 公司的经典产品。它直接把温度转成数字信号,用一根数据线就能通信。你想想看,一个 GPIO 口可以挂几十个 DS18B20,布线多省事。
// DS18B20 读取示例(Arduino)
#include <OneWire.h>
#include <DallasTemperature.h>
#define ONE_WIRE_BUS 2
OneWire oneWire(ONE_WIRE_BUS);
DallasTemperature sensors(&oneWire);
void setup() {
Serial.begin(9600);
sensors.begin();
}
void loop() {
sensors.requestTemperatures();
float temp = sensors.getTempCByIndex(0);
Serial.print("温度:");
Serial.println(temp);
delay(1000);
}
湿度传感器:电容式与电阻式
湿度测量比温度麻烦多了。温室里湿度动不动就 90% 以上,传感器很容易结露失效。
电容式湿度传感器
主流方案是电容式。感湿材料吸收水汽后介电常数变化,电容值跟着变。典型型号是 SHT30、SHT40 系列。精度能做到 ±2% RH,响应也快。
| 型号 | 精度 | 范围 | 接口 | 价格区间 |
|---|---|---|---|---|
| SHT30 | ±2% RH | 0~100% RH | I²C | ¥15~25 |
| SHT40 | ±1.8% RH | 0~100% RH | I²C | ¥20~35 |
| DHT22 | ±2% RH | 0~100% RH | 单总线 | ¥10~15 |
光照传感器:光合有效辐射 PAR
温室里测光照,不能只看 lux。植物光合作用需要的是 400~700nm 波段的光,也就是光合有效辐射(PAR)。单位是 μmol/m²/s。
我推荐用量子传感器,比如 Apogee SQ-500 或国产的 PHOTON 系列。它们用硅光电二极管加滤光片,只响应 PAR 波段。
- 量程:0~2000 μmol/m²/s(温室够用)
- 余弦修正:必须带,否则低角度光测量不准
- 防水等级:IP67 以上,温室里水汽大
为什么强调余弦修正?你想想看,太阳在头顶和在地平线时,光线入射角不同。没有余弦修正的传感器,早晚测的值会偏小很多。我在云南一个花卉温室里吃过这个亏,补光灯控制策略全错了。
CO₂ 传感器:NDIR 原理
CO₂ 浓度直接影响光合作用效率。温室里 CO₂ 传感器几乎全是 NDIR(非色散红外)原理的。它利用 CO₂ 分子对 4.26μm 红外光的吸收特性来测浓度。
主流型号有 MH-Z19B、SenseAir S8。精度能做到 ±30ppm + 读数的 3%。
// MH-Z19B 读取示例(Arduino)
#include <SoftwareSerial.h>
SoftwareSerial co2Serial(10, 11); // RX, TX
void setup() {
Serial.begin(9600);
co2Serial.begin(9600);
}
void loop() {
co2Serial.write(0xFF);
co2Serial.write(0x01);
co2Serial.write(0x86);
co2Serial.write(0x00);
co2Serial.write(0x00);
co2Serial.write(0x00);
co2Serial.write(0x00);
co2Serial.write(0x79);
if (co2Serial.available() >= 9) {
byte response[9];
for (int i = 0; i < 9; i++) {
response[i] = co2Serial.read();
}
int co2 = response[2] * 256 + response[3];
Serial.print("CO₂: ");
Serial.print(co2);
Serial.println(" ppm");
}
delay(2000);
}
传感器选型对比总表
| 参数 | 温度 | 湿度 | 光照 | CO₂ |
|---|---|---|---|---|
| 推荐原理 | 铂电阻/数字 | 电容式 | 量子传感器 | NDIR |
| 典型精度 | ±0.1~0.5℃ | ±2% RH | ±5% | ±30ppm |
| 采样周期 | 100ms | 2s | 100ms | 2s |
| 通信方式 | 模拟/数字 | I²C/单总线 | 模拟/RS485 | UART/PWM |
| 寿命 | 10年+ | 5年 | 5年 | 5年 |
传感器布局与安装要点
传感器选好了,装在哪也很关键。我见过有人把温度传感器贴在温室铁柱上,夏天测出来比实际高 5℃。嗯,这里要注意几个原则:
- 高度: 作物冠层上方 20~30cm,那是植物实际感受的环境
- 遮蔽: 光照传感器不能被遮阴,CO₂ 传感器要远离通风口
- 冗余: 每个区域至少 2 个传感器,取均值或做故障判断
- 防结露: 湿度传感器要加防辐射罩,避免冷凝水直接滴在探头上
传感器这块,说白了就是「选对、装对、用对」。选对看原理和参数,装对看位置和防护,用对看采样和校准。这三步走扎实了,你的温室控制系统就成功了一半。