资源描述
泉 州 师 范 学 院毕业论文(设计)题 目 实时酒精含量测试仪的设计 物信 学 院 电子信息科学与技术 专 业 08级 2 班学生姓名 学 号 指导教师 职 称 副教授 完成日期 2012年4月 教务处 制 33实时酒精含量测试仪的设计物理与信息工程学院 电子信息科学与技术专业指导老师 副教授【摘 要】本设计采用MQ3酒精气敏传感器和单片机器件设计一款可编程的智能型实时酒精含量测试仪,可模拟实现对人体呼出气体中酒精含量的测试,并且通过LCD液晶实时显示测试数据。该装置可设定浓度阈值,并具有超值报警功能。系统通过MQ3传感器采集的数据,并转换为电压信号经A/D转换后传给单片机系统,由单片机及其外围电路进行信号的处理,实时显示酒精浓度值,当超阈值时报警。用C语言进行编程,程序采用模块化设计思想。 【关键词】酒精含量,MQ3传感器,A/D549转换,单片机,LCD1602目 录摘要 1绪论 3第一章 酒精含量测试仪硬件电路设计3 1.1课题要求 3 1.2硬件总体设计思路 4 1.3硬件电路主要器件的选择 5 1.4气体传感气及放大电路 5 1.4.1 MQ3气体传感器简介 5 1.4.2 放大器LM358功能及管脚 6 1.4.3酒精传感器MQ3与放大器OP07连接电路7 1.5模数转换器TLC549及连接电路 7 1.5.1模数转换器TLC549功能及管脚简介7 1.5.2模数转换器TLC549工作原理 8 1.6 DS1302时钟模块 9 1.7单片机AT89S52最小系统连接电路 10 1.7.1单片机AT89S52功能及管脚简介 10 1.7.2本设计单片机最小系统连接电路 11 1.8LCD1602功能特性及管脚 11 1.9本设计1602LCD与单片机接口电路 12 1.10报警系统电路 13 1.11系统其他电路简介13 1.11.1电源指示电路 13 1.11.2电源电路 13 1.11.3程序下载口电路 14 1.11.4按键控制电路 14 1.11.5稳压电路 15 1.12本章小结15第二章 酒精含量测试仪软件设计 15 2.1主程序流程图及设计15第三章酒精含量测试仪软硬件调试及测试过程16 3.1软硬件的合成调试 16 3.2 调试故障及分析 17 3.3 酒精浓度检测的原理及依据 17 3.3.1检测原理17 3.3.2检测依据17 3.4传感器浓度校准18 3.5 数据测试及分析 18 3.6实物图展示 19第四章 结论20 致辞 20 参考文献 21附录1电路原理图及PCB图 23附录2 系统程序 25绪 论随着汽车制造业的发展,全球汽车拥有量的增加,据德国一家调研机构预测,全球汽车(包括个人用车和商用车)保有量最迟到 2010 年将突破10亿量。随着汽车保有量的增加,交通事故也在不断的增加,全世界每年约有 120 万人死于道路交通事故,受伤者多达 5000 万人,同时全球道路交通事故每年造成的直接经济损失为 5180 亿美元,可见道路交通安全问题已成为全球性的主题。随着我国经济的快速发展,公路建设也得到了前所未有的发展机遇。随着公路运输业的发展,公安部交管局透露,截至2011年8月底,全国机动车保有量达到2.19亿辆。其中,汽车保有量首次突破1亿辆,占机动车总量的45.88%,是机动车的主要构成部分。随着汽车使用量的增加和道路交通事业的发展,也给社会带来了负面影响。为了能够有效的防止酒后驾驶造成的此类危害,研究一种酒精含量测试仪来测量驾驶员呼气中酒精浓度是否超标是非常必要的,降低交通事故的发生率。驾驶员酒后驾车就像一颗颗流动的“炸弹”,随时随地都有可能爆炸,威胁着我们的安全。据调查研究中显示,酒精对驾驶员有很大的影响,主要表现在以下几个方面:(1)酒精能麻醉人的中枢神经系统,使其功能失调,反应迟钝,动作不协调,酒后驾驶人的判断能力和操作能力明显下降,因为低浓度血中酒精可导致认知和驾驶能降低,特别是对光、声、图像、画面的反应时间延长,眼、手、脚之间的配合功能发生障碍,无法正确判断车速和车距。(2)酒精使驾驶人的意识模糊,注意力减弱或分散。驾驶人在中枢神经系统被麻醉情况下,无法集中注意力,视野范围缩小,视像模糊,对处于视野边缘的危险隐患难以发现。 (3)酒精涉入一定量后使人的危险感受性下降,在酒精的麻痹下,人的触觉敏感度降低,危险感受性也会随着酒精作用而降低,因而容易对自己的能力过高估计,对周围人的劝告不予理睬,驾车行驶在路上也不会感觉有危险的存在,易于我行我素,横冲直撞。1第一章 酒精含量测试仪硬件电路设计 1.1 课题要求设计一个便携式驾驶员酒精含量测试仪,测试人体呼出气体中酒精含量。它对酒精快速响应,预热时间短,灵敏度高,测量直观,功耗低。测试仪可以采用气体传感器作为敏感单元,把气体中含有的乙醇气态浓度转换成电信号,经电子电路放大以及微处理器处理,由LCD直观显示被测气体中的乙醇浓度。 设计要求:(1) 侦测浓度: 危险浓度为大于 0.4mg/L,安全浓度为小于0.25mg/L,介于两者之间是警戒浓 度。(2) 显示方式: 使用LCD显示测量出来的酒精浓度值,并使用绿色LED亮指示安全状态,橙 色LED亮指示警戒状态,红色LED亮指示危险状态。(3)使用环境: 0-40(4)使用电池: 3VDC(AAA电池2)(5)暖机时间: 20秒内(6)测试时间:6秒1.2 硬件总体设计思路思路从设计的要求出发,要求是测试酒精气体的浓度,必然要用到酒精传感器。设计出来的仪器要对酒精快速响应,预热时间短 ,这就对酒精传感器的性能指标有一定的要求,首先这个酒精传感器本身就很好的灵敏度,和检测到的酒精气体发生化学反应快。测量直观要求仪器有一个显示器,能直接从显示器上读取测试结果,这时选择一个LCD液晶做显示器。又考虑到酒精传感器采集到的电信号是微弱模拟信号,而单片机所能处理的是数字信号,所以还要运用运放和一块A/D转换芯片,把酒精传感器采集到的模拟电信号放大,并转换成数字电信号,再送到单片机进行信号处理,经单片机运算处理的数字电信号最后送到LCD液晶进行显示。以下是对本课题重点难点分析:设计重点: (1)掌握整个测试仪的工作过程、每个环节的原理。(2)单片机、酒精传感器、时钟模块、运放等器件的选用。(3)测量标定。设计难点:(1)酒精传感器、运放、A/D模数转换器、单片机、LCD显示的集成电路设计(2)采集数据、处理数据、以及显示数据的程序的编写。(3)酒精气体的采集过程。(4)测试数据时,精度达到要求。硬件设计总体框架1602显示器89C51单片机MQ3传感器电压信号放大器AD549转换器酒精气体 电信号 信号放大 数字信号 信号显示图1.1硬件设计总体框1.3 硬件电路主要器件的选择在满足上诉测试要求的前提下,选择自己熟悉并且常用的器件,方便调试,而且容易买到,还要考虑到总体的成本,选择比较经济的器件,价格控制在一定范围内。本设计选择的主要器件有如下:(1)单片机:AT89S52 (2)酒精传感器:MQ3(3)运算放大器:LM358(4)A/D:TLC549(5)LCD:1602 (7)时钟:DS1302 1.4 气体传感气及放大电路气体传感器是气体检测系统的核心,通常安装在探测头内。从本质上来讲,气体传感器是一种将气体体积分数转化成相对应的电信号的转换器。探测头通过气体传感器对气体样品进行调理,一般情况下包括滤除杂质和干扰气体、干燥或制冷处理以及样品抽吸,甚至是对样品进行化学处理,以便化学传感器能够进行较快速地测量。2这在选择传感器的时候,一定要考虑到稳定性、灵敏度、选择性和抗腐蚀性,因而选择MQ3型酒精传感器。1.4.1 MQ3气体传感器简介MQ3气敏元件的结构和外形如图1.2所示,电路连接图如图1.3 所示,由微型AL2O3陶瓷管、SnO2 敏感层,测量电极与加热器构成的敏感元件固定在塑料或是不锈钢制成的腔体里,加热器为气敏元件提供了必要的工作条件。封装较好的气敏元件有只针状管脚,其中个用于信号取出,个用于提供加热电流。具有广泛的探测范围,适用于酒精检测。对乙醇蒸气有很高的灵敏度和良好的选择性,快速的响应恢复特性,长期的寿命和可靠的稳定性,简单的驱动回路等特点。通常用于机动车驾驶人员是否酗酒及其它严禁酒后作业人员的现场检测;也用于其它场所乙醇蒸气的检测.;也可用于家庭和工厂的气体泄漏监测装置。 图1.2 MQ3结构与外形 图1.3 MQ3电路连接 回路中有两部分组成:其一为加热回路;其二为信号输出回路,它可以准确反映传感器表面电阻的变化。传感器表面电阻RS 的变化,是通过与其串联的负载电阻RL 上的有效电压信号VRL 输出面获得的。二者之间的关系表述为:RS/RL=(VCCVRL)/VRL,其中VCC为回路电压,负载电阻RL可调为0.5200K,VCC同时作为加热电压。3工作条件:使用温度在-2055范围;储存温度在-20-70范围;相对湿度要求不大于95%RH;氧气浓度在21%(标准条件)。回路电压要求15V(AC or DC),加热电压要求是5.0V0.2 V,测量电压不大于24V。负载电阻要可调,加热电阻是313;加热功耗900mW,属于小功率;探测空气中酒精浓度范围100ppm-2000ppm。为了使测量的精度达到最高,误差最小,需要找到合适的温度,一般在测量前需要将传感器预热5 分钟。 MQ3灵敏度特性曲线资料如图1.4: 图1.4 MQ3灵敏度特性曲线本灵敏度曲线图条件:温度:20、相对湿度:65%、氧气浓度:21% RL=5k Rs:元件在不同气体,不同浓度下的电阻值。R0: 元件在洁净空气中的电阻值。1.4.2放大器LM358功能及管脚LM358 内部包含有两个相互独立的、增益高、内部频率补偿的双运算放大器,适于电源电压范围较宽的单电源使用,也适于双电源的工作模式,在推荐的工作条件下,电源电流与电源电压无关。它的使用范围包含了传感放大器、直流增益模块与其他所有可用单电源供电使用运算放大器的场合。图1.5 LM358管脚图管脚介绍:1和7为偏置平衡,2为反向输入端,3为正向输入端,4接地,5空脚 6为输出,7接电源。 1.4.3酒精传感器MQ3与放大器OP07连接电路图1.6 MQ3与放大器LM358连接电路 工作原理:图1.6是酒精传感器MQ3与放大器LM358连接电路,MQ3气体传感器接触到酒精昧后,就会发生化学反应,A(1和3角连接在一起)、B(4和6角连接在一起)间的电阻值减少,B点的电位升高,酒味越浓,B点电位越高。此信号电压经灵敏度调节电位器RP滑动臂取出,加至放大器LM358的2、3脚,由LM358的1脚输出被放大的模拟电信号,这个模拟电信号将被提供给TLC459进行A/D转换。41.5 模数转换器TLC549及连接电路模数转换电路的功能是将连续变化的模拟量转换为离散的数字量,是架起模拟系统跟数字系统之间连接的桥梁。对于本系统而言,就是用于快速、高精度地对输入的酒精浓度信号进行采样编码,将其转换成单片机所能够处理的数字量。模数转换电路是本系统的关键部分,其性能的好坏直接影响整个系统的质量1.5.1模数转换器TLC549功能及管脚简介 TLC549 是TI公司生产的一种性价比非常高的8位A/D转换器,它以8位开关电容逐次逼近的方法实现A/D转换,其转换速度小于17us,它能方便地采用三线串行接口方式与各种微处理器连接,构成各种廉价的测控应用系统 . 主要特性 1、位分辨率A/D转换器,总不可调整误差0.5LSB 。 2、采用三线串行方式与微处理器接口。 3、片内提供内部系统时钟,并与操作控制用的外部I/OCLOCK相互独立。 4、有片内采样保持电路,转换时间17us,包括存取与转换时间转换速率达40000次秒。 5、差分高阻抗基准电压输入,其范围是:V差分基准电压Vcc0.2V。 6、宽电源范围:3V6.5V,低功耗,当片选信号/CS为低,芯片选中处于工作状态。 管脚介绍: 1脚为正向参考电压; 2脚信号电压输入; 3脚为反向参考电压,一般直接接地; 4脚接地; 5脚为片选信号,低电平有效; 6脚为信号输出; 7脚为时钟信号; 8脚接电源。 图1.7TLC549管脚图 1.5.2模数转换器TLC549工作原理图1.8 TLC549连接电路图工作原理:首先将信号电压从2脚输入,令片选CS和时钟信号CLK为低电平,则开始转化!转换结束后,结果数据已存入锁存器,通过6脚串行输出,将转换好的数字电信号传递给单片机进行数据处理。1.6 DS1302时钟模块 现在流行的串行时钟电路很多,如DS1302、 DS1307、PCF8485等。这些电路的接口简单、价格低廉、使用方便,被广泛地采用。本设计的实时时钟电路DS1302是DALLAS公司的一种具有涓细电流充电能力的电路,主要特点是采用串行数据传输,主电源/后背电源双电源引脚,同时提供了对后背电源进行涓细电流充电的能力,可为掉电保护,系统时钟后备电源的供电下继续工作。该电路晶振采用的是普通32.768kHz晶振。 DS1302 是美国DALLAS公司推出的一种高性能、低功耗、带RAM的实时时钟电路,它可以对年、月、日、时、分、秒进行计时,具有闰年补偿功能,工作电压为2.5V5.5V。采用三线接口与CPU进行同步通信,并可采用突发方式一次传送多个字节的时钟信号或RAM数据。DS1302内部有一个318的用于临时性存放数据的RAM寄存器。 DS1302电路原理图如图1.9所示。图1.9 DS1302时钟原理图DS1302的引脚排列,其中Vcc1为后备电源,Vcc2为主电源。在主电源关闭的情况下,也能保持时钟的连续运行。DS1302由Vcc1或Vcc2两者中的较大者供电。当Vcc2大于Vcc10.2V时,Vcc2给DS1302供电。当Vcc2小于Vcc1时,DS1302由Vcc1供电。X1和X2是振荡源,外接32.768kHz晶振。RST是复位/片选线,通过把RST输入驱动置高电平来启动所有的数据传送。RST输入有两种功能:首先,RST接通控制逻辑,允许地址/命令序列送入移位寄存器;其次,RST提供终止单字节或多字节数据的传送手段。当RST为高电平时,所有的数据传送被初始化,允许对DS1302进行操作。如果在传送过程中RST置为低电平,则会终止此次数据传送,I/O引脚变为高阻态。上电运行时,在Vcc2.5V之前,RST必须保持低电平。只有在SCLK为低电平时,才能将RST置为高电平。I/O为串行数据输入输出端(双向),后面有详细说明。SCLK始终是输入端。DS1302与单片机的连接,实际上,在调试程序时可以不加电容器,只加一个32.768kHz 的晶振即可。1.7单片机AT89S52最小系统连接电路单片机也被称为微控制器,是一种集成在电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计时器等功能。本课题采用较常用且较经济的AT89S52单片机,AT89S52是一种低功耗、高性能CMOS8位微控制器,具有8K 在系统可编程存储器。1.7.1单片机AT89S52功能及管脚简介 标准功能:8k字节Flash,256字节RAM,32 位I/O 口线,看门狗定时器,2个数据指针,三个16 位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。另外,AT89S52 可降至0Hz 静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。5管脚介绍:P0 口:P0口是一个8位漏极开路的双向I/O口。作为输出口,每位能驱动8个TTL逻辑电平。对P0端口写“1”时,引脚用作高阻抗输入。 当访问外部程序和数据存储器时,P0口也被作为低8位地址/数据复用。在这种模式下,P0具有内部上拉电阻。 P1 口:P1 口是一个具有内部上拉电阻的8 位双向I/O 口,P1输出缓冲器能驱动4个TTL 逻辑电平。对P1 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。P2 口:P2 口是一个具有内部上拉电阻的8 位双向I/O 口,P2 输出缓冲器能驱动4个TTL 逻辑电平。对P2 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入 口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。 P3 口:P3 口是一个具有内部上拉电阻的8 位双向I/O 口,P3输出缓冲器能驱动4个。TTL 逻辑电平。对P3 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入 口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。 RST:复位输入。当振荡器工作时,RST引脚出现两个机器周期以上高电平将是单片机复位。ALE/PROG:当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8位字节。一般情况下,ALE以时钟振荡频率的1/6输出固定的脉冲信号,因此它可对外输出时钟或用于定时目的。PSEN:程序储存允许(PSEN)输出是外部程序存储器的读选通信号。 EA/VPP:外部访问允许,欲使CPU访问外部程序存储器(地址为0000H-FFFFH),EA端必须保持低电平(接地)。 晶振特性:AT89S52单片机有一个用于构成内部振荡器的反相放大器,XTAL1和XTAL2分别是放大器的输入、输出端。石英晶体和陶瓷谐振器都可以用来一起构成自激振荡器。存储器结构:MCS-51器件有单独的程序存储器和数据存储器。外部程序存储器和数据存储器都可以64K寻址。程序存储器:如果EA引脚接地,程序读取只从外部存储器开始。数据存储器:AT89S52有256字节片内数据存储器。高128字节与特殊功能寄存器重叠。1.7.2本设计单片机最小系统连接电路图1.10 单片机最小系统连接电路工作原理:本单片机最小系统连接电路如图1.10,6本系统包括单片机AT89S52接口电路、晶振电路、复位电路、分频电路。单片机AT89S52接口电路中,P2.4、P2.6及P2.8口分别控制TLC549的7脚、5脚及6脚;P2.6口用于控制系统报警,当所测试的浓度超过阈值时,输出一个低电平,红色指示灯会发光,蜂鸣器会发出声音。P1.0-P1.7作为数据线,在单片机和液晶LCD1602之间用于传递单片机处理过的被测电压数字信号。P3.0和P3.1口连接下载口。P3.2口、P3.3口、P3.4口分别为INT0、INT1、T0,作为中断;P3.5口、P3.6口、P3.7口分别为E、R/W、RS,用来控制液晶,对液晶写入控制命令。单片机的18号、19号管脚用于连接晶振电路,使单片机工作。单片机31号管脚是EA/VPP,是访问外部程序存储器控制信号,当执行内部程序指令,EA应该接VCC;9号管脚是单片机复位;30号管脚是ALE/PROG,地址锁存控制信号ALE是访问外部程序存储器时,锁存低 8位地址的输出脉冲。复位电路包含了单片机上电复位和按键复位(高电平复位)。P0口加上一个排阻,作为上拉电阻,提高驱动能力。71.8 LCD1602功能特性及管脚 功能介绍:液晶显示器在一个电路系统中用于显示数据,本课题的硬件电路中采用1602LCD液晶作为显示器。1602LCD具有 40通道点阵LCD 驱动;可选择当作行驱动或列驱动;输入/输出信号:输出,能产生202个LCD驱动波形;接受控制器送出的串行数据和控制信号;通过单片机控制将所测的频率信号读数显示出来。LCD1602显示容量为162个字符;芯片工作电压为4.55.5V;工作电流为2.0mA(5.0V);模块最佳工作电压为5.0V;字符尺寸为2.954.35(WH)mm。81.9本设计1602LCD与单片机接口电路图1.11 1602LCD与单片机接口电路工作原理:图1.11为1602LCD与单片机接口电路,其中D0D7八位双向并行总线与单片机的P1口相连,用来传送命令和数据。RS与单片机P3.7口相连,作为命令/数据选择引脚;R/W与单片机P3.6口相连,作为读写选择端;E与单片机P3.5口相连,用于控制信号读取;VO是用来调节背光。1.10 报警系统电路介绍图1.12 报警系统电路工作原理:报警系统电路如图1.12,通过单片机程序控制,判断是否报警。当浓度超过阈值时(如阈值为0.4mg/L),单片机P2.6管脚输出一个低电平,使LED1(红色发光二极管)导通发光,同事使三极管9012导通,驱动蜂鸣器发出声音。1.11 系统其他电路简介1.11.1电源指示电路介绍电路设计中采用1K电阻和一个LED红灯,电路设计图见图1.13。图1.13 电源指示电路1.11.2电源电路介绍图1.14为系统电源1,提供5V电压图1.14 系统电源 1.11.3程序下载口电路介绍方便电路调试和程序下载,本电路设计中设计了一个专门用来下来51单片机程序的下载口,下载程序时不用从电路上拔下单片机AT89S52,直接就可以下载程序,做到方便调试。下载电路见图1.15。图1.15 下载口电路1.11.4按键控制电路介绍S2、S3、S4分别接单片机AT89S52的P3.2P3.3、P3.4口,采用中断控制实现相应地功能。按键控制电路设计如图1.16:图1.16 按键控制电路 按键S2按下显示对应酒精浓度的建议;按键S3用来控制报警铃声开与关;按键3用来是锁定当前浓度值。1.11.5稳压电路介绍采用TL431作为稳压器件,TL431是一个有良好热稳定性能的三端可调分流基准源。选择不同的R5 和R6的值可以得到从2.5V 到36V 范围内的任意电压输出,特别地,当R5=R6 时,输出电压REF=5V。为ADC0809提供5V的基准电压。稳压电路如图1.17。图1.17 稳压电路1.12 本章小结本章在选择便携式酒精含量测试仪硬件设计的方案基础上,对该系统进行了硬件设计,并详细的介绍了便携式酒精含量测试仪硬件设计中各个硬件模块功能。本章主要结论:在详细介绍酒精传感器MQ3、TLC549、及AT89S52单片机结构特点、技术性能特点;详细阐述了便携式酒精含量测试仪的各个功能模块的硬件电路功能,主要包括传感器及信号放大电路、A/D转换电路、单片机处理电路、液晶显示电路、声光报警电路等;设计了整个硬件电路的功能,达到了本研究的硬件要求标准。第二章 酒精含量测试仪软件设计在设计了硬件电路的基础上,本设计中的软件主要采用Keil编译器进行编写,采用各个子模块组成整个程序。便携式酒精含量测试仪的程序的主要任务是:对传感器的输出信号进行采集、转换、计算处理,并能够显示该输出信号,并能够在该信号超过规定限值时,声音和发光报警9。软件总体设计主要包括主程序设计和各个子程序的设计。2.1 主程序流程图及设计主程序流程图如图2.1所示。首先系统上电后要对系统各模块进行初始化设置,对TLC549写控制字,以及LCD显示初始化;之后是数据采集、转换、计算等过程;单片机对传感器检测的酒精气体浓度输出信号进行 A/D 转换后,经过计算处理后,将呼出气体酒精浓度值与报警限设定值进行比较,判断是否发出声音和发光报警。同时送入LCD1602液晶显示模块显示酒精气体的浓度值。开 始系统各模块初始化A/D转换器温度及酒精溶度计算是否超过报警阀值报警温度及酒精溶度显示N 图2.1 主程序流程图第三章 酒精含量测试仪软硬件调试及测试过程在系统硬件和软件设计的基础上,通过对软硬件的结合调试,便携式酒精含量测试仪的方案设计得到了肯定,通过实验得知,能够检测到酒精气体浓度,读回电压值,经过换算处理,较为直观的显示出酒精浓度值。当检测到气体酒精含量超标时,能够驱动声光报警。3.1软硬件的合成调试首先把硬件电路设计好,写好软件后,需要通过硬件看看能否得到所需要实现课题要求的功能,所以需要二者结合调试。本次设计主要进行的调试工作是:数据采集调试及信号放大调试、驱动声光报警等方面的调试。 在调试的实际过程中,首先将编写好的程序下载到目标板上进行分块调试;然后组成整个应用程序,进行整体调试从而完成整个设计的程序调试工作。调试前的准备工作:(1)PC 机;(2)数字万用表;(3)5V电源(可调);(4)不同浓度的酒精溶液等。 本次硬件设计选用Potel99se,软件设计选用Keil.平台。用自己所编制的程序来调试和检验目标板上的电路(硬件调试);利用USB数据线将自己设计的目标程序下载到目标板上的单片机AT89S52。单片机中(程序固化)。3.2 调试故障及分析在调试过程中,出现以下故障:(1)单片机不能下载程序;可能是检查晶振不工作或单片机线路故障;经排查,发现是晶振有一脚虚焊,重新焊上解决了这个问题。(2)用万用表测传感器输出电压,变化范围不大。原因可能是滑动变阻器阻值不够大,导致传感器电路灵敏度。经调试,换一个适当的、更大的滑动变阻器,再去测输出电压,电压变化范围就变大了,达到了测试要求。(3)ADTLC549没工作,经排查,稳压器件TL431的1脚和3脚接反了。重新接上即可。(4)传感器输出电压不稳定,在同浓度酒精情况下测试电压,测试值也不同。可能是传感器没有预热充分以及测试仪电源不稳定导致。检查调节电源电压,保证供电电压稳定,同时使传感器预热5分钟,等传感器充分预热以及系统功能稳定后,在进行电压测试。(5)液晶LCD无显示,可能是程序不对或者是LCD硬件电路问题。经检查,有一根数据线插错了了,重新连接即可。3.3 酒精浓度检测的原理及依据3.3.1检测原理利用便携式酒精含量测试仪来判断人体内血液酒精浓度的依据为:人饮酒后,酒精通过消化系统被人体吸收,经过血液循环,约有90%的酒精通过肺部呼气排出,因此测量呼气中的酒精含量,可以判断人的醉酒程度。另外更重要的依据是人体呼气中的酒精含量与血液中的酒精含量有如下关系:BAC( in mg/L)=Br AC(in mg/L)2200,上式中,BAC是血液酒精浓度的英文缩写,BrAC则是呼气酒精浓度的缩写,括号中的in mg/L表示以每升中多少毫克为单位。即以mg/L为单位的血液酒精浓度在数值上相当于以mg/L为单位的呼气酒精浓度乘以系数2200(由于各国的情况不同,在美国此系数采用2000,而欧洲很多国家采用2100)10。基于这种关系,根据驾驶员呼出气体中的酒精含量来确定被测量者体内酒精含量的多少,研究表明,当驾驶员呼气中酒精浓度超过0.25mg/L时,驾驶员就会在复杂技巧上出现障碍、驾驶能力变坏,肇事率是无酒精状态的2倍,驾驶员驾车容易肇事,以此标准来衡量司机是否能够安全驾驶,当驾驶员呼气中酒精浓度超过0.40mg/L时,驾驶员出现多话、感觉障碍,肇事率是无酒精状态的6倍11。这时驾车就比较危险了,需进行报警。呼出气体中酒精含量检测的方法为:被测者对准传感器进行吹气7秒即可。 3.3.2检测依据到底身体中的酒精浓度要达到多少才需要禁止其驾驶车辆?由于人种的不同,对酒精的代谢速率也不一样,再加上各国的社会风俗习惯不同,因此订定的标准也不完全一样。表1是体内酒精浓度与肇事率的关系。表1:体内酒精浓度与肇事率的关系呼气中酒精浓度(血液中酒精浓度)行为表现或状态肇事率0.25mg/L (0.05%;50mg/dL)复杂技巧障碍、驾驶能力变坏2倍0.40mg/L (0.08%;80mg/dL)多话、感觉障碍6倍0.50mg/L (0.10%;100mg/dL)说话含糊、脚步不稳7倍0.55mg/L (0.11%;110mg/dL)平衡感与判断力障碍度升高10倍0.75mg/L (0.15%;150mg/dL)明显酒醉、步履蹒跚25倍0.85mg/L (0.17%;170mg/dL)恶心、步履蹒跚50倍1.50mg/L (0.30%;300mg/dL)呆滞木僵、可能昏迷、迷醉无法开车2.00mg/L (0.40%;400mg/dL)呼吸中枢痲痹、渐近死亡无法开车2.50mg/L (0.50%;500mg/dL)致死3.4传感器浓度校准根据上两个表又在网上和图书馆查阅资料,了解到一种校准方法:密闭容器中,一定温度下,酒精溶液挥发到容器空气中后,酒精水溶液浓度与空气中酒精浓度是有一定关系的。利用这个关系进行计算,配置出标准的酒精溶液,就能对测试仪进行校准。当要是用来校准空气中0.25mg/L和0.40mg/L两个点时,根据资料中的数据,计算出要分别配置0.64g/L和1.02g/L的酒精水溶液,由于条件限制,这个是比较难达到精度要求的,而且还要在一定温度下密闭容器里进行校准,操作比较困难。资料中的数据时通过实验得到的,而且在于国家计量检定规程误差范围内的,以下为资料数据:表2 酒精水溶液浓度与空气中酒精浓度的关系酒精水溶液/gL-1空气中的酒精含量/mgL-10.370.1430.610.2380.930.3563.5 数据测试及分析测试方案及测试数据: 测试方案:配制几种浓度的溶液,在每个浓度下测试5次。酒精溶液A是用5%浓度的酒精溶液加一定量的水稀释而成,浓度大约是2.5%;酒精溶液B是用75%浓度的酒精溶液加一定量水稀释而成,浓度大约是15%;酒精溶液C是用95%浓度的酒精溶液加一定量水稀释而成,浓度大约是40%;酒精溶液C是用95%浓度的酒精溶液加一定量水稀释而成,浓度大约是85%。然后进行数据测试:3.6实物图展示图3.1 整体实物图 图3.2初始状态下的LED 图3.3 处于安全转台的LED 图3.4 处于警告状态下的LED 图3.5 处于非法状态下的LED第四章 结论本课题针对目前酒后驾车造成交通事故频繁的现象,从燃烧型气体传感器的工作机制出发,设计并制作出一种便携式酒精含量测试仪,能够比较方便的测出被测者呼气中的酒精浓度。在此基础上了设计了基于单片机AT89S52的便携式酒精含量测试仪,并对该测试仪的构成、工作原理及硬件电路和软件系统进行了阐述,最后通过实验证该测试仪达。(1)从便于携带、实用、经济等方面出发,设计酒精含量测试仪的方案,并对方案进行了优化设计;依据方案设计思想,设计了基于AT89S52单片机的硬件系统,实现了声光音报警、液晶显示酒精浓度和环境温度等功能。声光报警模块功能为当检测到酒精浓度超过设定的阈值时,红色LED发光,并且蜂鸣器发出声音报警。(2)在Keil软件开发平台上编写了整个软件系统,主要包括主程序、A/D转换子程序、液晶显示子程序、酒精浓度计算子程序等; (3)通过测试仪软硬件的结合调试,通过实验,在酒精浓度与测试仪输出电压关系曲线的基础上,对测试仪进行校准、测试出数据。致 谢 在此次毕业设计过程中,衷心感谢我的指导教师柯跃前老师的指导及支持,在我的毕业设计过程中提出了宝贵意见并提供实验场所及调试器材。毕业论文也给予了悉心的指导,使我的毕业设计得以完成。同时,还要感谢我周围的同学在这次毕业中给与我的帮助,没有你们的帮助,我不会这么顺利的完成任务。最后,衷心的祝愿老师工作顺利,身体健康;祝同学们前程似锦,鹏程万里!参考文献1 中华人民共和国公安部安全行业标准 GA307-2001 呼出气体酒精含量探测器S. 2 张红润传感器应用设计300例下M北京:北京航空航天大学,20083 何希才常用传感器应用电路的设计与实践M北京:科学出版社,20074 何希才使用传感器接口电路实例M北京:中国电力出版社,2007 5 何立民MCS-51系列单片机应用系统设计系统配置与接口技术M北京:北航出版社,1990 6 江思敏,姚鹏翼,胡烨. Protel 2004电路原理图及PCB设计M北京:机械工业出版社,2006.8 7 段晨东. 单片机原理及接口技术M北京:清华大学出版社,20088 陆蓉.液晶显示器(LCD)显示驱动原理及其应用J.电子制作,2005(5):5152.9 谭浩强. C程序设计(第二版)M.北京:清华大学出版社,2003.1010 陈成新. 一种校准呼气酒精测试仪的新方法J .计量学报,2006,27(2):1311 庄明科,白海峰.驾驶人员风险驾驶行为分析及相关因素研究J.北京大学学报,2007,(04):1The design of the real-time alcohol testerPhysics and Information Engineering institute Science and Technology of Electronic Information080303091 XiaoMing XieFaculty Adviser YueQian Ke Associate Professor Abstrack This design uses the MQ3 alcohol gas sensors and single-chip microcomputer device design a programmable smart real-time alcohol tester, can simulate the realization on human breath gas alcohol content in the test, and through the LCD display test data. This device can be set concentration threshold, and has the value alarm function. The system through the MQ3 sensors to collect data, and convert to voltage signal the A/D conversion to the SCM system, by single-chip microcomputer and peripheral circuit signal, the real-time display alcohol leel, when the threshold value when the police. In the C programming language, the idea of modular design program.Key words alcohol content,MQ3sensor,A/D549 conversion,SCM,LCD1602附 录 1本附录含便携式酒精含量测试仪硬件电路原理图、PCB图,以及软件的程序。1 电路原理图:2 PCB图:附 录2程序:/酒精 程序 最终版/*/多字符LCD显示/P1接LCD1口,P3.7接RS 4脚,P3.6接RW 5脚,P3.5接E 6脚/按键 显示建议/现象:LCD显示屏显示“酒精浓度及状态”/*#include REG52.h#include string.htypedef unsigned char uchar;typedef unsigned int uint;typedef unsigned long ulong;sbit lcdrs=P37;sbit lcdrw=P36;sbit lcde=P35;sbit CLK=P20;/sbit d0=P00;sbit DO=P24;sbit CS=P22;sbit j0=P26;sbit j1=P27;sbit j2=P32;sbit j3=P33;sbit j4=P34; void lcdinit(void); /lcd初始化void lcdsendc(uchar c); /发送lcd指令void lcdsendd(uchar c); /发送lcd数据void lcdbusy(void); /判断忙状态void delay1ms(uint time); /lcd延时void lcd();void ad549();void delayadms(uint time);void longdu();void secondline();void ajlcd2(); int i,length1,length2,length3,length4,length5,length6; uchar lineone1=Alcohol:;/第一行显示缓存 uchar lineone2=0,.,0,0; uchar lineone3=mg/L; uchar linetwo1=safe ;/第二行显示缓存 uchar linetwo2=warning; uchar linetwo3=danger ; uchar linetwo4=error ; uchar anjian1=Having fun; uchar anjian2=Have a good rest; uchar anjian3=Dont driving; uint x,y,z,addata;/写子函数void lcd()/int i,length1,length2,length3,length4;lcdinit();lcdsendc(0x80); /送第一行地址longdu();length1=strlen(lineone1); /取数组字符数for(i=0;ilength1;i+) /送第一行数据lcdsendd(lineone1i);delay1ms(100); length2=strlen(lineone2); for(i=0;ilength2;i+) lcdsendd(lineone2i);delay1ms(100); length3=strlen(lineone3); for(i=0;ilength3;i+) lcdsendd(lineone3i);delay1ms(100); secondline(); /=/lcd初始化程序/=void lcdinit()delay1ms(100);lcde=0;lcdrs=1;lcdrw=1;lcdsendc(0x01); /清屏delay1ms(200);delay1ms(300);lcdsendc(0x3c); /8位 2行 5X10字体delay1ms(300);lcdsendc(0x06); /设ac自增,移动显示关闭delay1ms(200);lcdsendc(0x0c); /开启显示,光标显示,字符闪烁关闭delay1ms(200);/=/发送lcd命令/=void lcdsendc(uchar c) P1=c;lcdrs=0;lcdrw=0;lcde=0;lcdbusy();lcde=1;if(c=1)delay1ms(2); /=/发送数据/=void lcdsendd(uchar c) P1=c;lcdrs=1;lcdrw=0;lcde=0;lcdbusy();lcde=1; /=/判断忙状态/=void lcdbusy()P1=0xff;lcdrs=0;lcdrw=1;lcde=0;lcde=0;lcde=1;delay1ms(1);/=/lcd延时子程序/=void delay1ms(uint time)uint i,j;for(i=0;iti
展开阅读全文