吴必瑞
(宁德师范学院 物理与电气工程系,福建 宁德 352100)
呼出气体酒精含量探测器主要是针对含有危险性作业的公司而开发的酒精含量测试产品,如各类高空作业、车队、煤矿及其它一些有危险的作业,若作业前饮酒过多,作业中则极易发生安全事故.呼出气体酒精含量探测器能在规定的温湿度和气压条件下,测量呼出气体中的酒精含量.市面上较多的燃料电池呼出气体酒精含量探测器的核心部件是电化学装置燃料电池,装置内部的选择性铂电极和酸性电解液与采样气体内的酒精发生反应,靠传感器输出信号检测换算出采样气体内的酒精含量[1].随着计算机技术,尤其是单片机技术和大规模集成电路及各种新型传感元件的迅速发展和日臻成熟,酒精含量探测器将朝着体积小、功耗低、测量和使用方便的方向发展.本文采用TI公司的16位超低功耗单片机MSP430(作为中央处理器)和燃料电池型酒精传感器设计制作了呼出气体酒精含量探测器.该探测器可用于对车辆驾驶人员是否酒后驾车的测试[1,2].
燃料电池型呼气酒精测试仪采用燃料电池酒精传感器作为气敏元件,又称为电化学型.燃料电池酒精传感器采用贵金属白金作为电极,在燃烧室内充满了特种催化剂,能使进入燃烧室内的酒精充分燃烧转变为电能,在输出的两个电极上产生输出电压,此电压与进入燃烧室内气体的酒精含量成正比.所以只要检测输出电压就可以推算出酒精含量.对准探测头以中等力度呼气达三秒钟以上,这时呼出的气就是从肺部深处出来的气体.呼气中的酒精含量与血液中的酒精含量由下式表示[3].
式中,BAC代表血液酒精浓度,BrAC表示呼气酒精浓度,单位均为mg/L.
根据能斯特公式,在理想温度和系统压力范围内,燃料电池的输出电压与吸入酒精气体的压力满足公式
式中,E0为标准压力下的电动势,PA为酒精气体的分压,PB为乙酸气体的分压,T为工作温度,F为法拉第常数(1摩尔电子的电量,96485C),R=8.314J·mol-1·K-1为摩尔气体常数.
若酒精(乙醇)气体的分压变化ΔP,初始分压为P1,而乙酸、O2和H2O的分压都不变.在一定的压强条件下,可得
在各浓度区间中,传感器的输出电压的变化值与酒精浓度近似呈线性关系[4].
对传感器输出电压与酒精浓度的非线性补偿采用查表法实现,在EPROM中,以A/D转换值为单元地址存放与之相对应的酒精浓度.当以A/D转换器的输出结果为地址访问EPROM时,存放在该单元的酒精浓度被读取,非线性校正误差的大小取决于A/D的转换精度.
酒精含量探测器是以MSP430F449单片机为主控制器件.探测器采用的ME3A-C2H5OH燃料电池酒精传感器具有响应、恢复迅速、检测快捷方便等特点.单片机根据已测量的反映实际含量的电压值计算出呼出气体酒精含量.测量工作过程中酒精浓度超限自动声报警,仪器报警时伴随有声报警信息,LCD屏幕也会显示相应的提示信息,来帮助用户区别报警的种类.探测器提供实时时钟显示;同时还预留出通信接口可与计算机通讯传出数据、分析检测数据结果.采用MAX3485作为电平转换实现单片机PC主机之间的串行通信[5,6].系统结构框图如图1所示.
图1 系统结构框图
信号调理模块负责将酒精传感器(ME3A-C2H5OH)、温度及压力传感器的输出信号调理成标准的电压信号,送入MSP430内置的12位A/D模块进行数据采集.对于传感器输出的信号,由于取样电阻上的电压信号范围在0~2.5V之间.选择2.5V内部正参考电源,在信号进入MSP430F449的I/O(P6.0,P6.1,P6.2)口之前,为了保持波形不变,需将经过电阻分压,同时经过二阶低通滤波器滤掉高次谐波,为保护单片机不被烧坏,需加入稳压二极管保护,以确保电压不超过2.5V.
RS-485通常应用于一对多点的主从应答式通信系统中,相对于RS-232等全双工总线效率低了许多,因此选用合适的通信协议及控制方式非常重要.RS-485因硬件设计简单、控制方便、成本低廉等优点广泛应用于工厂自动化、工业控制、智能小区等领域.RS-485总线发送的时候使用两根线,两根线上的电压相反,当A线上的电压高于B线时为逻辑1;当B线上的高于A线时,为逻辑0.采用MAX485芯片变成RS-485接口所需的电平转换,从计算机或终端接收的数据传送给通用串行接收/发送器,其电路图如图2所示.其中MAX485的1管脚与MSP430F449的P2.4端口相连,作为通信电路的数据接收;4管脚与430F449的P2.5端口相连,作为通信电路的数据输出.MAX485的RE与DE短接并一同接入430F449的P1.1端口,P4.2作为MAX485芯片的使能端[5].
图2 RS-485通信接口电路图
呼出气体酒精含量探测器的软件系统是在IAR Embedded Workbench开发环境下采用C语言编写的,采用模块化程序设计思想,充分发挥了MSP430系列单片机低功耗的特点.整个程序包括的子模块有:酒精含量A/D集体模块、键盘控制模块及LCD显示模块等几部分构成.主要的软件流程图如图3所示.
该探测器充分利用功能模块相对应的片外设功能,设好中断的优先级后,即使在低功耗模式下,MSP430能在6μs时间内就能实时地响应中断源.A/D测量模块功能是采集来自信号调理电路出来的呼出气体酒精含量信号.A/D采集采用序列通道多次转换的工作模式,能在多路信号同时采集完成后执行中断,提高系统响应的实时性.在该探测系统中同时采集酒精传感器、温度传感器和压力传感器信号,其A/D子程序流程图如图4所示.
键盘模块主要设定呼出气体酒精含量值的上下限及功能选择,采集的酒精含量值送点阵液晶显示.430F449内部自带一个160段的液晶(LCD)驱动器,液晶显示缓存器各个位与液晶的段一一对应.存储位置可以点亮对应的液晶段,存储位复位则使液晶段变暗.输出控制能够自动从显示缓存器读取数据,送出相应信号到液晶玻璃片上.
人机交互控制采用RS-485通信接口,方便探测器与PC之间的串行通信.通信协议采用标准的ModBus通讯规约.主要功能包括:与MSP430实时通信;数据库建立(采用ADO技术);显示呼出气体酒精含量值;历史含量值的存储与查询;打印检测到的呼出气体酒精含量和存储含量值报表等.
图3 MSP430的主程序流程图
图4 A/D子程序流程图
探测器以ME3A-C2H5OH燃料电池酒精传感器为传感元件,温度检测采用PT100电阻温度传感器.MSP430单片机可用C语言完成程序设计,大大提高了开发调试的工作效率及系列的实时性,用它做呼出气体酒精含量探测器的监测和控制具有高精度、低功耗、抗干扰能力强等特点.
[1]王广成.酒后驾车酒精含量界定标准的判定[J].中国计量,2010(5):29-30.
[2]黄静妍.呼出气体酒精含量检测仪的正确使用[J].上海计量测试,2009(5):42-43.
[3]岳睿.警用呼气式酒精传感器的研究进展[J].化学传感器,2006,26(5):6-11.
[4]詹姆斯,拉米尼,安德鲁,等.燃料电池系统原理设计应用[M].第二版.朱红,译.北京:科学出版社,2006.
[5]熊业攀,李仁旺,朱泽飞,等.基于ARM和MiniGUI的呼气式酒精测试仪研究[J].计算机测量与控制,2009,17(8):1667-1670.
[6]何平,赵红东,潘国峰.一种便携式TiO2薄膜乙醇气敏传感器的研制[J].传感技术学报,2007,20(7):1441-1443.