基于单片机的气敏传感器测试系统
一、引言
气敏传感器是能够感知环境中某种气体及其浓度的一种敏感器件,它将气体成分、浓度等有关的
信息转换成电信号,从而可以进行检测、监控、报警;还可以通过接口电路与计算机组成自动检测、
控制和报警系统。目前,人们对气敏传感器的测试方法主要停留在用人工手动的方式来操作,开发出
一种实用高效的智能化传感器测试装置是极为必要的。本文介绍一种新型的气敏传感器测试系统的设
计方法。该系统基于具有语音处理功能的凌阳SPCE061A单片机,能同时进行多路传感器测试、过程控
制,及用虚拟仪器完成数据处理,并能用语音直接播报测试结果,克服了目前气敏传感器人工操作测
试带来的效率低、误差大、操作人员长时间工作等问题。将给操作人员带来极大方便,下面就介绍一
种具有新功能的新型的气敏传感器测试系统。
二、气敏传感器测量原理
作为气体敏感材料的半导体氧化物的气—电转换机理是:在不同气体中,半导体氧化物材料发生
的氧化—还原反应不同,从而引起材料电导(电导与电阻互为倒数)的不同变化,使传感器分辨出被
测气体。因此,只要能测量出已知气体中气体传感器电导的变化,就可测量出该气敏传感器的性能指
标。气敏传感器的测试电路如图1所示,负载电阻RL串联在传感器中,串联回路施加工作电压VC,V
F
为热丝两端加热电压。在洁净空气中,传感器的电阻RO较大,在负载电阻RL上的输出电压较小;当在
待测气体中时,传感器的电阻RO变得较小,则负载电阻RL上的输出电压较大,其电压值与VRL器件的电
阻值RO之间的关系如下:
RO=RLLRLCVRVV)(
式中:为VC测量电压,一般为5V;VRL为负载电压;为RL负载电阻(已知);RO为元件的电阻值。
随着已知气体浓度不同,负载电压产生不同变化,传感器的元件阻值也会产生相应的变化,而根据不
同气体环境下元件电阻的阻值,就可判断出该传感器的指标是否符合标准值。
图1 气敏传感器的测试电路
三、系统硬件设计
气敏传感器测试系统如图2所示,由元件测试箱和PC微机两部分组成。元件测试箱主要包括了
元件箱和单片机系统两部分。元件箱的主要作用是模拟气敏元件的各种现场使用环境,所有被测传感
器就放置在元件板上,可由单片机系统中的电子开关巡回选择。当充入某种浓度气体时,被测传感器
的阻值发生相应的变化,引起传感器负载输出电压也发生变化,该电压信号被采样保持后,送入单片
机系统进行处理。
图2 测试系统
在单片机系统中选用凌阳SPCE061A单片机,其内部具有七通道10位电压A/D模数转换器和两个
10位D/A数模转换通道,这样节省电路板面积,简化了硬件电路。使用者只需在软件编程时加入启动
A/D转换的指令即可完成操作。为了保持数据采集的准确性,需要进行N次数据采集然后取平均值,即
每次采集进来的负载电压VRL经过A/D转换后要送给单片机的算术逻辑单元,同N–1次的A/D转化结
果进行取算术平均值运算。把最终结果放到存储区,等待上位机进行数据分析和判断。对于语音功能
的实现,则要利用单片机内部的D/A数模转换器,把事先已设置好的语音信号如“开始测量”、“测
量结束”等经过该数模转换通道送到扬声器。 SPCE061A内部自带两个10位D/A转换通道,比较容易
实现语音功能。
四、系统软件设计
系统的软件包括两部分。一是下位机的软件,它主要完成对传感器输入信号的采集、存储以及定
时,通过RS-232串行接口向PC机发送数据,同时实现语音数据编码处理、存储、解码处理以及D/A
转换等功能。下位机主程序框图如图3所示,而中断子程序和语音子程序在此不再赘述。另一部分是
数据分析软件,它采用Visual C++6.0开发系统,具有一个良好的人机操作界面,可以随时测量和采
集传感器的任意参数,并可查看系统任一通道的响应曲线以及历史运行记录。
图3 程序框图
五、语音功能的实现
气敏传感器测试系统的语音功能的实现,主要体现在当测量传感器数据的同时, 扬声器中会发出
语音提示,如“开始测量”、“开始测量电阻RO”、“开始测量电阻R1”、“开始测量电阻R2”、“开
始响应曲线绘制”、“复位”等。 当测量结束后,系统会播报:“RO测量完毕”、“R1测量完毕”、
“R2测量完毕”等。
语音处理大致可以分为A/D转换、编码处理、存储、解码处理以及D/A转换等步骤。SPCE061A单
片机具有内置自动增益控制功能的麦克风输入方式,同时具备双通道10 位DAC方式的音频输出功能,
因此可以解决上述语音处理问题。SPCE061A的开发软件具有一个SACM–LI库,可以将A/D、编码、解
码、存储、D/A做成相应的模块, 对于每个模块都有其应用程序接口API,在了解每个模块所要实现的
功能及其参数的内容后,调用该API函数即可实现语音处理功能。对于常用的SACM–A2000和SACM–480
两种放音算法则要涉及到语音资源的添加问题,即将所需要的WAV文件按照需要的压缩比进行压缩,变
成资源表形式在程序中调用。这样,当把录制好的语音文件经过压缩存入存储器后,在程序执行过程中
调用该语音模块的API函数即可实现语音输出功能了。