基于ADuC816的一氧化碳气体监测仪设计
扫描二维码
随时随地手机看文章
摘要 详细讨论了ADI公司的数据采集芯片ADuC816单片机的原理特性和一氧化碳气体传感器的选择,论述了一氧化碳气体监测报警仪的软件设计及其标定方法,设计完成了一种灵敏度高、性能可靠、操作简单的一氧化碳监测报警仪,对于生活环境中的一氧化碳气体的监测及其带来的社会、人身安全等问题具有十分重要的意义。
关键词 ADuC816单片机 CO监测报警 标定
引 言
一氧化碳(CO)是一种无色无臭的气体。当CO进入人体血液循环系统后,就会与血红蛋白迅速结合形成碳氧血红蛋白,占据了结合氧的位置,从而使血红蛋白丧失运输氧的功能,导致人因供氧不足而发生C0中毒。C0最重要的危害是污染大气,影响人体健康。人即使处于低浓度的CO环境中也会产生头痛、耳鸣、疲劳等症状。如果CO中毒严重,轻者可损害思维和感觉,减弱身体运动能力,重者则会导致脑部受损甚至发生死亡。因此,设计一种灵敏度高、性能可靠、操作简单的CO监测报警仪,及时准确并有效地对生活坏境以及工业生产过程中的CO进行检测,是与人的生命安全相关的重要问题。
1 系统设计方案
1.1 系统组成
C0气体监测报警仪是由CO气体传感器、调理电路、单片机、显示电路、按键、信号输出电路和应用系统软件等组成。CO气体监测报警仪系统设计框图如图1所示。
1.2 单片机的选择
ADuC816单片机是美国ADI公司推出的一种新型单片机,它是ADI公司多年生产A/D、D/A转换器的经验与成熟的8051单片机技术相结合的高性能微转换器,功能非常强大。ADuC816集成了2通道16位ADC、12位DAC、3个定时/计数器、10个中断源/2级优先中断级、双传感器激励电流源、8 KB Flash EEPROM程序存储器、256字节片上RAM和640字节数据Flash EEPROM。外部数据存储器分组寻址,地址空间达16 MB。因此,选用ADuC816单片机不仅可以满足CO气体监测报警仪高精度的要求,而且不需要外接A/D、D/A转换器和外部存储器。这对简化整个系统的外围电路设计,以及提高系统的抗干扰能力等具有重要意义。
1.3 CO气体传感器的选择
CO气体传感器有多种类型。半导体CO气体传感器主要是以氧化物半导体作为基本材料,使气体吸附于半导体表面,利用由此产生的电导率变化来判断CO气体浓度的大小。与其他气体传感器相比,半导体CO气体传感器具有快速、简便、灵敏等优点,但是它的气体选择性较差,在工作时容易受到其他气体的干扰。电化学电位型CO气体传感器能够将待测气体通过电化学反应变换成电信号,进行直接检测。其中,为了提高测量精度,消除测量环境中一些不确定因素的影响,可以利用第三电极、参考电极和一个外部的恒电位工作电路。此类型传感器用稀硫酸溶液作为液态电解质,不仅可以在室温条件下与其他测控设备协同工作,而且输出信号幅值大,灵敏度高,使用方便,价格低,同时还可以避免因CO与氧气直接接触而发生爆炸的危险。其结构示意图如图2所示。
7E/F型CO气体传感器就是电化学电位型。它检测的是与待测气体体积分数或分压相关的电极电位,其影响机制是基于电极上发生的电化学氧化还原反应而建立起来的电化学平衡。半电池化学反应方程式表示如下:
上述反应所产生的电流与CO气体的浓度成正比。测量电流用一个标准电阻转换为电压信号,经放大、A/D转换后,在数码管上以CO的体积分数值直接显示。
此外,7E/F型CO传感器的测量范围可以达到0~2 000×10-6,气体选择性非常好。当含有CO和H2的混合气体通入传感器时,敏感电极会产生一个与两种气体浓度成比例的信号,而辅助电极产生的信号则主要由于氢离子的存在。加上内置过滤器可以除去N0、NO2、H2S和SO2的干扰,即使有一两种干扰气体存在,也可以得到非常准确的测量结果,其测量误差、响应时间、重复性等都满足本文CO监测报警仪设计的要求。
1.4 信号放大电路方案的选择
由于选用的气体传感器是感应CO气体浓度的变化,将浓度信息转化为电流信号。所以,必须采用专用的信号放大电路,并且对电路的要求非常严格。基于此要求,所用的三个电极分别是:工作电极(S)、对电极(C)、参考电极(R)。CO传感器信号放大电路如图3所示。
2 硬件电路设计
硬件电路设计包括:电源电路设计、程序下载电路设计、显示和按键电路设计、报警电路设计和其他电路(复位电路、时钟电路)设计。
2.1 电源部分电路设计
电源的主要任务是先将220 V的交流电通过整流滤波等措施转换到直流+9 V,再将+9 V的电压通过三端稳压78M05稳定到+5 V供给ADuC816单片机及其外围所连接的各芯片使用,电路如图4所示。
2.2 程序下载电路设计
ADuC816单片机片内含有一个全双工的串行接口,在串行通信中采用RS-232C标准。在通信时,必须用MAX232芯片进行电平转换。电路如图5所示。此电路与8051读取程序内存专用控制线PSEN的J4接线柱配合,即可完成将程序从计算机下载到ADuC816片内的8 KB Flash EEPROM程序存储器中。当下载程序时需将单片机系统的电源关闭,将J4的短路块插上,再给单片机系统上电,ADuC816即进入程序下载状态。运行计算机软件就可将HEX 文 RXD件下载到ADuC816 TXD内。这正是本测控系统的方便之处,在修改程序时,既不需要昂贵的编程器,也不需打开机壳插拔芯片。
2.3 显示和按键电路设计
CO气体监测报警仪必须有显示待测气体中CO浓度的电路。显示电路采用串并转换芯片74LSl64与数码管LED.按键电路是由按键和上拉电阻构成的,主要功能是对报警点值进行设置,电路如图6所示。
2.4 报警功能电路设计
当CO气体浓度达到报警点时,通过两个红色的LED发光二极管和一个蜂鸣器进行报警。其中两个红色LED分别代表一级报警和二级报警。输出报警电路是通过对继电器的控制来控制蜂鸣器进行报警。要求继电器的控制电压为5 V,被控制电压为220 V。
3 软件设计
软件设计包括A/D转换、显示、按键设置等。其主流程如图7所示。按键共包含三个键,分别是设置键、加键和减键。通过不同的键来控制仪器进行不同功能的设置。其流程如图8所示。
4 标 定
4.1 标 零
CO气体监测报警仪没有开始工作或置于不含CO的空气中时,经过A/D转换后所显示的浓度值并不一定为零。这时无论值是多少都视其为零,并将此值作为仪器的“零点”。实际的测量值是通图8按键、显示、标定模块流程图过[(当前的A/D值-零点值)/系数]求得。
4.2 标定
标定工作线可用直线方程y=Kx+b来表示,由于设计中所用的气体传感器7E/F和放大电路的影响,将2.5 V电压作为测量CO气体浓度的一个基准,相应的标定拟合直线为:
y=K(2.5-x)+b
其中,x的取值范围是0~2.5 V,y的取值范围是O~2 000×10-6。用标准的CO气体标定后测出几组数据,便可以用待定系数法求得K和6的值。
结 语
CO作为一种剧毒性气体,污染大气,影响人体健康。通过对本文设计的报警仪调试使用,整个仪器运行稳定,所要求功能已基本实现。当仪器运行时,用含有CO的混合气体进行测试,可以显示出气体中CO的浓度,并进行一级和二级报警。