酒精浓度测试仪(精选5篇)
酒精浓度测试仪 第1篇
近年来, 随着我国经济的高速发展, 人民的生活水平迅速提高, 越来越多的人有了自己的私家车, 而酒后驾车造成的交通事故也频频发生。酒后驾车引起的交通事故是由于司机的过量饮酒造成人体内酒精浓度过高, 麻痹神经, 造成大脑反应迟缓, 肢体不受控制等症状造成的。多年前交通管理者判定驾驶人员是否有饮酒只能靠主观判断、肉眼的观察和去医院进行血液中酒精含量的检测, 这些不科学不及时的方法造成了很多不必要的误会和麻烦。为此, 需要设计一款便携式智能仪器能够监测驾驶员体内酒精含量。
目前全世界绝大多数国家都采用呼气酒精测试仪对驾驶人员进行现场检测, 以确定被测量者体内酒精含量的多少, 以确保驾驶员的生命财产安全。本文设计了一款便携式的呼气酒精测试仪, 该测试仪由89C51为核心处理器件, 利用MQ3气敏传感器测量空气中酒精浓度, 并转换为电压信号经A/D转换后传给单片机系统, 由单片机及其外围电路进行信号的处理, 显示浓度值以及超阈值声光报警。
2 系统设计
本设计属于单片机应用系统。首先确定系统的工作流程如图1所示。选择检测元件, 在确定总体方案时, 必须首先选择好被测参数的测量元件, 它是影响控制系统精度的重要因素之一。选择执行机构, 执行机构是微型机控制系统的重要组成部件之一。执行机构的选择一方面要与控制算法匹配, 另一方面要根据被控对象的实际情况确定。
2.1 89C51单片机控制系统
本设计采用ATMEL公司的89C51作为控制器件, 89C51是一种带4K字节闪烁可编程可擦除只读存储器的低电压、高性能CMOS8位微处理器, 为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。89C51单片机系统结合传感器测量电路、A/D转换电路、声光报警电路、LED显示电路构成一个完整的单片机控制系统。该系统能在软件的控制下准确、迅速、高效地完成程序设计者事先规定的任务。
2.2 传感器的选择及数据采集
由于本设计直接测量的是呼气中的酒精浓度, 再转换为血液中的酒精含量浓度, 故采用气敏传感器。考虑到周围空气中的气体成分可能影响传感器测量的准确性, 所以传感器只能对酒精气体敏感, 对其他气体不敏感, 故选用MQ3型气敏传感器。其有很高的灵敏度、良好的选择性、长期的使用寿命和可靠的稳定性。
传感器是将外界信息转换成电信号的装置, 其中的电信号包括数字信号和模拟信号, 数字信号可以通过电气隔离直接送给单片机或微型计算机进行处理, 模拟信号则利用数据采集系统将多路被测量值转换成数字量, 再经过单片机或微型计算机进行数据处理, 实现实时测控。酒精浓度是由传感器把非电量转换为电量, 传感器输出的是0-5伏的电压值, 所以是模拟信号。
2.3 A/D转换电路
在单片机应用系统中, 被测量对象的有关变化量, 如温度、压力、流量、速度、气味等非电物理量, 须经传感器转换成连续变化的模拟电信号 (电压或电流) , 这些模拟电信号必须转换成数字量后才能在单片机中用软件进行处理。实现模拟量转换成数字量的器件称为A/D转换器 (ADC) 。本系统采用ADC0809作为A/D转换器件。MQ3传感器输出的是0-5伏的电压值并且电压值稳定, 外部干扰小等。因此, 可以直接把传感器输出电压值经过ADC0809采集数据送入单片机进行处理。
2.4 LED显示及声光报警电路设计
本设计采用4只LED数码管来显示被测出来的酒精浓度值, 数码管采用动态显示, 就是将所有数码管的8个段码的同名端连在一起, 另外为每个数码管的公共极COM增加位元选通控制电路, 位元选通由各自独立的I/O线控制, 当单片机输出字形码时, 所有数码管都接收到相同的字形码, 但究竟是那个数码管会显示出字形, 取决于单片机对位元选通COM端电路的控制, 所以我们只要将需要显示的数码管的选通控制打开, 该位元就显示出字形。报警电路分为蜂鸣器报警电路和LED发光报警电路组成。
3 结论
本设计硬件电路简单, 使生产成本降低, 操作简单, 对着仪器呼气后很短的时间内仪器将自动显示测量结果, 同时还能进行声光报警提示。此外, 本设计还可以应用于监测某一特定环境的酒精浓度, 如酒精生产车间可避免发生起火、爆炸及工业场地酒精中毒等恶性事故, 确保环境安全。
参考文献
[1]何希才.传感器技术与应用[M].北京:北京航空航天大学出版社, 2005.
《数学建模实验-血液酒精浓度》 第2篇
实验目的运用药物注射模型,熟练使用MATLAB曲线拟合方法,解释饮酒驾车的一些实际问题。
实验原理
由于酒精不需要进入肠道即可被吸收,且胃对其吸收速率也非常快,本题应采用“快速静脉注射模型”。酒精主要存在于血液中,故本例应计算吸收室的血药浓度c1(t)=A1e-αt+B1e-βt,因A1,α,B1,β之间有关联,为提高精确度,重新解微分方程得和题目对应的模型拟合计算。
实验内容
国家质量监督检查检疫局2004年5月31日发布了新的《车辆驾驶人员血液、呼气酒精含量阀值与检查》国家新标准,新标准规定,车辆驾驶人员血液中的酒精含量大于或等于20毫克/百毫升,小于80毫克/百毫升为饮酒驾车(原标准是小于100毫克/百毫升),血液中酒精含量大于或等于80毫克/百毫升为醉就驾车(原标准是大于100毫克/百毫升)。
某人在中午12点喝了一瓶啤酒,下午6点检查时符合新的驾车标准,紧接着他在吃晚饭的时候又喝了一瓶啤酒,为了保险起见他呆到凌晨2点才驾车回家,又一次遭遇检查时却被定为饮酒驾车,这让他既懊恼又困惑,为什么喝同样多的酒,两次检查的结果会不一样呢?
(1)某人中午12点喝了一瓶啤酒,下午6点检查合格,晚饭又喝一瓶,次日凌晨2点检查未通过,请对此情况做出解释。
(2)短时间内喝啤酒3瓶多长时间之后才能驾车?
(3)怎样估计血液中的酒精含量在什么时候最高?
(4)如果天天喝酒,是否还能开车?
解答:
建立常微分方程模型,假设喝进去的酒精从胃吸收的转移速率与胃里酒精含量成正比;血液代谢酒精的速度与浓度成正比;
如图所示:
X
胃
C
血液
代谢物
K1
K2
设胃里初始含量为X0,血液中初始含量为C0=0
则
即
即
解得
题目所给数据的C0=0,即此时
MATLAB命令:
T=[0.25
0.5
0.75
1.5
2.5
3.5
4.5
16];
C=[30
4];
cftool打开曲线拟合工具箱,X
data选择T,Y
data选择C,拟合方式选择Custom
Equation,拟合,参数如图
拟合得:a=2.273,b=0.1822,c=103.4
即K1=2.273,K2=0.1822,X0=103.4,可以发现拟合的比较好。
第一题
喝一瓶啤酒时X0=51.7,此时
而,故符合驾车标准
紧接着又喝一瓶,此时X0约为51.7,C0=18.8367。到凌晨二点过了8小时,此时
可以发现并没有大于20,但是当过后7.2小时时,略大于20,属于酒驾。题目所给情况可能是晚上喝酒不是快速喝下导致的误差。
第二题
短时间喝三瓶啤酒时X0=155.1,此时
MATLAB命令:
T=0:0.1:24;
C=168.616*exp(-0.1878*T)-168.616*exp(-1.971*T);
plot(T,C,’r’)
hold
on
plot([0
24],[20
20],’g’)
得
可发现与C=20相交于11、12之间
T=11:0.1:12;
C=168.616*exp(-0.1878*T)-168.616*exp(-1.971*T)
输出:
C
=
至
列
21.3665
20.9690
20.5789
20.1960
19.8202
19.4515
19.0896
至
列
18.7344
18.3859
18.0438
17.7081
故11.4小时后驾车不会违反规定
题目三
观察上图可知最高点在1-2之间
T=1:0.1:2;
C=168.616*exp(-0.1878*T)-168.616*exp(-1.971*T)
输出:
C
=
至
列
116.2545
117.8569
118.7560
119.0852
118.9541
118.4526
至
列
117.6543
116.6193
115.3972
114.0283
112.5457
故在喝酒后约1.3小时后血液中酒精含量最高
第四题
为简化问题,假设一天只喝一次,每次快速喝下n瓶,则
要求:,依此类推
考虑到48小时后的影响很小,故只需在数日内符合即可认为符合,这里取十天。
考虑到平常人的酒量,为排除呕吐等不正常代谢酒精方式和脏器超负荷工作带来的误差,只考虑小于等于10瓶啤酒
MATLAB:
建立函数
function
C24=CalcC24(n,C0,i)
T=0:0.5:24;
C=(C0+56.2053*n)*exp(-0.1878*T)-56.2053*n*exp(-1.971*T);
C24=(C0+56.2053*n)*exp(-0.1878*24)-56.2053*n*exp(-1.971*24);
plot((T+i*24),C,'Color',[((-1)^n+1)/(2*n)
((-1)^(n+1)+1)/(2*n)
((-1)^n+1)/(2*n)])
hold
on
end
输入命令:
hold
off
clear
clc
C0=0;
for
n
=1:10
for
i=0:10
temp=CalcC24(n,C0,i);
C0=temp;
end
end
plot([0
264],[20
20],’r’);
得:
可发现若每日喝十瓶啤酒的情况下经过18小时,血液中的酒精浓度就能降低到20mg/100ml以下,即若早上八点喝十瓶啤酒,凌晨两点驾车即不违反新交法
若每隔12小时快速饮酒n瓶,同样考虑十天
MATLAB
建立函数:
function
C12=CalcC12(n,C0,i)
T=0:0.5:12;
C=(C0+56.2053*n)*exp(-0.1878*T)-56.2053*n*exp(-1.971*T);
C12=(C0+56.2053*n)*exp(-0.1878*12)-56.2053*n*exp(-1.971*12);
plot((T+i*12),C,'Color',[((-1)^n+1)/(2*n)
((-1)^(n+1)+1)/(2*n)
((-1)^n+1)/(2*n)])
hold
on
end
输入命令:
hold
off
clear
clc
C0=0;
for
n
=1:5
for
i=0:20
temp=CalcC12(n,C0,i);
C0=temp;
end
end
plot([0
264],[20
20],'r')
得:
可以发现喝完2瓶啤酒可以在9.8小时后降低到20mg/100ml以下,而喝完三瓶仅在喝完11.94小时后降低到20mg/100ml以下,也就是仅有每十二小时3.6分钟符合要求,忽略不计。
故每12小时可饮酒2瓶可以驾车不违反新交法
综上所述,每12小时可以和2瓶啤酒,每24小时可以喝10瓶及以下的啤酒不违反新交法。
模型评价与改进
1.解得对应模型,综合运用MATLAB软件,准确求解,在运用MATLAB进行数据拟合时,得到了较理想化的曲线。
2.本模型引用了医药动力学的二室模型进行计算,可靠性较高
3.从问题出发,分析了应该考虑的各种情况,建立了一般的数学模型,并进行实例验证,从而证明我们建立的数学模型可以较好的解决实际问题。
模型的缺点
1.本文的模型参数仅是依靠一组数据拟合求解得出,有一定的偏差。
2.模型为使计算简便,使所得的结果更理想化,忽略了一些次要的因素。
3计算所得.和题目所述不尽相同,不过因拟合得较好,只能考虑本身操作的误差。
—
END
酒精浓度检测报警器设计 第3篇
关键词:MQ3,酒精传感器,A/D模数转换器,AT89C51单片机
1 引言
酒精检测仪利用气敏传感器检测外界环境, 通过传感器将酒精浓度转化为电信号, 将电信号传送给模数转换器, 经过模数转换器转换后, 把转换后得到的数字信号传给单片机, 单片机对所输入的数字信号进行分析处理, 最后将分析处理的结果通过显示器显示出来。如图1所示。
2 系统关键器件
酒精浓度检测仪核心器件是:酒精传感器、A/D模数转换器和AT89C51单片机。
AT89C51单片机:本设计中采用最基础的51单片机, 因为当检测到有人员酒精浓度超过规定, 检测仪就发出报警, 并不需要对数据进行存储, 因此为了节约成本采用最基本的51单片机。AT89C51具有4K FLASH闪存储存器, 128字节内部RAM, 32个I/O口, 2个16位定时器/计数器, 一个全双工串行通信口, 片内振荡器及时钟电路等。其工作模式有:掉电模式, 空闲模式, 正常工作模式。
MQ3气体传感器:酒精传感器是气敏传感器, 其具有很高的灵敏度、良好的选择性、长期的使用寿命和可靠的稳定性。MQ3型气敏传感器由微型Al2O3、陶瓷管和Sn O2敏感层、测量电极和加热器构成的敏感元件固定在塑料或者不锈钢的腔体内, 加热器为气敏元件的工作提供了必要的工作条件。MQ-3气体传感器对酒精的灵敏度高, 可以抵抗汽油、烟雾、水蒸气的干扰。这种传感器可检测多种浓度酒精气氛, 是一款适合多种应用的低成本传感器, 见图2。
AD转换器:此仪器主要使用ADC0809转换器, 其优点是8路模拟信号的分时采集, 片内有8路模拟选通开关, 以及相应的通道抵制锁存用译码电路, 其转换时间为100us左右, 其转换结果通过三态输出锁存器存放、输出, 因此可以直接与系统数据总线相连。
3 系统设计
MQ-3传感器可以把检测到的气体浓度由非电量转换为电量, 而传感器输出的是0-5伏的电压值且电压值稳定, 外部干扰小等。因此, 可以直接把传感器输出电压值经过A/D转换器转换得到数据送入单片机进行处理。此外, 为了显示测试到的酒精浓度还需接入液晶显示;当酒精浓度超过设定值时还要进行报警, 再加入酒精电路;另外还需要启动和停止按钮。系统硬件设计原理图如图3所示。
4 结束语
以AT89C51、ADC0809、MQ-3等原件为核心的酒精浓度报警装置, 可以减少酒后驾车以及酒后上岗带来的安全隐患, 降低事故死亡率, 使工人安全的为企业带动效益, 让企业安全的带动工人双腾飞。
参考文献
[1]陈权昌, 李兴富.单片机原理及应用[M].广州:华南理工大学出版社, 2007 (08) .
[2]李庆亮.C语言程序设计实用教程[M].北京:机械工业出版社, 2010 (03) .
[3]杨志忠.数字电子技术[M].北京:高等教育出版社, 2008 (12) .
基于单片机的酒精浓度检测仪设计 第4篇
洒精易燃易爆,有关的各种工业活动中都要特别注意预防这种气体的泄露。从工厂企业到居民家庭,酒精泄露的检测、监控以及对酒后驾车的监测对居民的人身和财产安全都是十分重要且必不可少的。随着科学技术与生活水平的逐步提高,人们安全意识增强,对环境安全性和生活舒适性要求的提高,再加上气体传感器向低功耗、多功能、集成化方向的发展,因此,酒精浓度检测仪具有十分广阔的现实市场和潜在的市场要求。
1 系统设计原理
本设计是一款便携式的洒精检测仪器,所以各电路部分器件最重要的就是体积小巧功能强大。考虑到本设计产品之后要在不同的环境下使用,我们在选择传感器时,对酒精传感器能正常工作的温度范围、对酒精的敏感度、低功耗等因素,都作了认真地参考比较。
本仪器利用MQ303A酒精传感器作为敏感单元,把气体中含有的乙醇气态浓度转换成电信号,经A/D转换电路送由单片机处理,由LCD直观显示被测气体中的乙醇浓度,根据不同的环境设定不同的阈值,超过阈值即进行声光报警。
2 硬件系统设计
该检测系统的硬件主要由MQ303A酒精传感器、AD0804转换器、AT89C52单片机控制器、声光报警、LCD1602显示等构成,如图1所示。
2.1 硬件系统组成
依据硬件结构框图设计出系统硬件的整体电路图,如图2所示是单片机与LCD以及声光报警电路的电路图。
2.2 MQ303A酒精传感器
气体传感器是气体检测系统的核心,通常安装在探测头内。从本质上讲,气体传感器是一种将某种气体体积分数转化成对应电信号的转换器。探测头通过气体传感器对气体样品进行调理,通常包括滤除杂质和干扰气体、干燥或制冷处理、样品抽吸,甚至对样品进行化学处理,以便化学传感器进行更快速地测量。[1]
在本设计中采用的MQ303A酒精传感器,是一种二氧化锡半导体型酒精气体传感器,它具有高灵敏度、快速的响应恢复、长寿命、低功耗等特点。其结构、管脚分布与等效电路分别如图3所示。
传感器通电后通常需要数分钟的预热方可进入稳定工作状态,也可在正常检测前给传感器施加5~10秒钟2.2±0.2V的高电压,使传感器尽快稳定并进入工作状态。因为酒精传感器的信号输出阻抗较小,故而信号放大可以采用普通廉价运放LM324[2]。通过测试,MQ303A的输出信号同空气中酒精浓度为近似的线性函数关系如图4所示。
2.3 A/D转换部分的设计
ADC0804是用CMOS集成工艺制成的逐次比较型摸数转换芯片。分辨率8位,转换时间100µs,输入电压范围为0~5V,增加某些外部电路后,输入模拟电压可为5V。该芯片内有输出数据锁存器,可直接接到单片机数据总线上;通过适当的外接电路,ADC0809可对05V的双极性模拟信号进行转换。
2.4 AT89C52单片机
AT89C52是一个低电压、高性能CMOS 8位单片机,片内含8k bytes的可反复擦写的Flash只读程序存储器和256 bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash存储单元,AT89C52单片机在电子行业中有着广泛的应用。
2.5 显示电路
LCD1602液晶显示器以其低功耗、体积小、显示内容丰富、超薄、轻巧的优点,在袖珍式仪表和低功耗应用系统中得到越来越广泛的应用。该液晶显示器为工业字符型液晶显示器,能够同时显示16x02即32个字符(16列2行)。1602液晶模块内部的字符发生存储器(CGROM)已经存储了160个不同的点阵字符图形,这些字符有:阿拉伯数字、英文字母的大小写、常用的符号和日文假名等,每一个字符都有一个固定的代码。
2.6 声、光报警单元
通过单片机程序控制,判断是否报警,即单片机某一输出脚高低电平,控制三极管驱动声,光等报警设备。
3 软件设计流程
在系统的软件设计中,采用模块化设计方法,采用C语言来编程,大大提高了开发调试的工作效率,使得程序结构清晰,便于今后进一步扩展系统的功能,可以方便系统软件的升级。
系统在上电以后要对各模块进行初始化设置,P0~P3都赋予高电平,对ADC0804进行写控制字以及LCD1602显示初始化;接下来是数据的采集、转换、计算过程;ADC0804对MQ303检测到的酒精气体浓度输出信号进行转换后经AT89C52计算处理后,将空气酒精气体浓度值与报警设定值惊醒比较,判断是否发出声音和光报警,同时将计算出来的酒精浓度值送LCD1602进行显示。系统主程序流程图如图5所示。
4 结束语
本文设计了基于单片机的酒精浓度检测仪,设计过程包括了硬件电路设计和软件程序的编写两部分。经过软、硬件的调试工作,所有性能均达到了设计指标的要求,准确度较高,声光报警器均工作正常。基于气敏传感元件的通用性,图2电路图可以因实际需求进行改进。例如可以改用检测其它类型气体浓度,只要选择合适的气敏传感元件进行替代即可,电路其他部分均无需改动,十分方便实用。该报警电路在不同需要使用中,可以选择适当的灵敏度进行报警。例如在对酒精浓度要求较高的场所,可以降低比较器LM324的基准电压,当有轻微酒精浓度升高就能进行报警。另外在其它浓度要求不高的场所,可适当提高基准电压,使灵敏度略为降低。
参考文献
[1]李丽华,黄秋野,王琦.基于单片机的酒精浓度检测仪设计[J].科技广场,2009,3.
酒精浓度测试仪 第5篇
设计要求:1)能够检测酒精浓度;2)能够预先设定阀值;3)阀值能够再调整;4)超过阀值能够声光报警;5)显示酒精浓度值;6)能够判断是否吹气和吹气是否有效。
呼气酒精浓度测试常用的方法有燃料电池型(电化学型)和半导体型两种。燃料电池酒精传感器只有美国、英国、德国、中国等少数几个国家能够生产。半导体型酒精传感器采用具有气敏特性的氧化锡半导体作为传感器,当气体中酒精浓度增加时,传感器电阻值就降低, 对酒精具有最高的敏感度。
基于STC12C5A16AD单片机设计的酒精气体浓度探测仪,可用来检测酒精气体浓度,当酒精气体浓度高于允许限定值时,发出报警。
1 系统结构
系统由数据采集模块(包括吹气判断电路、MQ3酒精气体浓度传感器电路、信号调整电路组成);单片机控制模块(包括STC12C5A32AD型单片机、模/数转换部分、阀值比较电路、液晶显示器电路、晶振电路、复位电路组成);阀值电路模块(包括阀值预设定电路、阀值调整电路、阀值存储电路、过阀声/光报警等分电路组成)。系统结构框图如图1所示。
STC12C5A32AD这款单片机自身带有8路ADCP1.0-P1.7口模数转换功能;可以大量简化硬件电路设计。
2 电路设计思路
2.1 酒精浓度检测仪电路
由酒精气体浓度传感器MQ-3负责检测空气中的酒精气体浓度;由单片机内部自带的模/数转换器把检测到的模拟量(表示酒精浓度)的电压信号转换成数字量;然后和预先设定的表示酒精浓度的阀值进行比较,如果比较结果超过阀值就由单片机P2.3口输出方波信号控制PNP型三极管VT4驱动蜂鸣器发出报警声;同时由单片机P2.6口输出低电平控制发光二极管LED3发出红光;表示被检测的人处于醉酒状态;如果黄灯LED2亮表示被检测的人处于饮酒状态;如果绿灯LED3亮表示被检测的人没有饮酒。
数据的采集模块:
2.2 吹气判断电路
当没声音信号时VT1饱和导通,其集电极为低电平,VT2因反偏截止,IC1 555“2”脚为高电平,IC1 555“3”脚输出低电平,VT3截止,信号输出端VOUT输出高电平。此时绿色指示灯LED2不亮,表示没吹气或吹气无效,此时,单片机P1.3口输入高电平;编程时P3.1口高电平判断为:吹气无效或没有吹气。
吹气时,麦克线圈把音频信号转化为低频脉冲信号,经电容C1耦合、三极管VT1 9013/VT28050工作在放大区,经2次放大,IC555 2脚大于1/3VCC、小于2/3VCC时,接成单稳态的IC555电路翻转、3脚输出高电平、绿色LED21导通发光,表示吹气有效;此时,单片机P1.3口输入低电平;编程时P1.3口低电平判断为:吹气有效。
酒精浓度信号采集电路及信号调整电路:MQ-3酒精气体浓度传感器检测到空气中的酒精浓度,并且把浓度转换成电压输出(模拟量AOUT送到单片机的P1.7口);传感器输出的信号输入运算放大器LM393的2脚,与3脚RP2分压以后的电位比较,从1脚输出整形数字信号(数字量)。
模/数转换:由于STC12C5A32AD这个型号的单片机P3口带有ADC功能,根据酒精浓度和电压关系图表,可以把模拟量转换为数字量,供CPU处理。调节电位器Rp改变输出的灵敏度。
2.3 单片机模块
单片机和液晶显示器LCD1602接口、及晶振、复位电路如图3所示。液晶显示器选用LCD1602来显示酒精浓度值;LCD1602挂在单片机P0口上,液晶显示器的8位数据线P0.0~P0.7和单片机P0口的8位P0.0~P0.7一一对应连接;LCD1602的3条控制线由单片机P2.0、P2.1、P2.2控制;连接关系如下:EP2.0;RW-P2.1;RS-P2.2;液晶显示器通过3脚上的10K电位器RP3调整;由于P0口结构关系需要外接上拉电阻;用1K的排阻一端接5V,另一端接P0.0~P0.7;单片机采用11.0592MHz晶振频率;复位电路采用按键式复位方案。
2.4 酒精浓度和输出电压关系的取得
由无水乙醇和水勾兑、稀释而成不同浓度的酒精;然后分别用不同浓度的酒精慢慢靠近MQ-3酒精气体浓度传感器,从电压表读出电压值;建立模型(图表),找出电压和浓度的关系(试验多次,然后取平均值)。电压与浓度的对应关系如表1所示。单片机还把浓度和阀值比较,如果超过阀值就通过P2.3口控制三极管VT4(9012)驱动蜂鸣器发出报警声。通过P2.6/P2.5输出低电平驱动红灯LED3亮表示醉酒状态;LED2黄灯亮表示饮酒状态;同时单片机把转换后的酒精浓度数据送到液晶显示器上显示;单片机负责控制各个分电路。
2.5 阀值设定/调整电路
由单片机和四个按键组成。按键一端接地,另一端接单片机P3口;P3.5口控制SW4(CANCEL)键(当按下时表示处于阀值预设或阀值调整状态);P3.4口控制SW3(OK)键(当按下时表示阀值设定到位);P3.1口控制SW2(Down)键,每按一次,阀值减一;P3.0口控制SW1(UP)键,每按一次,阀值加一。如图4所示。
平时没有键按下,P3口处于高电平状态;当有按键按下时,P3口和地线接通被拉成低电平。采用查询扫描方式,循环检测。如果没有按键按下,检测结果都是高电平;如果检测到低电平时,表示有键按下。当检测到P3.5口是低电平时,表示SW4按下处于阀值预设定状态,此时,每按一次SW1(UP)键,阀值加一。达到20mg(或80mg)时,请按下SW3(OK)键,表示固定阀值。如果按下SW2(Down),阀值减一。
表示酒精浓度的阀值取得:采用道路交通安全法中的规定;即大于20mg小于80mg,判断为饮酒状态;大于80mg判断为醉酒状态。
2.6 阀值存储电路
采用电可擦写可编程只读存储器AT24C24来保存酒精浓度阀值数据。图中PRE、E1和E2为芯片的地址引脚,一般接地即可。SCL和SDA为AT24C04和单片机IIC通信的串行控制时钟线和数据线。SCL连P1.0,SDA连P1.1。阀值数据很重要,是处罚的依据,必须保存好以备查和解决争议;AT24C24内部有E2PROM可保存数据100年,掉电数据不丢失,最适合。
阀值设定/调整:通过“增加”、“减少”按键调节。
2.7 声光报警电路
声光报警电路如图5所示。
单片机将酒精浓度的测量值与事先设定的阈值相比较,当测量值大于阈值时,蜂鸣器报警;当超过阀值(20mg、80mg)时,单片机从P2.3口输出方波信号,控制三极管VT1导通/截止交替变化,驱动蜂鸣器发声。
如果20mg/100ml <酒精含量<80mg/100ml,则单片机P2.5口输出低电平驱动发光二极管发光,黄灯闪烁,表示饮酒状态。
如果酒精含量>80mg/100ml,则红灯闪烁,单片机P2.6口输出方波信号驱动发光二极管闪烁,红灯表示醉酒状态。
3 设计制作印刷电路板
Protel Dxp 2004是目前网络上功能最强大、最专业的PCB线路板设计软件,软件具有丰富的设计功能,能进行原理图的设计、印制电路板的设计、新增加了自动布线功能、原理图仿真功能。把各个分电路集成就形成了酒精浓度检测仪完整电路原理图。如图6所示。
设计过程中设计了自己的元件库,自制了4个元件(LCD1602、MQ-3、STC12C5A32AD、LED);设计了自 己的封装 库 ( LCD1602、MQ-3、STC12C5A32AD)。
为符合设计要求,设计了酒精浓度检测仪电路印刷电路板。采用双面板方案,电子元件选用非贴片,元件封装采用THT技术,电路布局按功能分区布设,双面覆铜;PCB板采用方型;集成电路采用DIP技术;按要求设计的酒精浓度检测仪电路印刷电路板图如图7所示。
4 软件设计
主程序流程图如图8所示。
图8主程序框图(参见右栏)
5 结论
本设计能够对人体呼出气体进行酒精气体浓度检测,超过规定阀值时能够声光报警,实现了预期设计要求。
摘要:酒精气体浓度探测仪采用MQ-3乙醇气体传感器对空气中的酒精浓度进行检测,利用单片机把检测到的酒精浓度模拟量电压信号转换成数字量,再和预设的酒精浓度阀值进行比较,如果超过阀值由单片机控制三极管驱动蜂鸣器报警,液晶屏显示报警时的酒精浓度;本电路可以由键盘预先设定、调整阀值;本电路能判断吹气是否有效;电路全部采用Protel Dxp 2004制版软件设计;印刷电路板采用双面板设计、双面覆铜方案。