简介
非分散红外(NDIR)光谱仪常被用来检测气体和测量碳氧化物(例如一氧化碳和二氧化碳)的浓度。一个红外光束穿过采样腔,样本中的各气体组分吸收特定频率的红外线。通过测量相应频率的红外线吸收量,便可确定该气体组分的浓度。之所以说这种技术是非分散的,是因为穿过采样腔的波长未经预先滤波;相反地,光滤波器位于检波器之前,以便滤除选定气体分子能够吸收的波长之外的所有光线。
图1所示电路是一个基于NDIR原理的热电堆气体传感器完整电路。该电路针对二氧化碳检测优化,但采用不同滤光器的热电堆之后亦可精确测量多种气体的浓度。
印刷电路板(PCB)采用Arduino扩展板尺寸设计,并与Arduino兼容平台板EVAL-ADICUP360对接。信号调理由低噪声放大器AD8629 和 ADA4528-1以及精密模拟微控制器ADuCM360实现,该微控制器集 成可编程增益放大器、双通道24位Σ-Δ型模数转换器(ADC)和ARM®Cortex®-M3处理器。
热电堆传感器由通常串联(或偶尔并联)的大量热电偶组成。串联热电偶的输出电压取决于热电偶结与基准结之间的温度差。该原理称为塞贝克效应,以其发现者Thomas Johann Seebeck命名。
本电路使用运算放大器AD8629放大热电堆传感器输出信号。热电堆输出电压相对较小(从几百微伏到几毫伏),需要高增益和极低的失调与漂移,以避免直流误差。热电堆的高内阻特性(典型值为84 kΩ)需要低输入偏置电流的放大器以较大程度地减少误差,而AD8629的偏置电流仅为30 pA(典型值)。该器件随时间和温度变化的漂移极低,在校准温度测量后不会引入额外误差。与ADC采样速率同步的脉冲光源较大程度地减少低频漂移和闪烁噪声引起的误差。
AD8629在1 kHz下的电压噪声频谱密度仅为22 nV/√Hz,低于热电堆37 nV/√Hz的电压噪声密度。
AD8629在10 Hz下的电流噪声频谱密度也非常低,典型值仅为5 fA/√Hz。该电流噪声流过84 kΩ热电堆,10 Hz时的噪声贡献仅为420 pV/√Hz。
采用低噪声放大器ADA4528-1作为缓冲的传感器共模电压为200mV,因此NTC和热电堆信号输出满足ADuCM360缓冲模式输入的要求:ADuCM360 ADC缓冲模式输入为AGND + 0.1 V至约AVDD - 0.1 V。CN-0338 Arduino扩展板兼容其它类型的仅有单端输入ADC的Arduino兼容平台。
该电路的斩波频率范围为0.1 Hz至5 Hz,可通过软件选择。低压差稳压器 ADP7105 l生成稳定的5 V输出电压以驱动红外光源,并由ADuCM360控制开关。ADP7105具有软启动功能,可消除冷启动光源时产生的浪涌电流。
ADuCM360集成双通道、24位、Σ-Δ型ADC,在3.5 Hz至3.906 kHz的可编程速率范围内可同步采样双热电堆单元。NDIR系统的数据采样速率范围限制在3.5 Hz至483 Hz之间,以便具有优质的噪声性能。
热电堆检测器工作原理
为了理解热电堆,有必要回顾热电偶的基本理论。
如果在绝对零度以上的任意温度下连接两种不同的金属,则两种金属之间会产生电位差(热电EMF或接触电位),此电位差是结温的函数(参见图2中的热电EMF电路)。
如果两根导线在两处相连,则形成两个结点(参见图2中连接负载的热电偶)。如果两个结点的温度不同,则电路中产生净EMF,并有电流流过,电流由EMF和电路总电阻决定(参见图2)。如果其中一根导线断开,则断点处电压等于电路的净热电EMF;并且如果该电压可以测得,便可利用其计算两个结点之间的温度差(参见图2中的热电偶电压测量)。记住,热电偶测量两个结点之间的温度差,而非一个结点处的绝对温度。只有当另一个结点(通常称为基准结点或冷结)已知的情况下,测量结点处的温度才可测得。
但是,要测量热电偶产生的电压却很困难。假设电压表连接第一个热电偶测量电路(参见图2中显示冷结的实际热电偶电压测量)。连接电压表的导线在连接处形成了更多的热电偶。如果这些额外的结点温度相同(无论温度是多少),则中间金属法则表明它们对系统的总EMF没有净贡献。如果它们的温度不同,则产生误差。由于每一对不同的接触金属都会产生热电EMF——包括铜片/焊点、可伐/铜片(可伐是一种用于IC引线框架的合金)和铝/可伐(IC内的焊接)——在实际电路中,问题更为复杂,有必要极其谨慎地确保热电偶周边电路的所有结点对(除测量结点和基准结点本身)的温度相同。
热电堆由大量热电偶串联而成,如图3所示。与单个热电偶相比,热电堆产生的热电电压要高得多。
在NDIR应用中,经过滤波的脉冲红外光施加于串联有源结点;因此,结点加热,产生较小的热电电压。基准结点的温度由热敏电阻测量。
很多气体的正负电荷中心瞬态或稳态不重合。在红外频谱,气体可吸收特定频率,这种特性可以用来进行气体分析。当红外辐射射入气体中,并且当分子的自谐振频率与红外波长相匹配时,气体分子会根据原子的能级跃迁而与入射红外线产生谐振。
对于大部分红外气体检测应用而言,目标气体的成分是已知的,因此不需要气相色谱分析。然而,如果不同气体的吸收线重叠,那么系统就必须处理这些气体之间的相互干扰。
二氧化碳在4200 nm和4320 nm之间存在吸收峰值,如图4所示。
红外光源的输出波长范围和水的吸收频谱同样决定了检测波长的选择。在3000 nm以下,以及4500 nm和8000 nm之间,水具有较强的吸收性。如果目标气体中有湿气(湿度高),则在这些范围内,检测气体会受到较强的干扰影响。图5显示了二氧化碳吸收频谱与水的吸收频谱重叠。(所有吸收数据均来自HITRAN数据库)。
如果将红外光施加在双热电堆传感器上,并安装一对滤光器,使其中一个滤光器中心波长在4260 nm,而另一个中心波长在3910 nm,则通过测量两个热电堆的电压之比即可测得二氧化碳浓度。中心波长与二氧化碳吸收波长重叠的滤光器用作测量通道,中心波长在二氧化碳吸收波长以外的滤光器用作基准通道。使用基准通道后,可消除灰尘或辐射强度衰减引起的测量误差。二氧化碳和水蒸汽对3910nm的红外线几乎都没有吸收,注意这一点很重要;这使得该区域成为基准通道的理想地点。
NDIR检测中使用的热电堆具有相对较高的内阻,而50 Hz/60 Hz电源线噪声会耦合进入信号路径。热电堆的内阻可能为100 kΩ左右,导致热噪声成为系统内的主要噪声。例如,图1系统中选用的热电堆传感器电压噪声密度为37 nV/√Hz。为了使系统拥有较好的性能,应该使传感器输出尽可能大的信号,并且在电路中使用较低的增益。
使来自热电堆传感器的信号较大化的最佳方法是使用具有高反射特性的腔室,这样做可以确保尽可能多的辐射进入检测器而不被腔室吸收。使用反射腔室来减少腔室吸收辐射量还可降低系统功耗,因为这样可以使用小功率的辐射源。
NDIR气体吸收的比尔-朗伯定律
测量通道传感器的红外强度以指数关系递减,此关系称为比尔-朗伯定律:
其中:
I表示出射光强。
I0表示入射光强。
k表示特定气体和滤光器组合的吸收系数。
l表示光源与检测器之间的等效光学路径长度。
x表示气体浓度。
对于测量通道传感器输出,存在相应的输出电压变化V0 – V:
其中:
FA表示相对吸收率。
V0表示入射光强对应传感器输出。
V表示出射光强对应传感器输出。
整理公式,并结合前面两个公式,可得:
如果k和l保持不变,FA可相对于x进行绘图,如图6所示(其中,kl = 115、50、25、10和4.5)。FA值随c增加,但最终在高气体浓度下饱和。
这一关系表明,对于任意固定的设置,低浓度时气体对相对吸收率的影响要高于高浓度;但是,可以调节k和l,以便针对所需的气体浓度范围提供优质吸收。这意味着较长的光学路径更适合于低气体浓度,而较短的光学路径更适合于高气体浓度。
下文描述了两点校准步骤,这在使用理想比尔-朗伯公式确定kl常数的情况下是必需的。如果b = kl,则
校准的第一步要求对传感器组件施加低浓度的二氧化碳气体(或纯氮气,即0%浓度的二氧化碳气体)。
- ACTLOW表示低浓度气体环境中测量通道传感器的峰峰值输出。
- REFLOW表示低浓度气体环境中基准通道传感器的峰峰值输出。
- TLOW表示低浓度气体的温度。
校准的第二步要求将已知浓度(xCAL)的二氧化碳气体施加到组件上。通常,xCAL浓度水平选择浓度范围内的最大值(比如针对工业空气质 量范围,选择0.5%体积浓度)。
- ACTCAL表示校准气体浓度为xCAL时,测量通道传感器的峰峰值输出。
- REFCAL表示校准气体浓度为xCAL时,基准通道传感器的峰峰值输出。
这样就可以写出以下含有两个未知数(I0和b)的联立方程:
求解两个方程的I0 和 b,
然后,对于未知浓度(x)的气体,其中:
ACT表示未知气体环境中测量通道传感器的峰峰值输出。
REF表示未知气体环境中基准通道传感器的峰峰值输出。
T表示未知气体的温度,单位为K。
系数T/TLOW补偿温度变化对气体浓度的影响(在此使用了理想气体定律)。
修正比尔-朗伯定律
出于实际考虑,在使用NDIR时,需要修改比尔-朗伯定律以得到精确的读数,如下所示:
因为并非所有达到热电堆的红外辐射都经历过理想的气体吸收(哪怕气体浓度较高),因而引入SPAN系数。由于滤光器带宽和吸收频谱的精细结构,SPAN小于1。
光学路径长度的变化和光的散射要求增加指数项c,以便使方程精确吻合实际吸收数据。
b和SPAN常数值同样取决于测量的浓度范围。典型浓度范围如下所示:
- 工业气体质量(IAQ):0至0.5% vol. (5000 ppm)。注意,环境空气中的二氧化碳浓度约为0.04% vol.,或400 ppm。
- 安全防护:0至5% vol.。
- 燃烧:0至20% vol.。
- 过程控制:0至100% vol.。
特定系统的b和c实际值通常使用曲线拟合程序从FA与浓度x的关系曲线上的一个数据点求得。
对于b和c常数已确定的给定系统,ZERO和SPAN的数值可以使用两点校准法计算得到。
此过程的第一步是注入低浓度xLOW气体,并记录以下内容:
- ACTLOW: 低浓度气体环境中测量通道传感器的峰峰值输出。
- REFLOW: 低浓度气体环境中基准通道传感器的峰峰值输出。
- TLOW: 低浓度气体的温度,单位为K。
校准的第二步要求将已知浓度(xCAL)的二氧化碳气体施加到组件上。通常,xCAL浓度水平选择浓度范围内的最大值(比如针对工业空气质量范围,选择0.5%体积浓度)。记录以下内容:
- ACTCAL: 校准气体浓度为xCAL时,测量通道传感器的峰峰值输出。
- REFCAL: 校准气体浓度为xCAL时,基准通道传感器的峰峰值输出。
这样就可以写出以下含有两个未知数(I0和SPAN)的联立方程:
求解两个方程中的ZERO和SPAN:
然后,对于未知浓度(x)的气体,其中:
ACT表示未知气体环境中测量通道传感器的峰峰值输出。
REF表示未知气体环境中基准通道传感器的峰峰值输出。
T表示未知气体的温度,单位为K。
此方程假定 TLOW = TCAL.
环境温度的影响
热电堆传感器通过吸收辐射来检测温度,但也会对环境温度变化作出响应,导致杂散和干扰信号增加。由于这个原因,很多热电堆传感器都在封装内集成了热敏电阻。
辐射吸收与腔室中的目标分子数量有关,而非目标气体的绝对百分比。因此,吸收采用标准大气压力下的理想气体定律表述。
有必要同时记录校准状态和测量状态下的温度数据:
其中:
x 表示无温度补偿时的气体浓度。
TLOW 表示校准时的气体温度,单位为K。
T 表示采样时的温度,单位为K。
xT 表示温度为T时的气体浓度。
理想气体定律下除了浓度会随温度而变之外,SPAN和FA也会随温度而产生轻微变化,在进行精度极高的浓度测量时可能需要校正。
本文不涉及SPAN和FA温度校正,但可以从SGX Sensor tech的应用笔记1、应用笔记2、应用笔记3、应用笔记4和应用笔记5,以及Alphasense Limi ted的应用笔记A AN-201、A AN-202、A AN-203、AAN-204和AAN-205中获取详情。
热电堆驱动器
HTS-E21-F3.91/F4.26热电堆(Heimann Sensor, GmbH)的每一个通道都有84 kΩ内阻。单通道等效驱动电路如图7所示。内部84 kΩ热电堆内阻和外部8.2 nF电容组成RC低通噪声滤波器,-3 dB截止频率为:
改变不同热电堆的C11和C15也就改变了噪声性能和响应时间。
84 kΩ/8.2 nF滤波器的阶跃函数 22位建立时间约为:
AD8629同相放大器增益设置为214.6,-3 dB截止频率为:
22位建立时间约为:
NDIR最大斩波频率为5 Hz,因此半周期脉冲宽度最小值为100 ms。22位建立时间约为0.1倍最小斩波脉冲宽度。
AD8629的0.1 Hz至10 Hz输入电压噪声为0.5 μV p-p。忽略传感器电压噪声和AD8629电流噪声,则热电堆的1 mV p-p信号输出具有如下信噪比(SNR):
其中一个热电堆以伪差分输入方式连接ADuCM360 ADC1/ADC3输入引脚,另一个个连接ADC2/ADC3输入引脚。ADC3输入引脚连接200 mV共模电压,由低噪声放大器ADA4528-1驱动。ADA4528-1的0.1 Hz至10 Hz输入电压噪声为99 nV p-p。若要使ADC输入引脚保持在0.1 V以上,则需使用200 mV共模电压。
AD8629级的增益为214.6,ADuCM360内部PGA增益通过软件自动设定,范围为1至128,确保输入信号匹配ADC输入的满量程范围(即±1.2 V)。来自热电堆的峰峰值信号范围为几百微伏至几毫伏。例如,假设满量程热电堆信号为1 mV p-p,则PGA增益4可产生860 mV p-p的ADC输入信号。
不同灵敏度的热电堆可能会要求AD8629级具有不同增益。如需将CN-0338 Arduino扩展板与其它ADC内部没有集成PGA的Arduino平台连接,则可能需要更高的增益。
改变AD8629增益的最简单方法是改变R6和R10;这样不会影响由R5/R8和C9/C10决定的主极点频率。
软件可以选择热电堆输出数据处理算法。用户可以在峰峰值算法和均值算法之间作出选择。
更多有关信号采集、光源脉冲定时以及温度补偿处理算法的详细信息,请参阅CN-0338设计支持包和CN-0338用户指南中的CN-0338 源代码。.
NTC热敏电阻驱动器
热电堆中的集成式NTC温度传感器特性如下:
RTH = 100 kΩ
β = 3940
热敏电阻驱动器的戴维宁等效电路参见图8。R3和R4分压器电阻提供670.3 mV电压源,并与103.6 kΩ电阻串联。驱动电压为670.3 mV -200 mV = 470.3 mV。
当RTH = 100 kΩ时(25°C),热敏电阻上的电压为231 mV,因此测量时,将PGA增益设为4。
ADuCM360中的灵活输入多路复用器和双通道ADC支持热电堆信号和温度传感器信号的同时采样,以补偿漂移。
红外光源驱动器
选用International Light Technologies MR3-1089作为红外光源,它具有抛光铝反射器,150 mA时所需驱动电压为5.0 V,以便使红外辐射最大化,并获得优质系统性能。来自灯的热量使光反射器的温度保持在环境温度以上,有助于防止潮湿环境中出现冷凝。
温度较低(关灯)时,灯丝具有较低的电阻,这使其在开灯瞬间产生电流浪涌。带有软启动功能的稳压器对于解决这个问题很有用。
低压差稳压器ADP7105具有可编程使能引脚,将它连接到DuCM360 的通用输入/输出引脚,可以对光源进行开关控制。10 nF软启动电容C6具有12.2 ms的软启动时间,这约等于100 ms最小斩波阶跃时间的0.125倍。
灯的导通电流(~150 mA)较大,因此须仔细进行电路设计与布局,防止灯的开关脉冲耦合至微小的热电堆输出信号。
仔细确保灯的返回路径不会流经敏感的热电堆传感器接地返回路径。灯的电流回路不可以与处理器的电流回路重叠,否则可能会产生电压失调误差。强烈建议针对灯的驱动以及系统的信号调理部分采用单独的稳压器。
ADP7105光源驱动器直接采用连接EVAL-ADICUP360板的外部电源供电。
软件考虑因素
同步斩波和采样
如需测量气体浓度,就必须对基准和测量通道中的峰峰值信号值进行采样。ADuCM360集成两个24位、Σ-Δ型ADC,这些ADC在连续采样模式下工作。ADC由可编程增益放大器驱动,增益选项为1、2、4、8、16、32、64和128。
默认斩波频率设为0.25 Hz,默认采样速率设为10 Hz。但是,可以在软件中设置斩波频率,设置范围为0.1 Hz至5 Hz;还可以设置ADC采样速率,设置范围为3.5 Hz至483 Hz。软件保证采样速率至少是斩波频率的30倍。
对于0.25 Hz的默认斩波频率而言,热电堆数据在2秒半周期内的后1.5秒内以10 Hz采样率获得,保证信号完全建立。忽略前500 ms的数据(消隐时间)。消隐时间也可以在软件中设置,上升沿和下降沿可分别设置。注意,NTC热敏电阻数据在消隐期间获得。
校准程序:理想比尔-朗伯方程
由于灯和热电堆的特性不同,初次使用以及改变热电堆或灯时必须校准电路。
建议将整个组件放置在密封腔室中,并可向其中注入已知浓度的二氧化碳气体,直到腔室中一切原有气体均被排出。稳定数分钟后,便可开始进行测量。
理想比尔-朗伯方程的校准方式和算法如以下步骤所示:
1. 输入下列命令:sbllcalibrate(标准比尔-朗伯校准)。
2. 注入低浓度(xLOW)或零浓度气体(氮气),并让腔室内的气体稳定。
3.在终端输入二氧化碳浓度。
4. 系统测量ACTLOW,它表示低浓度气体中测量通道传感器的峰峰值输出。
5. 系统测量REFLOW,它表示低浓度气体中基准通道传感器的峰峰值输出。
6. 系统测量低浓度气体的温度TLOW.
7. 向腔室中注入浓度为xCAL的高浓度二氧化碳。
8. 在终端输入二氧化碳浓度。
9. 系统测量ACTCAL、REFCAL和校准温度TCAL。
10. 系统计算ZERO和b值:
如需利用理想比尔-朗伯方程测量未知浓度的二氧化碳气体,则请按下述步骤操作:
1. 向腔室注入未知浓度气体并使其稳定。
2. 测量ACT,它表示测量通道传感器的峰峰值输出。
3. 测量REF,它表示基准通道传感器的峰峰值输出。
4. 测量温度T,单位K。
5. 使用校准后的ZERO值。
6. 使用校准后的b值。
7. 计算相对吸收率:
计算浓度,应用理想气体定律下的温度补偿:
此步假定 TLOW = TCAL.
注意,CN-0338软件会自动执行第2到第7步。
校准程序:修正比尔-朗伯方程
如果通过测量得到了常数b和c的值,则使用下列步骤。
1. 输入下列命令:mbllcalibrate(修正后的比尔-朗伯校准)。
2. 输入b和c常数。
3. 注入低浓度(xLOW)二氧化碳气体(氮气),并让腔室内的气体稳定。
4. 在终端输入二氧化碳浓度。
5. 系统测量ACTLOW,它表示低浓度气体中测量通道传感器的峰峰值输出。
6. 系统测量REFLOW,它表示低浓度气体中基准通道传感器的峰峰值输出。
7. 系统测量温度TLOW.
8. 向腔室中注入浓度为xCAL的高浓度二氧化碳。
9. 在终端输入二氧化碳浓度。
10. 系统测量ACTCAL、REFCAL和校准温度TCAL。
11. 系统计算ZERO和SPAN:
如需利用修正后的比尔-朗伯方程测量未知浓度的二氧化碳气体,则请按下述步骤操作:
1. 向腔室注入未知浓度气体并使其稳定。
2. 测量ACT,它表示测量通道传感器的峰峰值输出。
3. 测量REF,它表示基准通道传感器的峰峰值输出。
4. 测量温度T,单位K。
5. 使用校准后的ZERO和SPAN值。
6. 使用之前确定的b和c值。
7. 计算相对吸收率:
计算浓度,应用理想气体定律下的温度补偿:
此步假定TLOW = TCAL.
NTC热敏电阻算法与计算
NTC热敏电阻等效电路如图9所示。
热敏电阻上的电压为:
其中:
VCC 为 3.3 V.
RNTC 为热敏电阻值。
NTC热敏电阻值可以表示为:
其中:
RTH 表示温度为T0时的热敏电阻值。
β 是NTC热敏电阻数据手册中的参数。
RNTC 表示温度T时的热敏电阻值。
合并以上两个方程可得:
在每个灯的斩波时间间隔内,ADC切换至NTC采样,如图10所示。
用户交互界面
EVAL-ADICUP360平台板通过USB端口连接PC。该板显示为一个虚拟COM设备。任意类型的串口终端均可与EVAL-ADICUP360板交互,用于开发和调试。关于软件操作的详细信息,请参阅电路笔记CN-0338。
图11显示了典型EVAL-CN0338-ARDZ板的相对吸收率(FA)与二氧化碳浓度的函数关系。
EVAL-CN0338-ARDZ板的完整设计支持包包括布局文件、物料清单、原理图和源代码,请参阅www.analog.com/CN0338-DesignSupport.
测试设置的功能框图如图12所示,EVAL-CN0338-ARDZ Arduino扩展板和EVAL-ADICUP360 Arduino兼容平台板的照片如图13所示。
总结
实现NDIR测量所需的模拟电子器件包括精密低噪声放大器和高分辨率模数转换器。本文所述的电路是高集成度解决方案,其利用精密模拟微控制器ADuCM360来执行精密PGA功能、精密Σ-Δ ADC转换以及数字控制和处理。
Arduino扩展兼容能力支持快速开发NDIR设计原型,以及根据具体应用要求定制软件。
参考电路
应用笔记1,非分散红外气体检测技术背景. SGX Sensortech, 2007年。
应用笔记2,红外气体传感器信号处理. SGX Sensortech, 2007年。
应用笔记3,用于红外气体传感器的微控制器软件设计. SGX Sensortech, 2007年.
应用笔记4,红外气体传感器的电子设计. SGX Sensortech, 2009年.
应用笔记5,确定线性化和温度补偿的系数. SGX Sensortech, 2009年.
应用笔记AAN-201,NDIR:气体浓度计算概述. Alphasense Limited, 2014年.
应用笔记A A N-202,ND IR:热电传感器的电子接口和信号提取。. Alphasense Limited, 2016年.
应用笔记AAN-203,NDIR:线性化和温度校正系数的确定. Alphasense Limited, 2009年.
应用笔记AAN-204,NDIR:非线性和SPAN的来源. Alphasense Limited, 2009年.
应用笔记A AN-205,NDIR:以降低的灯电压运行IRC-A1. Alphasense Limited, 2009年.
电路笔记CN-0338,基于热电堆的NDIR气体检测电路。ADI公司,2016年。
CN-0338设计支持包:www.analog.com/cn/CN0338-DesignSupport。
教程MT-004,ADC输入噪声面面观——无噪声是利还是弊? ADI公司,2009年。
教程MT-031,实现数据转换器的接地并解开AGND和DGND的谜团. ADI公司,2009年。
教程MT-035,运算放大器输入、输出、单电源和轨到轨问题. ADI公司, 2009年.
教程MT-037,运算放大器输入失调电压. ADI公司, 2009年.
教程MT-101,去耦技术。ADI公司,2009年。