李成章 | ||||||
前言 近年来,随着我国经济的高速发展,人民的生活水平迅速提高,越来越多的人有了自己的私家车,而酒后驾车造成的交通事故也频频发生。酒后驾车引起的交通事故是由于司机的过量饮酒造成人体内酒精浓度过高,麻痹神经,造成大脑反应迟缓,肢体不受控制等症状。少量饮酒并不会有上述症状,即人体内酒精浓度比较低时,而人体内酒精超过某一个值时就会引起危险。为此,需要设计一智能仪器能够监测驾驶员体内酒精含量。目前全世界绝大多数国家都采用呼气酒精测试仪对驾驶人员进行现场检测,以确定被测量者体内酒精含量的多少,以确保驾驶员的生命财产安全。此外,空气酒精浓度监测仪还能监测某一特定环境的酒精浓度如酒精生产车间可避免发生起火、爆炸及工业场地酒精中毒等恶性事故,确保环境安全。 本课题研究的是一种以气敏传感器和单片机为主,监测空气酒精浓度,并具有声光报警功能及LCD显示功能的空气酒精浓度监测仪。其可监测出空气环境中酒精浓度值,并根据不同的环境设定不同的阈值,对超过的阈值进行声光报警.来提示危害。 1总体方案设计 本课题采用MQ3气敏传感器,AT89C52单片机实现空气酒精浓度实时测量,通过LCD显示屏实时显示。可以通过键盘设定阈值,超过阈值具有声光报警功能。 1.1基于MQ3气敏传感器的空气酒精浓度监测仪的 硬件方案 硬件设计时,考虑酒精浓度是由传感器把非电量转换为电量,传感器输出的是0-5伏的电压值且电压值稳定,外部干扰小等。因此,可以直接把传感器输出电压值经过ADC0809采集数据送入单片机进行处理。此外,还需接人LCD显示,8279键盘/显示器接口芯片,声光报警电路等。 其总体框图如图1所示。 1.2基于MQ3气敏传感器的空气酒精浓度监测仪的 软件方案 软件方案主要包括键盘扫描、数据采集、数据处理、显示、声光报警等子程序。仪器开机后经初始化,调用LCD显示子程序显示提示界面、阈值设置界面、测量结果界面等。键盘扫描程序判断是否有键按下。测量时数据采集程序把数据送人到A/D转换器,进行A/I)转换。由数据处理程序完成数据间的转换和数制间转换。当测量数据超过阈值时,报警子程序启动,发出声光报警。 软件主程序流程图如图2所示。 2硬件设计 2.1传感器的选择 本课题选用的是MQ3型气敏传感器。其有很高的灵敏度、良好的选择性、长期的使用寿命和可靠的稳定性。MQ3型气敏传感器由微型Al2O3,陶瓷管和SnO2敏感层、测量电极和加热器构成的敏感元件固定在塑料或不锈钢的腔体内,加热器为气敏元件的工作提供了必要的工作条件。传感器的标准回路有两部分组成。其一为加热回路,其二为信号输出回路,它可以准确反映传感器表面电阻值的变化。传感器的表面电阻RS的变化,是通过与其串联的负载电阻RL上的有效电压信号VRL输出面获得的。二者之间的关系表述为:RS/RL=(VC-VRL)/VRL,其中VC为回路电压为10V。负载电阻RL可调为0.5-200K。加热电压Uh为5v。上述这些参数使得传感器输出电压为0-5V。MQ3型气敏传感器的结构和外形如图3所示,标准回路如图4所示,传感器阻值变化率与酒精浓度、外界温度的关系图如图5所示。为了使测量的精度达到最高,误差最小,需要找到合适的温度,一般在测量前需将传感器预热5分钟。 2.2模数转换电路 模数转换电路的作用是将传感器电路输出的模拟量信号转换为适合单片机处理的数字信号,并输入给单片机。本课题采用的是ADC0809 A/D转换芯片。ADC0809是8路8位逐次比较式A/D转换器,它能分时地对8路模拟量信号进行A/D转换,结果为8位2 进制数据。其由+5V电源供电,片内有带锁存功能的8路选1的模拟开关,由A,B,C的编码来决定选择通道。0809完成一次转换需要1001xS左右。输出具有TTI三态锁存缓冲器,可以直接连到MCS一5l单片机数据总线上。ADC0809可对0-5V的模拟信号进行转换。 2.3键盘电路 8279对键盘部分提供一种扫描工作方式,能对64个按键键盘阵列不断扫描,自动消抖,自动识别出闭合的键并得到键号,能对双键或N键同时按下进行处理。显示部分为显示器提供了按扫描方式工作的显示接口,可以显示多达16位的字符或数字。传感器输出的信号经ADC0809和单片机采集、处理后输出的信号为BCD码形式,它经过8279及显示电路处理后送入LCD显示。此外,酒精浓度监测仪的阈值浓度的设置是由键盘输入的,因此需有一个键盘/显示器接口电路。 键盘有两种工作方式:编码式键盘和非编码式键盘。当键盘中某一个按键被按下时,键盘编码器会自动产生相对应的按键代码,并输出一选通脉冲信号与CPU进行信息联络。编码式键盘使用很方便,目前已有数种大规模集成电路键盘编码器出售,例MM5740AA芯片就是一种专用于64键打字机的键盘编码器,其输出为ASCII码。非编码键盘不含编码器,当某键被按下时,键盘只能送出一个简单的闭合信号,对应的按键代码的确定必须借助于软件来完成。显然,非编码键盘的软件是比较复杂的,并且要占用较多的CPU时间,这是非编码键盘的不足之处。但非编码键盘可以任意组合、成本低、使用灵活,因而智能仪器大多采用非编码式键盘。本课题选用非编码键盘。键盘工作方式为编程扫描方式。 2.4显示电路 LJDl28X64液晶显示模块是128X64点阵的汉字图形型液晶显示模块,可显示汉字及图形,内置8192个中文汉字(16X16点阵)、128个字符(8X16点阵)及64X256点阵显示RAM(GDRAM)。可与CPU直接接口,提供两种界面来连接微处理机:8一位并行及串行两种连接方式。具有多种功能:光标显示、画面移位、睡眠模式等。 2.5声光报警电路 报警电路分为蜂鸣器报警电路和LED发光报警电路组成。当输入端P1.0为低电平时,有电流通过蜂鸣器,蜂鸣器发出声音报警。而当输入端为高电平时不报警。当输人端P1.1为低电平时,LED点亮报警,反之输入端P1.1为高电平则不报警。 3软件设计 软件设计包括分析仪器系统对软件的要求,程序整体结构设计和程序模块化设计,画出每一子程序的详细流程图,选择合适语言编写程序。最后,将各子程序模块连接成一个完整的程序。 3.1数据采集子程序 ADC0809初始化后,把0通道输入的0-5V的模拟信号转换为对应的数字量OOH-FFH,然后存储到3FH单元中。 3.2数据处理子程序 数据处理子程序主要是系数调整和数制转换,将ADC0809采集的模拟电压值转换为8位二进制数。系数是酒精浓度的最大测量值1500/255=5.88确定。系数调整是为了使十六进制与十进制转换方便,将转换系数.5.88放大10倍取整后为59即3BH作为转换系数。 3.3键盘扫描子程序 键盘扫描子程序为通过扫描判断是否有键按下,如有键按下则读出各个按键值。并根据键值判断是进人提示界面还是完成阈值设定的输入,或返回。 3.3.1提示界面键盘子程序 首先判断是否有键按下,若按下的是"D"键,则进入阈值设定界面。如果不是则返回提示界面继续判断。 3.3.2键盘阈值设定子程序 键盘阈值设定子程序首先判断是否有键按下,若有键按下,判断是"0-9"键,还是"F"键。如果是"0-9"这些数字键。则进行数字键处理,是"F"键则返回重新设定阈值。键盘输入的数字键即为阈值,将其保存在50H开始的3个单元,为了便于比较和显示,阈值的千位50H中,百位和十位放入5lH,个位放人52H中。 3.4显示子程序 本课题显示为LCD显示。显示子程序分为开机界面显示程序,提示界面显示程序,阈值设定界面显示程序,测量界面结果显示程序。 3.5报警子程序 报警子程序执行之前,键盘设定的报警阈值转换为压缩的BCD码并存放在两个存储单元中。传感器输入值A/D转换后,调用比较程序,经过数据处理后显示的测量值与阈值比较,小于阈值则继续执行显示程序。若大于阈值则将单片机的P1.0、P1.1两端口清零进行声光报警。40H、4lH、42H单元存放A/D转换后,并进行十进制转换后的结果。40H和50H分别存放的是处理后的测量值与阈值的千位的压缩BCD码,41H和51H分别存放的是处理后的测量值与阈值的百位、十位压缩的BCD码,42H和52H分别存放的是处理后的测量值与阈值的个位的压缩BCD码。程序首先对40H、50H中的值进行比较大小,如果40I-I中的值大于50H中的值,则进行报警。依此类推,比较41H和51H,42H和52H。 4调试分析 调试分析包括硬件调试分析和软件调试分析及软、硬件联调。由于硬件调试分析和软件调试分析是独立进行的,所以可以先调硬件再调软件。再调试中找出错误、缺陷,判断各种故障,并作出软硬件的修改。直至没有错误。 4.1硬件调试 硬件调试包括传感器电路、显示电路、键盘电路、单片机外围电路、声光报警电路等。下面主要介绍传感器电路、报警电路的调试。 首先把MQ3型气敏传感器按照说明书介绍,接上+6伏工作电源,进行预热5-10分钟。由于气敏传感器里已经集成了放大电路,而用万用表测量可证实其输出是一稳定的0-5V的电压信号,符合ADC0809及单片机的输入条件,因此此信号可以直接接人进行A/D转换而不需要放大、滤波等。 其次对于声光报警电路的调试分为蜂鸣器和LED的调试。经试验可知LJD一2008型实验箱的蜂鸣器和LED只有在低电平工作,了解这一点,对程序的设计很重要。 软件调试为利用伟福软件进行模块化调试。调试过程中观察存储单元数据的变化,查找所写程序的错误,并改正。 4.3软、硬件联调 利用伟福仿真器及其自带实现一个模拟仿真系统。把伟福软件模拟器伟福6000的仿真器设置中语言选为"伟福汇编器"。选择仿真器用"。H5l/L"选择仿真头为"POD-H8X5X"选择CPU用"AT89C52"。调入程序编译运行,并把传感器接人电路,看LCD显示器是否显示提示界面。显示提示界面后根据ICD显示器上的提示按键进行下一步操作。看键盘是否能够设定阈值,并显示。设定阈值后,用浸有酒精的棉签靠近气敏传感器,并对着棉签缓缓吹气观察LCD显示的数值。按"F"键重新设定小于测量值的阈值,观察蜂鸣器是否发声及LED是否被点亮。当过了一两分钟后,LCD显示器上数值下降,当小于阈值时蜂鸣器停止发声,LED也熄灭。上述这些功能能够实现则表明达到了课题要求。4.4调试故障及原因分析 报警电路出错,体现在软硬件联调时,程序刚一运行,声音报警电路就发出报警声音而LED正常。经程序检查及对LJD一2008型实验箱蜂鸣器及LED灯的实验,发现该实验箱的蜂蜂鸣器及都是在低电平时工作。而主程序开始就把P1.0口清零了,P1.O口接的是蜂鸣器,这就使程序刚运行蜂鸣器就发出报警声音了。发现这个错误,把程序中不报警时的P1.O口都置高电平,报警时置低电平。 传感器输出电压不稳定。把传感器工作电路接好后急于接到ADC0809上,运行程序发现还未吹酒精气体进传感器而LCD显示的测量数值明显偏大。经看M03型气敏传感器的严原理和使用说明得知该传感器工作时需加热到300~C左右,因此需预热5分钟,使传感器内部敏感元件恢复到初始状态。便于测量结果准确。找到错误原因,在测量前传感器先预热5分钟,接人后续电路,测量结果正常。 5结论及进一步设想 本课题主要任务是设计一个基于单片机的空气酒精浓度监测仪。通过软、硬件联调,实验结果满足设计的基本要求,达到设计的指标。实现可用键盘输入阈值。并用LCD显示,而对超过阈值的浓度值进行声光报警。本设计过程包括了硬件电路设计和软件程序的编写两部分。硬件电路部分结构简单,使用方便,适合大众化使用。软件部分采用模块化设计思想,各个子程序的功能相对独立,便于调试和修改。 应用单片机编写不同的程序嵌入各种仪器中便形成不同功能的智能仪器。作为广泛应用于工程中的智能仪器将有更大的运用空间。空气酒精浓度监测仪将越来越深入的运用到普通人民的生活中。
| ||||||
本文摘自《电子测试》 |
用户377235 2015-4-24 10:27
用户71098 2008-6-9 19:51
用户152839 2008-6-9 17:43