为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

酒精浓度检测仪

2011-12-23 33页 doc 952KB 227阅读

用户头像

is_148082

暂无简介

举报
酒精浓度检测仪中南林业科技大学本科毕业论文 酒精浓度检测仪 1 引言 从工厂企业到居民家庭,酒精泄露的检测、监控以及对酒后驾车的监测对居民的人身和财产安全都是十分重要且必不可少的。同时,随着我国经济的高速发展,人民的生活水平迅速提高,越来越多的人有了自己的私家车,酒后驾车是导致交通事故的一个主要因素,资料显示,我国近几年发生的重大交通事故中,有将近三分之一是由酒后驾车引起的。由于人们安全意识增强,对环境安全性和生活舒适性要求的提高,为了防止机动车辆驾驶人员...
酒精浓度检测仪
中南林业科技大学本科毕业论文 酒精浓度仪 1 引言 从工厂企业到居民家庭,酒精泄露的检测、监控以及对酒后驾车的监测对居民的人身和财产安全都是十分重要且必不可少的。同时,随着我国经济的高速发展,人民的生活水平迅速提高,越来越多的人有了自己的私家车,酒后驾车是导致交通事故的一个主要因素,资料显示,我国近几年发生的重大交通事故中,有将近三分之一是由酒后驾车引起的。由于人们安全意识增强,对环境安全性和生活舒适性要求的提高,为了防止机动车辆驾驶人员酒后驾车,现场实时对人体呼气中酒精含量的检测已日益受到重视,酒精浓度测试仪逐渐得到广泛应用。此外,酒精测试仪也可应用于食品加工、酿酒等需要监控空气中酒精浓度的场合。如今,气体传感器向低功耗、多功能、集成化方向的发展,因此,酒精浓度检测仪具有十分广阔的现实市场和潜在的市场要求。 综观现有的酒精检测器,系统实现上大部分以单片机为基础,并借助相应的外围电路,将检测结果通过LED、LCD 等显示方式告知使用者。本设计用的MQK2酒精传感器就是一种对气体敏感的化学传感器,它能随着外部气体的浓度或不同而改变敏感膜的电阻。系统选AT89S52单片机为控制核心,对检测到的气体状况进行相应的处理分析、处理和显示,并通过报警进行提示。 关键词:酒精传感器 MQK2 AT89S52单片机 报警 第一章 气敏传感器 2. 1 气敏传感器工作原理 气敏电阻是一种半导体敏感器件,它是利用气体的吸附而使半导体本身的 电导率发生变化这一机理来进行检测的。人们发现某些氧化物半导体材料如SnO2、ZnO、Fe2O3、MgO、NiO、BaTiO3等都具有气敏效应。 气敏传感器是一种检测特定气体的传感器。它主要包括半导体气敏传感器、接触燃烧式气敏传感器和电化学气敏传感器等,其中用的最多的是半导体气敏传感器。它的应用主要有:一氧化碳气体的检测、瓦斯气体的检测、煤气的检测、氟利昂(R11、R12)的检测、呼气中乙醇的检测、人体口腔口臭的检测等等。它将气体种类及其与浓度有关的信息转换成电信号,根据这些电信号的强弱就可以获得与待测气体在环境中的存在情况有关的信息,从而可以进行检测、监控、报警;还可以通过接口电路与计算机组成自动检测、控制和报警系统。半导体气敏传感器对于低浓度气体具有很高的灵敏度,具有嗅觉功能,能自动检测瓦斯浓度。一旦瓦斯超限,气敏传感器即可自动报警,然后采取先抽后采的原则,即可防止瓦斯爆炸事故的发生。 半导体气敏传感器是利用待测气体在半导体表面的氧化和还原反应导致敏感元件阻值变化来检测气体的种类和浓度的。当半导体器件被加热到稳定状态,在气体接触半导体表面而被吸附时,被吸附的分子首先在表面自由扩散,失去运动能量,一部分分子被蒸发掉,另一部分残留分子产生热分解而固定在吸附处时,如果半导体的功函数大于吸附分子的离解能,吸附分子将向器件释放电子,而形成正离子吸附。如H2、CO、碳氢化合物等,被称为还原型气体。当还原型气体吸附到N型半导体上时,载流子增多,使半导体电阻值下降。 2.2 气敏传感器 气敏传感器是酒精检测系统的核心,通常安装在探测头内。从本质上讲气敏传感器是一种将某种气体的体积分数转化成对应电信号的转换器。探测头通过气敏传感器对气体样品进行调理,通常包括滤除杂质和干扰气体、干燥或制冷处理、样品抽吸,甚至对样品进行化学处理,以便化学传感器进行更快速的测量。 目前普遍使用的气敏传感器有燃料电池型(电化学型)和半导体型两种。他们能够制造便携型呼气酒精浓度测试器,适合于现场使用。与半导体传感器相比,燃料电池酒精传感器具有稳定性好、精度高、抗干扰性好等优点。由于燃料电池酒精传感器的结构要求很精密,制造难度大,目前世界上只有美国、德国、英国等少数几个国家能够生产。 本测试器采用MQK2酒精浓度传感器,检测人体呼出气体中酒精浓度并且输出电压信号。MQK2酒精浓度传感器主要由气敏元件和电阻丝组成, MQK2传感器外接+5V电压时,能将电阻丝加热到270℃~300℃。,电路将MQK2传感器的阻值变化转化成输出电压的变化,从而可以通过A/D转换成数字量供单片机处理。 根据分析,乙醇浓度增加时元件电阻R减小反之异亦反,所以呼出气体中的气态乙醇逐渐扩散后元件电阻R敏感的变化。 第二章 酒精浓度检测仪发展的现状 在应用方面,目前最广泛的是可燃性气体气敏元件传感器,已普及应用于气体泄漏检测和监控,从工厂企业到居民家庭,应用十分广泛。 一是气体传感器向低功耗、多功能、集成化方向发展 国外气体传感器发展很快。二是增强可靠性,实现元件和应用电路集成化,多功能化,发展MEMS技术,发展现场适用的变送器和智能型传感器。 2.5.1 气体传感器向低功耗、多功能、集成化方向发展 国外气体传感器发展很快,一方面是由于人们安全意识增强,对环境安全性和生活舒适性要求提高;另一方面是由于传感器市场增长受到政府安全法规的推动。因此,国外气体传感器技术得到了较快发展,据有关统计猜测,美国1996年—2002年气体传感器年均增长率为(27~30)%。 目前,气体传感器的发展趋势集中表现为:一是提高灵敏度和工作性能,降 低功耗和成本,缩小尺寸,简化电路,与应用整机相结合,这也是气体传感器一直追求的目标。如日本费加罗公司推出了检测(0.1~10)×10-6硫化氢低功耗气体传感器,美国IST提供了寿命达10年以上的气体传感器,美国FirstAlert公司推出了生物模拟型(光化反应型)低功耗CO气体传感器等。二是增强可靠性,实现元件和应用电路集成化,多功能化,发展MEMS技术,发展现场适用的变送器和智能型传感器。如美国GeneralMonitors公司在传感器中嵌入微处理器,使气体传感器具有控制校准和监视故障状况功能,实现了智能化;还有前已涉及的美国IST公司的具有微处理器的“MegaGas”传感器实现了智能化、多功能化。 2.5.2 国内现状与差距 气敏元件传感器作为新型敏感元件传感器在国家列为重点支持发展的情况下,国内已有一定的基础。其现状是: (1)烧结型气敏元件仍是生产的主流,占总量90%以上;接触燃绕式气敏元件已具备了生产基础和能力;电化学气体传感器有了试制产品; (2)在工艺方面引入了表面掺杂、表面覆膜以及制作表面催化反应层和修隔离层等工艺,使烧结型元件由广谱性气敏发展成选择性气敏;在结构方面研制了补偿复合结构、组合差动结构以及集成化阵列结构;在气敏材料方面SnO2和Fe2O3材料已用于批量生产气敏元件,新研究开发的Al2O3气敏材料、石英晶体和有机半导体等也开始用于气敏材料; (3)低功耗气敏元件(如一氧化碳,甲烷等气敏元件)已从产品研究进入中试; (4)国内气敏元件传感器产量已超过“九五”初期的400万支。产量超过20万支的主要厂家有5家,黑龙江敏感集团、太原电子厂、云南春光器材厂、天津费加罗公司(合资)、北京电子管厂(特种电器厂),其中前四家都超过100万支,据行业协会统计,1998年全国气敏元件总产量已超过600万支。 总的看来,我国气敏元件传感器及其应用技术有了较快进展,但与国外先进水平仍有较大的差距,主要是产品制造技术、产业化及应用等方面的差距,与日本比较仍要落后10年。 2.5.3 市场需求分析 气敏元件、传感器及其应用产品具有十分广阔的现实市场和潜在的市场需求。 以4类气敏元件传感器为例,作简要市场需求分析。 (1)可燃性气体气敏元件传感器 这是需求量最大的一类气敏元件传感器,包含各种烷类和有机蒸气类(VOC)气体,目前大量应用于抽油烟机、泄漏报警器和空气清新机,已形成批量生产规模,每年约有500万支以上的市场。随着在油田、矿区、化工企业及家庭等生产生活领域广泛用作气体泄漏报警,非凡是用于家庭气体泄漏报警,如液化石油气、天燃气及其他可燃性气体的检测报警等,预计在2001年—2005年将会有成倍需求。 (2)一氧化碳和氢气气敏元件传感器 这两种也是最有需求量的气敏元件传感器。一氧化碳气敏元件可用于工业生产、环保、汽车、家庭等一氧化碳泄漏和不完全燃烧检测报警;氢气气敏元件除工业等领域应用外也同一氧化碳气敏元件一样,广泛用于家庭管道煤气泄漏报警。由于我国管道煤气中氢气含量高,而氢敏元件较之一氧化碳元件价格低,灵敏度高,因此,用氢敏元件做城市管道煤气泄漏报警更为适宜。由于管道煤气泄漏、灶具不合格导致不完全燃烧而造成CO中毒等灾难事故是十分严重的,每年都给我们留下惨痛的后果,仅哈尔滨市1998年11月2日一次管道煤气泄漏事故就造成37人中毒,8人死亡。因此,安装煤气报警器已成为政府为保护人民生命财产安全而强制推动的一项措施。目前我国已有黑龙江省、山西省、哈尔滨市、青岛市等发布文件。随着城市燃气化的扩大、政府立法和人民安全保护意识的提高,城市家庭安装气体报警器必将很快推广普及,一氧化碳、氢气敏元件传感器的需求量将会急剧增加。美国已有7个州11个城市通过立法要求家庭安装CO报警器。据统计,按一间卧室安装一台CO报警器计算,美国CO报警器市场应该是9400万台,按目前价格计算是38亿美元,而且每年可新增40万台。早在1994年,我国城市燃气用户就达到2978万户,用气人口10421.8万人。我国660个城市,有液化石油气的城市513个,同时兼有人工煤气的城市170个,有天然气城市55个,国家到2000年城市人口平均气化率达到60%~70%。目前大约有1.2亿居民、约(3000~4000)万户使用燃气,按这些燃气用户的40%安装气体报警器计算,需求量就达1200万台以上。而随着城市燃气应用的扩大,用气人口增多,报警器需求量必将迅速增加。 另一个需要安装气体报警器的是使用燃气热水器非凡是直排式燃气热水器的场所。由于燃气热水器使用不当或质量变坏发生不完全燃烧,造成CO中毒现象时有发生,南京、上海、福洲、北京、衡阳等都有过报道。仅据来自中国消费者协会的投诉统计,1998年全国就有16人死于燃气热水器事故,伤4人,残2人,比1997年上升了200%。为防止灾难事故,安装CO报警器十分重要。目前我国颁发燃气热水器生产许可证企业153家,燃气热水器社会拥有量已在3000万台以上,其中50%以上是直排式。为了安全,国家技术监督局已发布强制性(GB6932-94),要求燃气热水器必须有防止不安全燃烧的保护装置。要求上述热水器5年内安装完CO报警(控制)器,仅此每年就需要600万台。显然,其需求量是相当大的。 (3)氧传感器 氧传感器应用很广泛,在环保、医疗、冶金、交通等领域需求量很大。以汽车用氧传感器为例,为提高汽车性能,降低排气污染,国外已采用电子燃油喷射系统(EFI)代替化油器,如美国、德国和日本,EFI系统的装车率已分别达100%、98%和90%。我国八五期间将EFI列入国家科委攻关计划。经过攻关,现已在切诺基、小红旗、桑塔纳等轿车上成功安装了EFI,在一个发动机电子喷射系统中要使用温度、压力、气体、爆震、位置等传感器(6~8)个,其中氧气传感器是控制发动机点火和尾气排放的最主要的传感器。一套闭环控制系统要用(1~2)氧传感器。目前我国尚不能生产汽车用氧传感器,主要依靠进口。预计到2000年后,国内氧传感器配套将有大的需求,如上海汽车电子有限公司,EFI系统年产能力为120万套,全部配套传感器就要240万支。我国1998年汽车生产超过10万辆的有上海大众、一汽、天汽、东风、长安、柳州五菱等六家企业。按此估计,仅用于汽车的氧传感器,我国年需量也要在500万支以上。 第三章 系统硬件设计 1.1 系统整体 单片机酒精浓度测试仪用MQK2酒精传感器采集气体信号,并通过数模转换器将模拟信号转换成数字信号送至单片机,单片机对数字信号进行分析处理,并将所得的结果显示出来,可以通过键盘设置不同环境下酒精浓度的不同阀值,如果所检测出的酒精浓度超过了所设定的阀值,那么单片机就能控制蜂鸣器发出声音报警。键盘采用3个独立键盘进行数据输入设定;显示部分用5个数码管显示当前数据,数码管分别用2个74HC573锁存器控制段选和位选。温度采集采用DS18B20,与传统的热敏电阻相比,它能够直接读出被测温度,并且可根据实际要求通过简单的编程实现9~12位的数字值读数方式,并且从DS18B20读出的信息或写入DS18B20的信息仅需要一根口线(单线接口)读写,温度变换功率来源于数据总线,总线本身也可以向所挂接的DS18B20供电,而无需额外电源。经过软件处理送至数码管显示当前环境温度。 图1、系统方框图 2.4 MQK2传感器的特性及性能指标 一、特性 l、对酒精气体有很高的灵敏度。 2、具有良好的重复性和长期的稳定性。 3、抗干扰,对酒精气体有很好的选择性。 二、应用 对酒精气体的检测。 三、特性参数 l、回路电压:(Vc) 5-24V 2、取样电阻:(RL) 0.5-20KΩ 3、加热电压:(VH)5±0.1V 4、加热功率:(P)约750mW 5、灵敏度:R0(air)/RS (100ppmC2H5OH)>5 6、响应时间:Tres<10秒 7、恢复时间:Trec<30秒 四、注意事项: 气敏元件开始工作时,需预热3-5分钟后方可正常使用。不要在 蚀性气体环境下工作。 五、工作环境:温度-10-+50℃、相对湿度0-90%RH。 六、传感器输出电压与酒精浓度关系 通过测量MQK2输出信号同酒精浓度为近似的线性关系,如图1所示。 图1 酒精浓度同输出电压的近似关系 3.1 传感器信号采集电路 电路的前端部分MQK2传感器按照常规设计即可,如图2所示。MQK3外接+5V电压将时,可将电阻丝加热至270℃~300℃.电路将MQK2的阻值变化转换成输出电压的变化,从而可以通过A/D转换成数字信号供单片机处理。 在酒精浓度为0时,其输出电压为3v。但由于其输出的电压范围超过了AT89S52的输入电压范围,所以在本设计中加入了一个调整电路来使其输出的电压能够满足AT89S52的输入要求。其调整电路的原理图如图3。采用LM336~2.5 图2 MKQ2酒精传感器电路 作为一个2.5 V的基准电压,采用差动输入使得Vout=V酒精-2.5V从而使得传感器信号的输出符合AT89S52的范围。 图3 传感器处理电路 3.2 A/D转换电路 模数转换电路的功能是将连续变化的模拟量转换为离散的数字量,是架起模拟系统跟数字系统之间连接的桥梁。对于本系统而言,就是用于快速、高精度地对输入的酒精浓度信号进行采样编码,将其转换成单片机所能够处理的数字量。模数转换电路是本系统的关键部分,其性能的好坏直接影响整个系统的质量。 模数转换采用ADC0804,对输入模拟量要求:信号单极性,电压范围是0-5V,若信号太小,必须进行放大;输入的模拟量在转换过程中应该保持不变,如若模拟量变化太快,则需在输入前增加采样保持电路。ADC0804有20个引脚,其中11-18管脚为数字信号输出端,与单片机P1口相连;cs为片选端,接单片机P3.5口,当cs接低电平时ADC0804开始工作,WR接P3.6口,当WR变为低电平再跳变为高电平后启动A/D转换,RD接单片机P3.7口,当RD由低电平跳变为低电平时,单片机读 走A/D转换完的数字信号。CLK为时钟输入信号线, 因ADC0804的内部没有时钟电路,所需时钟信号必须由外界提供,通常使用频率为500KHZ,VREF(+),VREF(-)为参考电压输入。INTR为中断控制信号,接单片机外部中断端口,当A/D转换完后向单片机发出中断信号,等待读走数字信号,INTR也空可置不接,因为当启动A/D后一段时间后模数转换完后,等待一段时间后单片机也可以读走数字量。原理图如图4。 图 4 A/D转换电路 3.3单片机系统 AT89S52是一种低功耗、高性能CMOS8位微控制器,具有8K 在系统可编程Flash 存储器。使用Atmel 公司高密度非易失性存储器技术制造,与工业80C51 产品指令和引脚完全兼容。片上Flash允许程序存储器在系统可编程,亦适于 常规编程器。在单芯片上,拥有灵巧的8 位CPU 和在系统可编程Flash,使得AT89S52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。 AT89S52具有以下标准功能: 8k字节Flash,256字节RAM,32 位I/O 口线,看门狗定时器,2 个数据指针,三个16 位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。另外,AT89S52 可降至0Hz 静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。其电路如图5。 报警电路采用单片机I/O口外接三极管驱动蜂鸣器,发出报警信号,如图6所示。 图5 单片机基本电路 图6 蜂鸣器电路 图7 独立键盘电路 键盘分编码键盘和非编码键盘。键盘上闭合键的识别由专用的硬件编码器实现,并产生键编码号或键值的称为编码键盘,如计算机键盘。而靠软件编程来识别的称为非编码键盘;在单片机组成的各种系统中,用的最多的是非编码键盘。非编码键盘有分为:独立键盘和行列式(又称为矩阵式)键盘。本设计采用3个独立键盘来输入数字量,如图7。3个键盘分别接单片机P2.0,P2.1,P2.2。使用时先将键盘借口初始化,即将P2.0~P2.2全部置1,然后判断是否有键按下,若键盘输入端变为低电平,表明此键盘按下,在软件编程时,注意键盘消抖。 显示部分用4个数码管显示当前数据,数码管分别用2个74HC573锁存器控制段选和位选,锁存器与单片机I/O口连接,位锁存器输出端分别与数码管片选连接,段锁存器输出端接数码管段输入端连接。锁存器片选输入端为高电平时,I/O口数据输入锁存器,当输入为低电平时,锁存器关闭并将数据保持住。如图8所示。段选接单片机P2.6,位选接单片机P2.7。 图8 显示电路部分 3.4 DS10B20温度采集电路 温度采集采用DS18B20, DS18B20是美国DALLAS半导体公司最新推出的一种数字化单总线器件,属于新一代适配微处理器的改进型智能温度传感器。与传统的热敏电阻相比,它能够直接读出被测温度,并且可根据实际要求通过简单的编程实现9~12位的数字值读数方式。可以分别在93.75 ms和750 ms内完成9位和12位的数字量,并且从DS18B20读出的信息或写入DS18B20的信息仅需要一根口线(单线接口)读写,温度变换功率来源于数据总线,总线本身也可以向所挂接的DS18B20供电,而无需额外电源。因而使用DS18B20可使系统结构更趋简单,可靠性更高。同时其“一线总线”独特而且经济的特点,使用户可轻松地组建传感器网络,为测量系统的构建引入了全新的概念。DS18B20“一线总线”数字化温度传感器支持“一线总线”接口,测量温度范围为-55℃~125℃,在-10~+85℃范围内,精度为±0.5℃。现场温度直接以“一线总线”的数字方式传输,用符号扩展的16位数字量方式串行输出,大大提高了系统的抗干扰性。DS18B20可以直接通过DQ端口向单片机输入温度信号(如图9)。DQ接单片机P2.4口。 图9 DS18B20温度采集系统 DSl8B20 数字温度计提供9 位(二进制)温度读数,指示器件的温度信息经过单线接口送入DSl8B20 或从DSl8B20 送出,因此从主机CPU 到DSl8B20 仅需一条线(和地线)。 DSl8B20 的电源可以由数据线本身提供而不需要外部电源。因为每一个DSl8B20 在出厂时已经给定了唯一的序号,因此任意多个DSl8B20 可以存放在同一条单线总线上。这允许在许多不同的地方放置温度敏感器件。DSl8B20 的测量范围从-55 到+125,增量值为0.5 可在l s(典型值)内把温度变换成数字。 DS18B20 用9 位存贮温值度最高位S为符号。负温度S=1,正温度S=0 。 第四章 软件处理部分 4.1 酒精测量处理部分 将传感器输出经调整后的模拟电压输入转换器进行A/D转换,采用ADC0804其操作时序图如下 转换时序 读走数字信号时序 图10 ADC0804控制信号时序图 MQK2酒精传感器输出电压与酒精浓度近似为线性关系,由图1可得酒精浓度与输出电压函数近似为 V=2.78*C+3,C表示酒精浓度,单位为mg/L。 本设计中加入了一个调整电路来使其输出的电压能够满足单片机的输入要求,其输入与输出关系为VOUT=Vin-2.5V。因此输入模拟电压与呼出气体中的酒精浓度的函数关系为V=2.78*C+0.5。 当开始检测时,采样传感器的输出信号,并准备A/ D 转换。每隔50 ms 采集一个电压值,共采集10 个,取其中最大的3 个结果,并计算其平均数。由于传感器信号处理电路中酒精浓度值和输出电压值之间有线性关系,确定电压值和酒精浓度的对应关系,最后输出酒精浓度值。整个过程流程图如图11所示。 图11 酒精浓度检测子程序流程图 大量的统计研究结果表明,如果被测者深吸气后以中等力度呼气达三秒钟上,这时呼出的气就是从肺部深处出来的气体。呼气中的酒精含量与血液中的酒精含量有如下关系: BAC(in mg/L)=BrAC(in mg/L)x 2200 其中,BAC代表血液酒精浓度,BrAC表示呼气酒精浓度,in mg/L表示以每升中多少毫克为单位。也就是说,以毫克/升为单位的血液酒精浓度在数值上相当于以毫克/升为单位的呼气酒精浓度乘上系数2200(由于各国的情况不同,在美国此系数采用2000,而欧洲很多国家采用2100)。由于BrAC受到环境温度、湿度以及被测试者个体差异等多方面影响,其测试结果不如直接检测BAC准确,但是该结果仍可作为判断饮酒程度的重要参考。我国对酒后驾驶的判定界限为10~30 g/100 L (血液中的酒精浓度)。 4.2 温度处理部分 本系统软件部分主要包括:DS18B20 的初始化子程序、向DS18B20 中写数据子程序,从DS18B20 中读数据子程序、温度转换子程序和通信子程序。软件系统流程图如图12所示。 图12 DS18B20温度转换软件流程图 DSl820 工作过程及时序 DSl820 工作过程中的协议如下: 初始化RoM 操作命令存储器操作命令处理数据。 1 初始化 单总线上的所有处理均从初始化开始。 2 ROM 操作品令 总线主机检测到DSl820 的存在,便可以发出ROM 操作命令之一,这些命令如 指令 代码 Read ROM(读ROM) [33H] Match ROM(匹配ROM) [55H] Skip ROM(跳过ROM] [CCH] Search ROM(搜索ROM) [F0H] Alarm search(告警搜索) [ECH] 3 存储器操作命令 指令 代码 Write Scratchpad(写暂存存储器) [4EH] Read Scratchpad(读暂存存储器) [BEH] Copy Scratchpad(复制暂存存储器) [48H] Convert Temperature(温度变换) [44H] Recall EPROM(重新调出) [B8H] Read Power supply(读电源) [B4H] 4 时 序 主机使用时间隙(time slots)来读写DSl820 的数据位和写命令字的位 (1)初始化 时序见图10。主机总线to 时刻发送一复位脉冲(最短为480us的低电平信号), 接着在tl 时刻释放总线并进入接收状态,DSl820在检测到总线的上升沿之后,等待15-60us,接着DS1820 在t2 时刻发出存在脉冲(低电平持续60-240 us) 如图13中虚线所示。 图13 初始化时序 以下子程序在MCS51 仿真机上通过其晶振为12M.。初始化子程序: RESET: PUSH B ; 保存B 寄存器 PUSH A 保存A 寄存器 MOV A,#4 ; 设置循环次数 CLR P1.0 ; 发出复位脉冲 MOV B,#250 ; 计数250 次 DJNZ B,$ ; 保持低电平500us SETB Pl.0 ; 释放总线 MOV B,#6 ; 设置时间常数 CLR C ; 清存在信号标志 WAITL: JB Pl.0,WH ;若总线释放跳出循环 DJNZ B,WAITL ; 总线低等待 DJNZ ACC,WAITL; 释放总线等待一段时间 SJMP SHORT WH: MOV B,#111 WH1: ORL C,P1.0 DJNZ B,WH1 ; 存在时间等待 SHORT: POP A POP B (2)写时间隙 当主机总线to时刻从高拉至低电平时就产生写时间隙见图14、图15 4 ,从to 时刻开始15us 之内应将所需写的位送到总线上,DSl820 在t0 后15-60us 间对总线采样。若低电平写入的位是0,见图14;若高电平写入的位是1,见图15。连续写2位间的间隙应大于1us。 图14 写0时序 图15 写1时序 写位子程序(待写位的内容在C 中) WRBIT: PUSH B ; 保存B MOV B,#28 ; 设置时间常数 CLR P1.0 ; 写开始 NOP ;1us NOP ;1us NOP ;1us NOP ;1us N0P ;1us MOVPl.0,C ; C 内容到总线 WDLT: DJNZ B,WDLT;等待56Us POP B SETB Pl.0 ; 释放总线 RET ;返回 写字节子程序(待写内容在A 中): WRBYTB: PUSH B : 保存B MOV B #8H ; 设置写位个数 WLOP: RRC A ; 把写的位放到C ACALL WRBIT ; 调写 1 位子程序 DJNZ B WLOP ; 8 位全写完? POP B RET (3)读时间隙 见图16主机总线to 时刻从高拉至低电平时,总线只须保持低电平l7ts ,之后在t1 时刻将总线拉高产生读时间隙读时间隙在t1 时刻后t2 时刻前有效,tz 距to为15捍s,也就是说,tz 时刻前主机必须完成读位,并在to后的60 尸s 一120 fzs 内释放总线。 读位子程序(读得的位到C 中); 图16 读时序 RDBIT: PUSH B ; 保存B PUSH A ; 保存A MOV B,#23 ; 设置时间常数 CLR P1.0 ; 读开始图2 25 5 的t0 NOP ;1us NOP ;1us NOP ;1us NOP ;1us SETB Pl.0 ; 释放总线 MOV A,P1 ; P1 口读到A MOV C,EOH ; P1.0 内容C NOP ;1us NOP ;1us NOP ;1us NOP ;1us RDDLT: DJNZ B,RDDLT ;等待46us SETB P1.0 POP A POP B RET 读字节子程序(读到内容放到A 中) RDBYTE: PUSH B ; 保存B RLOP MOV B,#8H ; 设置读位数 ACALL RDBIT ; 调读1 位子程序 RRC A ; 把读到位在C 中并依次送给A DJNZ B,RLOP ; 8 位读完? POP B ; 恢复B RET 读写函数实例如下所示(C语言) 4.3 系统整体软件设计 为充分加热传感器的电热丝,在系统初始化完成后,首先启动DS18B20,显示当前环境温度同时开始预热,时间大约30 s 。30 s 计时到后,并等待用户的按键操作,若未检测到任何按键按下,系统进入待机状态。考虑到手持设备节能的要求,采用无键按下时睡眠待机的设计,睡眠过程中关闭系统时钟,大大节约了能耗,唤醒操作可利用触键实现。主程序流程如图17所示。 系统共分3个按键K1、K2、K3 , 分别接至单片机P2.0-P2.2口,初始化时将P2.0-P2.2置1,当检测到输入端为低电平时表示有键按下,通过软件5ms延时,消除键盘抖动。 在待机状态时若按下K1键提示被测者吹气,若检测过程中需要取消测试,可按K2键,此时系统放弃测试,并可回到待机状态。考虑到环境、湿度以及被测试者的个体差异等因素,有时需要修改浓度的警戒值,在待机状态下,按下K3,数码管上将显示当前设置值,此时按下K1、K2可调节警戒值。每按一次K1值可将报警浓度上调0.02mg/L(最高到0.72mg/L),按下K2则下调0.02mg/L(最低到0.04mg/L),调整完后在按下K3值可保存新的警戒值。 图19 主程序流程图 结 论 本文设计了基于单片机的酒精浓度检测仪,设计过程包括了硬件电路设计和软件程序的编写两部分。硬件电路部分结构简单、使用方便、适合大众化使用。软件部分采用模块化设计思想,各个子程序的功能相对独立,便于调试和修改。通过软、硬件联合调试,实验结果满足设计基本要求,达到设计目标。仪器电 路设计合理,体积小,且灵敏度、分辨率和抗干扰能力适用于驾驶员自测是否饮酒过量的测量,也可用于酒精浓度监控。 考虑到技术先进性和人性化设计的需要,如果能在上述方案中加入语音提示、语音播报检测结果等新功能,将是非常有益的。从技术的角度看,在现有方案中加入专用的语音处理芯片(如AC48105) ,从而实现语音功能,并不是非常复杂,但是这样会使原有的系统结构上变得不够精简,且导致性价比下降。如果选用的单片机本身就方便地处理语音信号,那么实现语音功能就将变得相对简单。 总体上,本设计以52单片机为基础,采用廉价的酒精传感器采集信号(若需要提高测试精度,可选用燃料电池型传感器),实现了一种新型的酒精浓度检测器设计,操作过程中带有温度显示示,测试结果可通过数码管显示,可进行报警,还可根据实际情况对测试警戒值作出调整,体现出一定的人性化、智能化特点,系统性价比较高,具有一定的实用价值和推广价值。 DS18B20 单总线温度传感器硬件设计简单、可靠。温度采集系统,以抗干扰能力强、对环境要求不高,以低廉的价格换取良好的温度显示效果,实现起来简单而且可靠性较强。 参 考 文 献(小3号黑体,居中) [1] 岳睿.呼气式酒精传感器的研究进展 [J].化学传感器,2006(3):6-9。 [2] 刘丰年.气体传感器测试系统[D].硕士学位论文.吉林:哈尔滨理工大学,2003。 [3] 何希才.传感器技术与应用[M]. 北京:北京航空航天大学出版社,2005。 [4] 纪宗南.单片机外围器件使用手册——输入通道器件分册[M].北京;北京航空航天大学出版社,2005。 [5] 张培仁. MCS-51单片机原理与应用[M].北京:清华大学出版社,2003. [6] 王幸之.AT89系列单片机原理与接口技术[M].北京:北京航空航天大学出版社,2004。 [7] 何立民.单片机高级教程应用与设计[M]. 北京:北京航空航天大学出版社,2000。 [8] 魏英智.DS18B20在温度控制中的应用.煤矿机械。2005,(3):92—93。 [9] 陶冶,袁永超,罗平.基于DS18B20的单片机温度测量系统.农机化研究.2007,5-2:166-168。 酒后驾车测试仪的设计 摘 要 以单片机和气体传感器为核心,设计了酒精浓度检测仪,实现了不同环境下酒精浓度的检测。本文主要介绍了酒精浓度检测仪整体结构,设计了系统硬件电路,阐述了各模块功能并着重研究了气体传感器的选择。 关键词:单片机;A/D 转换;酒精传感器 Abstract An alcohol concentration detector is designed taken single chip computer and gas sensor as kernel. The alcohol concentration in different environment can be measured . In this paper , the whole construct of the alcohol concentration detector is introduced ; the system hardware circuit is designed ; the function of each model and how to select the gas sensor are discussed especially . Keywords : Single Chip Computer ; A/D Transformer ; Alcohol Sensor 目 录 摘 要 2 Abstract 2 1 引言 4 1.1 课题的背景和意义 4 1.2 本论文主要工作 4 2 总体设计方案 4 2.1 酒精浓度检测仪整体结构设计 4 2.2 硬件设计及功能概述 5 2.3 硬件电路设计 6 2.4 各功能模块的设计 6 3 总结与展望 10 1参考文献 0 1、引言 1.1课题的背景和意义 近年来,随着我国经济的高速发展,人民的生活水平迅速提高,越来越多的人有了自己的私家车,而酒后驾车造成的交通事故也频频发生。酒后驾车引起的交通事故是由于司机的过量饮酒造成人体内酒精浓度过高,麻痹神经,造成大脑反应迟缓,肢体不受控制等症状。少量饮酒并不会有上述症状,即人体内酒精浓度比较低时,而人体内酒精超过某一个值时就会引起危险。为此,需要设计一智能仪器能够监测驾驶员体内酒精含量。目前全世界绝大多数国家都采用呼气酒精测试仪对驾驶人员进行现场检测,以确定被测量者体内酒精含量的多少,以确保驾驶员的生命财产安全。此外,空气酒精浓度监测仪还能监测某一特定环境的酒精浓度如酒精生产车间可避免发生起火、爆炸及工业场地酒精中毒等恶性事故,确保环境安全。 1.2本论文主要工作    本课题研究的是一种以气敏传感器和单片机为主,监测空气酒精浓度,并具有声光报警功能及LCD显示功能的空气酒精浓度监测仪。其可监测出空气环境中酒精浓度值,并根据不同的环境设定不同的阈值,对超过的阈值进行声光报警.来提示危害。采用汇编语言来实现其软件功能。该仪器硬件电路设计简单、软件功能完善、灵敏度高、工作性能好,并且具有尺寸小、方便携带的优点。此外,低功耗、低成本的特点可以使其吸引更多的市场目光。 2、总体设计方案 2.1酒精浓度检测仪整体结构设计 (1)数据采集系统以单片机为控制核心,外围电路带有LCD 显示以及键盘响应电路,无需要其他计算机,用户就可以与之进行交互工作,完成数据的采集、存储、计算、分析等过程。 (2)系统具有低功耗、小型化、高性价比等特点。 (3)从便携式的角度出发,系统成功使用了大屏幕液晶显示器以及小键盘。由单片机系统控制键盘和LCD 显示来实现人机交互操作,界面友好。 (4)软件系统采用汇编语言编写,在兼顾实时性处理的同时也能很方便地进行数据处理。 2.2硬件设计及功能概述 本文设计的酒精浓度检测仪主要是以酒精传感器和单片机为平台设计而成的,其硬件系统功能框图如图一所示。 图一硬件系统功能框图 酒精浓度检测仪主要是用来检测酒精浓度的,它主要由酒精传感器、模数转换器、单片机、LCD 显示、键盘以及声音报警构成。 酒精传感器将检测到的酒精浓度转化为电信号,然后将电信号传送给模数转换器,经过模数转换器转换后,把转换后得到的数字信号传给单片机,单片机对所输入的数字信号进行分析处理,最后将分析处理的结果通过显示器显示出来。由于不同的环境对酒精浓度的要求也不一样,所以,可以通过键盘来设定不同环境中酒精浓度的不同阀值。如果所检测到的空气中的酒精浓度超过了所设定的阀值,那么单片机将会控制蜂鸣器发出声音报警,用来提示危害。 2.3硬件电路设计 依据硬件系统功能框图设计出系统硬件的整体电路图如图二和图三所示。其中图二是单片机与LCD、键盘以及声音报警电路的电路连接图。 图二单片机与LCD、键盘及声音报警电路的电路连接图 2.4各功能模块的设计 2.4.1 AT89S52的特性 AT89S52 是低功耗、高性能、采用CMOS 工艺的8 位单片机,其片内具有8KB 的可在线编程的Flash 存储器。该单片机采用了ATMEL 公司的高密度、非易失性存储器技术,与工业标准型80C51 单片机的指令系统和引脚完全兼容;片内的Flash 存储器可在线重新编程,或者使用通用的非易失性存储器编程;通用的8 位CPU 与在线可编程Flash 集成在一块芯片上,从而使AT89S52 功能更加完善,应用更加灵活;具有较高的性能价格比,使其在嵌入式控制系统中有着广泛的应用前景。 2.4.2 ADC的选择 模数转换电路的功能是将连续变化的模拟量转换为离散的数字量,是架起模拟系统跟数字系统之间连接的桥梁。对于本系统而言,就是用于快速、高精度地对输入的酒精浓度信号进行采样编码,将其转换成单片机所能够处理的数字量。模数转换电路是本系统的关键部分,其性能的好坏直接影响整个系统的质量。 根据A/D 转换器的工作原理可将A/D 转换器分成两大类:一类是直接型A/D 转换器;另一类是间接型A/D 转换器。在直接型A/D 转换器中,输入的模拟电压被直接转换成数字代码,不经任何中间变量。在间接型A/D 转换器中,首先把输入的模拟电压转换成某种中间变量(时间、频率、脉冲宽度等等),然后再把这个中间变量转换为数字代码输出。 2.4.3 气体传感器的选择 气体传感器是气体检测系统的核心,通常安装在探测头内。从本质上讲,气体传感器是一种将某种气体体积分数转化成对应电信号的转换器。探测头通过气体传感器对气体样品进行调理,通常包括滤除杂质和干扰气体、干燥或制冷处 理、样品抽吸,甚至对样品进行化学处理,以便化学传感器进行更快速地测量。 在选择传感器的时候,一定要考虑到稳定性、灵敏度、选择性和抗腐蚀性,本系统选择MQ3 型酒精传感器。 MQ3 酒精传感器是气敏传感器,其具有很高的灵敏度、良好的选择性、长期的使用寿命和可靠的稳定性。MQ3 型气敏传感器由微型Al2O3、陶瓷管和SnO2 敏感层、测量电极和加热器构成的敏感元件固定在塑料或者不锈钢的腔体内,加热器为气敏元件的工作提供了必要的工作条件。传感器的标准回路有两部分组成:其一为加热回路;其二为信号输出回路,它可以准确反映传感器表面电阻的变化。传感器表面电阻RS 的变化,是通过与其串联的负载电阻RL 上的有效电压信号VRL 出面获得的。二者之间的关系表述为:RS/RL=(VC-VRL)/VRL,其中VC 为回路电压,10V。负载电阻RL 可调为0.5~200K,加热电压Uh 为5V。上述这些参数使得传感器输出电压为0~5V。MQ3 型气敏传感器的结构和外形如图三所示,标准回路如图四所示,传感器阻值变化率与酒精浓度、外界温度的关系如图五所示。为了使测量的精度达到最高,误差最小,需要找到合适的温度,一般在测量前需要将传感器预热5 分钟。 图三MQ3 的结构和外形 图四MQ3 标准回路 图五传感器阻值变化率与酒精浓度、外界温度之间的关系 为了更好地使用酒精传感器MQ3,现将MQ3 的标准工作条件和环境条件进行介绍,如表一和表二所示。 表一标准工作条件 表二酒精传感器MQ3 的环境条件 3、总结与展望 本文设计了基于单片机的酒精浓度检测仪,设计过程包括了硬件电路设计和软件程序的编写两部分。硬件电路部分结构简单、使用方便、适合大众化使用。软件部分采用模块化设计思想,各个子程序的功能相对独立,便于调试和修改。通过软、硬件联合调试,实验结果满足设计基本要求,达到设计指标。 应用单片机编写不同的程序嵌入各种仪器中便形成不同功能的智能仪器。作为广泛应用于工程中的智能仪器将有更大的运用空间。空气酒精浓度监测仪将越来越深入的运用到普通人民的生活中。 参考文献 [1]王幸之.AT89 系列单片机原理与接口技术[M].北京:北京航空航天大学出版社,2004. [2]郑学坚,周斌.微型计算机原理及应用[M].北京:清华大学出版社,2006. [3]纪宗南.单片机外围器件使用手册—输入通道器件分册[M].北京:北京航空航天大学出版社,2005. [4]郑义,陈俊.用AT89C52 和TLC1543 实现数据采集系统[J].电子世界,2004,(12):24-25. [5]卢丽君.基于TLC1543 的单片机多路采样监测系统的设计[J].仪器仪表与分析监测,2007,(04):5-7. [6]何希才.传感器技术与应用[M].北京:北京航空航天大学出版社,2005. A/D模块 显示模块 蜂鸣器报警 DS18B20 酒精传感器 键盘模块 数码管显示 温度转换 得到温度 否 是 小于 取最大的3个数求均值 N 得到10个结果 等待50ms 采样,A/D转换 浓度检测子程序 Y 送数码管显视示 与预设值比较 报警 大于 返回 延时2 S 初始化 是否检测1820 开始 // DELAY - with an 11.059MHz crystal // Calling the routine takes about 24μs, and then // each count takes another 16μs // void delay (int μs) { int s; for (s = 0; s < μs; s++); } void write_bit(char bitval) { DQ = 0; // pull DQ low to start timeslot if(bitval==1) DQ =1; // return DQ high if write 1 delay(5);// hold value for remainder of timeslot DQ = 1; }// Delay provides 16μs per loop, plus 24μs Therefore, delay(5) = 104μs 延时实例 写位实例 unsigned char ow_reset(void) { unsigned char presence; DQ = 0; //pull DQ line low delay(29); // leave it low for 480μs DQ = 1; // allow line to return high delay(3); // wait for presence presence = DQ; // get presence signal delay(25); // wait for end of timeslot return(presence); //presence signal returned } // presence = 0, no part = 1 unsigned char read_byte(void) { unsigned char i; unsigned char value = 0; for (i = 0; i < 8; i++) { if(read_bit()) value| = 0 x 01<>i; // shifts val right ‘i’ spaces temp &= 0x01; // copy that bit to temp write_bit(temp); // write bit in temp into } delay(5) } 复位实例 读字节实例 unsigned char read_bit(void) { unsigned char i; DQ = 0; // pull DQ low to start timeslot DQ = 1; // then return high for (i = 0; i < 3; i++); // delay 15μs from start of timeslot return(DQ); // return value of DQ line } void write_byte(char val) { unsigned char i; unsigned char temp; for (i = 0; i < 8; i++) // writes byte, one bit at a time { temp = val>>i; // shifts val right ‘i’ spaces temp &= 0x01; // copy that bit to temp write_bit(temp); // write bit in temp into } delay(5) } 读位实例 写字节实例 主程序 初始化 温度测量子程序 延时大约
/
本文档为【酒精浓度检测仪】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索