单片机系统课程
报告院系:
专业:
班级:
设计题目:
学生姓名:指导教师:通信工程系通信工程便携式酒精检测仪
目录
一、设计任务和性能指标………………………………………………………....……3
1.1设计任务………………………………………………………………………31.2性能指标………………………………………………………………………3
二、#设计
#……………………………………………………………………………3
三、系统硬件设计……………………………………………………………….…...…3
3.1硬件设计总体思路………………………………………………………………………….5
3.2硬件设计总体框架介绍……………………………………………………….43.3硬件电路主要器件的选择................................................................................53.4气体传感气及放大电路介绍............................................................................53.4.1MQ303气体传感器简介.............................................................................53.4.2酒精传感器MQ303连接电路...................................................................73.5模数转换器ADC0809连接电路介绍..............................................................8
3.5.1模数转换器ADC0809功能及管脚简介:.................................................8
3.5.2模数转换器ADC0809工作原理介绍.........................................................93.6单片机AT89S52最小系统连接电路介绍.....................................................102.6.1单片机AT89S52功能及管脚简介............................................................103.7LCD显示电路介绍.........................................................................................123.7.1LCD1602功能特性及管脚介绍.................................................................123.7.2本课题1602LCD与单片机接口电路介绍...............................................143.8报警系统电路介绍..........................................................................................143.9系统其他电路简介..........................................................................................153.9.1电源指示电路介绍.....................................................................................153.9.2分频电路介绍.............................................................................................153.9.3程序存储电路介绍.....................................................................................163.9.4串行接口电路介绍.....................................................................................173.9.5按键控制电路介绍.....................................................................................17
四、系统软件设计.........................................................................................................21
4.11主程序流程图及设计....................................................................................184.12A/D转换流程图及设计..................................................................................19
五、调试及性能分析………………………………………………………………….20
5.1软硬件的合成调试...........................................................................................205.2调试故障及分析..............................................................................................205.3酒精浓度检测的原理及依据..........................................................................215.3.1检测原理...................................................................................................215.3.2检测依据...................................................................................................215.4测试仪校准........................................................................................................225.5数据测试及分析:............................................................................................255.5.1测试方案及测试数据:.............................................................................25
大连民族学院2008级通信工程专业单片机系统课程设计报告
六、心得体会…………………………………………………………………….……26参考文献………………………………………………………………………….……26附录1系统硬件电路图………………………………………………………………27附录2程序清单………………………………………………..……………………30
2
大连民族学院2008级通信工程专业单片机系统课程设计报告
一、设计任务和性能指标
1.1设计任务
利用单片机及外围接口电路(键盘接口和显示接口电路)设计制作一个酒精检测仪,用LCD液晶屏把测量结果实时显示出来。
要求用Protel画出系统的电路原理图(要求以最少组件,实现系统设计所要求的功能),印刷电路板(要求布局合理,线路清晰),绘出程序流程图,并给出程序清单(要求思路清晰,尽量简洁,主程序和子程序分开,使程序有较强的可读性)。
1.2性能指标
1.键盘:模式键,上翻键,下翻键,确认键
2.显示方式:使用LCD显示测量出来的酒精浓度值,是否安全
3.侦测浓度:危险浓度为大于0.4mg/L,安全浓度为小于0.25mg/L,介于
两者之间是警戒浓度
4.使用环境:0℃-40℃
5.使用电池:3VDC(AAA电池×2
二、设计方案
设计一个便携式驾驶员酒精含量测试仪,测试人体呼出气体中酒精含量。它对酒精快速响应,预热时间短,灵敏度高,测量直观,功耗低。
测试仪可以采用气体传感器作为敏感单元,把气体中含有的乙醇气态浓度转换成电信号,经电子电路放大以及微处理器处理,由LCD直观显示被测气体中的乙醇浓度。
三、系统硬件设计
3.1硬件总体设计思路介绍
思路从课题的要求出发,要求是测试酒精气体的浓度,必然要用到酒精传感
3
大连民族学院2008级通信工程专业单片机系统课程设计报告
器。设计出来的仪器要对酒精快速响应,预热时间短,这就对酒精传感器的性能指标有一定的要求,首先这个酒精传感器本身就很好的灵敏度,和检测到的酒精气体发生化学反应快。测量直观要求仪器有一个显示器,能直接从显示器上读取测试结果,这时选择一个LCD液晶做显示器。又考虑到酒精传感器采集到的电信号是微弱模拟信号,而单片机所能处理的是数字信号,所以还要运用运放和一块A/D转换芯片,把酒精传感器采集到的模拟电信号放大,并转换成数字电信号,再送到单片机进行信号处理,经单片机运算处理的数字电信号最后送到LCD液晶进行显示。以下是对本课题重点难点分析:
课题重点:
(1)掌握整个测试仪的工作过程、每个环节的原理。
(2)单片机、酒精传感器、运放等器件的选用。
(3)测量标定。
课题难点:
(1)酒精传感器、运放、A/D模数转换器、单片机、LCD显示的集成电路设计。
(2)采集数据、处理数据、以及显示数据的程序的编写。
(3)酒精气体的采集过程。
(4)测试数据时,精度达到要求。
3.2硬件设计总体框架介绍酒
精
气
体酒精气体
传
感
电信号放大电路
图1硬件设计总体框
4模数转换器单片机显示器
大连民族学院2008级通信工程专业单片机系统课程设计报告
3.3硬件电路主要器件的选择
在满足上诉测试要求的前提下,选择自己熟悉并且常用的器件,方便调试,而且容易买到,还要考虑到总体的成本,选择比较经济的器件,价格控制在一定范围内。本课题选择的主要器件
如下:
(1)单片机:AT89S52
(2)运算放大器:OP07
(3)A/D:0809
(4)酒精传感器:MQ303
(5)LCD:1602
(6)晶振
(7)电容、电阻
图2MQ303结构与外形以及电路连接
3.4气体传感气及放大电路介绍
气体传感器是气体检测系统的核心,通常安装在探测头内。从本质上讲,气体传感器是一种将某种气体体积分数转化成对应电信号的转换器。探测头通过气体传感器对气体样品进行调理,通常包括滤除杂质和干扰气体、干燥或制冷处理、样品抽吸,甚至对样品进行化学处理,以便化学传感器进行更快速地测量。在选择传感器的时候,一定要考虑到稳定性、灵敏度、选择性和抗腐蚀性,本课题选择MQ303型酒精传感器。
3.4.1MQ303气体传感器简介
特色:
高灵敏度
快速的响应恢复
图3
MQ303
5
大连民族学院2008级通信工程专业单片机系统课程设计报告
应用:
MQ303是一种二氧化锡半导体型酒精气体传感器,对酒精具有高的灵敏度和快速的响应性。
结构:
半导体气体敏感部分是一个微型珠状小球,内嵌加热丝和金属电极,这种敏感元件安装在有防爆功能的双层100目不锈钢网的金属壳内。(如图2)
工作条件:
图4是这种元件的测试电路。通过固定或可调外接负载电阻上电压的变化获得元件电阻的变化。为了使元件发挥其好的功能和特定的性能,加热电压、回路电压和负载电阻须限制在下页图
所示的
工作条件内。传感器通电后通常需要数分钟的预热方可进入稳定工作状态,也可在正常检测前给传感器施加5~10秒钟2.2±0.2V的高电压,使传感器尽快稳定并进入工作状态。
灵敏度特性:
图5是MQ303的灵敏度特性曲线图。灵敏度特性图反映了元件电阻和气体浓度之间的关系。元件的电阻与气体的浓度呈对数关系,
随气体浓度的增加而减小。
图4标准测试电路图5灵敏度特性
表1标准工作条件符号
VH
VC
RL
RH
IH
PH
S
加热电压回路电压负载电阻加热电阻加热电流加热功率技术条件0.9V±0.1V≤6V可调120±20mA≤140mW备注ACorDCDCPS<10mW室温
6
大连民族学院2008级通信工程专业单片机系统课程设计报告
表2环境条件符号
Tao
Tas
RH
(O2)参数使用温度储存温度相对湿度氧气浓度技术条件备注-20oC—+50oC推荐使用范围20ppm-1000ppm乙醇-20oo≤95%RH21%±1%(标准条件)不得小于16%
氧气浓度会影响灵敏度表3灵敏度特性
型号MQ303
符号
参数名称技术条件备注
Rs元件电阻在洁净空气中
Rs(300ppm酒精)/Rs(100ppm酒精)电阻比(0.500.15)
VC:3.0V1VDC标准测试条件:温度:20oC2oC
VH:0.9V1VDC湿度:65%5%
RL:可调
预热时间:大于48小时
3.4.2酒精传感器MQ303连接电路
图6MQ303连接电路
7
大连民族学院2008级通信工程专业单片机系统课程设计报告
3.5模数转换器ADC0809连接电路介绍
模数转换电路的功能是将连续变化的模拟量转换为离散的数字量,是架起模拟系统跟数字系统之间连接的桥梁。对于本系统而言,就是用于快速、高精度地对输入的酒精浓度信号进行采样编码,将其转换成单片机所能够处理的数字量。模数转换电路是本系统的关键部分,其性能的好坏直接影响整个系统的质量
3.5.1模数转换器ADC0809功能及管脚简介:
ADC0809是采样分辨率为8位的、以逐次逼近原理进行模—数转换的器件。其内部有一个8通道多路开关,它可以根据地址码锁存译码后的信号,只选通8路模拟输入信号中的一个进行A/D转换。当其频率为500KHZ时,其转换速度为128us。AD0809的数据输出公式为:Vout=Vin*5/256,其中Vin为输入模拟电压,Vout为输出数据。
ADC0809主要特性:
(1)8路输入通道,8位A/D转换器,即分辨率为8位。
(2)具有转换起停控制端。
(3)转换时间为100μs
(4)单个+5V电源供电
(5)模拟输入电压范围0~+5V,不需零点和满刻度校准。
(6)工作温度范围为-40~+85摄氏度
(7)低功耗,约15mW。
管脚介绍:
图7
ADC0809管脚图
8
大连民族学院2008级通信工程专业单片机系统课程设计报告
ADC0809芯片有28条引脚,采用双列直插式封装,管脚图如图7所示。下面简要说明本课题应用到的引脚功能。
IN0~IN7:8路模拟信号输入端;2-1~2-8:8位数字信号输出端。ADDA、ADDB、ADDC:3位地址输入线,用于选通8路模拟输入中的一路。ALE:地址锁存允许信号,输入,高电平有效。
START:A/D转换启动脉冲输入端,输入一个正脉冲(至少100ns宽)使其启动(脉冲上升沿使0809复位,下降沿启动A/D转换)。
EOC:A/D转换结束信号,输出,当A/D转换结束时,此端输出一个高电平(转换期间一直为低电平)。
OE:数据输出允许信号,输入,高电平有效。当A/D转换结束时,此端输入一个高电平,才能打开输出三态门,输出数字量。
CLK:时钟脉冲输入端。要求时钟频率不高于640KHZ。
REF(+)、REF(-)为基准电压。VCC为电源,单一+5V;GND是接地。
3.5.2模数转换器ADC0809
工作原理介绍
图8ADC0809连接电路图
工作原理:
首先从ADD-A、ADD-B、ADD-C三根地址线输入3位地址,并使ALE=1为高电平,将输入的地址存入地址锁存器中,以便选通一个模拟通道。此地址经译码选通8
9
大连民族学院2008级通信工程专业单片机系统课程设计报告
路模拟输入之一到比较器。START上升沿将逐次逼近寄存器复位。脉冲的下降沿启动A/D转换,之后EOC输出信号变低,指示转换正在进行。直到A/D转换完成,EOC变为高电平,指示A/D转换结束,结果数据已存入锁存器,这个信号可用作中断申请。当OE输入高电平时,输出三态门打开,转换结果通过P0.0~P0.7端输出到数据总线上,以便能将转换好的数字电信号传递给单片机进行数据处理。
3.6单片机AT89S52最小系统连接电路介绍
单片机也被称为微控制器,是一种集成在电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计时器等功能。本课题采用较常用且较经济的AT89S52单片机,AT89S52是一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程存储器。
3.6.1单片机AT89S52功能及管脚简介
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引脚出现两个机器周期以上高电平将是单片机复位。
10
大连民族学院2008
级通信工程专业单片机系统课程设计报告
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字节与特殊功能寄存器重叠。
2.7.2本课题单片机最小系统连接电路介绍
图9单片机最小系统连接电路
工作原理:
本单片机最小系统连接电路如图9,本系统包括单片机AT89S52接口电路、晶
11
大连民族学院2008级通信工程专业单片机系统课程设计报告
振电路、复位电路、分频电路。单片机AT89S52接口电路中,P00~P02口分别控制ADC0809的三根地址线A、B、C,用于给三根地址线赋值,选通转换通道;P03口用于控制系统报警,当所测试的浓度超过阈值时,输出一个低电平,红色指示灯会发光,蜂鸣器会发出声音。P04口用于控制ADC0809的地址锁存,当ALE=1为高电平,将输入的地址存入地址锁存器中。P05口用于控制ADC0809启动转换START,当START=1时候,ADC0809开始转换模拟信号。P06用于控制ADC0809的使能端,保证其正常工作。P20~P27作为数据线,在单片机和ADC0809之间用于传递ADC0809转换好的被测电压数字信号。P10~P17作为数据线,在单片机和液晶LCD1602之间用于传递单片机处理过的被测电压数字信号。P32口、P33口、P34口分别为INT0、INT1、T0,作为中断;P35口、P36口、P37口分别为E、R/W、RS,用来控制液晶,对液晶写入控制命令。单片机的18号、19号管脚用于连接晶振电路,使单片机工作。单片机31号管脚是EA/VPP,是访问外部程序存储器控制信号,当执行内部程序指令,EA应该接VCC;9号管脚是单片机复位;30号管脚是ALE/PROG,地址锁存控制信号ALE是访问外部程序存储器时,锁存低8位地址的输出脉冲。ALE以晶振六分之一的固定频率输出脉冲,用来作为ADC0809的时钟使用。分频电路由两块74LS74芯片串联而成,实现4分频,得到一个500K的时钟信号,作为ADC0809的时钟。复位电路包含了单片机上电复位和按键复位(高电平复位)。P0口和P2口分别加上一个排阻,作为上拉电阻,提高驱动能力。
3.7LCD显示电路介绍
3.7.1LCD1602功能特性及管脚介绍
功能介绍:
液晶显示器在一个电路系统中用于显示数据,本课题的硬件电路中采用1602LCD液晶作为显示器。1602LCD具有40通道点阵LCD驱动;可选择当作行驱动或列驱动;输入/输出信号:输出,能产生20×2个LCD驱动波形;输入,接受控制器送出的串行数据和控制信号;通过单片机控制将所测的频率信号读数显示出来。LCD1602显示容量为16×2个字符;芯片工作电压为4.5~5.5V;工作电流为2.0mA(5.0V);模块最佳工作电压为5.0V;字符尺寸为2.95×4.35(W×H)mm。管脚介绍:
信号说明1602LCD采用标准的14引脚(无背光)或16引脚(带背光)接口,各引脚接口说明见表1。
12
大连民族学院2008级通信工程专业单片机系统课程设计报告
表4:LCD1602引脚介绍
编号1
符号
VSS
VDD
VLRSR/W
ED0D1
引脚说明电源地电源正极
液晶显示偏压信号数据/命令选择端(V/L)
读/写选择端(H/L)使能信号DateI/ODateI/O
编号
910111213141516
符号
D2D3D4D5D6D7BLABLK
引脚说明DateI/ODateI/ODateI/ODateI/ODateI/ODateI/O背光源正极背光源负极
2345678
(1)2组电源一组是模块的电源一组是背光板的电源均为5V供电。(2)VL是调节对比度的引脚调节此脚上的电压可以改变黑白对比度(3)RS是很多液晶上都有的引脚是命令/数据选择引脚该脚电平为高时表示将进行数据操作;为低时表示进行命令操作。
(4)RW也是很多液晶上都有的引脚是读写选择端该脚电平为高是表示要对液晶进行读操作;为低时表示要进行写操作。
(5)E同样很多液晶模块有此引脚通常在总线上信号稳定后给一正脉冲通知把数据读走,在此脚为高电平的时候总线不允许变化。
(6)D0—D78位双向并行总线,用来传送命令和数据。(7)BLA是背光源正极,BLK是背光源负极。
13
大连民族学院
2008级通信工程专业单片机系统课程设计报告
3.7.2本课题1602LCD与单片机接口电路介绍
图101602LCD与单片机接口电路
工作原理:
图10为1602LCD与单片机接口电路,其中D0~D7八位双向并行总线与单片机的P1口相连,用来传送命令和数据。RS与单片机P37口相连,作为命令/数据选择引脚;R/W与单片机P36口相连,作为读写选择端;E与单片机P35相连,用于控制信号读取;VO是用来调节背光。其余管脚功能在上一段文章中已经描述,这里就不再赘述。
3.8报警系统电路介绍
图11报警系统电路
工作原理:
报警系统电路如图11,通过单片机程序控制,判断是否报警。当浓度超过阈值时(本课题阈值为0.4mg/L),单片机P2.6管脚输出一个低电平,使LED1(红色发光二极管)导通发光,同事使三极管9012导通,驱动蜂鸣器发出声音。
说明:
14
大连民族学院
2008级通信工程专业单片机系统课程设计报告
本次课题要求用三个LED灯,在三个浓度阶段分别发光。考虑到本仪器的应用更加方便,设计上做了一下改进:增加一个蜂鸣器,发出声音,报警更加直观、明显。当浓度小于0.25mg/L时候,为安全浓度,在液晶显示器上显示“save”;当浓度介于0.25mg/L和0.4mg/L两者之间时,是警戒浓度。在液晶显示器上显示“warning”。当浓度超过0.4mg/L时,LED1发出红光,蜂鸣器报警。
3.9系统其他电路简介
3.9.1电源指示电路介绍
图12电源转换接口
3.9.2分频电路介绍
对单片机输出的时钟信号进行4分频,作为ADC0809的时钟信号。分频电路设计如图2.16。
15
大连民族学院2008级通信工程专业单片机系统课程设计报告
图13分频电路
3.9.3
程序存储电路介绍
图14程序存储电路
16
大连民族学院2008级通信工程专业单片机系统课程设计报告
3.9.4
串行接口电路介绍
图15串行接口电路
3.9.5
按键控制电路图:
图16按键控制电路
17
大连民族学院2008级通信工程专业单片机系统课程设计报告
四、系统软件测试
4.1主程序流程图及设计
主程序流程图如图17所示。首先系统上电后要对系统各模块进行初始化设置,然后数据采集、转换、计算等过程;判断是否发出声音和发光报警。开始
系统各模块初始化
A/D转换
温度及酒精浓度计算
Y
是否超过报
警阈值
N
报
温度及酒精浓
度显示警
图17主程序流程图
18
大连民族学院2008级通信工程专业单片机系统课程设计报告
4.2A/D转换流程图及设计
A/D转换流程图如图18所示,开始的时候输入3位地址,并使ALE=1,将地址存入地址锁存器中,选择A/D转换通道;START上升沿将逐次逼近寄存器复位,下降沿启动
A/D转换,之后判断是否转换完毕;ADC0809正在进行转换时候,EOC总是低电平,当其转换完毕后,EOC变成高电平,告知完成了本次转换;判断是否转换完毕,其实就是判断EOC是否为高电平;EOC变为高电平,指示A/D转换结束,结果数据读出存入锁存器,本次转换结束。开始
选择A/D转换通道
启动A/D转换
转换完?N
读出A/D转换值
储存A/D转换值
结束本次转换
图18A/D转换流程图
19
大连民族学院2008级通信工程专业单片机系统课程设计报告
五、调试及性能分析
在系统硬件和软件设计的基础上,通过对软硬件的结合调试,便携式酒精含量测试仪的方案设计得到了肯定,通过实验得知,能够检测到酒精气体浓度,读回电压值,经过换算处理,较为直观的显示出酒精浓度值。当检测到气体酒精含量超标时,能够驱动声光报警。
5.1软硬件的合成调试
首先把硬件电路设计好,写好软件后,需要通过硬件看看能否得到所需要实现课题要求的功能,所以需要二者结合调试。本次设计主要进行的调试工作是:数据采集调试及信号放大调试、驱动声光报警等方面的调试。
在调试的实际过程中,首先将编写好的程序下载到目标板上进行分块调试;然后组成整个应用程序,进行整体调试从而完成整个设计的程序调试工作。
调试前的准备工作:(1)PC机;(2)数字万用表;(3)12V电源(可调);(4)不同浓度的酒精溶液等。
本次硬件设计选用DXP2004;软件设计环境选用Keil.平台。用自己所编制的程序来调试和检验目标板上的电路(硬件调试);利用USB数据线将自己设计的目标程序烧写到目标板上的单片机AT89S52。
单片机中(程序固化)。
5.2调试故障及分析
在调试过程中,出现以下故障:
(1)Keil不能识别单片机AT89S52,单片机不能下载程序;可能是检查晶振不工作或单片机线路故障;经排查,发现是晶振被损坏,换一个晶振就解决了这个问题。
(2)用万用表测传感器输出电压,变化范围不大。原因可能是滑动变阻器阻值不够大,导致传感器电路灵敏度。经调试,换一个适当的、更大的滑动变阻器,再去测输出电压,电压变化范围就变大了,达到了测试要求。
(3)传感器输出电压不稳定,在同浓度酒精情况下测试电压,测试值也不同。可能是传感器没有预热充分以及测试仪电源不稳定导致。检查调节电源电压,保证供电电压稳定,同时使传感器预热5分钟,等传感器充分预热以及系统功能稳定后,在进行电压测试。
20
大连民族学院2008级通信工程专业单片机系统课程设计报告
(4)液晶LDC无显示,可能是程序不对或者是LCD硬件电路问题。经检查,有一根数据线断开了,用焊锡连上即可。
5.3酒精浓度检测的原理及依据
5.3.1检测原理
利用便携式酒精含量测试仪来判断人体内血液酒精浓度的依据为:人饮酒后,酒精通过消化系统被人体吸收,经过血液循环,约有90%的酒精通过肺部呼气排出,因此测量呼气中的酒精含量,可以判断人的醉酒程度。另外更重要的依据是人体呼气中的酒精含量与血液中的酒精含量有如下关系:BAC(inmg/L)=BrAC(inmg/L)×2200,上式中,BAC是血液酒精浓度的英文缩写,BrAC则是呼气酒精浓度的缩写,括号中的inmg/L表示以每升中多少毫克为单位。即以mg/L为单位的血液酒精浓度在数值上相当于以mg/L为单位的呼气酒精浓度乘以系数2200(由于各国的情况不同,在美国此系数采用2000,而欧洲很多国家采用2100)。基于这种关系,根据驾驶员呼出气体中的酒精含量来确定被测量者体内酒精含量的多少,研究表明,当驾驶员呼气中酒精浓度超过0.25mg/L时,驾驶员就会在复杂技巧上出现障碍、驾驶能力变坏,肇事率是无酒精状态的2倍,驾驶员驾车容易肇事,以此标准来衡量司机是否能够安全驾驶,当驾驶员呼气中酒精浓度超过0.40mg/L时,驾驶员出现多话、感觉障碍,肇事率是无酒精状态的6倍。这时驾车就比较危险了,需进行报警。呼出气体中酒精含量检测的方法为:被测者对准传感器进行吹气7秒即可。
5.3.2检测依据
到底身体中的酒精浓度要达到多少才需要禁止其驾驶车辆?由于人种的不同,对酒精的代谢速率也不一样,再加上各国的社会风俗习惯不同,因此订定的标准也不完全一样。以下表5和表6分别是世界各国法定酒精浓度限制和体内酒精浓度与肇事率的关系。
21
大连民族学院2008级通信工程专业单片机系统课程设计报告
表5:世界各国法定酒精浓度限制
国家瑞典英国德国荷兰法国美国加拿大日本呼吸酒精浓度限制0.10及0.50mg/L35ug/100dL35ug/100dL220ug/L0.25mg/L0.1及0.08g/210L0.08g/210L0.25mg/L
表6:体内酒精浓度与肇事率的关系
血中酒精浓度限制20及100mg/dL
80mg/dL80mg/dL50mg/dL50mg/dL80及100mg/dL80mg/dL50mg/dL
呼气中酒精浓度(血液中酒精浓度)行为表现或状态
0.25mg/L(0.05%;50mg/dL)复杂技巧障碍、驾驶能力变
坏
0.40mg/L(0.08%;80mg/dL)多话、感觉障碍0.50mg/L(0.10%;100mg/dL)说话含糊、脚步不稳0.55mg/L(0.11%;110mg/dL)平衡感与判断力障碍度升
高
0.75mg/L(0.15%;150mg/dL)明显酒醉、步履蹒跚0.85mg/L(0.17%;170mg/dL)恶心、步履蹒跚1.50mg/L(0.30%;300mg/dL)呆滞木僵、可能昏迷、迷醉2.00mg/L(0.40%;400mg/dL)呼吸中枢痲痹、渐近死亡2.50mg/L(0.50%;500mg/dL)
肇事率2倍6倍7倍10倍25倍50倍无法开车无法开车致死
5.4测试仪校准传感器浓度校准
根据上两个表又在网上和图书馆查阅资料,了解到一种校准方法:密闭容器中,一定温度下,酒精溶液挥发到容器空气中后,酒精水溶液浓度与空气中酒精浓度是有一定关系的。利用这个关系进行计算,配置出标准的酒精溶液,就能对测试仪进行校准。当要是用来校准空气中0.25mg/L和0.40mg/L两个点时,根据资料中的数据,计算出要分别配置0.64g/L和1.02g/L的酒精水溶液,由于条件限制,这个是比较难达到精度要求的,而且还要在一定温度下密闭容器里进行校准,操作比较困难。资料中的数据时通过实验得到的,而且在于国家计量检定规程误差范围内的,以下为资料数据:
22
大连民族学院2008级通信工程专业单片机系统课程设计报告酒精水溶液空气中酒精(
34ºC)
0.37
0.61
0.97
1.21
1.940.1430.2380.3810.4760.762
图19酒精水溶液与空气中浓度关系
按照由于确实没有一个适的标准,来准确校准这个测试仪,显示出空气中的具体浓度值。就只有在相同的环境及下,用多个已知不同浓度的酒精液体进行定标,在某个浓度的酒精液体挥发气体中,测量这时候传感器采集回来的电压值,从而实现直观显示该酒精溶液的浓度值。
(1)校准方案的思路是定量配制多个浓度的酒精溶液,使得测量误差控制在一定浓度范围内,浓度范围经过多次分段后,可以把每一段当成是线性来处理;这几种溶液的浓度已知,且有一定的浓度差配制;在每个浓度的酒精溶液挥发气体中,测量五次,求得本浓度下传感器采集到的平均电压值。拟合出浓度与电压关系的分段函数,求出各段方程,就可以定标了。
(2)准备实验器材:95%(按体积比例)浓度的酒精溶液一瓶(100mL),75%浓度的酒精溶液一瓶(100mL),20mL注射器一支(充当量筒用,度量准确),小空瓶若干;特别说明下小瓶子的选择,实验表明:瓶口口径最好和传感器大小差不多,容积最好在100mL左右,这样在传感器与酒精气体接触时能够充分接触,减小误差;瓶口太大,酒精气体容易跑掉,导致结果偏低;瓶口太小,传感器接触面积不够大,测试结果也是偏低;瓶子容积太大,挥发出来的酒精气体被瓶中空气稀释,测试结果也会不准。
(3)接下来就是配制各种浓度的溶液,本次试验中配制了95%、75%、55%、35%、20%、10%、5%七种浓度的酒精溶液,其中95%、75%是现成的标准浓度的酒精溶液;取15mL、浓度95%的标准酒精溶液,加水11mL,就配制成了26mL、浓度55%的酒精溶液;取30mL、浓度75%的标准酒精溶液,加水34mL,就配制成了64mL、浓度35%的酒精溶液;取10mL、浓度95%的标准酒精溶液,加水37.5mL,就配制成了47.5mL、浓度20%的酒精溶液;取10mL、浓度75%的标准酒精溶液,加水65mL,就配制成了75mL、浓度10%的酒精溶液。取20mL、浓度10%的酒精溶液,加水20mL,就配制成了40mL、浓度5%的酒精溶液。
(4)预热测试仪,利用上述方法测量传感器采集到经放大器放大的模拟电压值。实验数据如表7:
23
大连民族学院2008级通信工程专业单片机系统课程设计报告
表7:不同酒精浓度下传感器输出电压测量值
数据分析:由于操作、预热未充分、酒精挥发等原因,有个别数值偏差很大,属于不准确数据,如10%浓度下的3.06V;35%浓度下的3.69V计算平均值时因剔除。通过以上数据,计算出电压平均值如表9:
表8:不同酒精浓度下传感器输出电压测量平均值
浓度电压平均值
0%0
5%2.32
10%2.78
20%3.27
35%3.82
55%3.94
75%4.02
95%4.12
根据表8中的实验数据,绘制出了浓度与电压关系图,如图20:
图20酒精浓度与电压关系曲线图
以上数据的计算结果根据实验数据计算保留了三位小数,是较为准确的。在浓度为35%和95%之间曲线变化是比较线性的,所以EF,FG,GH拟合成一段,即EH;
24
大连民族学院2008级通信工程专业单片机系统课程设计报告
根据图中数据计算出各个线段的线性方程是:
线段AB(0%~5%):y=0.464x,(这里的y表示V;x表示浓度数值,不含百分号);线段BC(5%~10%):y=0.092x+1.86;线段CD(10%~20%):y=0.049x+2.29;线段DE(20%~35%):y=0.037x+2.54;线段EH(35%~95%):y=0.005x+3.65;接下来的工作就是根据以上方程对测试仪进行定标。5.5数据测试及分析:5.5.1测试方案及测试数据:测试方案:
配制几种浓度的溶液,在每个浓度下测试5次。酒精溶液A是用5%浓度的酒精溶液加一定量的水稀释而成,浓度大约是2.5%;酒精溶液B是用75%浓度的酒精溶液加一定量水稀释而成,浓度大约是15%;酒精溶液C是用95%浓度的酒精溶液加一定量水稀释而成,浓度大约是40%;酒精溶液C是用95%浓度的酒精溶液加一定量水稀释而成,浓度大约是85%。测试数据如表9:
表9:不同浓度酒精溶液测试数据
表10:环境温度测试
次数温度(摄氏度)数据分析:
126.3
226.2
326.4
426.6
526.6
分析表10数据可知,测试结果与配制的溶液浓度有偏差,这个可能是由于
25
大连民族学院2008级通信工程专业单片机系统课程设计报告
配制的溶液是大约配成,浓度时落在一定范围。而分析某个浓度下的五个测试值,在一个较小的范围内波动;得出结论:测试仪的测定是比较稳定的,较准确;测试结果符合预期效果,没有出现较大误差。造成误差的原因归结起来有几个:测试仪自身的误差、采集气体时的操作偏差、读数误差、酒精气体挥发导致浓度改变的误差。说明:酒精浓度在0%~5%时候,电压变化较大,本仪器在这个浓度范围内出现的误差可能会较大。
减小误差的方法:
前提是自己要有严谨态度和很强的钻研精神,遇到问题多去想办法,认真做事。定标时候尽可能做到:配制标准溶液时,浓度做到尽可能准确,选用的量具、容器要合适;测定标数据的时候,使测试仪预热充分,传感器充分接触气体,得到较为准确的定标数据;利用定标数据拟合出浓度与电压曲线的时候,利用专业的画图工具,能够较为精确的描点,求出斜率以及线性方程;测试某酒精浓度的时候,方法和测定表数据一样。
六、心得体会
本课程设计针对目前酒后驾车造成交通事故频繁的现象,从燃烧型气体传感器的工作机制出发,设计并制作出一种便携式酒精含量测试仪,能够比较方便的测出被测者呼气中的酒精浓度。在此基础上了设计了基于单片机AT89S52的便携式酒精含量测试仪,并对该测试仪的构成、工作原理及硬件电路和软件系统进行了阐述,最后通过实验证该测试仪达到了本次设计的目的。从便于携带、实用、经济等方面出发,设计酒精含量测试仪的方案,并对方案进行了优化设计;依据方案设计思想,设计了基于AT89S52单片机的硬件系统,实现了声光音报警、液晶显示酒精浓度和环境温度等功能。声光报警模块功能为当检测到酒精浓度超过设定的阈值时,红色LED发光,并且蜂鸣器发出声音报警。性能良好的酒精含量测试仪可安装到汽车当中去,便于让驾驶员知道自己呼气中酒精浓度是否超标;也可以提供给交通警察使用,检查是否是酒后驾驶或醉酒驾驶。
参考文献
[1]张红润.传感器应用设计300例上[M].北京:北京航空航天大学,2008.
26
大连民族学院2008级通信工程专业单片机系统课程设计报告
[2]
[3]
[4]
[5]
[6]
[7]
[8]张红润.传感器应用设计300例下[M].北京:北京航空航天大学,2008.赵继文.传感器应用电路设计[M].北京:科学出版社,2002.何希才.常用传感器应用电路的设计与实践[M].北京:科学出版社,2007.何希才.使用传感器接口电路实例[M].北京:中国电力出版社,2007.白驹,雷晓平.单片计算机及其应用[M].成都:电子科技大学出版社,2005.何立民.MCS-51系列单片机应用系统设计系统配置与接口技术[M].北京:北航出版社,1990.黄冰.微机原理及应用[M].重庆:重庆大学出版社,2003.
[9]谭浩强.C语言程序设计第三版[M].北京:清华大学出版社,2005.
[10]陈成新.一种校准呼气酒精测试仪的新方法[J].计量学报,2006,27(2):1~3.
[11]庄明科,白海峰.驾驶人员风险驾驶行为分析及相关因素研究[J].北京大学学报,
2007,(04):1.
[12]陆蓉.液晶显示器(LCD)显示驱动原理及其应用[J].电子制作,2005(5):51~
52.
[13]张元敏.基于AT89C52的远程智能语音防盗报警系统设计[J].安防科技,2008
(10):38~41.
[14]
[S].
[15]蔡美琴.MCS-51系列单片机系统及应用[M].北京:高等教育出版社,2004.中华人民共和国公安部安全行业标准GA307-2001呼出气体酒精含量探测器
27
大连民族学院2008级通信工程专业单片机系统课程设计报告
附录1系统硬件电路图1
原理图:
28
大连民族学院2008级通信工程专业单片机系统课程设计报告
2PCB
图:
29
大连民族学院2008级通信工程专业单片机系统课程设计报告
附录2程序清单
#include
#defineucharunsignedchar
#defineuintunsignedint
sbitlcdvcc=P3^3;
sbitlcdp=P3^1;
sbitlcdrs=P3^4;
sbitlcdrw=P3^5;
sbitlcden=P3^2;
sbitwr=P3^6;
sbitrd=P3^7;
chara,b,c,d,i,num;
intadat;
intadats[12];
intsum;
ucharp00;
uchartemp;
ucharline1[]={"Alcohol:"};
ucharline2[]={"mg/L"};
ucharline3[]={"Result:"};
ucharline4[]={"Safe"};
ucharline5[]={"warning"};
ucharline6[]={"Danger!"};
voidadc();
voidinit();
voiddelay(intx);
voidwrite_com(ucharcom);
voidwrite_data(uchardate);
//---------------------------------------------------------------------------------------
30
大连民族学院2008级通信工程专业单片机系统课程设计报告
voidmain()
{EA=1;
EX1=1;
init();
write_com(0x01);
write_com(0x80);
for(num=0;num<8;num++)
{
}
write_com(0x80+0x0c);
for(num=0;num<4;num++)
{
}
write_com(0x80+0x40);
for(num=0;num<7;num++)
{
}write_data(line3[num]);delay(550);write_data(line2[num]);delay(550);write_data(line1[num]);delay(550);
num=0;
P2=0x3f;
while(1)
{
adc();//y1=0
31
大连民族学院2008级通信工程专业单片机系统课程设计报告
}
}
//-------------------------------------------------------------------------------------
voidadc()
{floatm;
temp=P3;
P3=temp&0xf7;
P3=temp;
rd=0;
delay(1);
adat=P0;
rd=1;
adats[num]=adat;
num++;
if(num==11)
{a=0;b=0;c=0;d=0;num=0;
for(i=0;i<11;i++)
{if(adats[a]<=adats[i+1])a=i+1;
d=i+1;sum=0;//Êý¾ÝÀàÐÍ»¹Ã»Óнâ¾öif(adats[d]>=adats[i+1])
}
for(i=0;i<11;i++)
{if((adats[b]<=adats[i+1])&&(i+1)!=a)b=i+1;
if((adats[c]>=adats[i+1])&&(i+1)!=d)c=i+1;
32
大连民族学院2008级通信工程专业单片机系统课程设计报告
}
for(i=0;i<=11;i++)
{
sum=sum+adats[i];
}
sum=sum-adats[a]-adats[b]-adats[c]-adats[d];sum=sum/8;
sum=sum+15;
a=sum/102;
b=((sum%102)*10)/102;
c=((((sum%102)*10)%102)*10)/102;
write_com(0x80+0x08);
write_data(a+'0');
write_data('.');
write_data(b+'0');
write_data(c+'0');
m=a*100+b*10+c;
if(m<25)
{
write_com(0x80+0x49);
for(num=0;num<7;num++)
{
}
}
elseif(m>=25&&m<=40)
{write_com(0x80+0x49);write_data(line4[num]);delay(1000);
33
大连民族学院2008级通信工程专业单片机系统课程设计报告
for(num=0;num<7;num++)
{
}
}
elseif(m>40)
{
write_com(0x80+0x49);
for(num=0;num<7;num++)
{
}
}
}
}
voidend()
{
p00=P0;
wr=1;
P0=0xf8;
wr=0;
delay(1);
P0=p00;
wr=1;
delay(20);//ÑÓʱҪ×ã¹»interrupt2write_data(line6[num]);delay(1000);write_data(line5[num]);delay(1000);
}
34
大连民族学院2008级通信工程专业单片机系统课程设计报告
voidwrite_com(ucharcom)
{
lcdrs=0;
P0=com;
delay(200);
lcden=1;
delay(200);
lcden=0;
}
voidwrite_data(uchardate)
{
lcdrs=1;
P0=date;
delay(200);
lcden=1;
delay(200);
lcden=0;
}
voidinit()
{
lcdvcc=1;
lcdp=0;
lcdrw=0;
lcden=0;
write_com(0x01);
write_com(0x38);
write_com(0x0c);
write_com(0x06);
}
35