刘雨佳
摘 要 随着经济的腾飞,社会也在日新月异的发展,人们的生活水平和娱乐方式在发生着改变,其中许多娱乐活动都离不开酒,但是这也引发了许多问题。导致交通事故的重要原因之一就是酒后驾车,交警在执法现场可以通过检测司机呼出气体中酒精气体浓度来判断是否有酒驾嫌疑。酒精浓度探测仪日益受到重视,使用范围也逐渐扩大,例如在一些需要控制空气中酒精气体浓度的场所,可以使用它来对气体监测。随着物质生活的极大丰富,酒精浓度探测仪也会有更好的应用前景。
关键词 酒精探测仪 单片机 MQ-3
中图分类号:TP309.1文献标识码:A
本研究设计的酒精浓度探测仪是一款实用性强、安全可靠的酒精气体浓度探测工具,传感器部分采用MQ-3型气体传感器对待测气体中的酒精气体浓度进行检测,将模拟信号进行A/D转换后,核心部分用AT89S51型单片机对采集到的数据进行分析、处理,最后把经过处理的数据,通过液晶屏显示出十进制数字。此外,在系统中还可以根据不同的需要设定或修改阀值,若所检测到的浓度超过阀值,就会发出声光信号进行报警提示。
1系统的硬件电路设计
AT89S51芯片是酒精浓度探测仪的一个核心部分,是将传感器采集到的电信号进行调理、分析的重要元件。芯片有40个引脚,引脚结构与80C51芯片相同,在这里就不作具体介绍。其中有4个8位的并行I/O端口,分别记作P0、P1、P2、P3,这32个I/O口是单片机与外部联系的重要通道。整个系统的电路设计比较简单,总共使用了23个引脚,大致分为五个部分:P1口连接S2、S3独立按键,采集阀值调整信息;P0口与LCD显示器相连,通过软件编程控制显示器显示酒精浓度;P3口连接报警模块,当采样数据中的酒精浓度超过阀值时,通过P3.2口控制发光二极管和蜂鸣器发出指示信号;P2口与ADC0832芯片连接,将传感器采集的信号经过A/D转换后输入单片机进行分析、处理;XTAL1与XTAL2端口接片外晶体组成内部时钟。
传感器模块的设计中,传感器是酒精浓度探测仪的关键部分,只有先采集到要探测的信息,才能在后续的系统中进行一系列处理。使用气敏型传感器对气体探测时,重点要注意干扰气体对灵敏度的影响。其外形前一章节我们已经介绍过。经过调理,采集到的原始信号被转换成电压信号,再经过A/D转换送入单片机处理。该传感器模块的设计方便与单片机系统接口组成检测仪器,信号输出0~5V电压,并且酒精浓度越高,输出电压越高。MQ-3型传感器的敏感部分由微型Al2O3陶瓷管和SnO2敏感层构成,加热器内有镍铬合金电阻丝,在敏感电阻工作时提供合适的工作温度。传感器一共有六个引脚,其中两个用于加热器,其余四个用于电压输出,标准回路由两部分组成。
在报警显示模块设计时,在系统成功测定到酒精气体浓度后,需要将浓度用字母、数字等方式显示出来。SMC 1602液晶屏是一种用来显示字母、数字、符号等内容的点阵型液晶模块,它由若干个5?或者5?1等点阵字符位组成,每个点阵字符位都可以显示一个字符,每位之间有一个点距的间隔,每行之间也有间隔,起到了字符间距和行间距的作用。其中第15、16脚为背光源的电源,3号端口VO外接一电阻R分压,用来调整显示对比度,接电源VCC时得到最低的对比度,接地时得到最高的对比度。按照此原理,对比度可以通过外接电阻大小直接调整。液晶屏的RS、E/W和E控制引脚、第7—14数据引脚接单片机的P0端口。
2系统的软件设计
支持51单片机的编程语言有:51汇编、PL/M宏汇编、C51、BASIC等。相比于汇编语言,C语言具有在功能性、可读性、结构性、可维护性上的明显优势,因而易学易用。
C语言是由Pascal语言演变而来的一种结构化程序设计语言。主要优点:规模最小(关键字少)、书写自由、可移植性好、表达能力强(丰富的数据类型、结构、运算符)、结构好(程序基本单位是函数)、可直接控制硬件资源(物理地址访问能力)、目标代码质量高(接近或超过汇编代码)。主要缺点:语法定义不严格(出错检查难)、运算符优先级复杂。
Keil编译软件是德国Keil Software公司出品的单片机集成开发软件,使用方便、代码紧凑并且可以运行在Windows XP/Win7等操作系统下,优于其他多种编译器,非常适合我们使用。从实用性和语言的熟悉程度考虑,本实验采用C语言编制程序设计,用Keil編译器进行编译。
3系统调试与测试
在硬件调试中要注意的几点问题:
(1)电路板焊接结束后,不能立刻上电。先用万用表测量电源VCC与GND端是否短路,如果短路马上检查电路。确定没有短路之后,可以进行下一步对元器件引脚的检查,一是检查有没有虚焊、漏焊和导线焊接短路的情况,二是在此复查各元器件的设计,防止焊错引脚影响到模块的实现。
(2)经过检查电路,确保焊接没有问题后,可以接通USB电源,用万用表电压档测量5V和GND之间的电压是否正常,如果电压不正常,则立刻断电,按照上一步的检查方式逐一排查。
最后进行实物测试,通上电源,在测试前让传感器预热3-5分钟。警察检测驾驶员是否酒驾时一般是直接对着测量仪器管吹气,如果要用吹气的方式探测,可以加装吹气套筒以避免空气中杂质的干扰,否则气体浓度显著下降。为了方便观察,实物测试时用一小团棉花蘸取酒精溶液,放在传感器前,使其进行感应。本次测试所得酒精浓度为92mg/L,系统设定的阈值为80mg/L,已经超过设定的阈值,系统报警。经过多次测试,结果显示,系统的精确性较高,能够满足设计的要求,达到了预先的目的。