电子说
一、前言
近年来,我国越来越多的人有了自己的私家车,而酒后驾车造成的交通事故也频繁发生。为此,我国将酒驾列入刑法范围内,所以需要设计一智能仪器能够检测驾驶员体内酒精含量。本课程设计研究的是一种以气敏传感器和单片机A/D转换器为主,检测驾驶员呼出气体的酒精浓度,并具有声光报警功能的空气酒精浓度监测仪。其可检测出空气环境中酒精浓度值,并可根据不同的环境设定不同的阈值,对超过的阈值进行声光报警来提示危害。
本课题分为两部分:硬件设计部分和软件设计部分。硬件部分为利用MQ3气敏传感器测量空气中酒精浓度,并转换为电压信号,经A/D转换器转换成数字信号后传给单片机系统,由单片机及其相应外围电路进行信号的处理,显示酒精浓度值以及超阈值声光报警。程序采用模块化设计思想,各个子程序的功能相对独立,便于调试和修改。而硬件电路又大体可分为单片机小系统电路、A/D转换电路、声光报警电路、LCD液晶显示电路,按键电路,各部分电路的设计及原理将会在硬件电路设计部分详细介绍。
二、酒精测试仪总体方案设计
2.1 酒精浓度检测仪设计要求分析
设计的酒精浓度测试仪应具有如下特点:
(1)数据采集系统以单片机为控制核心,外围电路带有LCD显示以及键盘响应电路,无需要其他计算机,用户就可以与之进行交互工作,完成数据的采集、存储、计算、分析等过程。
(2)系统具有低功耗、小型化、高性价比等特点。
(3)从便携式的角度出发,系统成功使用了数码管显示器以及小键盘。由单片机系统控制键盘和LCD显示来实现人机交互操作,界面友好。
(4)软件设计简单易懂。
2.2 酒精浓度检测仪设计方案
设计时,考虑酒精浓度是由传感器把非电量转换为电量,传感器输出的是0-5伏的电压值且电压值稳定,外部干扰小等。因此,可以直接把传感器输出电压值经过A/D转换器转换得到数据送入单片机进行处理。此外,还需接入液晶显示,键盘设定,报警电路,语音电路等。
其总体框图如图2-1所示。
图2-1 基本工作原理图
三、硬件设计
3.1 传感器的选择
本系统直接测量的是呼气中的酒精浓度,再转换为血液中的酒精含量浓度,故采用气敏传感器。考虑到周围空气中的气体成分可能影响传感器测量的准确性,所以传感器只能对酒精气体敏感,对其他气体不敏感,故选用MQ3型气敏传感器。其有很高的灵敏度、良好的选择性、长期的使用寿命和可靠的稳定性。MQ3型气敏传感器由微型Al2O3,陶瓷管和SnO2敏感层、测量电极和加热器构成的敏感元件固定在塑料或不锈钢的腔体内,加热器为气敏元件的工作提供了必要的工作条件。传感器的标准回路有两部分组成。其一为加热回路,其二为信号输出回路,它可以准确反映传感器表面电阻值的变化。传感器的表面电阻RS的变化,是通过与其串联的负载电阻RL上的有效电压信号VRL输出面获得的。负载电阻RL可调为0.5-200K。加热电压Uh为5v。上述这些参数使得传感器输出电压为0-5V。MQ3型气敏传感器的结构和外形、标准回路、传感器阻值变化率与酒精浓度、外界温度的关系图如图3-3所示。为了使测量的精度达到最高,误差最小,需要找到合适的温度,一般在测量前需将传感器预热5分钟。
图3-1 MQ3 结构和外形
图3-3 传感器阻值变化率与酒精浓度、外界温度之间的关系
3.2 A/D转换电路
在单片机应用系统中,被测量对象的有关变化量,如温度、压力、流量、速度等非电物理量,须经传感器转换成连续变化的模拟电信号(电压或电流),这些模拟电信号必须转换成数字量后才能在单片机中用软件进行处理。实现模拟量转换成数字量的器件称为A/D转换器(ADC)。
A/D转换器大致分有三类:一是双积分A/D转换器,优点是精度高,抗干扰性好,价格便宜,但速度慢;二是逐次逼近型A/D转换器,精度、速度、价格适中;三是∑-△A/D转换器。
该设计中选用的是ADC0809属第二类,是8位A/D转换器。0809具有8路模拟信号输入端口,地址线(23-25脚)可决定那一路模拟信号进行A/D转换。22脚为地址锁存控制,当输入为高电平时,对地址信号进行锁存。6脚为测试控制,当输入一个2μs的高电平脉冲时,就开始A/D转换。7引脚为A/D转换结束标志,当A/D转换结束时,7脚输出高电平。9脚为A/D转换数据输出允许端,当OE脚为高电平时,A/D转换数据输出。10脚为0809的时钟输入端。
3.2.1 ADC0809的引脚及功能
逐次比较型A/D转换器在精度、速度、和价格上都适中,是最常用的A/D转换器件。芯片采用的是ADC0809,以下介绍ADC0809的引脚及功能。芯片如图3-4所示。
编辑
添加图片注释,不超过 140 字(可选)
图3-4 ADC0809的引脚
ADC0809是一种逐次比较式8路模拟输入、8位数字量输出的A/D转换器。由图可见,ADC0809共有28个引脚,采用双列直插式封装。主要引脚功能如下:
⑴ IN0-IN7是8路模拟信号输入端。
⑵ D0-D7是8位数字量输入端。
⑶ A、B、C与ALE控制8路模拟通道的切换,A、B、C分别与3根地址线或数据线相连,3位编码对应8个通道地址端口。
ADC0809芯片有28条引脚,采用双列直插式封装,如图所示。下面说明各引脚功能。
IN0~IN7:8路模拟量输入端。
2-1~2-8:8位数字量输出端。
ADDA、ADDB、ADDC:3位地址输入线,用于选通8路模拟输入中的一路
ALE:地址锁存允许信号,输入,高电平有效。
START: A/D转换启动脉冲输入端,输入一个正脉冲(至少100ns宽)使其启动(脉冲上升沿使0809复位,下降沿启动A/D转换)。
EOC: A/D转换结束信号,输出,当A/D转换结束时,此端输出一个高电平(转换期间一直为低电平)。
OE:数据输出允许信号,输入,高电平有效。当A/D转换结束时,此端输入一个高电平,才能打开输出三态门,输出数字量。
CLK:时钟脉冲输入端。要求时钟频率不高于640KHZ。
REF(+)、REF(-):基准电压。
Vcc:电源,单一+5V。
GND:地。
首先输入3位地址,并使ALE=1,将地址存入地址锁存器中。此地址经译码选通8路模拟输入之一到比较器。START上升沿将逐次逼近寄存器复位。下降沿启动 A/D转换,之后EOC输出信号变低,指示转换正在进行。直到A/D转换完成,EOC变为高电平,指示A/D转换结束,结果数据已存入锁存器,这个信号可用作中断申请。当OE输入高电平 时,输出三态门打开,转换结果的数字量输出到数据总线上。
转换数据的传送 A/D转换后得到的数据应及时传送给单片机进行处理。数据传送的关键问题是如何确认A/D转换的完成,因为只有确认完成后,才能进行传送。为此可采用下述三种方式。
(1)定时传送方式
对于一种A/D转换器来说,转换时间作为一项技术指标是已知的和固定的。例如ADC0809转换时间为128μs,相当于6MHz的MCS-51单片机共64个机器周期。可据此设计一个延时子程序,A/D转换启动后即调用此子程序,延迟时间一到,转换肯定已 经完成了,接着就可进行数据传送。
(2)查询方式
A/D转换芯片有表明转换完成的状态信号,例如ADC0809的EOC端。因此可以用查询方式,测试EOC的状态,即可确认转换是否完成,并接着进行数据传送。
(3)中断方式
把表明转换完成的状态信号(EOC)作为中断请求信号,以中断方式进行数据传送。
不管使用上述哪种方式,只要一旦确定转换完成,即可通过指令进行数据传送。首先送出口地址并以信号有效时,OE信号即有效,把转换数据送上数据总线,供单片机接受。
需要注意的是:ADC0809虽然有8路模拟通道可以同时输入8路模拟信号,但每个瞬间只能换1路,共用一个A/D转换器进行转换,各路之间的切换由软件改变C、A、B引脚上的代码来实现。地址锁存与译码电路完成对 A、B、C 3个地址位进行锁存和译码,其译码输出用于通道选择,其转换结果通过三态输出锁存器存放、输出,因此可以直接与系统数据总线相连,图3-5为通道选择表。
图3-5 通道选择表
⑷ OE、START、CLK为控制信号端,OE为输出允许端,START为启动信号输入端,CLK为时钟信号输入端。
⑸ VR(+)和VR(-)为参考电压输入端。
3.2.2 ADC0809的结构及转换原理
ADC0809的结构框图如图3-6。ADC0809采用逐次比较的方法完成A/D转换的,由单一的+5V电源供电。片内有锁存功能的8路选1的模拟开关,由C、B、A引脚的功能来决定所选的通道。0809完成一次转换需100μs左右,输出具有TTL三态锁存缓冲器,可直接连接到MCS-51的数据总线上。
通过适当的外接电路,0809可对0-5V的模拟信号进行转换。
全部0条评论
快来发表一下你的评论吧 !