技术热线: 4007-888-234

酒精呼吸检测仪单片机方案

更新时间: 2019-11-15
阅读量:3603

在本文中,英锐恩单片机开发工程师们分享了一个酒精呼吸检测仪单片机方案。本方案使用8051单片机的呼吸分析仪电路,该电路可从呼吸中输出血液酒精含量(BAC),血液酒精含量可在三位数的七段显示器上以百分比显示。

41wfLVfSNhL.png

一、该单片机方案所用的MQ135酒精传感器

MQ135是一款国产的空气污染传感器,使用比较稳定、灵敏,可以检测氨、二氧化碳、酒精、烟气、二氧化氮等。该传感器由氧化铝微管内的二氧化锡敏感层,测量电极和管状铝壳内的加热元件组成。传感器的前端用不锈钢网覆盖,背面固定连接端子。

QQ截图20191115155023.png

呼吸中存在的乙醇在通过加热元件时被氧化为乙酸。该乙醇落在二氧化锡感测层上,结果其电阻降低。使用外部负载电阻将该电阻变化转换为合适的电压变化。MQ135酒精传感器的典型连接布置如下所示:

mq135-connection-diagram.png

酒精呼吸检测仪单片机方案组件清单,如下:

(1)酒精传感器(MQ135)– 1个;
(2)IC(ADC 0804)– 1个;
(3)单片机(AT89S51)- 1个;
(4)7段显示 – 3个;
(5)晶体管(2N2222)-3个;
(6)开关 – 1个;
(7)电容器(150pF)- 1英寸;
(8)电容器(22uF/10V)– 1个;
(9)电容器(10uF/10V)– 3个;
(10)电阻器:100 ohm-11个,10k-3个,22k-1个,8.2k-1个,330 ohm-1个。

MQ135在不同温度和不同气体浓度下具有不同的电阻值。制造商建议在100ppm的氨水或50ppm的酒精中校准传感器。负载电阻的推荐值在10K至47K之间。

二、酒精呼吸检测仪单片机方案电路原理图

酒精检测器单元的电压输出通过ADC0804(IC1)转换为数字格式。使用由R14和R15构成的分压器网络,ADC 的V ref / 2引脚保持在1.28V。V ref / 2 = 1.28V表示ADC的步长为10mV,并且模拟输入中每增加10mV,ADC的输出将增加一位。请参考ADC0804的数据手册,以更好地掌握。ADC的数字输出(D0至D7)连接到单片机的Port1。控制信号CS,RD,WR,INTR分别从单片机P3.7,P3.6,P3.5,P3.4引脚获得。R9和C1与ADC0804的时钟电路相关。

alcohol-breathalyzer-using-80511.png

电容C3连接在ADC0804的V in +和V in-之间,过滤传感器输出中的噪声(如果有)。如果不使用C3,则ADC的数字输出将不稳定。该滤波电容肯定会在ADC响应中引起一些滞后,但在此入门级应用中并不是很重要。单片机对ADC数字输出执行所需的操作,以将其转换为BAC%,并将其显示在三位数的七段显示器上。单片机的端口0连接到多路复用的三位数七段显示器。三位数字的驱动信号分别从单片机的P3.0,P3.1,P3.2引脚获得。

三、程序源代码

ORG 00H
MOV P1,#11111111B
MOV P0,#00000000B
MOV P3,#00000000B
MOV DPTR,#LUT
MAIN: MOV R4,#250D
      CLR P3.7
      SETB P3.6
      CLR P3.5
      SETB P3.5
WAIT: JB P3.4,WAIT
      CLR P3.7
      CLR P3.6
      MOV A,P1
      MOV R5,A
      SUBB A,#86
      JC NEXT
      SETB P3.3
      CLR PSW.7
NEXT: MOV A,R5
      SUBB A,#115D
      JNC LABEL
      MOV A,#00000000B
      CLR PSW.7
LABEL: MOV B,#5D
       MUL AB
       MOV B,#8D
       DIV AB
       MOV B,#10D
       DIV AB
       MOV R6,A
       MOV R7,B
DLOOP:SETB P3.0
      MOV P0,#01000000B
      ACALL DELAY
      CLR P3.0
      SETB P3.1
      MOV A,R6
      ACALL DISPLAY
      MOV P0,A
      ACALL DELAY
      CLR P3.1
      SETB P3.2
      MOV A,R7
      ACALL DISPLAY
      MOV P0,A
      ACALL DELAY
      CLR P3.2
      DJNZ R4,DLOOP
      SJMP MAIN
DELAY: MOV R3,#255D
LABEL1: DJNZ R3,LABEL1
        RET
DISPLAY: MOVC A,@A+DPTR
         CPL A
         RET
LUT: DB 3FH
     DB 06H
     DB 5BH
     DB 4FH
     DB 66H
     DB 6DH
     DB 7DH
     DB 07H
     DB 7FH
     DB 6FH
END


以上就是英锐恩单片机开发工程师分享的酒精呼吸检测仪单片机方案。英锐恩专注单片机应用方案设计与开发,提供8位单片机、16位单片机、32位单片机。