基于ARM单片机的CO检测系统设计
2017-11-21
内蒙古科技大学信息工程学院,内蒙古包头 014010
一、引言
一氧化碳(CO)是常见的污染物之一,凡是碳或含碳物质在不充燃烧时均可产生CO。由于CO是无色、无味的毒性气体,其危害性易被人们忽视,因此对CO浓度进行实时、准确的检测和报警是与人身安全、社会可持续发展切实相关的重要问题。目前CO的检测主要集中在工业排放领域,对人类生产生活环境中CO监测重视程度严重不足,其检测精度和灵敏度达不到实际需求。
本文介绍了一种基于可调谐半导体激光吸收光谱(Tunable Diode Laser Absorption Spectroscopy,TDLAS)的实时监测系统,将差分光学吸收光谱技术和ARM微处理技术相结合,克服了同类气体检测仪器检测速度慢,准确度、灵敏度不高的缺点,对工业安全生产和日常生活安全具有十分重要的现实意义和工程应用价值。
二、测量原理
TDLAS技术是基于朗伯-比尔定律(Lambert-Beer)建立起来的,当一束光强为I0,频率为v的激光通过某种气体介质时,若v与气体特征吸收带相重合时,便会发生吸收。其输出光强和输入光强满足朗伯-比尔定律[1],如式(1)所示:
其中,I0—待测气体的吸收光强;
I—气体吸收衰减后的光强;
α—吸收系数(与波长有关);
C—待测气体浓度;
L—光路吸收过程中的有效长度。
对式(1)进行简单的变形,可以得到被测气体浓度表达式为:
在α(λ)和L已知的情况下,气体的浓度就只与光强的衰减有关,由此可计算出被测气体浓度[2]。
三、系统描述
CO测量系统的整体结构图如图1所示。
由可调谐激光器发射出1.568μm波长的激光,光纤分路器将其分成两束。其中一束通过含有一定浓度CO的气室,称为检测气室,另外一束通过没有待测气体的气室,称为参考气室。分别将两路光电探测器得到的信号送信号调理电路放大降噪处理,并将调理后的两路电信号进行比值计算。然后将该信号送至微处理器STM32进行处理运算,并采用LCD显示模块实时显示检测到的浓度信息。
四、硬件系统
1、信号调理模块设计
在一氧化碳测试系统中,探测器输出的信号非常微弱,且噪声干扰比较大,如何从噪声信号中提取出精确地测量数据是本设计的难点之一。
系统采用具有高灵敏度和高带宽的InGaAs雪崩光电二极管(Avalanche Photo Detector,APD) 作为光电检测元件,以提高灵敏度。APD工作时需要施加一个反向结压,在反向偏置电压的作用下会引发雪崩效应。雪崩增益可通过改变偏压的大小进行调节,但外界施加的偏压不易过大,以防APD被击穿。系统中APD偏置电源电路采用低噪声、固定频率的PWM升压转换器MAX5026,外围电路利用一个工作于非连续电流模式的电感来降低了高频电压毛刺[3]。同时偏置电路采用ADC进行数字控制,由微控制器对APD进行温度补偿,以减少温度对探测器转化精度的影响,从而提高了系统检测灵敏度。为保证雪崩二极管响应灵敏度,最终确定28V作为工作偏压。偏置电路图如图2所示。
探测器的输出为电流信号,为了方便信号处理将电流信号通过外接接地电阻进行I/V转换。由于探测器输出的信号比较微小,因此需对电压信号进行滤波和放大处理,系统选用德州仪器公司制作的低噪声单电源精密运算放大器OPA376。为了满足A/D转换的要求还需对信号进行二次放大,二次放大芯片选用低成本、低功耗、高精度仪表放大器AD620。AD620需要双电源供电,系统选用ICL7660芯片来获取-5V电源信号。另外,高精度微功率电压参考芯片LM4040为放大电路提供高精度参考电压。调理电路的原理图如图3所示。
为了消除光路干扰,提高检测灵敏度,系统将经信号调理后的两路信号进行比值计算,选用集成芯片AD734实现两路差分信号的比值计算,它特有的直接除法模式大大降低了电路噪声的产生。AD734电源供电为±15V,系统选用TPS61080升压芯片来实现。除法器电路及±15V电源如图4所示。
2、微处理器
除法器输出的信号经A/D转换送微处理器,为了提高系统信号处理速度,中央处理器选用具有超低功耗ARMCortex-M3内核的32位微控制器STM32F103RBT6。A/D转换完成后,MCU对气体进行浓度的反演计算。计算出的浓度结果以串口USART的方式发送至LCD显示,同时,在检测到的气体浓度超过系统设定的额定值时将会由蜂鸣器发出报警信号[4]。系统采用ASM1117对ARM芯片进行供电,通信接口选用RS232串口通信[5]。显示模块采用TFTLCD,液晶显示模块共显示两行,分别为测试时间和CO气体浓度。STM32外围电路框图如图5所示。
五、软件系统
选用Keil公司的uVision4作为编程软件,使用J-link硬件仿真器对软件系统仿真调试,其仿真速度和功能就其他调试器而言都有很大的优越性。系统主流程图如图6所示。主程序中包含时钟、中断、显示、按键等各个模块的初始化,完成之后,单片机进如低功耗模式。当有中断信号时,MCU进入正常工作模式,将采集来的信号进行相关运算,并判断计算浓度值是否超出报警值,若超出设定值进行声光报警,最后通过计算得出结果送给液晶显示。
六、实验结果
本设计采用查询表的方式在LCD上显示CO浓度。采用主成分回归分析法建立数学模型对CO浓度进行预测分析,建立查询表,在实际测量中通过测量电压值,单片机就会自动根据查询表找到对应的浓度值[6]。从安全性考虑,系统只配置了0~10%的10种气体浓度,测得的CO气体浓度平均相对误差为2.735%。实验结果表明该系统有较好的检测灵敏度,性能良好适用性强。系统在室温(T=24±2℃)条件下其测试结果如表1所示。
表1 CO浓度测量结果
七、结束语
针对传统一氧化碳气体检测技术灵敏度差、响应时间慢的问题,设计了一种新型的CO检测系统。参比气室的加入消除了由外界环境带来对的干扰。同时系统选用灵敏度高响应速度快的雪崩二极管做光电探测器,通过高精度滤波放大电路对携带CO浓度信息的电信号进行信号调理和高速32位ARM单片机作为中央处理器,大大的提高了系统性能,具有检测速度快,测量精度高,便携性强等优点。比较适用于环境监测、防灾减灾等领域。
采用GM82009可调谐激光光源模块作为光源,使用UC-INSTRUMENTS提供的应用软件对激光器的输出参数控制可以输出多种不同波长的光。改变检测波长该系统也可方便的应用于CO2、CH4、H2S等其它气体的测量,具有很好的适用性。