赵志峥 张鑫 李雪颖 李功凯 夏征强
收稿日期:2023-08-22
基金项目:2022年度黄河交通学院一流课程建设项目(HHJTXY-2022ylkc12);河南省智能制造技术与装备工程技术研究中心科研项目(3118210370)
DOI:10.19850/j.cnki.2096-4706.2024.05.015
摘 要:对导致交通事故的原因进行了研究,酒驾已成为交通事故高发的主要原因之一。酒精浓度的检测是评定酒驾的重要环节,为提醒驾驶员避免酒驾,设计了一个基于单片机的车内酒精自检系统,通过MQ-3酒精传感器对车内的酒精浓度进行实时监测,将采集的模拟信号经过A/D转换传送到STC89C52RC单片机,处理后的数据通过LCD显示屏进行显示。若检测的气体中酒精浓度超过预定的阈值,系统会发出声光报警,警报可以引起注意。与此同时,继电器控制的电路也会使汽车进行制动,使汽车无法启动。该系统体积小、携带方便,并具有一定的预防酒驾的功能,保证交通安全。
关键词:单片机;MQ-3;LCD显示;声光报警
中图分类号:TN709;TP273 文献标识码:A 文章编号:2096-4706(2024)05-0068-05
Design of Alcohol Self-checking System in Car Based on Single-Chip Microcomputer
ZHAO Zhizheng1,2, ZHANG Xin1,2, LI Xueying1,2, LI Gongkai3, XIA Zhengqiang1
(1.School of Mechanical and Electrical Engineering, Huanghe Jiaotong University, Jiaozuo 454950, China; 2.Henan Intelligent Manufacturing Technology and Equipment Engineering Technology Research Center, Jiaozuo 454950, China; 3.Jiaozuo Tax Service, State Taxation Administration, Jiaozuo 454000, China)
Abstract: The cause of traffic accidents has been studied, and drunk driving has become one of the main reasons for the high incidence of traffic accidents. The detection of alcohol concentration is an important part of assessing drunk driving. In order to remind drivers to avoid drunk driving, a alcohol self-checking system in car based on Single-Chip Microcomputer is designed. The alcohol concentration in the car is monitored in real time through the MQ-3 alcohol sensor, and the collected analog signal is converted to STC89C52RC Single-Chip Microcomputer by A/D conversion. The processed data are displayed through the LCD display. If the alcohol concentration in the gas exceeds the threshold, the system will send out a sound and light alarm which can attract attention, and at the same time, the circuit controled by relay will brake the car so that the car cannot be started. The system is small in size, easy to carry, and has a certain function of preventing drunk driving to ensure traffic safety.
Keywords: Single-Chip Microcomputer; MQ-3; LCD display; sound and light alarm
0 引 言
隨着当今社会信息化的迅速发展和人们的生活水平不断提高,私家车的普及率越来越高,私家车的出现也为人们的交通出行带来了极大方便,但是由此产生了一系列问题。世界卫生组织的交通事故调查显示,约50%以上的交通事故与酒后驾驶有一定的关系[1-3]。酒后驾驶问题日趋严重,因此,研究一种低成本、实用的酒精浓度检测方法具有重要的意义[4]。文章设计了一种利用STC89C52RC单片机作为主控芯片的车内酒精自检系统,完成了酒精自检系统的硬件电路设计、软件设计,并通过Proteus软件进行仿真验证了车内酒精自检系统的可行性[5],最后通过实物焊接完成设计,从而为驾驶人员提供一种简易的酒精测试应用工具[6]。
该系统是一种可自主检测、造价低廉的车内酒精浓度自动检测系统[7]。它采用单片机进行控制,通过自动对车辆内的酒精浓度进行监测和显示,以达到提高汽车行驶安全性的目的。行驶前通过酒精传感器检测车内酒精浓度,如果酒精浓度超过阈值则无法启动车辆并且报警提醒驾驶员[8,9]。当车辆行驶时遇到突发情况,例如在车内不小心有酒撒出来,这时虽然会报警但不会立即制动停车,而是慢慢降速,给车内人员缓冲时间做出有效应对,有效防止因驾驶员酒后驾车引起的交通事故[10-12]。
1 系统方案
设计的酒精自检系统应具有以下功能特点:
1)行驶前检测车内酒精浓度,若超过阈值,系统要及时报警,起到警醒作用。
2)行驶时如果检测到酒精浓度超过阈值,系统要显示酒精浓度并立即报警,但不能立即制动。
3)要从实用的角度出发,采用單片机系统对键盘及液晶显示器进行控制,以达到人机交互式操作的目的,界面应设置简单。
通过酒精传感器来检测车内驾驶员呼出的气体浓度,其后,通过主控芯片的A/D转换,将处理后的酒精浓度数据利用LCD显示屏进行显示。当酒精浓度超过阈值时,会报警及车辆制动,进而实现防酒驾功能。酒精传感器是把非电量转换为电量,经过A/D转换,把数据输入单片机进行处理。行驶前如果超过阈值会报警及制动;行驶时,如果酒精浓度超过阈值,不会立即制动而是控制车速慢慢下降。另外,还需要连接LCD显示器、按键电路、声光报警电路等,系统总体方案如图1所示。
图1 系统总体方案
2 系统硬件电路设计
2.1 系统总体设计
该系统硬件电路设计的总体分为两部分,单片机最小系统和外围电路设计。其中单片机最小系统包括STC89C52RC、复位电路和晶振。外围电路包括键盘电路、LCD显示电路、声光报警电路、A/D模数转换电路、继电器电路等,如图2所示。
2.2 单片机最小系统
单片机选用STC89C52RC,当单片机处于空闲的状态下,CPU会自动停止工作,而RAM、定时器、串口和中断可以继续正常工作。在断电保护的模式下,会对RAM数据进行存储,并对振荡器进行冻结,以确保单片机在下一次断开或硬件复位设置前全部停止运行。高频运行以每小时35 MHz的频率运转,并且具有良好的实时性,可以满足多样化的需求。
复位电路是把电路还原到初始状态。所谓的复位,就是将一个电路还原成原来的样子,就像是计算器上的归零键一样,还原成原来的样子才能继续运算。单片机的复位,是将电路恢复到初始的状态,只要在单片机复位引脚RST上外接相应的电阻和电容,就能实现系统的上电复位。按键复位就是把开关并联在复位电容上,当开关按钮被按下时,电容会放电,复位引脚会维持高电平的状态,从而实现复位。
在单片机系统里,时钟电路是单片机运行的必备条件,也是最小系统作为应用的核心部分,通过对其进行相应的扩展,如存储器扩展、A/D扩展等,使单片机能够完成较复杂的功能。晶振电路属于时钟电路的一种,在单片机的控制过程中,晶振是不可缺少的组成部分之一。晶振起到的作用很重要,它是整个单片机系统的一个比较核心的部件。晶振电路为整个系统的稳定工作提供基础时钟,一般情况下系统会共用一个晶振,可以保证各个部件同步工作。晶振是可以把电能与机械能相互转化的晶体,精确度和温度特性也比较好,在共振的状态下工作,可以产生一种稳定、准确的单频率振荡。并且时钟频率越高,运行的速度就会越快。
2.3 键盘电路
键盘电路总共设计了3个按键,分别对应系统复位按键、阈值加键和阈值减键。由于不同场所进行酒精检测时,对酒精的浓度要求不一样,可以通过阈值的加减键进行控制。
单片机的键盘能分成矩阵键盘和直通式键盘两种。矩阵键盘是由多个按键按照一定的矩阵排列方式组成的,一般采用行列扫描的方式进行控制,其中行和列分别与单片机的输出端口和输入端口相连。直通式键盘是指每个按键都有单独的引脚与单片机相连的设计。与矩阵键盘不同,按键直接与输入端口相连,当某个按键被按下时,单片机会立即响应中断,并执行相应的程序代码,显示相关字符信息。根据需要,在设计中选择了响应速度快的直通式键盘。
2.4 LCD显示电路
采用LCD1602作为显示电路。它成本低、价格便宜、做工质量较好,在用于检测的时候性能稳定,可以满足该系统实际显示车内酒精浓度值的要求。它有14个引脚,其中R/W引脚为LCD1602数据读取/写入信号线,主要作用是显示车内气体中的酒精浓度。
LCD显示电路的原理是:当采集的酒精浓度数据输入用于检测的单片机后,单片机进行数据的分析和处理,处理过后驱动LCD液晶显示酒精的浓度数值按键设置阈值,同时LCD液晶接在单片机的P0口上。液晶显示模块是LCD1602,它的显示容量为2行16个字符,可定义8个5×8点阵字符或者4个5×10点阵字符,容量足够显示当前设置酒精浓度阈值和当前酒精浓度值。
2.5 声光报警电路
LED灯光报警是一种以轻巧、便携和易于安装为特点的报警器。采用LED灯光报警是因为它具有亮度高、寿命长、使用方便等优点,同时应用范围比较广,可应用于各种场景,本次设计利用LED灯光闪烁频率和亮度,能够迅速吸引注意力,警示驾驶员及车内人员。
声光报警电路主要由放大电路、控制电路、扬声器和LED组成,将电信号转化为声音信号。一般采用直流供电,在通电后产生振动,输出1.5~2.5 kHz的音频信号,蜂鸣器的放大电路包括信号放大和滤波两个部分,它的特点是体积小、功耗小、可以重复工作。
2.6 A/D模数转换电路
MQ-3主要负责采集酒精浓度数据,数据采集之后上传到电路当中。酒精浓度传感器采用的是MQ-3气敏传感器,此传感器采用电导率比较低的氧化锡这一物质半导体作为传感器。当车内的气体浓度增加时,电阻值会降低。检测范围为0.001%~0.2%,输出酒精浓度模拟信号。它灵敏度高,体积小,价格低廉,而且可以抵抗汽油、烟雾、水蒸气的干扰。
该设计的测量对象是酒精浓度,因此需要酒精传感器将酒精检测到的浓度值转换成连续变化的模拟电信号,而这些模拟电信号还需转换成能够让单片机处理的数字量。相对于积分型ADC来说,逐次逼近型ADC采样速率较高,功耗相对较低。选用的是逐次比较型A/D转换器,型号是ADC0809,这是目前普遍使用的A/D转换器件ADC0809约需100 μs完成一个转换,可以通过外接电路对0~5 V的模拟信号进行转换。
2.7 继电器电路
本系统的控制电路是继电器电路,此电路可以很好地检测驾驶员的酒后驾车行为。继电电路用于制止驾驶员酒后开车的行为,不仅仅对驾驶员有警示作用,还对酒后开车行为的检测具有很大帮助。当检测仪获取的酒精浓度值超过预定的阈值时,继电器电路会发挥作用,自动切断汽车的电源,从而达到预防驾驶人员饮酒开车的目的。若汽车在行驶的过程中,检测到汽车中的酒精浓度超过阈值,则通过PWM控制汽车慢慢降速,直到汽车的速度为0。
在行驶过程中,如果遇到突发状况,例如在行驶过程中车内有酒洒出来,车内酒精浓度上升超过阈值,这时,为了安全车子绝对不能直接制动停车,只能将车速慢慢停下。本次的设计采用PWM调速,PWM就是脉冲宽度调制技术,是利用数字信号来控制模拟电路的一种技术。
PWM有两个重要的参数,频率还有占空比。频率是周期的倒数,而占空比是指高电平在一个周期占到的比例。改变占空比就可以控制输出电压,从而控制电机的速度。PWM为高电平,电机加速运转;PWM为低电平,电机不加速运转。这样,就可以通过对占空比的控制,来对电机在一个PWM周期中的提速时间进行控制,通过对PWM脉冲占空比的调节,可以使电机两端的电压发生变化,达到调节速度的目的。
3 系统软件流程图
根据此自检系统的设计需求,主程序设计需要对定时器、A/D转换、LCD显示屏进行初始化,触发A/D转换电路,将MQ-3传感器采集的数据信息转换成酒精浓度值,酒精浓度值经单片机处理,在LCD1602屏上显示。若车内酒精浓度在行驶前超过设定阈值,则会显示酒驾或醉驾并发出声光报警。若汽车在行驶时超过设定阈值,不会立即制动而是控制车速慢慢下降,系统软件流程图如图3所示。
图3 系统软件流程图
4 系统调试
4.1 仿真调试
利用Proteus软件对车内酒精检测系统进行仿真,LCD1602、声光报警电路、继电器电路分别如图4(a)(b)(c)所示。开始仿真后,LCD1602显示屏显示当前酒精浓度为70 mg/dL,此时没有超过阈值的酒精浓度,因此,没有声光报警和调速。
(a)LCD1602
(b)声光报警电路
(c)继电器电路
图4 酒精浓度未超过阈值的仿真图
当仿真的酒精浓度超过100 mg/dL时,就会产生声光报警以及调速,LCD1602、声光报警电路、继电器电路分别如图5(a)(b)(c)所示。此时测量车内的酒精浓度为539 mg/dL,可以发现,车内的声光报警系统开始工作,直至速度降为0为止。
(a)LCD1602
(b)声光报警电路
(c)继电器电路
图5 酒精浓度超过100 mg/dL时的仿真图
4.2 實物调试
在LCD1602显示屏中,第一行实际显示的是汽车中室内的空气酒精浓度和PWM的调速,汽车中空气酒精浓度的检测标准则在第二行显示,通过按键可以调节初始阈值。
通过MQ-3酒精传感器检测车内酒精浓度,当酒精传感器在检测酒精浓度后,信息通过A/D转换,把模拟量转换成数字量传给单片机(STC89C52RC)进行处理。通过按键来设置阈值,按键包括加减键、启动按键、复位按键。如果开始时酒精浓度超过阈值,系统控制声光报警并制动,电机无法转动。当电机转动时,如果酒精传感器检测到酒精浓度超过阈值,这时不会立即制动而是控制电机转速慢慢下降。
系统在经过调试之后,能够非常准确地对汽车室内的空气的酒精浓度进行检测,同时可以在显示器上实时显示数据。如果在现场的实时检测中,被测人员的酒精浓度没有超标,则在LCD1602液晶屏上显示实时酒精浓度;如果汽车中空气的酒精浓度超标,则汽车无法启动;如果在行驶的过程中检测到汽车中空气的酒精浓度超标,则通过PWM对汽车慢慢降速,实物如图6所示。
图6 实物图
5 结 论
本系统先后完成了酒精质量浓度采集电路、A/D转换电路、PWM控制电路、液晶显示电路以及声光报警等电路的设计,在设计过程中整个装置较好地达成了设计要求。此自检系统可以快速、准确且有效地测量汽车中空气的酒精浓度。当车内的酒精浓度达到预设的报警阈值时,自检系统发出声光报警。另外,该系统具有价格较低、实用性能非常强、非常便携等特点,可以广泛用于酒驾、醉驾的检测及酒厂等场所酒精浓度的检测,对保障人们的出行及人身安全具有重要意义。
参考文献:
[1] 林小芳.基于单片机的防酒驾检测系统设计研究 [J].物联网技术,2021,11(9):9-10.
[2] 潘光明.基于深度学习与STM32的车载防酒驾系统研究 [D].秦皇岛:燕山大学,2023.
[3] 王艳博.基于多传感器信息融合的车载酒驾检测系统的研究 [D].长春:吉林大学,2019.
[4] 陈洪桃,王靖,罗让让,等.基于酒精检测的辅助锁车系统设计 [J].科技资讯,2022,20(1):23-26.
[5] 尚梦帆,许建军,贾会,等.酒精含量检测技术应用进展 [J].中国新技术新产品,2020(24):134-136.
[6] 曹雪伟.基于AVR单片机MG32的酒精检测仪研究 [J].科技资讯,2018,16(30):98-99.
[7] 胡稳.基于ARM的呼气式酒精浓度检测系统设计 [D].郑州:郑州大学,2016.
[8] 刘贵胜,尹波.基于单片机的智能防酒驾装置设计 [J].科学技术创新,2020(17):84-85.
[9] 彭华海.酒后驾驶检测技术和预防酒驾技术的研究现状探究 [J].中国标准化,2019(6):182-183.
[10] 刘艳红.基于多传感器信息融合的汽车酒驾测控系统研究 [D].长春:长春理工大学,2016.
[11] 田大玮.基于物联网技术的汽车防酒驾系统设计与实现 [D].青岛:山东科技大学,2018.
[12] 那蕊,万其豪,聂琼,等.基于MCU的蓝牙酒精检测仪设计 [J].电子制作,2022,30(19):15-18.
作者简介:赵志峥(1992.10—),男,汉族,河南焦作人,助教,硕士,研究方向:机器学习、自动控制。