酒精测量仪毕业论文.docx
《酒精测量仪毕业论文.docx》由会员分享,可在线阅读,更多相关《酒精测量仪毕业论文.docx(23页珍藏版)》请在冰豆网上搜索。
酒精测量仪毕业论文
酒精测量仪毕业论文
酒精浓度探测仪
一、课题的背景和意义
从18世纪产业革命以来,到20世纪信息技术的快速发展,传感技术逐渐走向成熟,在现实生产生活中的应用也渐渐在普及。
传感器应用广泛,在各个领域都有着举足轻重的作用,所以传感器不断向高精度,高可靠性,微型化,微功耗无源化和智能化数字化发展,以便更好的服务于我们的生产和生活。
气体与人类的日常生活密切相关,检测气体是保护和改善我们居住环境的必要工作,要检测气体就少不了用到气体传感器。
本设计基于AT89S51单片机设计的酒精浓度探测仪,可用来检测酒精气体浓度,最主要的用途是检测司机的酒精含量。
开车司机只要将嘴对着传感头使劲吹气,仪器就能发上显示出酒精浓度的高低,从而判断该司机是否酒后驾车,避免事故的发生。
当然,最好的办法是在车内安装这种测试仪,司机一进入车内检测仪就检测司机的酒精含量,如果超出允许值,系统控制引擎无法启动,这样就可从根本上解决酒后驾车问题。
酒精浓度探测仪在生产中也有重要的应用,比如,在一些环境要求严格的生产车间,用这种酒精浓度探测仪,可随时检测车间内的酒精气体浓度,当酒精气体浓度高于允许限定值时要及时通风换气,做到安全生产。
当然,依照同样的原理也可设计检测其他气体的探测仪,与我们的生活息息相关的是检测有毒气体。
传感头是酒精浓度探测仪中感受酒精的重要部分。
目前,所设计的该类传感器多选用以二氧化锡为基本材料,添加不同物质制成的气敏传感器。
本设计所选用的MQ-3气敏传感器的敏感部分是由二氧化锡的N型半导体微晶烧结层构成,灵敏度高,响应速度快,可靠性好。
也有选择以其他氧化物为基本材料制成的传感器,如选二氧化钛作为气体传感材料。
虽然目前的二氧化钛薄膜有电阻值高,工作温度高,敏感性差的缺点,但是二氧化钛薄膜具有良好的电学性能,优异的光学性能,化学稳定性高,机械强度高,且可用于多种气体的检测。
单片机在整个传感器中起操作和相应数据处理并送显示的作用,是传感器的核心部分。
目前,气敏传感器已有较高的精度,可达万分之一以上。
随着新材料发展和新加工技术的提高,有了高可靠性和低功耗的气体传感器。
智能化数字化的气体传感器克服了目前气敏传感器人工测试带来的效率低,误差大和操作人员长时间工作等问题。
二、系统设计
1、设计方案
由酒精浓度测试仪对待测气体(液体)进行检测,气体传感器是将一种气体体积分时转化成对应电信号的转换器。
探测头通过气体传感器的对气体样品进行处理,通常包括滤除杂质和干燥气体、干燥或制冷处理,样品抽吸,甚至对样品进行化学处理,以便化学传感器进行更快的测量。
转换成输出电压信号。
然后以单片机为核心的控制:
定时进行各个功能模块的自诊断,并对外界的异常情况做出快速处理。
对无法解决的问题,应及时切换到后背装置或报警。
具有完善的输入输出通道和实时控制能力:
对生产过程进行
89C5X可以按照常规方法进行编程,也可以在线编程。
同时STC89C51可降至0Hz的静态逻辑操作,并支持两种软件可选的节电工作模式。
空闲方式停止CPU的工作,但允许RAM,定时/计数器,串行通信口及中断系统继续工作。
掉电方式保存RAM中的内容,但振荡器停止工作并禁止其他所有部件工作直到下一个硬件复位。
其将通用的微处理器和Flash存储器结合在一起,特别是可反复擦写的Flash存储器可有效地降低开发本。
STC单片机有PDIP、PQFP/TQFP及PLCC等三种封装形式,以适应不同产品的需求。
STC89C51单片机单片机引脚功能如图
图1
•Vcc:
电源电压
•GND:
地
STC89C51是的低电压,高性能CMOS8位单片机,片内含8Kbytes的可反复擦写的只读程序存储器(PEROM)和256Kbytes的随机存取数据存储器,器件采用高密度,非易失性存储技术生产,与标准MCS-51指令系统及8051产品引脚兼容,片内置通用8位中央处理器和FLASH存储单元,功能强大,STC89C51单片机适合于许多较为复杂控制应用场合[3]。
主要性能参数:
•8K字节可重擦写FLASH闪存存储器
•1000次写/擦循环
•时钟频率:
0Hz—24MHz
•三级加密存储器
•256字节内部RAM
•32个可编程I/O口线
•3个16位定时/计数器
•6个中断源
•可编程串行UART通道
•低功耗的空闲和掉电模式
•片内振荡器和时钟电路
2)传感器
气体传感器是气体检测系统的核心,通常安装在探测头内。
从本质上讲,气体传感器是一种将某种气体体积分数转化成对应电信号的转换器。
探测头通过气体传感器对气体样品进行调理,通常包括滤除杂质和干扰气体、干燥或制冷处理、样品抽吸,甚至对样品进行化学处理,以便化学传感器进行更快速地测量[2]。
在选择传感器的时候,一定要考虑到稳定性、灵敏度、选择性和抗腐蚀性,本系统选择MQ3型酒精传感器。
MQ3酒精传感器是气敏传感器,其具有很高的灵敏度、良好的选择性、长期的使用寿命和可靠的稳定性[4]。
MQ3型气敏传感器由微型Al2O3、陶瓷管和SnO2敏感层、测量电极和加热器构成的敏感元件固定在塑料或者不锈钢的腔体内,加热器为气敏元件的工作提供了必要的工作条件。
传感器的标准回路有两部分组成:
其一为加热回路;其二为信号输出回路,它可以准确反映传感器表面电阻的变化。
传感器表面电阻RS的变化,是通过与其串联的负载电阻RL上的有效电压信号VRL输出面获得的[6]。
二者之间的关系表述为:
RS/RL=(VC-VRL)/VRL,其中VC为回路电压,10V。
负载电阻RL可调为0.5~200K,加热电压Uh为5V。
上述这些参数使得传感器输出电压为0~5V。
MQ3型气敏传感器的结构和外形如图所示,标准回路如图所示。
为了使测量的精度达到最高,误差最小,需要找到合适的温度,一般在测量前需要将传感器预热20s。
MQ3标准回路如图
图2
3)数模转换器
实现A/D转换的基本方法很多,有计数法、逐次逼近法、双斜积分法和并行转换法。
由于逐次逼近式A/D转换具有速度,分辨率高等优点,而且采用这种方法的ADC芯片成本低,所以我们采用逐次逼近式A/D转换器。
逐次逼近型ADC包括1个比较器、一个模数转换器、1个逐次逼近寄存器(SAR)和1个逻辑控制单元[5]。
逐次逼近型是将采样信号和已知电压不断进行比较,一个时钟周期完成1位转换,依次类推,转换完成后,输出二进制数。
这类型ADC的分辨率和采样速率是相互牵制的。
优点是分辨率低于12位时,价格较低,采样速率也很好。
ADC0832模数转换器具有8位分辨率、双通道A/D转换、输入输出电平与TTL/CMOS相兼容、5V电源供电时输入电压在0~5V之间、工作频率为250KHZ、转换时间为32微秒、一般功耗仅为15MW等优点,适合本系统的应用,所以我们采用ADC0832为模数转换器件。
ADC0832具有以下特点:
•8位分辨率;
•双通道A/D转换;
•输入输出电平与TTL/CMOS相兼容;
•5V电源供电时输入电压在0~5V之间;
•工作频率为250KHZ,转换时间为32μS;
•一般功耗仅为15mW;
•8P、14P—DIP(双列直插)、PICC多种封装;
•商用级芯片温宽为0度to+70度,工业级芯片温宽为−40度to+85度;芯片接口说明:
•CS_片选使能,低电平芯片使能。
•CH0模拟输入通道0,或作为IN+/-使用。
•CH1模拟输入通道1,或作为IN+/-使用。
•GND芯片参考0电位(地)。
•DI数据信号输入,选择通道控制。
•DO数据信号输出,转换数据输出。
•CLK芯片时钟输入。
•Vcc/REF电源输入及参考电压输入(复用)。
4)LCD显示
液晶显示模块与计算机的接口电路有两种方式。
它与单片机的接口方法分为直接访问方式和间接控制方式。
直接访问方式是把液晶模块作为存储器或I/O设备直接接在单片机的总线上,单片机以访问存储器或I/O设备的方式操作液晶显示模块的工作。
间接控制方式则不使用单片机的数据系统,而是利用它的I/0口来实现与显示模块的联系。
即将液晶显示模块的数据线与单片机的P0口连接作为数据总线,另外三根时序控制信号线通常利用单片机的P2口中未被使用的I/O口来控制。
这种访问方式不占用存储器空间,它的接口电路与时序无关,其时序完全靠软件编程实现。
LCD1602字符型液晶显示模块是一种专门用于显示字母、数字、符号等点阵式LCD,目前常用16×1,16×2,20×2和40×2行等的液晶显示模块,模块组件内部主要由LCD显示屏、控制器、列驱动器和偏压产生电路构成。
1602液晶显示屏采用标准的16脚接口,其中各接口的功能如下表所示:
引脚号
引脚名
电平
输入/输出
引脚说明
1
VSS
电源地
2
VDD
电源正极(+5V)
3
VL
液晶显示偏压信号
4
RS
0/1
输入
数据/命令选择端,0:
输入指令,1:
输入数据
5
R/W
0/1
输入
读/写选择端,0:
向LCD写入指令或数据,1:
从LCD读取信息
6
E
1→0
输入
使能信号,1时读取信息,1→0(下降沿)执行指令
7
D0
0/1
输入/输出
数据总线(最低位)
8
D1
0/1
输入/输出
数据总线
9
D2
0/1
输入/输出
数据总线
10
D3
0/1
输入/输出
数据总线
11
D4
0/1
输入/输出
数据总线
12
D5
0/1
输入/输出
数据总线
13
D6
0/1
输入/输出
数据总线
14
D7
0/1
输入/输出
数据总线(最高位)
15
BLA
+VCC
LCD背光电源正极
16
BLK
接地
LCD背光电源负极
表1
2、系统方框图
图3
三、设计过程
(一)软件设计
对于单片机的开发应用中,逐渐引入了高级语言,C语言就是其中的一种。
汇编语言的可控性较高级语言来说更具优越性。
程序编写语言比较常见的有C语言、汇编语言。
汇编语言的机器代码生成效率高,控制性好,但就是移植性不高。
C语言编写的程序比用汇编编写的程序更符合人们的思考习惯。
还有很多处理器都支持C编译器,这样意味着处理器也能很快上手。
且具有良好的模块化、容易阅读、维护等优点,且编写的模块程序易于移植。
基于C语言和汇编语言的优缺点,本系统采用C语言编写方法[17]。
软件编写的主体思路是将系统按功能模块化划分,然后根据模块要实现的功能写各个子程序。
整个软件程序的编写采用查询式方式编写的。
程序编写包括主程序,液晶显示程序,存储程序,AD转换程序和时钟程序。
1、主程序
主程序实现的功能:
与硬件相结合实现便携式酒精浓度检测仪的各个功能。
主要是检测与显示,数据存储。
功能子函数的调用。
见图
图4
首先开启启动按钮,启动单片机和显示器,同时对单片机内部进行初始化,紧接着初始化显示屏,初始化完毕后显示开机画面显示主菜单,然后对键盘的读入。
2、A/D转换模块程序流程图
⑴模数转换模块的主要功能就是将经放大器放大的模拟电压信号转化为MCU能够处理的数字信号,并传送给MCU。
A/D芯片的数据CS口,连接51单片机的P3.1口,CLK接P3.2,D1和D0接P3.3口。
工作时序如下所示:
ADC0832有8只引脚,CH0和CH1为模拟输入端,CS为片选引脚,只有CS置低才能对ADC0832进行配置和启动转换。
CLK为ADC0832的时钟输入端。
CS在整个转换过程中都必须为低,当CS为低时,在数据输入端DI(数据输入端)加一个高电平,接着在CLK上加一个时钟,DI上的逻辑1就会使ADC0832的DI脱离高阻态,然后通道配置数据伴随着时钟通过DI端移入多路器,当最后一位数据移入多路器时,,DI变为高阻态,在这以前DO(数据输出端)都为高阻态。
在经过一个时钟,DO脱离高阻态,从而启动转换。
接着从处理器接收时钟信号,每经过一个时钟,转换后的数据就会从高位到低位依次从DO移出,经过8个时钟后,数据又以从低位到高位的形式从DO移出(也是每个时钟移一位)。
当最后一位数据移出时转换完成。
当CS从低变为高时,ADC0832内部所有寄存器清零。
如想要进行下一次转换,CS必须做一个从高到低的跳变,后跟着地此配置数据重复上面的过程。
⑵ADC0832转换的流程图见下图
图5
3、按键程序流程图
⑴按键时显现人机对话的一个控制按钮,通过按键的操作,对系统进行发送操作指令,后经与MCU串行通信,然后在液晶上显示。
⑵按键查询式的流程图见下图
图6
按键的四个键分别接P1.0,P1.1,P1.2,P1.3,由于P1口具有上拉电阻,所以不在需要加上拉电阻进行电压的放大。
(二)、硬件设计
基于单片机酒精浓度检测仪的硬件设计部分。
首先,我们必须了解它的硬件设计原理。
其次,需要弄清楚它的总体构成及具体的外围电路。
最后,根据其原理框图和具体的外围电路得到完整的硬件总电路图。
1、硬件设计原理
由酒精传感器对待测气体(液体)进行检测,转换成输出电压信号,仪单片机为核心的控制、信号采集处理、声光报警电路以及显示、键盘、PC接口电路。
测试仪进行气体检测的基本步骤是单片机采集酒精传感器的响应信号,并且进行转换,储存在数据储存器中,然后单片机通过特定的算法进行气体浓度的识别,同时将分析的值与设定值进行对比,对超出设定值进行报警,并且将结果输出到LED显示屏幕上。
本系统由酒精传感器,数模转换器,单片机,键盘,声音报警以及LCD显示等部分组成,在这次的整体设计中详细涉及下面几个方面,其原理框图如下图
图8
2、芯片介绍
1)、AT89S51
AT89S51是美国ATMEL公司生产的低功耗,高性能CMOS8位单片机,片内含4K的可系统编程的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准8051指令系统及引脚。
它集Flash程序存储器,既可在线编程也可以用传统方法进行编程及通用8位微处理器于单片芯片中,可灵活应用于各种控制领域。
AT89S51提供以下标准功能:
4KBFlash闪存存储器,128B内部RAM,32个I/O口线,看门狗,两个数据指针,两个16位定时/计数器,一个5向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路。
根据实际需要,本次设计选用的是以8051为核心单元Atmel公司的低耗AT89S51单片机。
AT89S51芯片有40条引脚,采用双列直插式封装,如图9所示。
下面说明各引脚功能。
图9
VCC:
运行和程序校验时接电源正端。
GND:
接地。
XTAL1:
输入到单片机内部振荡器的反相放大器。
XTAL2:
反相放大器的输出,输入到内部时钟发生器。
P0口:
8位漏极开路的。
使用片外存储器时,作低八位地址和数据分时复用,能驱动8个LSTTL上拉电阻。
P1口:
8位、准双向I/O口。
P2口:
8位、准双向I/O口。
当使用片外存储器(ROM及RAM)时,输出高8位地址。
可以驱动4个LSTTL负载。
P3口:
8位、准双向I/O口,具有内部上拉电路,提供各种替代功能。
P3.0——RXD串行口输入口,P3.1——TXD串行口输出口,P3.2——
外部中断0输入,P3.3——
外部中断1输入,P3.4——T0定时器/计数器0的外部输入,P3.5——T1定时器/计数器1的外部输入,P3.6——
低电平有效,输出,片外存储器写选通,P3.7——
低电平有效,输出,片外存储器读选通。
RST:
复位输入信号,高电平有效。
在振荡器工作时,在RST上作用两个机器周期以上的高电平,将器件复位。
/VCC:
片外程序存储器访问允许信号,低电平有效。
高电平时选择片内程序存储器,低电平时程序存储器全部在片外而不管片内是否有程序存储器。
ALE/PROG:
地址锁存允许信号,输出。
ALE以1/6的振荡频率固定速率输出,可作为对外输出的时钟或用作外部定时脉冲。
单片机最小系统的设计包括电源,晶振和复位电路三个部分。
这是使单片机正常工作的必要外围电路部分。
针对不同型号的单片机在最小系统设计上会有一些差别。
对于选用的AT89S51单片机,根据美国ATMEL公司提供的技术资料,可以对它的最小系统作恰当的设计,如图10所示。
对于电源部分,技术资料中性能参数里给出的标准工作电压是4.0~5.5V。
因此,单片机的引脚40对应的VCC接到+5V电源的正极,引脚10对应的GND接到+5V电源的接地端,为AT89S51单片机提供正常的工作电压。
对于晶振部分,AT89S51单片机中有一个用于构成内部振荡器的高增益反相放大器,引脚19对应的XTAL1和18对应的XTAL2分别是该放大器的输入端和输出端。
这个放大器与作为反馈元件的片外石英晶体或陶瓷谐振器一起构成自激振荡器。
如图10所示,石英晶体及电容C1和C2接在放大器的反馈回路中构成并联谐振电路。
石英晶体的两端分别接到引脚XTAL1和引脚XTAL2,同时石英晶体的两端分别接一个电容C1和C2,电容的另一端接地。
对于外接电容C1和C2的大小虽然没有十分严格的要求,但电容容量的大小还是会对振荡频率的高低、振荡器工作的稳定性、起振的难易程度和温度稳定性带来一定的影响。
根据技术资料的推荐,使用石英晶体推荐电容容量为30pF±10pF,使用陶瓷谐振器推荐电容容量为40pF±10pF。
因为电路中接的是石英晶体,所以设计中接的两个电容C1和C2的容量都为33pF。
对于复位电路部分,AT89S51技术资料给出,当振荡器工作时,RST引脚出现两个机器周期以上的高电平将使单片机复位。
复位是单片机的初始化操作,当由于程序运行出错或操作错误使系统处于死锁状态时,为了摆脱困境,可以按复位键以重新启动,所以复位电路的设计很有必要。
复位操作有上电自动复位、按键电平复位和外部脉冲复位三种方式,本设计选用按键电平复位方式。
如图10所示,10μF的电容C3与270Ω的电阻并联后再与一个10KΩ的电阻串联,电容的正极端接到电源的正极,电容的另一端接至引脚RST。
设计中选用的石英晶体大小为11.0952MHz,但复位键按下后,电容和电阻选用的参数值能够保证给复位端RST提供大于2个机器周期的高电平复位信号。
图10
2)、ADC0832
ADC0832是美国国家半导体公司生产的一种8位分辨率、双通道A/D转换芯片。
由于它体积小,兼容性强,性价比高而深受单片机爱好者及企业欢迎,其目前已经有很高的普及率。
学习并使用ADC0832可是使我们了解A/D转换器的原理,有助于我们单片机技术水平的提高。
ADC0832具有以下特点:
·输入输出电平与TTL/CMOS相兼容;
·5V电源供电时输入电压在0~5V之间;
·工作频率为250KHZ,转换时间为32μS;
·一般功耗仅为15mW;
·8P、14P—DIP(双列直插)、PICC多种封装;
·商用级芯片温宽为0°Cto+70°C,工业级芯片温宽为−40°Cto+85°C;
芯片接口说明:
·CS_片选使能,低电平芯片使能。
·CH0模拟输入通道0,或作为IN+/-使用。
·CH1模拟输入通道1,或作为IN+/-使用。
·GND芯片参考0电位(地)。
·DI数据信号输入,选择通道控制。
·DO数据信号输出,转换数据输出。
·CLK芯片时钟输入。
·Vcc/REF电源输入及参考电压输入(复用)。
ADC0832为8位分辨率A/D转换芯片,其最高分辨可达256级,可以适应一般的模拟量转换要求。
其内部电源输入与参考电压的复用,使得芯片的模拟电压输入在0~5V之间。
芯片转换时间仅为32μS,据有双数据输出可作为数据校验,以减少数据误差,转换速度快且稳定性能强。
独立的芯片使能输入,使多器件挂接和处理器控制变的更加方便。
通过DI数据输入端,可以轻易的实现通道功能的选择。
图11
3、硬件设计的外围电路
1)、晶振电路
单片机工作的过程中各指令的微操作在时间上有严格的次序,这种微操作的时间次序称作时序,单片机的时钟信号用来为单片机芯片内部各种微操作提供时间基准,89C51的时钟产生方式有两种,一种是内部时钟方式,一种是外部时钟方式。
内部时钟方式即在单片机的外部接一个晶振电路与单片机里面的振荡器组合作用产生时钟脉冲信号,外部时钟方式是把外部已有的时钟信号引入到单片机内,此方式常用于多片89C51单片机同时工作,以便于各单片机的同步,一般要求外部信号高电平的持续时间大于20ns.且为频率低于12MHz的方波。
对于CHMOS工艺的单片机,外部时钟要由XTAL1端引入,而XTAL2端应悬空。
本系统中为了尽量降低功耗的原则,采用了内部时钟方式。
图12
在89C51单片机的内部有一个震荡电路,只要在单片机的XTAL1和XTAL2引脚外接石英晶体(简称晶振)就构成了自激振荡器并在单片机内部产生时钟脉冲信号,图中电容器C1和C2稳定频率和快速起振,电容值在5—30pF,典型值是22pF,晶振CYS选择的是12MHz。
2)、复位电路
单片机开始工作的时候,必须处于一种确定的状态,否则,不知哪是第一条程序和如何开始运行程序。
端口线电平和输入输出状态不确定可能使外围设备误动作,导致严重事故的发生;内部一些控制寄存器(专用寄存器)内容不确定可能导致定时器溢出、程序尚未开始就要中断及串口乱传向外设发送数据。
因此,任何单片机在开始工作前,都必须进行一次复位过程,使单片机处于一种确定的状态。
当在89C51单片机的RST引脚引入高电平并保持2个机器周期时,单片机内部就执行复位操作(若该引脚持续保持高电平,单片机就处于循环复位状态)。
实际应用中,复位操作有两种基本形式:
一种是上电复位,另一种是上电与按键均有效的复位,上电复位,要求接通电源后,单片机自动实现复位操作。
常用的上电复位,上电瞬间RST引脚获得高电平,随着电容C1的充电,RST引脚的高电平将逐渐下降。
本设计中复位电路采用的是开关复位电路,开关S9未按下是上电复位电路,上电复位电路在上电的瞬间,由于电容上的电压不能突变,电容处于充电(导通)状态,故RST脚的电压与VCC相同。
随着电容的充电,RST脚上的电压才慢慢下降。
选择合理的充电常数,就能保证在开关按下时是RST端有两个机器周期以上的高电平从而使STC89C51内部复位。
开关按下时是按键手动复位电路,RST端通过电阻与VCC电源接通,通过电阻的分压就可以实现单片机的复位。
图13
RST引脚的高电平只要能保持足够的时间(2个机器周期),单片机就可以进行复位操作。
该电路典型的电阻和电容参数为:
晶振为12MHz时,C1为10uF:
R4为8.2k。
3)、报警设计
在单片机应用系统中,一般的工作状态可以通过指示灯或数码显示来指示,供操作人员参考,了解系统的工作状况。
但对于某些紧急状态,比如系统检测到的错误状态等,为了使操作人员不至于忽视,及时采取措施,往往还需要有某种更能引人注意,提起警觉的报警信号。
这种报警信号通常有三种类型:
一是闪光报警,因为闪动的指示灯更能提醒人们注意;二是鸣音报警,发出特定的音响,作用于人的听觉器官,易于引起和加强警觉;三是语音报警,不仅能起到报警作用,还能直接给出警报种类的信息。
其中,前两种报警装置因硬件结构简单,软件编程方便,常常在单片机应用系统中使用;而语音报警虽然警报信息较直接,但硬件成本高,结构较复杂,软件量也增加。
闪光报警
实现单频音报警的接口电路比较简单,只要当值高于警报值的时候给一个低电频就能驱动二极管发光,简单易懂。
报警电路接线图