- 易迪拓培训,专注于微波、射频、天线设计工程师的培养
基于ARM的矿用便携式多参数气体检测仪的设计
摘要:针对目前煤矿常用气体检测仪以检测单气体为主,检测精度不高、稳定性不强等问题,研究并设计了一种基于ARM9的便携式多参数气体检测仪。本检测仪以S3C2440A微处理器为核心控制器,可以实现CH4、CO、H2S、O2四种气体浓度的实时检测,同时,检测仪移植了Linux嵌入式操作系统,提高了系统的可靠性和稳定性。实际应用表明,该检测仪携带方便,测量准确,将井下气体信息浓缩于一掌之中,使井下生产人员能及时有效的获得矿井安全状况,具有较高的推广应用价值。
关健词:ARM;传感器;便携式;气体检测仪
0 引言
在煤矿的开采过程中,会释放出大量的有毒有害气体和可燃性气体,诸如CH4、CO、H2S,当这些气体积攒到一定浓度时,就会使人呼吸困难、窒息死亡,甚至引发瓦斯爆炸事故,严重威胁着井下作业人员的生命和财产安全,因此,实时准确地检测出井下环境中的各气体浓度,做到事前预警,就显得尤为重要。
目前,我国煤矿井下所用气体检测仪以单参数检测仪为主,使用不方便,虽然已经研制出一些多参数气体检测仪,但这些检测仪普遍存在着稳定性不够、测量精度低等问题。基于此,本文研究并设计了一种基于ARM9的高性能矿用便携式多参数气体检测仪。本检测仪能够实时准确地检测出CH4、CO、H2S、O2四种气体浓度,当气体浓度超过预设报警值时,进行声光报警,有效地消除了矿井的安全隐患,减少了事故的发生。
1 系统总体结构设计
检测仪以基于ARM9内核的S3C2440A嵌入式微处理器为核心,由气体传感器模块、信号调理模块、LCD显示模块、声光报警模块、数据存储模块、通讯接口模块、电源模块等组成,其具体结构如图1所示。
气体传感器将检测到的气体数据转化成微弱的模拟信号,经过信号调理电路进行滤波、放大以及A/D转换处理后送入S3C2440A,经过S3C2440A的运算处理,最终得出相应的浓度值,送LCD显示屏实时显示出来。同时,将检测到的浓度值与预设的报警值进行比较,若超过报警值,则进行声光报警。为便于浓度数据的长期保存和查询,S3C2440A设计有片外存储器,来扩充数据存储容量。
仪器还具有与上位机PC通信的功能,通过RS232串口通讯接口可将测量浓度值传输给PC机,实现历史数据的备份。电源方面,采用可充电锂电池,通过高转换效率的LDO对各模块供电。
2 系统硬件设计
2.1 气体传感器检测原理及选型
气体传感器是决定检测仪效果的关键元件,主要完成从物理量到电信号的转换,是信号采集的第一步。气体传感器按原理分为热导池式、催化燃烧式、电化学式、光干涉式、红外式等几大类。根据实际需要,选择合适的传感器进行检测。
电化学式传感器有膜电极和电解液浇封而成,通常待测气体扩散进入传感器内,将电解液分解成正负带电离子,形成电流信号,膜电极将信号输出,通过检测电流信号就能得到气体的浓度,电化学式传感器主要用于氧气和有毒气体的检测。红外式传感器检测原理基于比尔-朗伯吸收定律,即不同气体对特定波长的光有吸收,吸收强度与气体的浓度成正比,通过检测吸收强度就可换算出相应气体的浓度。
本检测仪通过比较各传感器的性能以及应用范围综合考虑决定,采用英国SUSA公司所生产的电化学式传感器4H2S-AS来检测H2S;采用英国阿尔法公司生产的电化学式传感器CO-AF和O2-A2分别检测CO和O2;采用英国City公司生产的红外式传感器IRcel CH4来检测CH4。
2.2 处理器选型
本检测仪选择三星公司生产的S3C2440A嵌入式处理器作为主控芯片。S3C2440A是一款专为便携式设备而设计的低功耗、高性能32位RISC微处理器,它采用ARM920T的内核,集成了丰富的片上资源,使开发者可以尽可能地减少外围部件的设计,方便了应用系统的开发,缩短了开发周期。
S3C2440A中主要集成了下列模块:16KB指令Cache、16KB数据Cache、MMU、外部存储器控制器、LCD控制器、168脚通用GPIO、实时时钟、8通道多路复用ADC和FET给线性触摸屏接口、标准20pin JTAG调试接口等。
2.3 LCD显示模块设计
为便于更好的人机交互,本设计采用触摸屏设计。
S3C2440A自带有LCD控制器,所以免去了LCD控制器的设计。S3C2440A内部集成了一个触摸屏接口,可以直接与四线电阻式触摸屏连接;
S3C2440A具有8个转换通道(AIN[0-7]),其中AIN[7]用于触摸屏X坐标输入,AIN[5]用于触摸屏Y坐标输入。
本设计选用三星公司生产的四线电阻式LCD触摸屏,尺寸为3.5寸,分辨率为320×240。
2.4 数据存储模块设计
由于检测仪程序量很大、检测后所得的浓度数据众多,且需要长期保存以便调阅和查询,本设计决定采用3种存储器,以提高系统的性能。
NAND Flash作为文件存储器,用于存储气体浓度数据;NOR Flash作为程序存储器,用于存放引导程序、用户程序以及Linux嵌入式操作系统;SDROM作为数据交换存储器,系统运行所使用的程序代码、堆栈和数据一般都调入此存储器运行,以提高系统的运行速度。
本系统选用三星公司的K9F1208芯片作为NAND Flash存储器,单片存储容量为64 MB;采用K802815芯片作为NOR Flash,单片存储容量16MB。
2.5 声光报警模块设计
声光报警电路由三极管、发光二极管、蜂鸣器组成。当检测仪检测到某种气体浓度超限时,相对应的气体浓度值在LCD显示屏上持续闪烁,提示是哪种气体浓度超限,同时系统驱动蜂鸣器发出声响以及红色发光二极管闪烁,进行声光报警,警示检测人员采取必要的行动。
2.6 通讯接口模块设计
检测仪具有与上位机PC通信的功能,通过串口可将测量数据传输给PC机,同时也可通过PC对检测仪的各项参数进行设置。
由于S3C2440A的输入、输出电平是TTL电平,而PC机配置的是RS232标准串行接口,因此要完成S3C2440A与PC机之间的数据通信,必须对TTL电平进行电平转换。在本系统中使用了SP3232E芯片来完成TTL电子到RS232电平的转换。
2.7 电源模块设计
本系统需要的工作电压有1.3V、3.3V、5V三种,其中S3C2440A内核所需的工作电压为1.3V;气体传感器、LCD显示屏等需要5V电压供电;S3C2440A的I/O口、一些主要的外围器件如SDROM、NORFlash、NAND Flash等需要3.3V电压供电。
检测仪采用可充电锂电池供电,通过5V稳压器LM340A-5获得5V电压,从5V电源通过SPX5205系列LDO稳压芯片获得3.3V和1.3V电压。
3 系统软件设计
根据系统的需求,系统软件设计主要包括嵌入式操作系统Linux的移植和基于Linux操作系统的应用程序设计。
3.1 Linux嵌入式操作系统的移植
传统的系统程序设计中一般采用前后台的工作方式,这种工作方式实时性不强,处理多任务的能力较差,而嵌入式操作系统能及时响应外部异步事件的请求,在规定的时间内完成对该事件的处理,并控制所有实时任务协调一致地运行。因此,为提高系统CPU的利用率以及系统的实时性,本设计选择移植入Linux嵌入式操作系统。
Linux是一个源代码开放、功能强大、效率高的实时多任务操作系统,它软件移植方便,可以根据具体的系统进行裁减和优化。Linux操作系统的移植主要包含以下三个部分:引导程序(BootLoader)移植、內核配置与编译、文件系统的加载。
3.2 系统应用程序设计
系统应用程序使用C语言进行编写,采用模块化设计的思想,在主程序下分成若干彼此独立的功能子程序,开发工具为VS2005。
系统主程序主要包括系统初始化子程序、按键输入子程序、气体数据采集子程序、LCD显示子程序、声光报警子程序、数据存储子程序、串口通信子程序、串口中断处理子程序等。
系统主程序如图2所示。
4 实验结果
检测仪是井下一线生产人员获得井下安全状况的重要手段。检测仪开机后,自动初始化系统各模块,通过LCD触摸屏显示系统主界面,人为触摸控制各项功能,进行气体检测、数据存储、数据查询、报警处理、数据传输等操作。检测仪上电后运行主界面如图3所示。
气体检测主要用于CH4、CO、H2S、O2四种气体浓度的实时检测,可一次性检测四种气体浓度,也可选择其中的一种气体进行检测;数据存储用以将检测所得数据存放于存储器中,以供历史查询;数据传输是检测仪与上位机PC通信的功能,检测仪可将测量数据传输给PC机,同时也可通过PC对检测仪的参数进行设置;当气体浓度超限时,检测仪会进行声光报警,这时点击报警处理,可解除报警。
5 结束语
本文以基于ARM9内核的S3C2440A微处理器为核心,结合Linux嵌入式操作系统,设计了一种新型的矿用便携式多参数气体检测仪,本检测仪体积小、携带方便、灵敏度高,能实时准确地检测出矿井中有毒有害气体的浓度,为井下作业人员提供安全保障,具有很高的实用性。