一种低功耗通用型的有毒气体检测器设计 ①
2021-01-13周超,陶沙
周 超, 陶 沙
(铜陵学院电气工程学院,安徽 铜陵 244000)
0 引 言
工业生产过程涉及各类有害气体,长时间接触限制(TLV-TWA)和短时间接触限制(TLV-TWA)给出了不同时间长度的安全浓度数据。因此,随时了解气体浓度对安全生产十分重要,低功耗通用型的有毒气体检测器具有广泛的应用价值。电化学传感器的功耗电流极低,可分辨小于气体浓度的百万分之一的有毒气体[1-5],非常适合低功耗的应用场合。本文基于电化学传感器设计了一种低功耗、通用型的气体检测器,采用Alphasense公司的COH-A2传感器进行了测试,可应用到多通道、便携式的气体检测中去,进一步完善了气体检测器的设计方法。
1 设计原理和结构
电化学传感器包括工作电极(WE)、参考电极(RE)和反电极(CE)三种电极,WE通过薄膜与检测气体作用,CE连接恒电位电路,该电路向CE提供电流并检测RE电压,使得WE与RE端的电压保持恒定,这样RE就没有电流流入或流出,流出CE的电流流入WE,数值与气体浓度成正比。再通过IV电路转换成电压采样就可以计算出检测气体的浓度。设计的关键包括以下几点:(1)传感器电流数值极低,低于100nA/ppm,所以电路运算放大器要选用极低输入偏置电流的器件,配合高值电阻和低频滤波器,将1/f噪声和约翰逊噪声降至最低。(2)运算放大器采用单电源供电适应低功耗设计,避免功率浪费。(3)流入WE的电流会导致恒电位电路输出端产生相对WE的负电压,不同类型气体传感器产生的负电压值不同,最大约1V。为了使气体检测器的设计具备普适应,适应不同的气体传感器,采用2.5V电压为恒电位电路输入,IV转换电路的反馈电阻采用可调电阻器而不是固定电阻器。(4)气体检测对温度较敏感,所以要包含温度采样电路考虑温度补偿作用。(5)考虑到设备测试等与上位机的通信需求,提供带隔离的串口、USB并预留无线网络接口。(6)所有器件均要选用低功耗型。
设计结构如图1所示,包括供电模块、信号处理模块、数据处理模块和通信模块的硬件部分和上下位机软件部分:供电模块采用电池/USB供电,当接入USB供电时应自动断开电池,所以使用了具有机械断开特性的内置开关。信号处理模块[6-8]包括气体传感器电路、IV转换电路和低通滤波电路,把与气体浓度成正比的电流转换成电压。数据处理模块包括AD、MCU和温度传感器和声光、LED指示电路,AD和温度传感器把采样电压和温度数值发送给MCU处理,实现温度补偿[9]和LED显示并进行数值判断,如果超出阈值则进行声光指示。MCU采用基于Cortex-M3的ADuCM3027,提供了多个SPI接口可与多种传感器方便连接,具备超低功耗活动和休眠模式,全开活动时功耗小于30uA/MHz。通信模块提供了串口和USB,用户可根据测试需求选择不同的方式与检测器通信。MCU执行下位机程序,用于带温度补偿的气体浓度计算、显示、传输和指令执行,上位机用于显示气体浓度和发送指令。
图1 检测器结构
图2 供电模块结构
2 硬件设计
2.1 供电模块
供电模块结构如图2所示,提供了四路供电:(1)运算放大器,串口和USB的5V供电;(2)ADC,MCU、温度传感器和可编程电阻器的3.3V供电;(3)气体传感器、AD的2.5V基准电压;(4)隔离侧供电。如图3所示,ADP2503输出5V供给运放,串口和USB工作,Q1提供反向电压保护。输入范围2.3~5.5V,可使用电池、USB等其他标准电源,很适合低功耗便携式气体检测器设计。输出电压与外接电阻相关,输出5V,R1+R2的阻值要接近400kΩ,R1取值330 kΩ,R2取值36.5 kΩ。考虑到低功耗应用,SYNC引脚置低设置为正常模式,此时会根据负载情况调整功耗,轻负载时功耗仅38μA。EN是使能引脚,置高电平。为保证电路可靠工作,要确定电感和电容参数的数值:(1)电感,ADP2503开关频率达到2.5MHz,合适的电感取值可以提高效率并减小EMI,采用1.5μH电感减小电流纹波和电感峰值电流。(2)电容,输入电容采用6.3V,10μF的陶瓷电容滤除噪声保持电压稳定,输出电容采用6.3V,22μF的陶瓷电容保证电路稳定和较好的瞬态响应。
图3 ADP2503电路图
图4 LT1763电路图
2.5V基准电压采用低功耗、低噪声的ADR291提供,最大功耗仅15μA。考虑到驱动源的负载电流可能会在线路上产生压降,为了进一步提高基准电路的输出精度,在基准电源输出端进行开尔文连接,如图5所示,运算放大器的输出是VOUT_2.5+电流* RLOAD1,电流流过RLOAD2又产生了电流*RLOAD2的压降,RLOAD1= RLOAD2,这样就消除了在导线上产生的误差压降,获得2.5V基准电压VREF。
图5 ADR291参考电压电路
图6 信号处理模块电路
2.2 信号处理模块
图7 下位机流程图
2.3 数据处理模块
2.3.1 温度传感器电路
采用不需线性和温度校准的ADT7310数字传感器采样环境温度进行温度补偿,校正温度变化对气体传感器性能的影响。正常工作时功耗约200μA,节能情况下功耗仅2μA。ADT7310与MCU之间通过SPI通信,DIN用于向传感器输入数据、DOUT读取数据、SCLK用于输入数据时钟、CS片选用于通信使能。数据通信从CS片选引脚拉低并发送命令开始,到CS引脚被拉高结束。ADT7310的SPI命令字节由0+读/写+寄存器+连续读取+0+0组成:第8位必须为0,否则不能正常工作;第7位是读写位;第6到第4位是寄存器地址位,ADT7310共有8个寄存器,其中关键的有配置寄存器(0x01)用于器件配置(如选择采样模式等)、温度值寄存器(0x02)存储温度数值。第3位用于设置连续读取功能,该功能下只需发送16个SCLK时钟就可以通过DOUT引脚读取温度数值。第2位和第1位都是0。以读取温度为例,采用默认连续转换和连续读取模式,16位数据输出。CS片选信号拉低,DIN引脚写入0x0c,后面跟0x80,设置配置寄存器。之后写入0x54,激活从温度值寄存器连续读取数据模式,再向SCLK引脚写入16个时钟就可以从DOUT引脚读取数据,完成后拉高CS信号,操作结束,两次数据传输之间最好将SCLK引脚置高电平,之后通过查找表或公式执行气体传感器的温度补偿操作。
图8 上位机显示图
2.3.2 ADC
根据信号处理模块的分析采用16/24位、低功耗、带可调增益的AD7798,节能模式下功耗仅1μA。DIN向寄存器写入数据,DOUT/RDY从寄存器读取数据,当输出寄存器有新的数据时DOUT/RDY被拉低,数据读取完毕DOUT/RDY重新被拉高。SCLK是串行时钟引脚,所有的数据操作都是基于时钟进行的,CS用于器件选择。AD7798包含多个寄存器,它的操作必须以写入通信寄存器开始,决定下一步是读还是写操作和要操作的寄存器对象。AD7798提供了连续转换和单次转换模式,连续转换是默认模式,每次转换结束状态寄存器的RDY位被拉低。流程如下:转换完成DOUT/RDY引脚拉低,向DIN写入0x58,表明下一步操作是从数据寄存器读取数据,之后从DOUT/RDY引脚读取数据,完成操作。单次转换模式通过设置模式寄存器的MD2-MD0位为001启用,AD7798上电启动一次转换,之后进入掉电模式。每次转换周期在2×tADC,转换完成DOUT/RDY引脚拉低,读取结束再置高电平。单次转换读取流程如下:先向DIN写入0x08,表明下一步写入模式寄存器,接着写入0X200A配置单次转换模式。单次转换完成后DOUT/RDY引脚拉低,向DIN写入0x58,从DOUT/RDY引脚读取数据,完成操作。AD7798还提供了连续读取功能,不需要每次读取数据前都要写入通信寄存器,流程如下:向DIN引脚写入0x5c配置为连续读取,当DOUT/RDY引脚拉低,就可以从DOUT/RDY引脚读取数据。本文使能缓冲器,增益设为1,采用连续转换模式,向DIN写入0x08,之后写入0x1010,采样AIN1通道(如果采样AIN2通道,写入0x1011),待DOUT/RDY引脚拉低转换完成,向DIN写入0x58,从DOUT/RDY读取通道1的采样数据,完成操作,器件功耗约180μA。
2.4 带隔离的通信模块
设计了带隔离的串口和USB通信,串口通信采用单电源供电的ADM3251E,其内部集成了DC/DC转换电路,DC/DC的振荡电路把开关电流通过芯片级的变压器传输到副边并进行整流操作,线性调整为5V供给VISO和副边模块,实现单电源的隔离通信。DC/DC由VCC引脚输入电压控制:当输入电压在4.5~5.5V时使能DC/DC,如果在3.0~3.7V时DC/DC将被禁止,此时需要通过VISO引脚为隔离的另一端供电。C1+与C1-间的电容用于存储电荷,把5V的输入电压增大到10V。C2+与C2-间的电容也是存储电荷,把10V电压反转成-10V。带隔离的USB通信采用ADuM121N+MCP2200搭建,ADuM121N是双通道数字隔离器,具有低动态功耗。高达100kV/μs的共模瞬变抗扰度,数据速率最小值150Mbps,电路连接简单。
3 软件设计
下位机程序实现电压和温度采样、气体浓度计算、LED声光指示、数据接收和数据传输等功能,流程如图7所示。上电下位机运行,首先进行初始化,包括晶振、IO口、定时器、AD、串口、可调电阻器等。之后进入循环,定时器定时启动采样,采用多次采样求平均的方式提高计算精度,求出温度补偿后的气体浓度通过LED显示并借助通信接口传输给上位机,如果浓度超出阈值则进行声光指示。同时接收来自上位机的指令并执行相关操作,自定义指令形式为:A B C D E,A表示要做的操作(01表示开始采样,02表示停止采样),B C D表示操作的数值,E表示指令结尾(0D)。以停止采样为例,上位机指令通过通信接口传输到下位机,当下位机接收到0D表示指令结束,再分析A的数值,等于02表示停止采样,通过置标志位或停止定时器的方式实现。LabVIEW NXG是下一代的LabVIEW版本,在延续LabVIEW可视化开发的基础上进行了优化,尤其在网络化应用方面,提供了基于web的界面,无需插件或应用程序就可以把这些界面部署到web浏览器上,较LabVIEW使用更为便利。考虑到未来可能接入无线网络通信需求,采用LabVIEW NXG设计上位机。
4 测试与小结
采用COH-A2气体传感器+经校准的CO气体腔+串口通信进行设备测试,COH-A2传感器因固有误差和气体腔校准精度的影响,满量程增益误差约80ppm,出现在浓度超过400ppm后,且CO浓度高于250ppm会有危险,测试最大浓度取值50ppm。上位机采用NI-VISA实现串口通信,LabVIEW NXG下的VISA开发与LabVIEW基本相同:打开session,选中VISA资源,配置VISA,从串口读取数据,关闭session,采样测试效果如图8所示。正常条件下,未检测到CO气体时功耗约443μA,极限情况下约1.17mA,功耗较低。
设计了带温度补偿的低功耗通用型气体检测器,电池+USB的多供电方式带来了使用的灵活性,温度补偿提高了采样精度,低功耗通用型设计降低了应用成本,带隔离的通信方式提升了可靠性。测试表明设备具有良好的稳定性,满足应用需求。