单片机在多气体检测系统中的应用设计

发布者:bianzitong521最新更新时间:2014-02-08 来源: dqjsw关键字:单片机  气体检测系统  AT89C51 手机看文章 扫描二维码
随时随地手机看文章

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

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

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

  1 硬件电路设计

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

图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 的连线线路

图2 ADC0809 与89C51 的连线线路

  微处理器采用的是AT89C51 芯片。

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

  该系统还采用了分频器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 多气体检测系统电路

图3 多气体检测系统电路

  2 软件设计

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

  主程序流程图为图4。

图4 主程序流程图

图4 主程序流程图

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

图5 AD0809 部分程序流程图

图5 AD0809 部分程序流程图

  显示子程序流程图如图6。[page]

图6 显示子程序流程图

图6 显示子程序流程图

  结语

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

关键字:单片机  气体检测系统  AT89C51 引用地址:单片机在多气体检测系统中的应用设计

上一篇:MCS-51单片机串行通讯口IP核的实现
下一篇:单片机在空气质量流量显示装置中的应用设计

推荐阅读最新更新时间:2024-03-16 13:34

C8051F单片机仿真器及开发板常见问题解答
问题1:为什么我的仿真器可以识别,但是却无法仿真调试下载程序? 答:仿真器可以识别,可以证明仿真器是好的。而无法仿真调试程序,或下载程序有如下两个方面的原因:1、硬件通路是否正常。检查如下原因:ML-EC3是否与目标板连接;连接线有无断线;目标板是否上电以及目标板的硬件是否能正常工作等;2、仿真器需要复位。不当操作或其他原因造成的ML-EC3可以被计算机识别但不工作现象,使用ML-EC3的复位软件复位一下即可。软件在光盘中的USB Reset文件夹。 问题2:为什么我用你们的例程显示自己提取的汉字字模在液晶屏上显示乱码? 答:字模的提取是有顺序的。以ML-F020DK+开发板使用的16X16汉字字模为例,字模的提取顺序是先左
[单片机]
基于AVR单片机的温度测量系统
1 引言 传统温度测量系统中,一般选用模拟式温度传感器。常用的模拟式温度传感器,其中一个共同特点是输出为模拟量,因此在测量电路中必须经过A/D转换才能成为计算机所能处理的数字量。数字式温度传感器将非电模拟量转换到数字信号这一处理过程的多个环节集成在单芯片上,实现了在测量点将温度值数字化,有效解决了传统温度传感器外围电路复杂,抗干扰能力差的弊病,降低了对系统的要求。 该系统以Atmel公司的ATmega8L单片机为控制中心,温度测量使用DS18B20单总线数字温度传感器,采用1602字符型液晶显示器作为温度值的显示输出。编程使用CodeVision AVR C Compiler编译器,该编译软件自带了使用器件库函数文件,省去了编
[测试测量]
基于AVR<font color='red'>单片机</font>的温度测量系统
单片机堆栈溢出怎么解决?
我认为单片机堆栈溢出最重要的原因是我们编程序有问题,即在程序设计初期没有留出足够的空间供堆栈使用,堆栈一旦溢出程序一般会乱指,就是我们所说的程序跑分。一般我们不容许出现这个现象,因此我们在设计程序的时候首先要在内部RAM里开辟一段连续的地址当堆栈使用,且只能让它通过PUSH和POP指令进行访问,而且每次访问堆栈后注意别让堆栈溢出。 STC单片机堆栈溢出的解决方法 RAM模式用large,尽量用XRAM,减少函数嵌套层数,如果一个函数只被一个函数调用,就尽量合并下。 编译器会根据片内RAM消耗量自动确定SP指针,而且51也只能用片内RAM做堆栈。 KEIL C51的堆栈不需要你去设置的,编译器会把DATA ram剩余的空间都划分给栈,
[单片机]
单片机掉电检测与保存
单片机在正常工作时,因某种原因造成突然掉电,将会丢失数据存储器(RAM)里的数据。在某些应用场合如测量、控制等领域,单片机正常工作中采集和运算出一些重要数据,待下次上电后需要恢复这些重要数据。因此,在一些没有后备供电系统的单片机应用系统中,有必要在系统完全断电之前,把这些采集到的或计算出的重要数据存在在EEPROM中。为此,通常做法是在这些系统中加入单片机掉电检测电路与单片机掉电数据保存。 用法拉电容可从容实现单片机掉电检测与数据掉电保存。电路见下图。这里首先用6V供电(如7806),为什么用6V不用5V是显而易见的.电路中的二极管们一般都起两个作用,一是起钳位作用,钳去0.6V,保证使大多数51系列的单片机都能在4.5V--5.5
[单片机]
<font color='red'>单片机</font>掉电检测与保存
PIC8位8脚单片机12C5××和12CE5××系列的特点
  Microchip公司生产的8位单片机PIC12C508(A)/509(A)型和PIC12CE518/519型产品,仅有8个引脚,其管脚排列如下图所示。该产品是PIC基本级之一,其特点是低功耗、多功能、高性能、体积小和售价低廉。因该产品体积小,所以它们可以嵌入几乎任何一种电子产品中,特别是便携式电子产品,如各种IC卡、电子身份牌、照相机、充电器、计时器、智能传感器、灯光调节器、儿童玩具等等,都已得到了广泛的应用。   PIC12CE5××与12C5××系列单片机的区别仅仅是前者带有E2PROM的数据存储器,而后者的数据区为RAM。其余特性和管脚排列、性能几乎完全相同,它们都属于OTP单片机(一次写入不可擦除),适于批量的电
[单片机]
用M16单片机I/O口生成模拟音乐
* 用M16单片机I/O口生成模拟音乐 * * 功 能:用I/O口生成模拟音乐 * * 时钟频率:内部1M * * 设 计:tonghe * * 修改日期:2007年04月13日 * * 编译环境:ICC-AVR6.31 * * 实验环境:本站M16学习板 * * 发 声:无源蜂鸣器 * * 结 果:试验通过 * * 要 求:插上JP1、JP2、LED_EN短路块 * *****************************************/ #include iom16v.h #include macros.h #define uchar unsigned char #define uint unsigned int
[单片机]
80c51单片机的基本配置有哪些 80c51单片机各个引脚及功能
  80c51单片机的基本配置有哪些   80C51单片机的基本配置包括:   CPU:80C51单片机的CPU由一个8位的ALU(算术逻辑单元)、一个8位的累加器、一个8位的B寄存器、一个16位的程序计数器和一个8位的状态寄存器组成。   存储器:80C51单片机的存储器包括程序存储器(ROM)、数据存储器(RAM)和特殊功能寄存器(SFR)。   时钟源:80C51单片机支持多种时钟源,包括外部晶体、外部时钟信号、内部振荡器等。   中断系统:80C51单片机支持多种中断源和中断优先级设置,可以灵活处理各种外部事件。   IO端口:80C51单片机的IO端口由多个可编程的输入输出引脚组成,可以连接各种外部设备。   通信接口:
[单片机]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved