基于单片机的多气体检测系统设计方案


摘 要:采用气体传感器阵列采集气体信息,通过以AT89C51 和ADC0809 组成的核心单元进行数据采集和数据处理,以LED 显示器显示结果,实现了对多种气体的识别和检测。


  气体传感器是一种能将气体种类及其与浓度有关的信息转换成电气信号的装置。根据这些电气信号的强弱就可以获得与待测气体在环境中存在情况有关的信息,从而可以进行检测、监控、报警。因此由气体传感器与模式识别系统构成的智能化气味识别仪器有着广泛的应用领域,如食品工业、化学工业、环境监测、医学诊断、安全检查等,越来越受到广泛关注。


  传统的气体检测大多采用单气体检测方式, 即每测量一种气体需要一种测量仪表。用一种仪器能够进行多种气体的检测和识别是气体检测仪的发展趋势,而本设计采用酒精传感器、甲烷传感器、一氧化碳传感器等多种气体传感器组成传感器阵列,通过传感器阵列能把气体中的特定成分检测出来,并将其转化为电信号,然后采用ADC0809 将传感器输出的模拟信号转换为数字信号,运用AT89C51 进行数据处理和计算,并通过LED 显示气体种类和浓度信息,这样就实现了对多种气体的定性识别和检测。


  1 硬件电路设计

  本设计硬件电路由数据采集、数据转换、数据处理、结果显示和报警等部分组成,涉及的芯片有AD0809 模数转换芯片、AT89C51单片机、SUN7474频率发生器以及一些气体传感器、驱动电路、复位电路和LED 显示模块。系统的功能框图如图1 所示。

图1 系统功能框图

  1.1 气体传感器阵列

  气体传感器阵列是电子嗅觉系统的关键组成单元,相当于初级嗅觉神经元,由具有广谱响应特性、交叉灵敏度较大、对不同气味/气体有不同灵敏度的气敏元件组成。


  气体传感器是组成气体传感器阵列的核心器件。气体传感器是一种把气体中的特定成分检测出来,并将其转化为电信号的器件。通常,气体传感器阵列可以采用数个单独的气体传感器组合而成,并采用集成工艺制作,体积小,功耗低,便于信号的集中采集与处理。单个气体传感器与传敏阵列在特性上有质的区别,单个气体传感器对气味/ 气体的响应可用强度来表示,而气敏传感器阵列除了各个传感器的响应外,在全部传感器组成的多维空间中形成响应模式,在环境条件一定的情况下,阵列上的响应模式与其激励是一一对应的,而这正是该系统能对多种气味和气体进行辨识的关键所在。


  本设计要求实现对酒精、甲烷、一氧化碳气体的定性和定量分析,首先最重要的工作是选择合适的传感器,通过对性能、可实现性、价格等的对比,针对酒精气体,选择的是MQ-303A酒精传感器,针对甲烷气体,采用的是MQ-4 半导体气体传感器,针对一氧化碳气体,选择的是V-40 一氧化碳传感器,由这三种传感器组成传感器阵列。


  该设计通过气体传感器阵列采集气体信息,并将采集到的信息转化为电信号,然后送到ADC0809 进行模数转换。


  1.2 数据采集和数据处理系统

  由气体传感器阵列输出的微弱电信号,经各自信号放大电路对信号进行预处理,使其转换为O ~5V 范围内变化的直流信号,送到A/D 转换电路变换为数字信号,对其进行数据采集处理。


  为了方便与89C51 单片机的连接,本系统选用ADC0809芯片对采集到的气体信息进行模数转换。其分辨率为8 位,不必进行零点和满度调整,且具有高阻抗斩波稳定比较器,8个通道的多路开关可直接存取8 个单端模拟信号中的一个。利用单片机写启动A / D 转换器,转换结束后再由ADC0809 向89C51 发出中断请求信号,CPU 响应中断请求。通过对译码器的读操作,读取转换结果并送到被测量的相应存储区。再重新选择被测量,并再次启动A/D转换后中断返回。ADC0809与单片机89C51 连线线路如图2 所示。

图2 ADC0809 与89C51 的连线线路

  微处理器采用的是AT89C51 芯片

第二,既然你想学好单片机,你必须得舍得花钱,如果不买些芯片回来自己动手焊焊拆拆的(但是在后期会介绍给大家一个很好用的硬件仿真软件,并不需要你用实验板和仿真器了,直接在你的PC上完成,但是软件毕竟是软件,从某个特定的意义上来说是并不能代替硬件的),即使你每天捧着本书,把那本书翻烂,也永远学不会单片机的!刚接触单片机的朋友,看了资料,一定会对以下几个词见的比较多,但是具体的概念还是比较模糊,

  89C51 单片机是ATMEL、PHILIPS和SST等公司生产的与80C51 兼容的低功耗、高性能8 位单片机,具有比8031 更丰富的硬件资源,特别是其内部增加的闪速可电改写的存储器Flash ROM给单片机的开发及应用带来了很大的方便,且芯片价格非常便宜。在该系统中89C51 主要对采集数据进行处理,按各种气体浓度的数学模型计算出其浓度,由数码管显示其相应的气体种类及浓度值,当浓度超标时,进行报警。


  该系统还采用了分频器SUN7474.分频器对脉冲信号进行2的n次方分之一的分频,例如把32768HZ 的脉冲信号变成1HZ的秒信号。通常利用T触发器实现,每来一个脉冲后触发器状态改变一次,经过n个T触发器处理后就可以得到2的n次方分之一的分频信号。89C51接12MHZ晶振,经ALE端后输出到分频器为2MHZ,分频器进行分频后为ADC0809 提供所需的工作时钟。


  1.3 显示电路

  在该设计中,LED 显示器的显示方法采用动态显示。LED 动态显示的基本做法在于分时轮流选通数码管的公共端,使得各数码管轮流导通,在选通相应LED后,即在显示字段上得到显示字形码。这种方式不但能提高数码管的发光效率,并且由于各个数码管的字段线是并联使用的,从而大大简化了硬件线路。本设计中处理结果采用4位LED显示,首位显示气体类别,后3 位显示气体浓度。逐位轮流点亮各个LED,每一位保持1ms,在10~20ms 之内再一次点亮,重复不止。这样利用人的视觉停留,好像4 位LED 同时点亮一样。


  综上可得,基于单片机的多气体检测系统的数据采集、数据处理及结果显示电路如图3。

图3 多气体检测系统电路

2 软件设计

  本设计由数据采集、数据转换、数据处理、显示和报警几个模块组成。

  主程序流程图为图4。

图4 主程序流程图

  AD0809 部分程序流程图为图5。

图5 AD0809 部分程序流程图

  显示子程序流程图如图6。

图6 显示子程序流程图

  结语

  本文介绍了进行多气体分析的电子嗅觉系统的硬件结构和软件设计。在本设计中采用多传感器组成传感器阵列,可针对多种不同气体进行信息采集、信息转换和数据处理,最后显示气体种类和浓度信息,为多种气体的检测提供了一种切实可行的解决方案。

这么说吧,如果当年郭靖没有遇上洪七公,他的人生将会是怎样?估计还是拥有江南七怪教的那些“健身级别的武功”平庸一生。所以说你与高手之间其实就是差一个大师,一个能够手把手教你技术的单片机大师。

生成海报
点赞 0

thePro

我还没有学会写个人说明!

相关推荐

ST六轴传感器LSM6DSO使用记录

1、前言 LSM6DSO是ST公司的六轴传感器,集成三轴加速度和三轴陀螺仪。 2、传感器特性 加速度支持±2/±4/±8/±16 g 量程; 陀螺仪支持±125/±250/±500/±1000/±2000 dps

BMP280详解

前言 本文着重介绍bmp280(GY-BM E/P 280模块)的原理、功能、使用方法、不同公司的型号以及提供适用于不同单片机的代码 一、bmp280大气压传感器外观 二、原理图 三、相关参数讲解 1.引脚 六个引脚,名称

STM32使用各种传感器的demo

各种传感器的demo 最近有假期有空整理了一些传感器的使用方式 激光测距 激光测距是我在完成电磁炮项目用的模块,大家也可以去借鉴我以前的文章,使用起来也是方便,当时涂方便,利用的是串口