基于MSP430的CO2/O2双气体探测器设计
2014-03-21李亚萍吕运朋汪献忠
李亚萍,吕运朋,汪献忠,胡 涛
(1.郑州大学物理工程学院,河南郑州 450001;2.河南日立信有限公司,河南郑州 450001)
0 引言
在许多工业环境中,通过实时监测氧气和二氧化碳的含量,可以预防危险的发生,确保现场人员的生命安全,因此对这两种气体的检测十分重要。而目前市面上所售的大多数为便携式的,单一气体的检测器。只能在短时内检测单一气体。有的检测器内使用低精度的半导体类型传感器,甚至无法准确测量出气体含量。为此设计出一款高精度智能化的双气体探测器,不仅能准确测量,而且能接入智能网络中,便于远程监控。同时两种气体合二为一,降低了监测成本。
1 系统测量原理
1.1氧气测量原理
氧气传感器有很多种类型,根据本次应用的量程范围(0%~30%)和测量精度需要,最优的选择为电化学类型的氧气传感器。电化学氧气传感器测量精度较高,成本适中。它具有良好的选择性、可靠性和较长的预期寿命,在发生化学反应时释放出电荷,所以本身并不消耗能源。系统选择了4OX传感器,量程0~30%,质量在行业内属于领先水平,完全符合应用需要。
电化学氧气传感器含有两个电极——感应电极和负电极,它们被一层电解质薄膜分离开来。传感器内部充满电解液,扩散进入传感器的氧气在两电极表面分别发生氧化和还原反应,并产生近似正比于氧气浓度的电荷。通过检测两电极之间的电流大小,或在两电极之间并入一个负载电阻,检测负载电阻上的电压大小,就可以计算出粗略的氧气浓度。
由于空气中氧气含量较高,使得电化学氧气类传感器反应剧烈,很容易产生较高的电动势,抑制传感器内部的电荷产生。因此随着氧气浓度的增加,传感器的输出变成非线性的。该信号遵循式(1):
S=Kloge[1/(1-c)]
(1)
式中:S为输出信号;c为氧气浓度;K为常量。
如果传感器在空气中进行校准,取值为20.9%(S=20.9,c=0.209),这样可以计算出K值为89.14。图1反映了电化学氧气传感器输出信号与氧气浓度之间的关系。
图1 氧气传感器输出信号与浓度关系
通过校准操作,温度补偿和非线性补偿等算法,可以获得精确的氧气浓度值。
1.2二氧化碳测量原理
二氧化碳气体性质稳定,因此能高精度检测出二氧化碳气体含量的方法不多。常用传感器[1]有半导体式传感器,热导式传感器和红外式传感器。半导体式传感器虽然价格低廉,但稳定性太差。热导式传感器只适合检测已知气体成分和高浓度二氧化碳含量的情况,因此也不适用。系统选用数字式红外(NDIR)CO2传感器,它具有操作简便,可直接读浓度,寿命长,预热时间短,测量结果精度较高等特点,比较适合此次应用。
非色散(NDIR)红外传感器[2-4]原理如下:使用特定波形的脉冲(依照光源和探测器特性而定)激励一个红外光源,发出一宽波长范围内的红外光,红外光穿过传感器气室时,待测气体将吸收特定波长的红外光。一般使用双波长光探测器来检测红外光信号。双波长光探测器一般具有两个一样的光感应部分,前面加装不同波长(特定波长和参比波长)的滤光片,只有相应波长的光能通过滤光片到达探测器并产生相应的电信号。
红外光强和气体浓度之间的精确的联系是确定的,探测器的光强可以用比耳原理来描述:
I=I0ekp
(2)
式中:I表示照射到探测器的光强度的测量信号;I0表示浓度为0时的测量信号;k表示一个系统常数;p表示浓度。
如图2所示,工作时,传感器根据预先设定的调制频率发出周期性的,波长范围1~20 μm红外光,透过测量气室并被待测气体吸收衰减过的红外光由两个不同波长的光探测器探测。光探测器输出交流的电信号,通过其后的前置放大电路放大后经过高精密放大整流电路,得到与被测气体浓度对应的直流信号,送入信号采集处理系统处理。经过A/D采集,数字滤波,校准,线性插值及温度补偿等软件处理后,计算出CO2气体浓度。
图2 红外CO2传感器原理图
特别注意,光源的发光强度,红外光路径上的灰尘和水滴,都会影响光探测器接收到的信号强度。参比光源的引入,补偿了这个误差,极大地增加了测量精度和稳定性。
2 系统硬件设计
探测器采用16位低功耗单片机MSP430F2013为控制系统的核心,通过MSP430单片机内置的温度传感器采集温度。通过I2C总线直接读取二氧化碳气体的浓度。通过模拟放大电路将氧气传感器传出的微弱的电信号放大,经滤波后输入到MSP430单片机内部集成的16位高精度A/D转换模块[5]。通过对氧气浓度值的高点值和低点值校准,将A/D的数字值转化为氧气浓度值。并通过数字滤波、温度补偿和非线性补偿减小传感器的测量误差。每台仪表都具有不同的仪表地址,一旦收到相应仪表地址的请求,将通过RS485总线返回数据给上位机,以便实现多探测器联网功能。整体框图如图3所示。
图3 双气体探测器整体框图
2.1氧气测量硬件电路
电化学传感器的输出信号一般较弱,因此使用模拟电路对其进行放大处理。氧气传感器出来的微弱信号,放大至一个适合A/D采样的电压。经过低通滤波电路滤除高频干扰信号后,传给MSP430单片机的A/D进行转换处理。MSP430单片机内部包含一个16位的基于二阶过采样的模数调节器和数字抽取滤波器的A/D,具有很高的转换精度,使得A/D转换误差对测量结果的影响几乎为零。
2.2二氧化碳测量电路
二氧化碳传感器为智能传感器,浓度值已经经过智能处理并通过I2C总线输出。在设计中直接读取使用这个浓度值,有必要时才稍稍进行温度补偿和漂移调整。
2.3RS_485通讯模块硬件电路
RS485串行总线接口采用平衡发送和差分接收的方式进行数据通讯,较大提高了抗共模干扰能力和传输距离。总线上最多可以连接多达128个收发器,这样可以利用单一的RS485接口方便地建立起设备网络。
当总线上没有信号传输时,总线处于悬浮状态,容易受干扰信号的影响。将总线上差分信号的正端A+和正电源间接一个1~10 kΩ的电阻;负端B-和地间接一个1~10 kΩ的电阻。当总线上没有信号传输时,正负电源分别通过电阻对总线灌入电流,使总线保持在空闲状态。一般干扰信号很难改变总线的电平状态,因此能大大提高总线的稳定性。
如果需要,可在总线末端接一个匹配电阻,吸收总线上的反射信号,保证正常传输信号干净、无毛刺。
3 系统软件设计
系统主程序主要完成对传感器过来的测量信号进行正确的读取,通过一些初始化操作,协调各模块硬件电路正常工作,对所测传感器数值进行读取,经线性和温度补偿校正后,等待上位机的读取,各个下位机设有自己唯一的地址[6],且下位机之间不能通讯,一切通讯受上位机控制。开始时,所有下位机都处于监听状态,等待上位机发出指令。当上位机发出指令后,所有下位机都接收且将其中的地址帧与自己的地址比较。如果相同则将所测气体浓度值发送给上位机,若不同则不予响应。从而实现多传感器组网功能。
3.1氧气数据采集程序设计
氧气浓度值的读取主要使用了MSP430F2013内部的模数转换器,设置模数转换模块的各个寄存器。
温度变化会对传感器的输出有微小影响,由于传感器存在这种温度变化的影响和输出的非线性,使得所测浓度出现一定的误差,所以通过软件来对传感器温度和非线性进行补偿,使得所测气体浓度值误差减小,精度提高。仪表通过在氮气中标定其零点值,在空气中标定高点值后得到一条直线,在根据所采集的A/D值来计算并经温度补偿和非线性修正后输出其浓度值,使得测量结果更准确。
3.2二氧化碳数据采集程序设计
由于课题所选的二氧化碳传感器内部自带有I2C总线,所以软件设计采用MSP430F2013单片机的普通I/O口来模拟I2C协议,通过二氧化碳传感器给出的I2C时序编写相应的程序,读取二氧化碳传感器的输出值存入数组,去掉最大值和最小值后求平均值,然后对其进行温度补偿后将结果存储,等待上位机读取,若上位机发送的地址与本机地址一致,则将所测浓度值发送给上位机[7-8],数据读取成功,若读取数据失败,则继续维持上一次的浓度值。
4 仪表校准与温度补偿
由于传感器存在这种温度变化对输出的影响,因此需要进行相应的温度补偿,使得测量结果更准确。通过使用恒温箱和配气仪,对氧气传感器进行了温度实验,得到其温度特性曲线图如图4所示。
图4 温度特性曲线图
通过最小二乘法拟合获得某一浓度下温度与采样值的关系式为:
f(t)=23 809+617.25t+5.872t2
(3)
式中:f(t)为某一浓度下的采样值;t为温度。
此公式拟合相关度为0.999 37.
任意选一温度为基准点,通过式(3)可以计算出温度补偿系数,设计中选用0 ℃为基准点,得到一定温度范围内补偿系数式(4):
α(t)=f(t)/f(0)=1+0.025 925·t+(2.466 3e-4)·t2
(4)
在测量过程中,对于测量出来的任意温度t和采样值y,都可以将当前采样值转换为基准温度下的采样值,使用式(5):
X=y/α(t)
(5)
式中X为补偿后的采样值。
最后再通过校准值直接计算出补偿过后的氧气含量。
使用MF-5B多组分动态配气系统配置背景气为氮气的O2和CO2混合气体,温度为25 ℃,湿度为65%,通过配置高低点气体浓度值,等待A/D采样值稳定后,对传感器进行标定校准。通过配置相应气体浓度值,检测仪表性能,实验结果如表1所示。
表1 仪表实验数据
从表中数据可以看出,仪表的相对误差远小于5%,符合国标,满足设计要求。经测试,该探测器的O2测量最大误差为满量程的3%,CO2的测量误差为显示值的(5%+30)ppm.
5 结束语
该设计实现了对氧气和二氧化碳两种气体的同时测量,通过RS485通信将所测浓度值传送给上位机,可以实现对两种气体的实时监测,实践证明,通过选用高精度传感器和高精度测量电路,经过校准操作和温度补偿,此探测器的测量性能十分优异,同时具备的485远传功能可将处理好的数据上传至远方主机中。能广泛用于石油,煤矿,机械车间等各种需要长期实时监测O2/CO2的场所中。
参考文献:
[1]王汝琳,王咏涛.红外检测技术.北京:化工工业出版社,2006:52,57.
[2]李小伟,桑志锋,庄汝科,等.基于NDIR原理的便携式CO2浓度检测仪.山东科学,2009(3):54-56.
[3]陈世海,张申,牛光东,等.基于MSP430的红外瓦斯检测仪设计.煤矿机电,2006(4):13-15.
[4]洪利,章扬,李世宝.MSP430单片机原理与应用实例讲解.北京:北京航空航天大学出版社,2010:139-165.
[5]韩世进,张乐年.基于RS-485的多路数据采集系统.现代电子技术,2003(11):16-17.
[6]张永亮,李凌.基于Modbus 协议的智能电气监控系统.仪表技术与传感器,2012(4):45-47.
[7]韩慧.基于RS-485总线的温室环境监测系统.仪表技术与传感器,2012(3):64-65.