【《基于基于STM32F103C8T6单片机和MQ-3酒精气敏传感器元件的汽车智能保驾系统设计》7800字(论文)】_第1页
【《基于基于STM32F103C8T6单片机和MQ-3酒精气敏传感器元件的汽车智能保驾系统设计》7800字(论文)】_第2页
【《基于基于STM32F103C8T6单片机和MQ-3酒精气敏传感器元件的汽车智能保驾系统设计》7800字(论文)】_第3页
【《基于基于STM32F103C8T6单片机和MQ-3酒精气敏传感器元件的汽车智能保驾系统设计》7800字(论文)】_第4页
【《基于基于STM32F103C8T6单片机和MQ-3酒精气敏传感器元件的汽车智能保驾系统设计》7800字(论文)】_第5页
已阅读5页,还剩11页未读, 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基于基于STM32F103C8T6单片机和MQ-3酒精气敏传感器元件的汽车智能保驾系统设计目录摘要 41绪论 51.1课题背景 51.2设计任务及要求 52总体设计 62.1系统方案的选择 62.2器件选择 72.2.1酒精传感器 72.2.2单片机主控芯片 83系统硬件电路设计 83.1GSM通信模块 83.2酒精传感模块 93.3按键模块 103.4继电器模块 113.5OLED显示模块 113.6蜂鸣器LED报警模块 114系统软件设计 124.1主程序设计 124.2初始化程序 134.3数据采集及处理程序 144.4继电器驱动程序 155系统的调试 165.1硬件调试 165.2软件调试 165.3整机调试 166实物测试 17结论 19摘要:近年来酒后驾驶所造成的社会问题在频频增长,大部分交通事故是由于酒驾而引起的。为了尽量减少这些事故的发生,保护自身及他人的生命权、健康权以及幸福快乐的家庭,我们需要设计一款可以提醒驾驶人酒后不能开车,并且做出一定防范措施的酒精检测仪。本次设计基于STM32F103C8T6单片机和MQ-3酒精气敏传感器元件。该元件不仅灵敏度高,而且稳定性极佳,可以更好的检测酒精浓度,通过低功耗的单片机系统和自动检测酒精的方式,判断驾驶员是否酒精超标。该设计共包括七个模块,其中采集酒精浓度的酒精传感器模块和切断汽车启动的控制器模块最为重要,其次是声光报警模块、GSM通信电路模块、温度传感器模块以及独立按键模块。关键词:STM32F103C8T6;酒精气敏传感器;GSM通信电路;蜂鸣器LED报警1绪论1.1课题背景近年来酒后驾驶所造成的社会问题在频频增长,大部分交通事故是由于酒驾而引起的。当我们饮酒过度,不仅四肢麻痹,而且头脑不清醒,对紧急事件的发生,更是来不及反应。在我国酒驾造成了很多大型事故,每年发生的次数更是数以万计,是交通事故发生的主要原因。为了尽量减少这些事故的发生,保护自身及他人的生命权、健康权以及幸福快乐的家庭,我们需要设计一款可以提醒驾驶人酒后不能开车,并且做出一定防范措施的酒精检测仪。呼气式酒精检测仪是当下最为流行的,该类仪器在使用时需要驾驶者对着吹一大口气来测量体内酒精浓度的多少。为了保证人民的生命安全,我国每天都会派遣大量警力于各个地方进行检测,由此可知,酒精检测仪十分具有发展前景,具备无可替代的作用。时代不断在进步,制造业及信息技术也日渐趋于成熟。现如今汽车早已深入到每户家庭中,尽管大家都知道酒后驾车这一行为存在危险,但并不是每个人都能遵守这一法律法规。我们需要设计一款可以提醒驾驶人酒后不能开车,并且做出一定防范措施的酒精检测仪,从源头上通过继电器模块控制车辆引擎。相关资料表明,近些年来我国对于行车的安全问题进行了严格的把控,但仍有近44%的交通事故源于酒后驾车。车辆的大量投入使用,确实节约了大量的时间和提高了办事的效率,方便了我们生活的同时也带来了很多隐藏的危险,因此酒后不驾车是我们行车的基本原则。21世纪以来酒驾成为社会日渐关注的问题,每年的交通事故数以万计,触目惊心的种种事件仍历历在目,过度饮酒会使我们四肢不协调,在紧急的情况下,人的大脑很难反应过来。为了避免交通事故的发生,我们在开车的时候需要十分专注。酒后驾车我们还需承担其带来的风险,发生事故后更是会有法律的严惩。如今传感器的发展十分迅猛,我们对其的选择也是多重多样,高效率、节能微型化和经济实惠成为我们的首选。我们需要设计一款可以判断驾驶人是否有能力驾车,并且在酒后驾车时可以做出相应保护措施的酒精检测仪。1.2设计任务及要求设计任务:本次设计基于STM32F103C8T6单片机和MQ-3酒精气敏传感器元件。该元件不仅灵敏度高,而且稳定性极佳,可以更好的检测酒精浓度,通过低功耗的单片机系统和自动检测酒精的方式,判断驾驶员是否酒精超标。单片机系统是把酒精的传感器模块采集的信息通过电压来传送。再由A/D进行模拟量的转化。最后向单片机传输分析、处理结果。然后通过OLED屏显示,当酒精超标后会进行声光报警,不仅会发信息给指定联系人,更会通过继电器模块锁住发动机的引擎。该设计共包括七个模块,其中采集酒精浓度的酒精传感器模块和切断汽车启动的控制器模块最为重要,其次是GSM通信电路模块和DS18B20温度传感模块等。设计需完成如下要求:(1)酒精传感模块的正常使用,可以检测空气中的乙醇;(2)可以通过键盘调控酒精超标的阈值;(3)OLED可以显示当前酒精浓度及周围环境温度;(4)当酒精浓度测量值大于设置的标准浓度时,蜂鸣器会间断性的鸣叫,警示灯也间断性闪烁起并且发送短信给指定联系人。2.1系统方案的选择本次设计确定了使用STM32F103C8T6单片机和MQ-3酒精气敏传感器元件。下面我们通过对软硬件的分析来设计选择其它必要的模块。以便可以更好的检测酒精浓度。硬件部分:通过MQ-3酒精传感器进行车内空气中酒精浓度的采集,将采集的酒精浓度电信号再经过ADC转换器发送到STM32F103C8T6单片机系统,该信号由单片机及其相应的外围控制电路进行分析处理,然后通过OLED屏显示,当酒精超标后会进行声光报警,不仅会发信息给指定联系人,更会通过继电器模块锁住发动机的引擎。软件部分:通过C语言对程序进行调试和编写,为了使后期更方便进行调试,将各个模块的子程序都进行独立化处理,我们通过负载电阻间接来得到传感器从空气中采集的酒精含量,再通过ADC模数转化模块实现信号的输入和输出,发送至STM32F103C8T6单片机系统I/O接口再输出到各个模块。酒精浓度的阈值设定为常规的20mg/100ml。通过上述的软硬件处理,实际我们需要让驾驶人可以充分了解自身酒精是否超标,因此我们需要一个OLED显示模块,不仅可以显示酒精浓度还可以实时显示周围环境温度。当驾驶人酒精超标,我们需要提醒驾驶人并且做出相应的保护措施,因此还需设计一个声光报警系统,蜂鸣器长鸣,LED灯亮,同时可以采用继电器来自动切断汽车的引擎,防止驾驶人启动车辆驾驶还可以通过GSM通信模块给指定联系人发送消息。基于以上的设计思路,系统框图如图2-1所示:图2-1系统框图系统各模块功能:(1)酒精检测模块:由温度传感器和酒精传感器组成,可以实时测定周围环境温度及空气中的酒精浓度;(2)OLED显示模块:OLED可以显示当前酒精浓度及周围环境温度;(3)声光报警模块:当酒精中的含量达到标准值时,蜂鸣器会间断性的“滴答”报警并且指示灯也间断性闪烁;(4)继电器控制模块:当酒精传感器检测到酒精超标时,继电器会立马锁住汽车引擎;(5)主控模块:即STM32F103C8T6单片机,通过输入输出高低电平分析传输信号来控制各个子模块;(6)通信模块:可以将驾驶人酒驾信息发送指定联系人。2.2器件选择2.2.1酒精传感现如今的酒精传感器种类数不胜数,不仅有电化学、半导体式传感器,还有催化酒精燃烧式,这几类传感器的工作原理都是通过检测空气中的酒精含量,当空气中的酒精含量超标时,检测到的浓度也就越大,这些主流的酒精传感器常被应用在各国的交通执法当中。下面我们介绍一下几种传感器的优劣差异:电化学酒精传感器的稳定性最好而且功率消耗最低,但是价格却十分昂贵,由于成本问题我们本次设计不采用此类传感器,该类传感器一般应用于大型工业测试或者一些必要的特殊场合中。催化燃烧式酒精传感器的缺点比较多,不仅会产生很多漂移物,而且对功率的消耗很大,对气体的辨识度也很低,可能造成测量不准确,所以一般不与采用。半导体酒精传感器是20世纪以来新型研制的一款介于电化学、催化燃烧式式之间的传感器,它不仅具有电化学式的高稳定性,而且消耗的功率很低,对气体的辨识度很高适合随身携带,更重要的是制作成本的低廉,可以大量投入生产使用,本次设计就选择了半导体式MQ-3酒精传感器。MQ-3酒精传感器具有以下特点:(1)工作电压:恒定5V;(2)对于接收输入的酒精分子信号具有输出指示;(3)模拟量TTL进行双路信号输出;(4)当酒精分子在空气中的浓度越高时,输出电压越高(0-5V之间);(5)对空气中的酒精分子具有很高的辨识度;(6)可以长期稳定的工作且工作效率。通过实际的勘测,下图2-2为酒精浓度和模拟端近似的输出关系。0335输出电压酒精浓度单位V单位mg/L0.72图2-2模拟端的输出信号和酒精浓度输出关系2.2.2单片机主控芯片STM32F103C8T6是采用ARM

Cortex-M

内核的可编程芯片,其总线宽度为32位,属于嵌入式微控制器。STM32系列单片机在运行速度上不仅远超传统的51单片机,而且功率的损耗和电压也更低。从外围接口的角度来说STM32的接口相对51单片机要更加简单,而内部存储器的容量也大得多,对于输入信号的响应更快,分析处理的能力也更强。因此本次设计我们采用比51单片机更加简练更具有优势的STM32系列单片机。图2-3单片机主控芯片STM32F103C8T6引脚图3系统硬件设计3.1GSM通信模块模块简介:GSM模块不仅外围电路的集成度高,而且功能十分完善,其外部接口就有16个之多,可以保障工作时的稳定性使系统更加稳定。本次设计采用的就是小巧的GSM模块:SIM800C。该模块有很多串口及接口如:TTL模拟量输入接口等。本设计中TXD和RXD与单片机的引脚PA3和PA2相连,该模块在低电平时处于断开的状态,当接收到单片机系统的输出信号,即酒精超标,两引脚由低电平转为高电平,GSM模块通过SIM卡给指定联系人发送信息。GSM通信电路接口如图所示:图3-1GSM通信电路接线方式SIM800C模块的指令发送基本上都是通过串口来实现的即电脑通过USB转TTL模块调试示意框图如下图3-2所示:图3-2USB转TTL接法示意图3.2酒精传感模块图3-3酒精传感电路酒精传感电路为本次设计的核心模块,主要是由MQ-3酒精传感器检测空气中的酒精分子含量,将检测到的酒精浓度值通过放大电路、电感等一系列操作再传递给A/D转换模块进行模数转换,输出至PA6端口。3.3按键模块在大多数单片机应用中都有涉及到键盘,键盘作为一种数据的输入装置,也可以说是对单片机系统进行指令的输入,一般情况下键盘都是以组合的形式出现在我们面前。因此键盘的分类是多种多样的,有常见的非编码式键盘;还有更为复杂的全编码式键盘。可以理解成全编码式键盘式通过硬件来完成其相应的功能,而非编码式则是通过软件的形式来完成所需的指令操作。同时也可以根据结构类型的不同我们又可以将键盘划分成独立式和矩阵式两种。根据本次的设计要求以及键盘的特性功能,选用的是非编码式的独立键盘。在设计单片机系统时,我们要秉着最佳最简便的设计方式,若设计中只需要几个按键就能完成相应的功能,就可以选择相对较简单的独立键盘,没有必要大费周章的去复杂化。键盘模块的原理图如3-3所示:

图3-4按键模块由上图可知当按键处于置空状态时,引脚PB12、PB13、PB14、PB15都是高电平。当系统检测得到存在按键被按下,则被按下的按键立刻变为低电平,其余按键仍是高电平。按键端口的高低电平即输入口的状态可以通过CPU来进行判别。3.4继电器模块图3-5继电器控制电路如图3-4所示,继电器模块主要由单片机的引脚PB9控制,当传空气中被检测的酒精分子浓度进转换输出的电压值没有超过预定值时单片机引脚PB9为低电平,继电器不工作,当酒精分子浓度高于标准的浓度时,引脚PB9输出为高电平,继电器立刻响应单片机的指令,锁住汽车发动引擎,防止驾驶人酒后开车,对驾驶人起到安全保护作用。3.5OLED显示模块OLED被称为有机发光二极管,该显示器不仅可以主动发光画质十分均匀,而且视角十分广阔,显示的亮度也很高。在工作时驱动显示器的电压也很低且功率消耗较小,还可以和相关电路进行匹配。OLED显示屏电路如下图3-4所示:图3-6OLED液晶显示模块3.6蜂鸣器LED报警模块如图3-7所示:图3-7蜂鸣器LED报警电路蜂鸣器LED报警模块主要由单片机的引脚PA10和PA1控制,当系统中所检测出的酒精含量未达到预定阈值时,两个导引脚都是高电平,蜂鸣器和LED灯均无正常工作,当酒精含量高于预定阈值,则蜂鸣器和LED灯都无正常。,两个引脚同时变为低电平,蜂鸣器长鸣报警并且同时为工作的LED灯常亮提醒驾驶人不能开车。4系统软件设计本次设计包含了很多模块,不仅仅只包括酒精传感,还有GSM通信、温度传感及声光报警模块等,为了使后期更方便进行调试,将各个模块的子程序都进行独立化处理。我们通过负载电阻间接来得到感器从空气中采集的酒精含量,再通过ADC模数转化模块实现信号的输入和输出,发送至STM32F103C8T6单片机系统I/O接口再输出到各个模块。酒精浓度的阈值设定为常规的20mg/100ml。系统软件主要包括的程序有(1)输入程序:通过酒精传感器采集空气中酒精浓度的电信号输入至A/D转换模块;(2)显示程序:OLED接收来自单片系统的输出指令实时显示空气中的酒精浓度及环境温度;(3)声光报警程序:系统判断酒精传感的酒精浓度是否超标,当该模块接收到来自单片机系统的输出指令,酒精超标时蜂鸣器报警并且LED灯常亮;(4)同上,继电器模块得到指令后控制电机切断汽车引擎的启动。4.1主程序设计主程序流程图如图4-1所示:图4-1程序设计流程图整个系统通过酒精传感模块实现对空气中酒精浓度的采集,然后将信号传输到A/D转换模块,用模拟通道0来作为检测酒精浓度的模拟量,当标志位由0转为1的时候,意味着A/D转换的结束,可以将信号从A/D转换模块输入至单片机系统。经过转换后单片机进行酒精量的分析,当所测酒精含量大于标注的阈值时,立刻驱动继电器锁住发动机引擎,并在同时将一部分信号传递至OLED显示模块,OLED将电压值转化为酒精的浓度实时显示当前酒精含量及周围环境温度,并通过GSM通信模块对指定联系人发送“Alcoholistoohigh,pleasedonotdrinkdriving!”。当启动该系统时首先按下RESET按键,将整个系统进行初始化处理,把之前所有的信息进行清除,将存储器清理干净更好的存放当前的信息,将定时器的时间设置为200ms,每隔200ms系统将采集一次周围气体中酒精的含量,并通过信号传送计算出相应的浓度值,当酒精浓度值超过预定设置的值时,单片机系统会通过引脚PA10使蜂鸣器报警,并通过引脚PA1使LED灯常亮。同时再由引脚PB9使继电器开始动作,锁住发动机引擎来起到防止酒驾的目的。4.2初始化程序在单片机的应用中初始化程序十分重要,它不仅可以恢复到我们设定的默认值,而且可以清空存储器的空间,给当前记忆提供足够的空间。RESET按键则是该程序的硬件部分,按下该按键,程序恢复到初始值。如图4-2为初始化程序的流程图:图4-2初始化程序流程图若想清空单片机之前的记忆存储,只需让系统初始化。按下复位按键,OLED显示屏短暂熄屏进入初始化处理,再对时钟模块初始化方便定时器的定时。然后使串口、GSM通信和继电器模块初始化。将酒精传感模拟量的标志位设为0,当再次超标时标志位由0转为1,意味着A/D转换的结束,可以将信号从A/D转换模块输入至单片机系统。4.3数据采集及处理程序数据的采集通过酒精传感模块发送至ADC0809的IN1通道,然后经过ADC0809和STM32F103C8T6单片机进行数据的处理。将采集的酒精分子的信息A/D的模拟量转化后,将其信息保存在存储单元(50H-5AH)。反复经过10次数据的采样通过平均滤波的方式把最大最小值去掉,再把平均值进行输出到各个模块。求其平均的滤波的方式可以让我们得到更为准确的值。图4-3数据采集及处理程序4.4继电器驱动子程序如图4-4所示,酒精传感器将酒精浓度的信号传送给单片机系统,单片机系统经过处理和分析,将电压值输出至继电器。当传感器检测的酒精浓度值大于系统所设定的酒精阈值,继电器受单片机系统PB9引脚控制启动,锁住汽车发动引擎,防止驾驶人酒后开车。图4-4继电器驱动子程序5系统的调试5.1硬件调试硬件制完成后需要对其安装制作的电路板整体上进行一个调试。开始我们可以用万用表检测器件端口以及各个引脚是否连接完好,导线是否导通,以便查看器件的好坏,之后再检查电阻电容等。经检查各个端口引脚皆导通后,给电路通上5VD的直流电源检查元器件能否正常运行,有无由于发烫而导致断路。测试过程中发现GSM通讯模块中的蓝色指示灯没有亮起,经过检测后发现为引脚不插好。再次检查每一个元器件VCC端的电压,GND是否接地等。上述检测都无误后,我们需要使用示波器观察元器件的波形图是否正确,是否出现失真的现象。经测试发现示波器无法检测到STM32单片机,通过对单片机的各个引脚和下载线的逐一排查,最终发现单片机的晶振接触不良,通过更换晶振使其可以正常的投入使用。5.2软件调试本次设计通过所学的C语言对程序进行调试,和C语言所配套的是KeiluVision5编程软件。该软件可以对程序编写中出现的语法错误进行很确切的提示,我们可以根据提示更好的去完善我们的程序,去改善对C语言掌握的不足。对于软件的调试我们需要按部就班,从头文件开始检查,检查是否和实物中对应的端口一致,和其对应的地址是否一样。再检查A/D、串口、显示屏等的初始化程序。上述内容检查完毕后我们需要对各个模块开始进行仔细的检查,检测是否达到整个电路的设计要求。经测试发现独立按键模块的信号有十分明显的抖动。通过对相关程序的整改才取消了抖动,使其可以正常使用。5.3整机调试对于整机的调试,当我们导入程序进入实物中时,观察各个模块是否都达到预期的要求,独立按键、复位按键是否能正常使用等。6实物测试图6-1实物图本次设计最重要也是最关键的便是实物的设计和制作。我们需要合理的进行元器件的布局、排版,使我们的实物看上去更加的简洁而美观。首先我们要将单片机最小系统焊接在板子的正中央,单片机系统为设计的核心,各个模块都需要其发送指令来执行相关操作。如上图6-1所示。通电之后STM32F103C8T6单片机红色指示灯长亮,当就酒精的浓度大于所设定的标准浓度值,绿色指示灯闪烁。图6-2GSM通信模块示意图通入电源后GSM通信模块的蓝色指示灯长亮,该模块此时处于低电平时断开的状态。当接收到单片机系统的输出信号,即酒精超标,单片机与该模块相连的两引脚由低电平转为高电平,GSM模块通过SIM卡给指定联系人发送信息。图6-3温度传感及酒精传感模块如图6-3所示当接入电源后,酒精传感模块下方红色指示灯长亮。该模块对空气中酒精分子采集后将信号传递至单片机系统中的A/D转换模块再将一部分信号传递至OLED显示模块。同时温度传感器也实时将感应的周围温度值发送至单片机系统,经过处理后再发送至OLED显示屏。图6-4继电器模块如图6-4所示系统开始运作时继电器控制模块的红色指示灯亮起,传感器检测的酒精浓度值大于系统所设定的酒精阈值时

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论