毛夏煜 王雨凡 牛迁迁 刘瑶 冯兴乐
摘要:酒驾是威胁交通安全的重要因素之一,对其进行有效预防和智能控制具有重要意义。为实现汽车发动前判断司机是否酒驾与远程无线报警的功能,设计出一款基于单片机的车载酒精监测系统。该系统应用MSP430F149单片机,结合MQ-3传感器实时监测驾驶区酒精浓度,通过LoRa发送监测数据至远程监控端,若判断出酒精浓度超出预定最大值便进行报警并使能控制汽车使其无法启动,再及时通过LoRa告知用户,以此预防酒驾事故的发生。经过反复测试,该系统反馈数据快速准确、无线通信稳定有效。
关键词:物联网技术;单片机;LoRa;酒精监测
中图分类号:TP274+ 文献标识码:A
文章编号:1009-3044(2020)24-0224-02
据中国交通网公布的数据显示:2019年上半年全国共查处酒驾醉驾90.1万起,造成1674人死亡,因酒驾醉驾导致的交通事故同比增加28.2%。酒精在人体血液内达到一定浓度时,人对外界的反应速度会下降,驾车发生事故的可能性大大提高。传统的酒驾监测系统仅针对当前场景进行数据监测,不能进行制动和无线通信,其实用性很低。鉴此,该系统不仅可以实时监测驾驶员是否出现的醉酒驾驶情况,发出提示警报及时断电使汽车制动,还能将相关信息传送出去,较之传统酒驾检测方式,成本低且操作性强,可从源头上阻止由酒驾带来的危害[1]。
1系统整体设计
为实现酒精监测的功能,需通过酒精传感器将酒精浓度转变成可处理的模拟电压信号。由于该系统所应有的单片机无法直接处理模拟电压量,故通过模数转换器(Analog Digital Converter,ADC)将包含酒精浓度信息的模拟电压量转换成数字量交至单片机处理,根据所获取的酒精浓度大小来控制蜂鸣器是否报警、汽车是否制动;为实现远程监控的功能,需要将所获取的酒精浓度通过无线传输的方式发送给远程监控端,监控端收到信号后对车辆驾驶区酒精浓度情况进行实时显示,并进一步发送至上位机应用平台,方便监管部门对车辆驾驶情况进行监测[2]。
本系统应用MSP430F149单片机作为主控核心,MSP430F149单片机的芯片具有一个强大的16位RISC CPU、16位寄存器和常数发生器,其数据处理速度快,大大提高了代码的运行效率。本系统中主要使用到了它的定时器A、12位模数转换模块ADC12、USART通信串口和时钟系统等功能模块。由于MSP430F149的时钟系统包含了内外两个时钟,这使得时钟使用方式十分灵活多样,可满足系统设计要求的酒精浓度信号处理、定时、通信等功能。此外它拥有FLASH闪存,方便在线进行调试和下载。综合考虑MSP430F149单片机的架构、功耗模式和时钟系统都使其最适合用于在便携式测量设备中延长电池使用寿命,对环境和人体的辐射小,适合汽车内部环境。发送端单片机通过控制内部的转换模块ADC把酒精传感器测量得到的模拟电压信号转换为数字信号并进行处理,通过控制其I/O口输出高低电平来控制汽车制动系统处的继电器开关,从而实现使能制动;通过控制LoRa模块来向接收端发送数据传递酒精浓度信息[3]。接收端作为接收器的LoRa模块接收到酒精浓度数据时,接收端单片机从低功耗模式中被唤醒,对接收到的数据进行处理,控制液晶显示模块显示酒精浓度,并发送给上位机(如图1所示)。
2 系统软件设计
2.1 浓度分级
该系统将酒精浓度划分为8个档位,在应用场景中,每1s采集一次酒精浓度并判断其对应档位,接收端单片机通过档位对应控制汽车启动电路和接收端报警电路实现制动与报警的功能,同时向接收端发送此时的酒精浓度信息。接收端接收到来自发送端的数据,根据数据的不同对应不同液晶显示情况,即8种档位对应不同提醒显示,LCD会显示酒精浓度等级从高到低分别为:“degree:0”到“degree:7”,且单片机P2口连接的8位LED灯从无酒精时全灭到每个等级依次增亮一位直到8位LED灯全亮。
2.2无线通信
系统信息传输主要由LoRa模块完成,采用发送端与接收端之间点对点透明传输。点对点透明传输,即发送端与接收端的设备具有相同地址、相同通信信道和相同无线速率条件下进行通信。发送端发出什么,接收端就接收到什么。由于LoRa是一種半双工模块,故在接收端和发送端各使用一个LoRa,因为它们的默认出厂设置中设备地址、通信信道、无线速率是相同的,即满足点对点透明传输的条件因此该系统不对两个LoRa模块进行额外配置即可实现无线通信。通信示意图如图3。
该系统中单片机P3.4和P3.5引脚可以进行串口通信,发送端和接收端单片机与LoRa模块的连接电路相同。发送端单片机将采集到的酒精浓度档位信息放入串口发送缓冲器中,该缓冲器把数据通过引脚P3.4经LoRa模块RXD引脚传递给LoRa射频模块,再通过无线通信将数据送出。接收端LoRa模块在同一信道中收到发送端数据后,通过LoRa模块的TXD引脚经P3.5口发送给接收端单片机,供接收端单片机处理[4]。
3系统硬件设计
发送端:MQ-3酒精传感器生成酒精浓度模拟电压量,经ADC模数转换后得到数字电压量,根据数值对蜂鸣器和继电器采取相应的开关控制,同时通过串口将该数值传送至LoRa模块,通过无线传输,将数值发送至接收端的LoRa模块,达到数据传递的效果。
接收端:通过LoRa模块接收发送端传输的数据,并将数据传输至单片机对接收的数据进行处理后将其呈现在液晶屏上,同时将数据通过串口发送至PC端进行下一步处理[5]。
3.1 发送端
发送端由电源电路和LoRa模块及传感器组成,较为简单,前两个模块上面已经提到。传感器和LoRa通过串口线连接,USB作为供电模块,给传感器和LoRa进行5V供电。
3.2 接收端
第一部分是属于单片机结构和单片机基本工作电路部分,包括F149芯片、晶振、电源电路和电平转换模块。
第二部分是程序下载部分,本系统采用JTAG接口。
第三部分是通信模块,包括LoRa无线模块和TTL转USB通信模块。
第四部分是液晶显示模块,采用1602液晶显示模块。
4汽车制动
本系统使用继电器控制点火线路的方法,实现汽车制动的功能。当系统运行时,传感器将实时监测并更新仪器内部的酒精浓度数值,在上传至上位机的同时交由单片机进行判断,并做出相应的分级。该分级可在程序设计过程中自定义设计,这里以默认的三段浓度(安全,酒驾,醉驾)进行说明,制动机制在安全和酒驾两档浓度中并不会生效,仅在触发醉驾浓度后开始生效。微处理器判断需启动制动机制时,通过I/O控制继电器导通方向由常开端切换至常闭端。此时,连接于常开端和公共端的点火线路将会被切断,使发动机熄火,从而达到制动的效果[6]。
当酒精浓度下降至阈值以下(该阈值通常明显低于制动机制启动阈值)则重新导通点火线路,恢复正常点火功能。
若出现意外,也可直接切断仪器电源强制导通,强制关闭时会被上位机监测到异常,避免了司机个人目的强制启动的情况。
5 结论
目前,市场上酒精监测系统种类繁多,但它们大多是是由交警部门人工对驾驶员现场进行酒精检测,耗时耗力且无法阻止酒驾的发生。该系统安装在汽车驾驶区,当驾驶人员进入驾驶区后,立即自启动,对驾驶员呼出的气体进行酒精浓度检测。系统根据检测到的酒精含量是否超标控制汽车继电器发动装置,如果浓度超标则驾驶人员无法启动汽车,車内发出报警声提示驾驶员及周围人员,同时酒精超标信息通过系统传输到相关部门。该系统成本低、智能化程度高、工作稳定可靠,具有很高的实际价值,从汽车启动时就及时阻断了酒驾发生的可能,极大地避免了安全事故的发生。同时机动车驾驶区信息的实时采集与酒精远程监控有利于交通部门监管,一旦出现问题可立刻采取措施。
参考文献:
[1] 栾颖娜.论我国“酒驾”问题的治理对策[J].太原师范学院学报(社会科学版),2010,9(1):33-35.
[2] 李素芬,李刚,孙景发.模数转换技术及其发展[J].电子技术应用,2002,28(4):72-75.
[3] 杨平,王威.MSP430系列超低功耗单片机及应用[J].国外电子测量技术,2008,27(12):48-50.
[4] 罗贵英.基于LoRa的水表抄表系统设计与实现[D].杭州:浙江工业大学,2016.
[5] 李时杰,何怡刚,罗旗舞,等.基于LoRa的电气设备温湿度监测终端设计[J].传感器与微系统,2018,37(4):89-91.
[6] 罗吉才.单片机控制的继电器自动化调试系统[J].硅谷,2008,1(17):91.
【通联编辑:代影】