暖通空调机房或者农业大棚的控制器里,二氧化碳浓度一旦超过某个阈值,就要触发新风阀或者排风扇动作。IR31CE 这种 0-5% 量程的红外气体传感器,就是干这个用的。Amphenol SGX Sensortech 的这颗料,封装直径 19mm,引脚直插式,在气体传感器这个分类里属于不需要频繁更换的类型。当然它也有自己的脾气——供电电压、工作温度范围这些参数,处理不好,输出飘起来能让人排查一整天。
非色散红外原理:这颗料怎么把 CO2 浓度变成电信号
IR31CE 用的是 NDIR 技术,全称叫非色散红外吸收法。简单说,红外光源发射宽谱光,穿过气体腔室到达红外探测器,中间如果存在 CO2 分子,会在 4.26μm 这个特征波长上吸收能量。探测器前端装了窄带滤光片,只允许这一小段波长的光通过,所以测到的光强衰减量和气体浓度直接相关。
内部结构上,光源和探测器分列两端,中间是反射式的气室。红外光源用脉冲式驱动,每隔一段时间点亮一次,探测器同步采样,输出信号经过模拟放大后送到微控制器做拟合计算。这种结构的好处是寿命长——光源不是白炽灯那种热辐射体,而是专门设计的高分子量热源,设计寿命可以到 5 年以上。相比电化学传感器,NDIR 没有消耗性的电解液,所以长期稳定性是优势。
不过这种结构也有短板。光源老化会导到光强漂移,气室窗口被灰尘遮挡会影响读数,所以 IR31CE 这类料一般在出厂时做两点校准,把零点(通常用高纯氮气)和满量程(用已知浓度的标准气)标定好,存储在板载存储器里。
关键参数解读:不是每一项都跟你想的一样
| 参数名 | 数值 | 工程意义说明 |
|---|---|---|
| Type(气体类型) | Carbon Dioxide (CO2) | 此参数表示传感器仅针对 CO2 分子响应,对水汽和其他碳氢化合物交叉干扰较小。 |
| Oxygen Range(环境压力范围) | 700 mbar ~ 1300 mbar | 此参数表示传感器在海拔或密闭舱室压力变化时仍能正常工作,超出此范围需做压力补偿。 |
| Operating Temperature(工作温度) | -20°C ~ 55°C (TA) | 此为环境温度范围,在此范围内传感器能保持标称精度。超过上限通常会引起信号漂移加速。 |
| Voltage - Supply(供电电压) | 3V ~ 15V | 宽压范围设计,兼容 3.3V、5V 及 12V 系统。实际功耗与电压成正比,低压侧更省电。 |
| Current - Supply(供电电流) | 60mA | 这是一个典型的平均电流值。脉冲驱动模式下峰值电流可能高于此值,设计电源时要留裕量。 |
先说供电电压这一行。3V 到 15V 的宽范围看着方便,但实际项目里我一般建议固定在 5V 或 3.3V,不要变频供电。IR31CE 内部有稳压电路,可在输入电压变化时保持测量一致性,但如果你的系统里供电纹波超过 100mV,读数就会跟着跳动。经验上,在电源输出端并联一个 100μF 电解电容加 0.1μF 陶瓷电容,能解决大部分由供电引起的输出抖动问题。
工作温度 -20°C 到 55°C,这个范围偏向室内应用。工业现场有时候环境温度超过 60°C,就要看降额曲线了。手册上没明说的一点是,温度变化会改变红外光源的辐射效率和探测器的暗电流,所以如果现场昼夜温差大,建议在软件里做温度补偿。实测下来,温度每变化 10°C,未做补偿的 NDIR 传感器零点漂移大概在满量程的 0.5% 左右——对 5% 量程的 IR31CE 来说,就是 250ppm 的误差,在 2000ppm 的报警值面前已经算很大了。
选型时的判断逻辑:什么情况下选 IR31CE 而不是别的
选气体传感器,先别急着看精度和响应时间。第一步是确认量程。IR31CE 的 0-5% 量程(即 0-50000ppm)覆盖了工业过程控制、蘑菇养殖大棚、地下停车场等场景。但如果你做的是室内空气质量监测,量程只需要 0-2000ppm,那选这种大量程的料反而吃亏——因为满量程大,小浓度段的绝对误差也大。通常经验是,实际测量值落在量程的 30%-90% 区间,测量精度才能保证。换言之,IR31CE 更适合 CO2 浓度在 15000ppm 以上的场景,低于这个值,精度表现就不那么好看。
第二步看输出方式。IR31CE 的引脚输出是模拟信号,需要外接 ADC 采集。选型时要确认你的 MCU 有没有足够的 ADC 通道和引脚空间。另外,这类 NDIR 传感器的输出曲线不是线性的,通常遵循朗伯-比尔定律的指数衰减关系,所以计算浓度时要用指数拟合公式。如果不想自己在固件里做对数运算,可以考虑同品牌带数字接口的型号,比如 TC1326 系列,但价格会高一档。
第三步还是得确认环境压力。IR31CE 标称 700-1300 mbar,覆盖了海拔 3000 米到海平面以下的常见区间。高空无人机或者高原基站如果海拔超过 3500 米,气压低 650 mbar 以下,传感器读数会偏低,这时候就需要额外加装气压传感器做修正。老实说这个坑我踩过——实验室里校准好好的,上到高原现场就误报警,后来才意识到是压力变化导致的气体密度变化,不是传感器本身坏了。
典型应用场景里的工程细节
农业温室大棚是 IR31CE 最常出没的地方。冬季大棚为了保温往往密闭,CO2 浓度可以飙到 3000ppm 以上。这时候传感器输出驱动补光灯或者通风窗开启。工程上的关键问题在于湿度——大棚内部相对湿度常年在 85% 以上,而 NDIR 传感器的光学窗口上结露会导致光路衰减,读数偏高。设计时要把传感器装在防溅盒里,并且让探头朝下安装,这样冷凝水会滴落而不是在窗口积膜。
工业过程控制,比如发酵罐或者啤酒酿造车间的 CO2 浓度监测,又是另一套讲究。发酵过程中产生的 CO2 浓度在 1%-5% 区间波动,正好落在 IR31CE 的甜点区。但这些场合往往有电磁干扰——变频器、电机启停都会产生电源纹波或者空间辐射。60mA 的供电电流看起来不大,但引线太长的时候,天线效应会把干扰信号耦合进来,导致输出在微小幅度上乱跳。解决办法是四线制接法:两根电源、两根信号,信号线用双绞屏蔽线,屏蔽层单端接地。
容易踩的坑:温度补偿和光源老化的叠加效应
NDIR 传感器有两类典型失效模式。第一类是光源老化。红外光源虽然设计寿命长,但长期运行在高温环境下,辐射效率会逐渐下降。当光源光强衰减到出厂值的 70% 以下时,传感器读数会整体偏高,而且这种偏移不是线性的——低浓度段偏移小、高浓度段偏移大。这就是为什么手册要求每 6-12 个月做一次零点校准。如果现场没有标准气体,至少要用氮气吹扫气室做零点检查。
第二类是温度补偿不完整导致的"虚假报警"。IR31CE 内部有温度传感器,原厂做了一定程度的温度补偿,但补偿曲线是基于恒定温度梯度设计的。如果现场有强烈的气流回吹,或者传感器紧挨着发热元件(比如开关电源),温度梯度快速变化,补偿算法来不及跟上,输出就可能瞬间跳变。碰到这种情况,我的做法是在软件里做滑动平均滤波,窗口长度取 3-5 秒,既能滤除脉冲干扰,又不会对缓慢的 CO2 浓度变化造成明显延迟。
还有一个容易被忽视的点——交叉干扰。IR31CE 的窄带滤光片对 CO2 有高选择性,但水蒸气的红外吸收带和 CO2 的 4.26μm 波长有轻微重叠。在高湿度环境下(相对湿度>90%),实测读数可能比实际浓度偏高 3%-5%。对于要求不高的通风控制来说无伤大雅,但如果你的系统对接的是计量级监测,就需要额外配置湿度传感器做修正。
话说回来,IR31CE 这类红外气体传感器在实时性上跟电化学传感器没法比。它的响应时间(T90)通常在 30 秒到 1 分钟之间,因为气室内的气体交换靠的是扩散,没有气体的强制流动。如果你的应用需要秒级响应(比如安全防爆监测),那得考虑加装微型气泵做主动抽气,IR31CE 的接口是开放的,可以外接气管,但请注意气泵工作时产生的振动和气流脉动会影响读数稳定,需要在结构上做缓冲。