酒精浓度检测仪设计毕业论文
2020-02-19 19:02:12
摘 要
本课题主要目的是采用一种交警能对被测车主呼出气体中的酒精浓度含量进行检测并且能够对车主的酒精浓度信息和车牌号信息进行无线传输的方法,使其对于交警部门在检查酒驾时能够高效对被检测车主呼出的气体中的酒精浓度进行测量并通过无线传输到公安局进行实时信息监控。酒精浓度测量仪采用STC89C52RC作为核心处理器,传感器采用MQ-3酒精浓度传感器,传感器输出的模拟电压到单片机输入的数字电压的转换采用ADC0832,加上键盘可以键入浓度阈值和车主信息,使用OLED显示酒精浓度的数据,最后使用LoRa无线传输技术将酒精浓度信息和车牌号信息传输到上位机内。
课题分为硬件和软件:硬件所需要元器件为单片机及单片机的最小系统、酒精浓度传感器、OLED显示屏、LoRa无线模块以及键盘。软件部分的下位机采用C语言编程,开发环境采用KEIL编译器;上位机部分采用Labview进行编程,界面设计雅观并且程序易懂。
关键词:酒精传感器;ADC转换器;52单片机
Abstract
The main purpose of this project is to use a method in which the traffic police can detect the alcohol concentration in the exhaled gas of the driver and can wirelessly transmit the alcohol concentration information and the license plate number information of the driver. It can efficiently measure the alcohol concentration in the gas exhaled by the driver and transmit it to the public security bureau for real-time information monitoring. The alcohol concentration measuring instrument adopts STC89C52RC as the core processor, the sensor adopts MQ-3 alcohol concentration sensor. Using ADC0832 to convert analog voltage output by the sensor into digital voltage which inputs into the single-chip microcomputer. Plus the keyboard can input the concentration threshold and the driver information. The data of the alcohol concentration is displayed by using OLED. Finally the LoRa wireless transmission technology is used to transmit the alcohol concentration information and the license plate number information to the upper machine.
The topics are divided into hardware and software: the components required by the hardware are single-chip microcomputer and the minimum system of single-chip microcomputer, alcohol concentration sensor, OLED display, LoRa wireless module and keyboard. The software part of lower machine adopts C language programming, the development environment adopts KEIL compiler; the one of upper machine adopts Labview for programming, the interface design is elegant and the program is easy to understand.
Key Words: Alcohol sensor;A/D conversion;52 single-chip microcomputer
目 录
第1章 绪论 1
1.1 设计背景 1
1.2 国内外研究现状 1
1.3 预期目标 1
第2章 系统方案设计 3
第3章 硬件电路设计 4
3.1单片机最小系统 4
3.1.1 STC89C52单片机介绍 4
3.1.2 STC89C52单片机最小系统 4
3.2 A/D模数转换电路 5
3.2.1 ADC0832简介 5
3.2.2 ADC0832引脚图 5
3.2.3 ADC0832工作时序 6
3.3 MQ-3酒精浓度传感器 7
3.3.1 模块参数 8
3.3.2 引脚连接 8
3.4 OLED显示屏 8
3.4.1 OLED简介 8
3.4.2 IIC通信简介 9
3.4.3 OLED屏幕引脚 9
3.5无线传输 10
3.5.1 LoRa无线通信简介 10
3.5.2 无线通信模块参数 10
3.5.3 引脚定义 10
3.5.4 工作模式 12
3.6 键盘 12
3.6.1 键盘功能 13
第4章 系统软件设计 15
4.1 下位机软件设计 15
4.2 Labview上位机软件设计 16
4.2.1 前面板设计 17
4.2.2 设置串口、波特率 18
4.2.3 接收字符串 18
4.2.4 数据显示 19
4.2.5 警报系统 20
4.2.6 数据储存 20
4.2.7 历史读取及醉驾历史检索 21
第5章 设计结果分析 23
第6章 结论 26
参考文献 27
致谢 29
第1章 绪论
1.1 设计背景
由于车辆驾驶员警觉性下降引起的车祸不仅对驾驶员本身而且对普通民众而言也造成了严重的威胁,根据中国国家公路交通安全管理局的报告,自2000年以来,中国每年都有数万人死于交通事故[1-5]。在这些悲剧中,醉酒驾驶是其中一个主要原因。与醉酒驾驶相关的问题不仅是高撞车率,而且还有高致死率。在2007年和2008年的最后两年,分别发生了13,041和11,773名酗酒驾驶员死亡事故,两者都是当年总死亡人数的32%。除了对公共安全和健康构成严重威胁外,醉酒驾驶还给整个社会带来沉重的财务负担[6-8]。因此,对于驾车的人来说,需要进行酒精浓度检测,这对于有效减少醉驾,维护生命安全是十分必要的。为了预防醉酒驾驶,本次的酒精浓度检测仪设计将采用以STC89C52单片机、气体酒精浓度传感器以及LoRa无线传输模块作为核心,实现交警对机动车车主醉酒驾驶的检测以及对醉酒驾驶相关信息的监控。
1.2 国内外研究现状
对于信息无线传输,目前有许多取决于特定环境下有效的技术[9]。对于附近的设备,能够通过使用蓝牙,wifi,zigbee或者其他的短距离技术;而长距离传输能够使用GSM或者GPRS等需要产生专有费用的技术。而随着物联网的迅速发展,远距离低功耗低成本的技术的需求越来越迫切,从而随之诞生就是LoRa技术。LoRa是一种新型的为低功率,通过未授权频谱,长距离操作而设计的ISM频段无线技术,其最大的优点就是做到远距离低功耗[10]。LoRa技术本质上是扩频调制技术,此前扩频调制技术已经能够做到远距离通信,而LoRa是将曾经用于军事方面的扩频调制技术现在用于工业与民用。通过使用高扩频因子,就能够在数据不多的情况下通过无线电将数据远距离低功耗地进行传播,而扩频因子越高,就代表着能够有越多的数据被提取出来[11-15]。
1.3 预期目标
以单片机、气体酒精浓度传感器、OLED显示屏模块以及LoRa无线传输模块为核心设计的酒精浓度检测仪。
能够做到实时检测到驾驶人员呼出气体中的酒精浓度,并且实时通过OLED屏幕显示其浓度,通过键盘对阈值进行设置,可以做到在不同情况下对被测车主呼出气体中酒精浓度含量的检测,键盘通过软件程序的编写能够大大地扩展按键所能包含的数字以及字母的个数,从而能够键入检查车主的车牌号,最后通过LoRa无线传输技术将酒精浓度数据以及车牌号进行数据传输。
检测车主的酒精浓度信息和车牌号信息,并且在上位机上面能够显示,同时通过与阈值浓度进行比较之后,能够做到警报。可以通过历史信息按键和醉驾历史信息两个按键完成对于所有历史信息的查看以及对醉驾历史信息的检索。
第2章 系统方案设计
以STC89C52RC单片机为核心处理器,首先MQ-3气体传感器将被测车主呼出的气体中的酒精在转换室加热进行充分燃烧,从而将化学能转化为电能,这样可以使得传感器输出的电压与燃烧室内的用户呼出气体中所含有的酒精浓度成正比,从而能够对进行用户呼出气体中的酒精浓度进行检测。
输出的模拟电压通过模数转化芯片ADC0832由模拟电压0-5V转化为数字电压00H-FFH,然后将数字电压串行输入到单片机之中。在单片机内通过MQ-3酒精传感器的输出的模拟电压与呼出气体中含有的酒精浓度的换算公式,对接收到的ADC0832输入的数字电压进行换算,将其换算成为浓度信息。
开机后交警通过键盘对现在要求的酒精浓度阈值进行设置;单片机通过控制OLED屏幕能够对当前的呼出气体中含有的酒精浓度进行实时显示;同时交警能够通过所含有的包括10个数字,26个字母的键盘去输入现在所检测的车主的车牌号信息,并能够通过OLED屏幕进行显示。
最后将检测到的酒精浓度信息和车主的车牌号信息通过LoRa无线传输技术进行传输,总流程框图如图2.1所示
图2.1 系统总体方案设计
第3章 硬件电路设计
3.1单片机最小系统
3.1.1 STC89C52单片机介绍
STC89C52是一种高性能、高可靠性、较高抗干扰性且价格低廉的单片机。在51的基础上,又拓展了相关的一些功能:对于51单片机来说,其数据存储器扩展了一倍,程序存储器不仅扩展了一倍同时改为了闪存;增加了一些具有特殊功能的寄存器以及增加了一个定时器/计数器。
图3.1 STC89C52单片机
3.1.2 STC89C52单片机最小系统
单片机最小系统是能够使单片机正常工作的最简电路,它由单片机、晶振、RESET电路等构成。最小系统能够使得单片机在晶振的工作下包含一个时钟电路,通过RESET电路可以使得单片机在运行程序跑飞或者死机的状态下进行重启。在单片机的内部能够进行数据的运算与处理、对于IO口的监控以及对外设的接口与控制,同时它也是所有软件的载体。52单片机最小系统见图2.2。
图3.2 STC89C52单片机最小系统
3.2 A/D模数转换电路
3.2.1 ADC0832简介
ADC0832 是一种分辨率为256、具有两个通道的模数转换芯片。该芯片的体积小巧,并且由于兼容很多器件,在模数转换中的使用也在逐渐推广之中。ADC0832通过DI端串行输入数据作为工作开始的起始信号,以及进行通道选择的数据信号;DO端能够串行输出数字电压。分辨率为256,能够对在0-5V之间的模拟电压进行模数转换,将其转换成为00H-FFH的数字电压。ADC0832在一次模数转换中,能得到两个数字电压信息,分别为从高位到低位的数字电压和从低位到高位的数字电压,将两次得到的数字电压进行比较,以作为数字电压校验,减少模数转换中出现的误差,所以ADC0832在转换的稳定性上面也有不小的建树。
3.2.2 ADC0832引脚图
图3.3 ADC0832引脚分配图
· CS:片选使能。
· CH0:模拟输入通道0。
· CH1:模拟输入通道1。
· GND:芯片参考零电位(地)。
· DI:作为起始信号和通道选择信号。
· DO:模数转换数字电压的输出。
· CLK:芯片时钟输入。
· VCC:电源输入及参考电压输入。
3.2.3 ADC0832工作时序
ADC0832的接线如图2.3所示
图3.4 ADC0832接线图
将CS片选端接P35,CLK时钟接P34,DO/DI接P33,通道1接酒精浓度传感器的模拟电压输出端。当CS的输入端为高电平的时候,此时ADC0832芯片禁用。当进行模数转换时,此时需要单片机的P35对CS使能端输出一个低电平,并且在模数转换的至始至终都需要保持CS端的低电平。在CS端的输入为低电平的时候,ADC0832芯片开始进行模数转换。与此同时由单片机向ADC0832 的CLK输入端交叉地输入“0”和“1”,成为方波作为ADC0832的时钟信号,将单片机的P33端输入到DI,作为指示ADC0832的模拟电压输入通道的选择信号。在接收到第一个时钟的下降沿之前,DI端必须是高电平,表示启始信号。在第二、三个时钟的下降沿之前DI端的数据的输入作为模拟电压输入通道的信号。由于本次的毕业设计选择的是用CH1作为模拟电压的输入通道,所以对于DI端的两次数据赋值分别为“1”、“1”。到第三个时钟出现下降沿之后,ADC0832的DI/DO端仅仅只会让作为数字电压输出端的DO进行模数转换数据的输出。从此时开始,每出现一个下降沿,就会由DO端输出数字电压的最高位,随后每一个时钟的下降沿DO端都会输出下一位数据。直到第八个脉冲时发出最后一位数据,即一个Byte的数据输出完成。接着下一个时钟的下降沿开始,会从DO端输出数字电压的最低位,此后每一个时钟的下降沿会反着输出数字电压数据位上的数据。在最后一个时钟的下降沿上,输出最高位的数据,完成一次模数转换。将两次得到的数字电压的数值进行比较,作为对获取到的数字电压准确度的校验,使得获得的数字电压更加得准确无误。
图3.5 ADC0832工作时序
3.3 MQ-3酒精浓度传感器
MQ-3酒精浓度传感器是燃料电池型的酒精浓度检测传感器,具有稳定性好,精度高等优点。其原理是传感器内部含有催化剂,能够使气体中的酒精在燃烧室内通过些许的加热就能够燃烧,将化学能转化为电能,从而使得传感器输出的模拟电压与被测用户呼出的气体中的酒精浓度成正比例。通过数学换算,从而对被测用户呼出的气体中的酒精浓度进行检测,同时能够做到清洁环保的功效。
图3.6 引脚图
3.3.1 模块参数
主要芯片:PT1301、ZYMQ-3气体传感器
工作电压:2.5V-5.0V
接口引脚:
1.VCC 电源正(2.5V-5.0V)
2.DOUT 数字量输出
3.AOUT 模拟量输出
4.GND 电源地
3.3.2 引脚连接
将VCC引脚与5V电源以及GND引脚与地端接好,将AOUT引脚接到ADC0832的CH1引脚,AOUT的输出为模拟电压,通过与ADC0832的模拟电压输入管脚相连,然后进行模数电压转换。
3.4 OLED显示屏
3.4.1 OLED简介
OLED,即有机发光二极管。OLED是自发光的,不需要背光,具有高对比度,薄厚度,宽视角,快速响应,可用于柔性面板,宽温度范围,结构简单,工艺简单。由于我们现在使用的LCD液晶显示屏幕都需要背光,但是OLED屏幕不需要,因为它能够做到自己发光的。在这样相同的显示情况下,OLED的效果会要更胜一筹。在此我使用的是0.96寸OLED显示屏,该屏有以下特点:
1) 分辨率为 128*64
2)多种连接方式;OLED屏幕的连接方式包括:6800、8080两种并行连接方式、串行SPI连接方式、IIC连接方式,本次设计我所使用的4线OLED所采用的通信方式为IIC通信方式。
3.4.2 IIC通信简介
需要两条总线线路,一条是串行数据线SDA,一条是串行时钟线SCL。IIC通信方式为半双工。
在SCL的高电平时期内,SDA线上的数据必须是处于稳定的状态,SDA线上的数据仅可以在时钟SCL为低电平时改变。当SCL为高电平的时候,SDA线上的数据发出一个上升沿作为开始条件,反之,SDA线上的数据发出一个下升沿作为停止条件,在OLED屏幕与单片机的通信中,开始条件和停止条件都由单片机的引脚发出。每当单片机向OLED屏幕发送完一个Byte的数据之后,单片机总是需要等待OLED屏幕发出一个响应信号,用以确认OLED屏幕是否成功接收到了数据,OLED屏幕响应单片机所需要的时钟仍由单片机提供,响应出现在每一次单片机完成一个Byte的数据位传输后的下一个时钟周期,该数据位为 “0”表示为响应,“1”表示为非响应。
IIC总线上传递的数据信息既包括地址信息,又包括真正的数据信息。在开始信号后必须传送一个OLED屏幕的地址,一个Byte的数据的最后一位是数据的传送方向,若该数据位上的数据为“0”,表示由单片机去发送数据,“1”表示由单片机来接收数据。每次数据的传递总是由单片机产生的结束信号结束。
3.4.3 OLED屏幕引脚
图3.7 0.96 寸OLED裸屏外观
以上是毕业论文大纲或资料介绍,该课题完整毕业论文、开题报告、任务书、程序设计、图纸设计等资料请添加微信获取,微信号:bysjorg。
相关图片展示: