传感器基础:烟感与气体传感器的选型实战

做多级预警系统,传感器就是我们的“鼻子”。鼻子不灵,后面再好的算法也白搭。今天咱们聊聊烟感传感器和气体传感器——这两类器件我摸爬滚打了好几年,踩过的坑能装一箩筐。

烟感传感器:离子式 vs 光电式

烟感传感器分两种:离子式和光电式。很多人问我哪个好,我的回答是:看场景。

离子式烟感传感器

离子式的工作原理,说白了就是利用放射性物质(镅-241)电离空气。烟雾进来,电离电流变化,触发报警。

核心特点:

  • 对微小颗粒(明火产生的烟)特别敏感
  • 响应速度快,0.5秒内就能检测到
  • 功耗极低,一节电池能用两年
  • 含有放射性物质,环保回收麻烦

我记得有一次做厨房预警项目,客户非要选离子式。结果呢?油烟一飘就误报,一天响七八次。后来换成光电式,问题才解决。所以啊,离子式适合检测明火火灾,不适合有油烟、蒸汽的环境。

光电式烟感传感器

光电式就简单多了——里面有个发光管和接收管。烟雾颗粒散射光线,接收管检测到光强变化就报警。

核心特点:

  • 对较大颗粒(阴燃产生的烟)更敏感
  • 误报率低,抗油烟干扰能力强
  • 无放射性物质,环保安全
  • 价格略高,功耗稍大

我个人习惯在家庭、办公室这类场景优先选光电式。为什么?因为大多数火灾初期都是阴燃,产生的是大颗粒烟雾,光电式正好对口。

对比项 离子式 光电式
检测颗粒 微小颗粒(0.01-1μm) 较大颗粒(1-10μm)
响应速度 快(0.5s) 较慢(1-3s)
误报率 高(油烟易误报)
功耗 极低(μA级) 较低(mA级)
环保 含放射性物质 无污染
价格 便宜(5-10元) 稍贵(10-20元)

选型建议:如果预算允许,我建议两者都装。离子式放卧室(快速响应明火),光电式放厨房(避免误报)。互补才是王道。

气体传感器:MQ-2 与 MQ-7

气体传感器这块,MQ系列是绕不开的。MQ-2和MQ-7是我用得最多的两款,一个管可燃气体,一个管一氧化碳。

MQ-2 气体传感器

MQ-2检测的是可燃气体——液化气、丙烷、氢气、烟雾都行。它内部有个二氧化锡半导体,遇到还原性气体电阻就下降。

技术参数:

  • 检测范围:300-10000ppm(丙烷)
  • 响应时间:≤10秒
  • 恢复时间:≤30秒
  • 加热电压:5V(功耗约800mW)
  • 输出方式:模拟电压(0-5V)

嗯,这里要注意——MQ-2的预热时间很长。我刚开始用的时候,上电就读数据,结果全是乱的。后来查手册才知道,需要预热至少48小时才能稳定。你想想看,如果项目急着交付,这个坑就大了。

// MQ-2 读取示例(Arduino)
int mq2Pin = A0;
int sensorValue = 0;

void setup() {
  Serial.begin(9600);
  // 注意:首次使用需预热48小时
  Serial.println("MQ-2 预热中...");
}

void loop() {
  sensorValue = analogRead(mq2Pin);
  float voltage = sensorValue * (5.0 / 1023.0);
  Serial.print("电压值: ");
  Serial.print(voltage);
  Serial.println(" V");
  delay(1000);
}

MQ-7 气体传感器

MQ-7专门检测一氧化碳(CO)。它的工作原理和MQ-2类似,但有个特殊之处——需要高低电压循环加热。

技术参数:

  • 检测范围:20-2000ppm(CO)
  • 响应时间:≤60秒
  • 恢复时间:≤90秒
  • 加热方式:5V(60秒)/ 1.4V(90秒)循环
  • 输出方式:模拟电压(0-5V)

我曾经在做一个车库CO检测项目时,直接用5V一直供电,结果数据漂移得厉害。后来翻资料才发现,MQ-7需要间歇式加热——高电压加热60秒让传感器工作,低电压保持90秒让敏感层恢复。这个细节不注意,数据根本没法用。

// MQ-7 循环加热示例
int heaterPin = 9;
int sensorPin = A0;
unsigned long lastCycle = 0;
bool highHeat = true;

void setup() {
  pinMode(heaterPin, OUTPUT);
  Serial.begin(9600);
}

void loop() {
  unsigned long now = millis();
  
  if (highHeat && (now - lastCycle > 60000)) {
    // 高电压加热60秒
    analogWrite(heaterPin, 255);  // 5V
    highHeat = false;
    lastCycle = now;
  } else if (!highHeat && (now - lastCycle > 90000)) {
    // 低电压保持90秒
    analogWrite(heaterPin, 70);   // 约1.4V
    highHeat = true;
    lastCycle = now;
  }
  
  // 只在加热阶段读取数据
  if (highHeat) {
    int val = analogRead(sensorPin);
    Serial.println(val);
  }
}

避坑指南:我曾经在批量生产时发现,同一批MQ-7的基线电阻能差30%。所以量产前一定要逐个标定,不能偷懒用统一阈值。

传感器选型决策树

说了这么多,到底怎么选?我画了个决策图,帮你理清思路。

检测什么? 烟雾 气体 明火 → 离子式 阴燃 → 光电式 可燃气体 → MQ-2 CO → MQ-7 实战建议 • 家庭场景:光电式烟感 + MQ-7(防CO中毒) • 工业场景:离子式烟感 + MQ-2(防可燃气体泄漏) • 多级预警:两种烟感 + 两种气体传感器组合使用

选型总结

说了这么多,其实选型就三个原则:

  1. 场景决定类型——厨房用光电式,车库用离子式,别搞反了
  2. 预热不能省——MQ系列至少预热24小时,最好48小时
  3. 标定要逐个做——同一批次传感器个体差异可能很大

我的经验:做多级预警系统,别指望一个传感器搞定所有。烟感+气体传感器组合使用,才能覆盖更多危险场景。我一般用光电式烟感做第一级预警(阴燃阶段),MQ-7做第二级(CO浓度上升),离子式烟感做最后防线(明火阶段)。三层防护,心里踏实。

传感器选型这块,说白了就是“对症下药”。搞清楚你要检测什么、在什么环境用、预算多少,答案自然就有了。别盲目追求高精度,稳定可靠才是硬道理。

专注资料整理