正文

智能酒精仪器2005-07-16 15:47:00

【评论】 【打印】 【字体: 】 本文链接:http://blog.pfan.cn/niao0311/2895.html

分享到:

  这是我自己花3个月搞定的  
  还没测试   只是理论  希望高手指导啊

智能酒精检测仪
                                                             
一、产品介绍
    本产品在对被检人员呼出气体的进行酒精检测,检测结果(酒精气体含量)传送到电子显示,并根据检测结果决定是否报警。
二、系统组成
•  整个系统功能的实现需要硬件及软件的配合。
•  硬件主要包括:各湿度传感器分别将检测到的温度和湿度物理量转换成电信号,经各自的低噪声放大器(LNA)放大、模数转换器(A/D)后,送到AT89C52单片机进行数据分析处理并显示。
•  软件包括:单片机酒精检测软件。
•  系统组成框图如图所示:


三、系统特点
•  新型传感元件:对乙醇能快速的发生化学反应,并能快速的进行检测。
•  检测精度高: 该设备利用呼吸测量法准确地测出被测人血液中的酒精含量。
•  灵敏度高: 人体呼出的气体通过传感器时很快就会检测出酒精含量的浓度。
•  操作方便:运行该系统后只要轻轻吹口气就可以检测了。
•  结果直观:从系统界面就很直观的看到测试的结果。
•  无需人为判断:系统软件可以自动的对人体呼出的气体正确检测。
四、系统功能
•  检测酒精浓度:根据人体呼出气体中所含有的酒精浓度的高低进行检测。
五、技术指标
1、 酒精传感器:
YX-GS-800M低功耗乙醇气体传感器



特性

对乙醇有高灵敏度

对乙醇响应快

体积小、功耗低

应用

用于便携仪表检测乙醇或报警器

工作环境

温度:0℃ ~ +50℃

湿度:≤95%RH
     


技术指标

参数    加热
电压    检测
电压    加热
功率    元件
功率    取样
电阻    加热
电阻    加热
电流    响应
时间    恢复
时间    灵敏度
符号    VH    VC    Ph    Ps    RL    RH    IH    Tr1    Tr2    β
单位    V    V    mW    mW    KΩ    Ω    mA    秒    秒    
参数值    1.5±0.1 DC    ≤3.0 DC    ≤150    ≤10    1 ~ 10    4~4.5    ≤100    ≤5    ≤10    ≥2(100ppm乙醇)

注意事项         传感器测试电路


使用前预热VH+0.3V,1~5秒

严禁放入水或化学溶剂中浸泡

严禁过力摔打

严禁暴露于高浓度乙醇中,以免短路或烧毁

应将元件放在真空或干燥器中保存,老化后长期不使用,再使用前应重新老化
     


传感器的应用电路
     YX-GS-800M是一种半导体型气体传感器,它的驱动电路与传统的半导体式气体传感器的驱动电路大体相同。

图1 对地采样的驱动方式典型电路     
图2 独立采样的驱动方式典型电路


传感器的预加热
    预加热是为了加快传感器的启动速度,在传感器刚刚启动的时候,利用一个略高于传感器正常工作电压的冲击电压,加热1~5秒,使传感器尽快进入正常工作的状态。
   冲击电压的选择范围一般不超过正常工作的电压的1.2倍,对于YX-GS-800M乙醇气体传感器,这一电压不宜超过1.8V 。
驱动电压(V)    平均启动时间(秒)
1.5    5~10
1.6    4~6
1.7    3~4
1.8    1~2

    注意:YX-GS-800M乙醇气体传感器运行的经典电压为1.5±0.1V,长期在高于该电压下工作有可能损坏传感器,而低于该电压工作,有可能影响传感器的性能。

引脚和封装
  YX-GS-800M乙醇气体传感器采用39金属管壳封装:

          (底视图)
其中:
1、 加热电极
2、 检测电极
3、 加热电极
注释:管脚1、3可以互换。     



2、 使用集成运算放大器进行信号采集,准确度高
3、 主微处理器(CPU):AT89C52
4、 工作电压:直流12V±5%
5、 工作频率:11.0592MHz  6、 计算机接口:RS232串口
7、 指纹设备接口:USB
8、 摄像头接口:USB
9、 饮酒标准:呼气可测酒精浓度大于50ug/L
10、酗酒标准:呼气可测酒精浓度大于250ug/L
11、环境温度:-20~+70
12、环境湿度:95%RH



费用  大概1000元



AT89C52的智能器




图1系统框图

图2  DTMF收发电路


图3  断线、回铃检测电路


图4主程序流程图

系统结构
本系统的核心部分是AT89C52,其它的主要单元电路有:无线编码接收电路、DTMF收发电路、数字语音电路、通话电路、线路切换电路、断线检测和回铃检测电路,以及电源、后备电源电路等。系统框图如图1所示。
单片机、看门狗电路、无线编码接收电路
采用MCS-51系列的AT89C52单片机,它有8K的EEPROM,无需扩展外部存储器。256字节的RAM和32线I/O口,完全可以满足本系统的要求。看门狗电路采用X5045,它是一种集看门狗、电压监控和串行EEPROM三种功能于一身的可编程电路。它内部的512字节的EEPROM用来存放无线探头的编码和一些系统设置参数。X5045可提供1,000,000次擦写和100年的数据保存期。无线编码接收采用常见的超再生接收模块,频率315MHz,ASK方式,不含解码芯片PT2272(采用软件解码),与无线探头端的编码芯片PT2262对应,有312种编码,保证了有足够的保密性。模块的信号输出端直接接到单片机的P1.1进行软件解码。
COMP:MOV  B,#XXH            ;扩大256倍K值
        MUL  AB                  ;256*K*Vt
        MOV  A,#YYH            ;T0的值送A,舍弃成绩低8位
        CLR   C                   ;清楚进位位
        SUBB  A, B               ;T0-K*Vt
        CJNE  A,#0AH,COMP1
COMP1:JNC   COMP3              ;浓度度高于-55时转移
         CJNE  A,#96H,COMP2
COMP2: JC    COMP3              ;浓度低于150时转移
         MOV   27H,#0FH          ;超出有效浓度范围显示F
         MOV   28H,#0FH
         MOV   29H,#FH
         MOV   2AH,#0FH
         MOV   2BH,#OFH
         MOV   2CH,#0FH
         ACALL  DISP                ;调用显示子程序
COMP3:RET


2 温度转换为十进制程序:
         MOV  R1,#00H
         MOV  R2,#00H
         CLR   C
CHAN : SUBB  A,#64H              ;    减100
         JC     CHAN1               ;不够减,转
         INC    R1                   ; 够减,有效位置减1
         AJMP  CHAN2
CHAN1: ADD  A,#64H               ;恢复系数
CHAN2: SUBB  A,#0AH               ;减10
         JC     CHAN3                ; 不够减转
         INC    R2                    ;够减十位加1
         AJMP  CHAN2                 ;重复减10
CHAN3: ADD   A,#0AH               ;还原个位数
         MOV   27H,#0AH
         MOV   28H,#OAH
         MOV   29H,#0AH
         MOV   2AH,A
         MOV   2BH,R2
         MOV   2CH,R1

3 显示子程序:
DISP:  MOV  R6,#27H                    ;指向显示缓冲区首地址
       MOV  R7,#20H                    ;指向显示器最位
       MOV  R0,388H                    ;段控口地址
       MOV  R1,#8CH                    ;位控口地址
DISP1: MOV   A,#00H                     ;各位数码管清零
       MOV  @R0,A
       MOV  A,R7
       MOV  @R1,A
       RRC   A
       JC     DISP2
       MOV   R7,A
       AJMP   DISP1
DISP2:  MOV   R7,#20H                   ;重新指向显示器最高位
DISP2:  MOV   A,R7
        MOVX  @R1,A                    ;输出位控码
        MOV    A,@R6                    ;取出显示数据
        ADD    A,#0EH      
        MOVC   A,@A+PC                 ;查表,字形码送A
        MOVX   @R0,A                    ;输出字形码
        ACALL   DELAY                    ;延时
        INC      R6                        ;指向下一缓冲单元
        MOV     A,R7
        JB       ACC.0,DISP4                ;到最低位则转
        RR       A
        MOV     R7,A
        AJMP    DISP3
DISP4:  RET
DSEG:  DB 3FH,06H,5BH,4FH,66H
        DB 6DH,7DH,07H,7FH,6FH,
        DB 77H,7CH,39H,5EH,79H
        DB 71H,00H
                    
摘要:详细讲解了模数转换器的原理及影响模数转换器转换精度的一些主要原因,并详细分析和介绍了嵌入微控制器片内的A/D转换器,以及用AT90S8535作为具体应用实例来分析如何提高转换器精度的方法。
关键字:A/D转换器;逐次比较;采样保持;电磁干扰
前言:在数据采集系统中,模数转换器是其中至关重要的环节,模数转换器的精度以及系统的成本直接影响到系统的实用性,因此,如何提高模数转换器的精度和降低系统的成本是衡量系统是否具有实际应用价值的标准。
    一般来说,想提高模数转换器的精度,势必会引起成本的增加,这就要求我们按照具体的精度要求合理的设计模数转换器,来达到具体的要求和降低系统的成本。在精度要求不是很高的场合,我们经常利用嵌入微控制器片内的A/D转换器来实现模数转换,以此来降低系统的成本,但由此又产生了另外的问题,嵌入式模数转换器是否具有所要求的精度,若超出测量范围如何与测量电路进行接口,以及如何减小微控制器的电磁干扰提高嵌入式模数转换器的精度问题。这都要求我们采取不同的措施来提高嵌入式模数转换器的精度。
1.         精度与分辨率。ADC的精度和分辨率是两个不同的概念。精度是指转换器实际值与理论值之间的偏差;分辨率是指转换器所能分辨的模拟信号的最小变化值。ADC分辨率的高低取决于位数的多少。一般来讲,分辨率越高,精度也越高,但是影响转换器精度的因素很多,分辨率高的ADC,并不一定具有较高的精度。精度是偏移误差、增益误差、积分线性误差、微分线性误差、温度漂移等综合因素引起的总误差。因量化误差是模拟输入量在量化取整过程中引起的,因此,分辨率直接影响量化误差的大小,量化误差是一种原理性误差,只与分辨率有关,与信号的幅度,采样速率无关,它只能减小而无法完全消除,只能使其控制在一定的范围之内,一般在±1/2LSB范围内。
1.1     偏移误差
偏移误差是指实际模数转换曲线中数字0的代码中点与理想转换曲线中数字0的代码中点的最大差值电压。这一差值电压称作偏移电压,一般以满量程电压值的百分数表示。在一定温度下,多数转换器可以通过对外部电路的调整,使偏移误差减小到接近于零,但当温度变化时,偏移电压又将出现,这主要是由于输入失调电压及温漂造成的。一般来说,温度变化较大时,要补偿这一误差是很困难的。
1.2     增益误差
增益误差是转换器输出全“1”时,实际模拟输入电压与理想模拟输入电压之差。它使传输特性曲线绕坐标原点偏离理想特性曲线一定的角度,即增益误差表示模数转换特性曲线的实际斜率与理想斜率的偏差,它的数值一般用满量程的百分比来表示。
ADC的理想传输函数的关系式是
                          (1)
式中Un是没有量化时的标准模拟电压,由于存在增益误差,式(1)变为
                           (2)
式中的K为增益误差因子。当K=l时,没有增益误差。当K>1时,传输特性曲线的斜率变大,台阶变窄,在输入模拟信号达到满量程值之前,数字输出就己全“l”状态。当K<1时,传输特性曲线的斜率变小,台阶变宽,输入模拟信号己超满量程值时,数字输出还未达到全“1”状态输出。
在一定温度下,可通过外部电路的调整使K=l,从而消除增益误差。
1.3     线性误差
线性误差又称积分线性误差,是指在没有偏移误差和增益误差的情况下,实际传输曲线与理想传输曲线之差。线性误差一般不大于1/2LSB。因为线性误差是由ADC特性随输入信号幅值变化而引起的,因此线性误差是不能进行补偿的,而且线性误差的数值会随温度的升高而增加。
1.4     微分线性误差
微分线性误差是指实际代码宽度与理想代码宽度之间的最大偏差,以LSB为单位,微分线性误差也常用无失码分辨率表示。
由于时间和温度的变化,电源可能会有一定的变化,有时可能是造成影响ADC精度的主要原因,因此在要求比较高的场合,必须保证电源的稳定性,使其随温度和时间的变化量在所允许的范围之内,但在一般的场合,往往可以不考虑其对系统的影响。
2.         嵌入式模数转换器的结构及影响转换的原因和消除方法
所谓嵌入式模数转换器是指将模拟多路开关、采样保持、A/D转换、微控制器集成在一个芯片上,经常采用逐次比较型进行A/D转换,模拟输入信号一般为非负单极性,且输入信号的电压范围为0~AVREF,A/D转换器具有独立的模拟电源与参考电压。
         在实际应用中,由于输入信号的输出电阻不同,如果输出电阻过大,会引起实际测量的电压分压过小,因而引起测量值较实际值偏小;或者由于输入信号为双极性模拟信号,不能直接与嵌入式微控制器相连,必须采取特殊措施,使双极性模拟信号转换为可以直接测量的非负单极性信号;还有如果输入信号幅值过大,以至于超过参考电压,也必须引入将压环节,使输入电压低于参考电压,等等,下面对以上影响逐一进行分析。



嵌入微控制器片内的A/D转换器的具体应用
    下面介绍一种常用的芯片AT90S8535关于其A/D转换器使用时应该注意的情况。
     AT90S8535是ATMEL公司生产的一款基于AVR RISC结构的,低功耗的8位单片机,其内部集成有模数转换器,模数转换器具有以下特点:
         10位分辨率;
         ±2LSB精确度;
         0.5LSB集成线性度;
         65~260μs转换时间;
         8通道;
         自由运行模式和单次转换模式;
         ADC转换结束中断;
         休眠模式噪声消除。
AT90S8535具有10位分辨率的逐次逼近型A/D转换器。ADC与一个8通道模拟多路器相连,这样就允许A口作为ADC的输入引脚。ADC包含一个采样保持放大器,ADC框图如下所示:
     
    ADC可以工作于两种模式——单次转换和自由运行。在单次转换模式下,用户必须启动每一次转换,而在自由运行模式下,ADC会连续采样并更新ADC数据寄存器。ADCSR的ADFR位用于选择A/D转换器的运行模式。
由于模拟通道的转换总是要延迟到转换的结束,因此,自由运行模式可以用来扫描多个通道,而不中断转换器。一般来说,ADC转换结束中断用于修改通道,但需考虑一下因素;结果一旦准备好,中断就被触发,在自由运行模式,中断一被触发,则下一次转换马上开始。如果中断触发过后,模拟通道改变,而下一次转换已经开始,则仍旧使用以前设置。
3.1          ADC噪声消除技术
AT90S8535的内外部数字电路会产生电磁干扰,从而影响模拟测量精度。如果要求测量精度较高,则应采取如下技术以减少噪声:
1)        AT90S8535的模拟部分及其他的模拟器件在PCB板上要有独立的地线层。模拟地与数字地单点相连;
2)        使模拟信号通路尽量短。使模拟走线在模拟地上通过,并尽量保持远离高速数字通路的走线;
3)        AVCC要通过一个RC网络连接到VCC;
4)        利用ADC的噪声消除功能减小来自CPU的噪声;
5)        如果A口的一些引脚作数字输出口,则在ADC转换过程中,这些口不要改变其状态。
3.2          ADC的噪声消除功能的实现:
ADC可以在CPU空闲模式下进行转换,这一特征使得可以抑制来自CPU的噪声。为了实现这一特性,需采取一下措施:
A)       必须选择单次转换模式,ADC的转换结束中断必须使能;
ADEN=1;ADSC=0;ADFR=0;ADIE=1;
B)        进入空闲模式。一旦CPU停止,则ADC将开始转换;
C)       如果在ADC转换结束之前没有发生其它中断,则ADC中断将唤醒MCU并执行ADC转换结束中断。
结论 微控制器片内A/D转换器由于自身的结构、性能特点,在许多应用中会遇到与独立A/D转换器不同的问题,但大多数嵌入微控制器的A/D器都具有像AT90S8535相似的结构和特点,采取的消噪技术和方法也大致相同,我们需根据具体情况具体分析需采取嵌入A/D还是独立A/D,并根据具体需求采取必要的措施来提高A/D转换器的精度。

 
我还画了张protel  怎么贴上去啊??






















阅读(5507) | 评论(0)


版权声明:编程爱好者网站为此博客服务提供商,如本文牵涉到版权问题,编程爱好者网站不承担相关责任,如有版权问题请直接与本文作者联系解决。谢谢!

评论

暂无评论
您需要登录后才能评论,请 登录 或者 注册