基于单片机和虚拟仪器的车载酒精浓度检测仪
摘要
为了使酒后驾车的驾驶员无法正常启动车辆,减少酒后驾车引起的交通事故,本文设计了基于单片机和虚拟仪器的车载酒精浓度检测仪。该检测仪以STC89C52单片机为核心控制器件,利用气敏传感器MQ3检测驾驶员呼出气体的酒精浓度,A/D转换电路将气敏传感器MQ3的输出信号进行采集,并送与STC89C52单片机进行处理。当酒精浓度超过酒后驾车的阀值时,检测仪可实现声光报警功能,并自动切断汽车启功系统的点火电路,使酒后驾车的司机所驾驶的车辆自动熄火,从源头上解决司机酒后驾车的问题。同时该检测仪利用串口通信,实现单片机与车载电脑的数据传输,虚拟仪器系统以车载电脑为平台,对驾驶座的酒精浓度进行实时监测及数据存储,一旦发生交通事故,车载电脑所存储的实时酒精浓度数据,可方便交通管理部门对交通事故发生原因的排查。
关键词:单片机、虚拟仪器、气敏传感器、A/D转换电路、串口通信
第一章 概述
1.1 车载酒精浓度检测技术的背景及意义 1.1.1 车载酒精检测技术的背景
2008年世界卫生组织发布的事故调查显示,世界上大约50%—60%的交通事故与酒后驾车有关,当酒精在人体血液内达到一定程度时,人对外界的反应能力及控制能力就会下降,导致人处理紧急事件的能力也随之下降。研究表明,当驾驶者血液中酒精含量达到80mg/100mL时,发生交通事故的几率是不含酒精时的2.5倍,当驾驶者血液中酒精含量达到100mg/mL时,发生交通事故的几率是不含酒精时的4.7倍,即使在少量饮酒的状态下危险度也是未饮酒时的2倍左右,酒后驾车已成为车祸致死的主要原因。
1.1.2 车载酒精检测技术的意义 根据国家质检检疫局发布的《车辆驾驶人员血液、呼气酒精含量阀值与检测》中的规定,酒后驾车的临界值如表1-1所示:
表1-1 车辆驾驶人员血液酒精含量临界值
行为类别 饮酒驾车 醉酒驾车 对象 车辆驾驶人员 车辆驾驶人员 血液酒精含量(mg/100mL) 20 80 呼气酒精含量 (mg/L) 0.0909 0.3636 虽然法律明文规定禁止酒后驾车,但是仍然有一部分人怀着侥幸心理酒后开车,这不仅是对自己人身安全的不负责任,也是漠视路人生命的行为。而且仅仅依靠法律有限的醉酒驾车的惩罚措施,并不足以规范人们的酒后驾车行为。
从理论上说,要判断是否是酒后驾驶,最准确的方法应该是检查驾驶员血液中的酒精含量,但在违章检查及交通事故处理中,现场抽取血液往往是不可能的,因此现阶段,只能通过交通管理部门派出专门人员在道路上设卡,进行现场检测
对驾驶者是否饮酒,而且通常采用手持式呼气酒精检测仪。虽然目前市场上警用酒精检测仪种类繁多、功能也较强大,但只能由交警人员来实施,由于交警不能全时段覆盖所有行驶车辆的检测,势必给酒后驾车行为留有漏洞。 如果每部车内安装有一种酒精浓度检测仪,能实时检测驾驶员呼出气体的酒精浓度,并且在检测到该浓度超过醉酒驾车的阀值时,进行声光报警,并自动切断汽车启动系统的点火电路,就能从根本上控制醉酒驾车行为。基于此本文设计了基于单片机和虚拟仪器的车载酒精检测仪,在实现上述功能的基础上,以车载电脑作为上位机,通过串口通信,实现单片机与上位机的数据传输,虚拟仪器系统以车载电脑为平台,对单片机传输的酒精浓度进行实时处理和存储,方便交通管理部门对交通事故发生原因的排查。相信一旦该酒精检测仪广泛投入使用,必将有效的规范醉酒驾车行为。
1.2 车载酒精检测技术的现状和发展趋势 1.2.1 酒精检测技术现状
目前酒精检测方法主要有呼气式酒精检测法、顶空气相色谱法和乙醇脱氢酶法三种,应用最广的是呼气式酒精检测法,呼气式酒精检测法采用气敏传感器对人的呼出气体进行检测,然后根据呼出气体酒精浓度与血液酒精浓度的比例关系(1:2200)进行计算得到血液酒精浓度。近年来智能传感器的出现也使气敏传感器有了很大发展,不仅有半导体型、燃料电池型等传统传感器,还有单壁、多壁碳纳米管传感器,多传感器融合的复合传感器。
1.2.2 车载酒精检测技术的现状
车载酒精检测技术已经在车辆中有部分应用,但尚不成熟。目前除了汽车厂商在其生产的车辆上使用外,单独出售的车载酒精检测控制器还没有在市场上出现。车载酒精检测技术多种多样,大致分为直接对呼出气体测量型、间接对呼出气体检测型、对体液检测型和对人的生物特征检测型。直接对呼出气体检测型的代表厂商是萨博,它在某些款型的车上使用了酒精钥匙(Alcokey)技术,在汽车启动前需要向设置在钥匙上的吹气口吹气,否则汽车无法启动。酒精钥匙检测出酒精含量未超标时,钥匙亮起绿色指示灯,汽车可以正常启动;而酒精含量超标时则发动机自动锁止使汽车无法启动。但在实际使用中若驾驶员找其他人代替吹气,则酒精钥匙不能发挥其作用。
间接对呼出气体检测型车载检测装置如表1-1所示,这种装置无需驾驶员通过吹气管吹气,只要驾驶员进入车辆便可自动检测,它通过检测车内空气与酒精气体的浓度比计算驾驶员呼出气体的酒精浓度,超标就会自动锁止发动机,使汽车无法启动。这种装置的缺陷是可能因当乘员饮酒时误动作,在驾驶员未饮酒的情况下锁止车辆。
图1-1 车载无吹管的酒精检测装置
对体液检测型主要是对驾驶员手心的汗液来检测,它将酒精检测装置安装在驾驶员手可能接触的所有地方,检测驾驶员手心汗液中的酒精浓度含量,如果检测出酒精,系统就会发出警报,并且自动锁止变速器。这种方法成本大且对驾驶员是否接触装有酒精检测装置的地方存在不确定性,而且如果驾驶员带手套,该检测装置将彻底失去其作用。另外还有一种车载酒精检测装置在检测到酒精存在后,通过GPS定位车辆,并通过GPRS网络将车辆的位置信息发送给交警部门,最终由交警使用专门的酒精检测仪对驾驶员是否饮酒进行确定,但是该方法无法确定是否是驾驶员饮酒,或是乘员饮酒,或是车内放置含有酒精的其他物品,导致交警部门进行无效的出动,给交警执法带来极大的不便。
1.2.3 车载酒精检测技术的发展趋势
目前车载酒精检测设备主要通过酒精传感器检测车内酒精含量并依据酒精含量对车辆进行控制,只是硬件载体有所不同,首先是使用的传感器不同,其次是处理信号的单片机不同。有的车载设备使用多传感器,将多个传感器安装在车内不同位置,通过传感器得到的不同的气体酒精浓度来判断是否是驾驶员饮酒,其根源上是围绕是否是驾驶员饮酒来设计的,本质思想还是通过酒精浓度控制车辆。近年来,随着酒精传感器、嵌入式技术的发展,车载酒精传感器正向着智能化、集成化、人性化和快速反应的方向发展。
随着嵌入式技术的更新,传感器体积缩小、成本降低,车载酒精检测仪可以集成到现有的车载电子设备中,使酒精检测仪成为汽车电子设备的一部分,从根源上杜绝酒后驾车,集成化是未来车载酒精检测仪发展的必然趋势。人性化是车载酒精浓度检测仪要达到的目标,方便仪器的推广使用。快速反应是基于酒精传感器能快速探测到酒精浓度而发展的。智能化是所有仪器发展的必然趋势,车载酒精检测仪可以通过多传感器的结合,全方位感知判断车内乘员及车辆自身的情况。
1.3 本文结构及主要内容
本文主要研究基于单片机和虚拟仪器的车载酒精浓度检测技术,主要思想是通过驾驶员呼出气体的酒精浓度实时控制车辆是否可以行驶,并且利用虚拟仪器这一先进技术对驾驶员呼出气体的酒精浓度进行实时处理和数据存储,方便交警部门对交通事故发生原因的排查。
本文内容安排如下: 第一章概述,主要阐述了车载酒精浓度检测仪的背景及意义、现状及发展趋势,最后介绍了本文的结构及主要内容。
第二章酒精检测仪系统设计思路,介绍了车载酒精检测仪的总体方案。 第三章酒精检测仪的硬件设计,介绍了车载酒精检测仪的硬件设计方案,对涉及到的主要器件及其在硬件系统中的作用、如何在硬件系统中发挥作用做了详细介绍。
第四章酒精检测仪的软件设计,介绍了虚拟仪器技术,对酒精检测仪涉及到的虚拟仪器编程的各个模块做了详细阐述。
第五章系统调试及实验结果,通过模拟酒精浓度对系统性能进行了调试,并给出实验结果。
第六章总结,对本文设计的基于单片机和虚拟仪器的酒精浓度检测仪进行优缺点总结,并对今后的改进工作进行了简要的叙述。
第二章 酒精检测仪系统设计思路
2.1 酒精检测系统工作原理
本文设计的基于LabVIEW和单片机的车载酒精检测仪分为上位机和下位机两部分。下位机选用51系列单片机,C语言编程,单片机外围电路将采集到的酒精浓度信息传给单片机,利用单片机学习板上的LED灯和蜂鸣器进行模拟,实现酒精检测仪的声光报警功能,通过一个LED灯指示汽车发动机点火电路的通和断,模拟实现当酒精浓度超过阀值时自动锁止车辆的功能;上位机采用LabVIEW编程设计PC上位机的监控界面,PC通信自带串行口,和单片机进行串口通信,从而实现对过程参数的测量和采集。该车载酒精检测仪设计简单,简化了系统和硬件电路,具有很好的可扩展性。
系统组成框图如图2-1所示:
图2-1 系统组成框图
上位机主要包括串行通信、酒精浓度临界值预警、数据存数、表格显示。上位机组成框图如图2-2所示:
图2-2 上位机程序组成框图
下位机主要包括MQ3气敏传感器、 A/D采集电路、声光报警、点火电路。下位机组成框图如图2-3所示:
STC89C52RC单片机 MQ3气敏传感器 A/D采集电路 声光报警 点火电路 数码管显示 图2-3 下位机组成框图
2.2 酒精检测系统运行步骤
酒精浓度采集:从传感器出来的信号是0-5V的电压信号,而单片机只能处理数字信号,所以传感器与单片机之间需要加A/D转化才能将传感器检测到的酒精浓度信息送给单片机,本文选用的是ADC0804模数转换芯片。
酒精浓度处理:单片机将采集到的电压信号转换为对应的血液酒精浓度信息,并与临界值比较。当酒精浓度在[20,80)mg/mL中时为饮酒驾车,单片机发出预警,点亮第一个LED灯,代表对饮酒驾车行为的提醒;当酒精浓度大于80mg/mL时为醉酒驾车,第一个灯熄灭,第二个灯亮,模拟为锁止发动机,并由蜂鸣器发出警报。
酒精浓度传输:通过RS232串口通信,单片机与PC机进行数据传输,上位机利用LabVIEW软件对单片机传输的数据进行串口读取、处理、显示、储存,并实现声光报警功能。
上限值设置:当需要改变醉酒驾车的上限值时,LabVIEW通过VISE READ 送上限值给单片机,实现上位机对酒精浓度阀值的控制。
第三章 酒精检测系统硬件设计
3.1 酒精检测系统硬件设计要求
本文设计的基于LabVIEW和单片机的车载酒精浓度检测仪,通过酒精模块实现驾驶座酒精浓度采集,以单片机为下位机实现对硬件电路的控制,要求实现声光报警、模拟锁止车辆、串口通信以及数码管显示等功能;以虚拟仪器为上位机控制平台,要求实现对单片机中酒精浓度临界值的控制。基于此,本文选用的主要电子器件有STC89C52单片机、MQ3酒精传感器、及RS232串行通信接口。 3.2 主要电子器件的介绍及电路设计
3.2.1 STC89C52单片机
STC89C52是宏晶科技公司生产的低电压、高性能的CMOS8位单片机,片内8kByte的可反复擦写的只读程序存储器(PEROM)和128Byte的随机存储器(RAM),器件采用ATMEL公司的高密度、非易失存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器(CPU)和Flash存储单元,功能强大。AT89C51单片机可为使用者提供许多高性价比的应用场合,可灵活的应用于各种控制领域。STC89C52RC单片机的管脚图如图3-1所示: