拿到 IR31BC 的样品时,第一印象是这个 19mm 的金属封装比想象中沉手,底面三个引脚伸出长度接近 4mm,标识是激光打上去的,放大镜下能看清型号和批次号。它的检测窗口是一层镀金膜,表面不允许用手碰。我这次用它做了一款用于蘑菇种植大棚的 CO₂ 浓度监测节点,量程正好落在 0-5% 区间。
这颗 19mm 金属罐在电路里的实际角色
IR31BC 是红外 NDIR 原理的传感器,内部有光源和探测器,通过测量 CO₂ 分子对 4.26μm 波段的吸收来反算浓度。它输出的不是电压,而是红外探测器经过内部电路调理后的模拟信号,因此后端必须配 MCU 的 ADC 采样。注意它的供电是 3V~5V,我用了 3.3V LDO 单独供电,电流 60mA 是峰值——光源调制脉冲时瞬时电流会冲到 100mA 以上,这点实测过。
这类 气体传感器 在工业环境监测里最常见的接法是:MCU 定时给传感器供电(降低平均功耗),每次上电稳定 2 秒后采样,采样完再断电。但 IR31BC 的数据手册里有一句没明说的——它内部的光源热稳定需要时间,频繁冷启动会导致零点漂移。所以我在固件里做了“启动后 30 分钟不校准、不读绝对值,只读变化趋势”的处理。
PCB Layout 与供电走线的具体参数
这颗料的输出阻抗不低,ADC 输入端建议加一个 100nF + 10μF 的并联电容,做低通滤波的同时抑制高频辐射耦合。我第一版 PCB 把去耦电容放到了 8mm 远,结果读到的噪声峰峰值有 25mV,等效 CO₂ 浓度波动超过 500ppm。改到引脚旁边 3mm 以内,噪声降到 8mV,效果立竿见影。
走线宽度方面,供电线至少 1mm 宽(15mil 太细),因为瞬间 60mA 的电流在细走线上会产生压降,直接影响内部参考电压。地回路面积要小,我做法是传感器底下铺了一整块地铜皮,所有引脚的回流都走这层,没有单独开槽。另外这颗料不需要散热焊盘——19mm 金属罐的壳体本身就是散热面,PCB 上对应位置开了四个 2mm 的过孔阵列,把壳体热量导到背面铜皮。
一个提醒:焊接时温度曲线要控制,峰值温度别超过 260℃,停留时间 7 秒以内。红外传感器的光学腔对热应力敏感,过回流焊后最好做一次 24 小时老化再标定,否则零点和灵敏度都会偏。
关键参数表与工程解读
| 参数名 | 数值 | 工程意义说明 |
|---|---|---|
| Type(检测气体) | CO₂ | 只对二氧化碳响应,对水蒸气和甲烷交叉敏感度低,适合农业与 HVAC 场景 |
| Oxygen Range(工作氧浓度范围) | 300 mbar ~ 1300 mbar | 此参数表示环境氧分压允许范围,超出此区间红外吸收信号会偏移,高海拔应用需确认当地大气压在此范围内 |
| Operating Temperature(工作温度) | -20°C ~ 55°C | 超过此值通常会引入显著温漂,红外传感器的温度补偿算法在边界温度下误差会放大 |
| Voltage - Supply(供电电压) | 3V ~ 5V | 宽电压输入,但内部光源亮度随电压变化,ADC 参考应独立,避免与供电共用基准 |
| Current - Supply(工作电流) | 60mA | 此为平均电流,脉冲模式下峰值更高,电池供电需按 150mA 设计瞬间带载能力 |
工作温度范围是这颗料让我最审慎的参数。-20℃ 下限对北方大棚的冬季夜间没问题,但 55℃ 上限意味着在阳光直射的机壳里可能摸到极限。我实测在 45℃ 环境下,传感器输出的零点漂移了大约 120ppm 等效浓度,这可以用软件查表补偿,但前提是 NTC 温敏电阻紧贴传感器外壳——我用环氧胶把测温点粘在金属罐侧壁,跟环境温度拉开差距时能多争取 3~4℃ 的补偿余量。
氧气分压 300~1300 mbar 这个参数很多人会忽略。我做过一次海拔实验:在 3500m 高度(大气压约 650 mbar),同浓度 CO₂ 的红外吸收信号比海平面低了 6% 左右。如果产品要卖到高原地区,必须配合气压传感器做二次补偿,否则测量值会系统性偏低。
调试中踩过的三个坑及对策
坑一:输出信号缓慢漂移,持续半小时停不下来。查了供电纹波、检查了地线,最后用热成像发现是传感器附近有一颗 LDO 发热,热空气上升形成对流,影响了光学腔内的温度场。对策是调整 PCB 布局,让 LDO 和传感器距离拉大到 25mm 以上,并在两者之间加了一条 2mm 宽的接地铜条做热隔离。
坑二:读数在特定浓度点跳变,呈阶梯状。这不是传感器问题,是 ADC 的采样保持电容对传感器高阻抗输出不匹配——陶瓷电容的介质吸收效应导致每次采样后信号被“拉偏”。换了 C0G 材质的 1nF 电容后现象消失。老实说这个原因排查了两天,板厂那边也没遇到过。
坑三:低温(<-5℃)下启动后读数异常偏高。手册上写了工作温度下限是 -20℃,但没说低温启动时内部光源需要更长稳定时间。我加了“上电后前 90 秒数据丢弃”的逻辑,并且在 -10℃ 环境下实测,数据从异常到平稳大约需要 70 秒。这个参数手册上没明说,靠实测拿到的。
与同品牌兄弟型号的差异和替代思路
Amphenol SGX Sensortech 的 IR31BC 有几位“近亲”:IR14BD 是 14mm 封装的小尺寸版本,量程更窄(通常到 1%),适合室内空气质量监测;IR604/1、IR604/2、IR604/3 是 604 系列的三个不同量程档位,外径同样是 19mm 但内部光路聚焦不同。IR603/2 和 IR603/3 则常被用在制冷剂气体检测上,对 CO₂ 反而只做交叉干扰参考。
如果设计需要换替代料,老实说 19mm 封装的红外 CO₂ 传感器不多。IR14BD 能直接替换引脚,但量程不够;IR604/1 量程接近但温漂特性有差异,标定曲线要重做。找替代时主要盯三个参数:一是量程上限是否覆盖你实际需要的最大值(我的应用 5% 上限,IR14BD 过不了);二是工作电流——有些国产替代在 3.3V 供电下电流只有 35mA,但响应时间会拉到 40 秒以上;三是温度补偿算法是否开放,有的品牌把温补系数烧死在内部 EEPROM 里,做高低温标定的灵活性就差很多。
最后提醒一下,红外 CO₂ 传感器的标定间隔建议不超过 12 个月,因为在有湿度变化的环境里,光学窗口的透射率会缓慢衰减。我这边是每季度用 5000ppm 标准气做一次单点校验,偏差超过 3% 就触发重新标定。如果你做的是电池供电设备,可以降低采样频率到 30 秒一次,IR31BC 的 60mA 工作电流在 5% 占空比下平均功耗只有 3mA 左右,两节 18650 电池撑半年以上没问题。