无线瓦斯传感器节点设计解说

MEMS/传感技术

1292人已加入

描述

在对比常用瓦斯传感元件的基础上,选择了OPTOSENSE公司最新生产的红外吸收式甲烷气体传感器MIPEX,设计了无线瓦斯传感器节点硬件电路。在ZigBee协议栈的基础上,设计节点软件程序。节点处于周期约为10 min的工作/休眠交替状态,在3节普通电池供电的情况下,从理论上估计其工作时间可超过10年之久,是采用传统低功耗瓦斯传感元件所远远不能达到的。

引言

瓦斯事故一直是煤矿安全生产的主要威胁。虽然近些年来,瓦斯监测技术不断发展,但瓦斯爆炸事件仍频频发生。国内外现有的煤矿安全监测系统均是采用有线连接方式,具有很大的局限性。由于传感器采用有线连接,这使其主要被限制在主矿道中应用。而在高瓦斯浓度的采煤工作面处,由于煤矿的不断开采,工作面各种大型设备需要不断地推进,设备之间的相互位置也不断地发生变化,有线监测网络不能及时跟进矿道的变化,从而造成监测盲区。将无线传感器网络应用于瓦斯安全监测系统中,与现有有线监测网络相结合,构建一个更为全面的井下瓦斯监测系统,将有助于改善目前瓦斯监测领域中存在的问题。

在这样的系统中,传感器网络节点采用电池供电,其能量十分有限。然而常用低功耗瓦斯传感元件的功耗高达数百mW.如何降低节点能耗是无线瓦斯监测网络所要解决的关键问题。

1硬件电路设计

表1列出了目前常用低功耗瓦斯传感元件及其主要指标。从表中可以看出,常用低功耗瓦斯传感器的功耗都在100mW以上,这对于由电池供电的无线传感器节点来说是非常不利的。而且表中所列传感元件都有一定的响应时间,即传感元件供电后,需要等待其响应一段时间,才能正确地反映瓦斯浓度信息。较长的响应时间限制了无线瓦斯传感器节点每次采集数据时的工作时间不能太短。例如,TP-1.1A非加热甲烷气体传感器的响应时间接近20 s.如果瓦斯传感器节点采用该传感元件,当其采集一次数据时,从给传感器供电开始,前20 s采集数据是没有意义的,因为这时传感元件处于响应阶段,其电压值不能准确地反映实际瓦斯浓度信息。因此每采集一次数据,给传感元件供电的时间至少持续20 s以上。对于如此高功耗的传感元件来说,采集一次数据所消耗的能量是非常巨大的。这使得所设计的无线瓦斯传感器节点的工作时间过短,以致不能达到实用化要求。

无线瓦斯传感器

在无线传感器节点的设计中,还存在一个问题,即传感元件的工作电压与节点电路中微处理器及无线收发电路工作电压不一致。如果节点中不同模块的供电电压不同,则电路需要进行电压转换。而不同电压的转换将会增加电路设计的复杂度,从而使得节点能耗增加。

俄罗斯OPTOSENSE公司生产的红外吸收式甲烷气体传感器MIPEX采用非色散红外技术(NDIR)原理进行设计,其光源采用非传统的节能LED光源。该光源系统采用了先进的算法产生优化的辐射光谱,光线通过布满甲烷的光学系统后到达含有硒化铅和硒化镉的光敏二极管上,从而对甲烷浓度进行监测。传感器内置温度传感器,并且内部集成信号处理和温度补偿系统,自行输出数字信号。数字信号可以有效地避免外部环境对其输出信号的影响。传感器输出的数字信号遵循UART格式。

本文所选用的无线收发芯片是CC2430,电源采用电池组供电。随着电池能量的消耗,电池组输出的电压变化较大,很容易超出传感元件所要求的工作电压范围,因此需要选择合适的稳压器件,给传感器元件和无线收发电路提供稳定的工作电压。主要考虑如下:①节点拟采用3~4节5号电池供电,即对于稳压器件来说,其输入电压范围为4.5~6 V;②MIPEX传感器工作电压范围为3~4.5 V,而CC2430无线收发芯片的工作电压范嗣为2~3.6 V,这里将两者电压统一选择为3.3 V,这就要求稳压器输出电压为3.3 V;③无线收发模块最大工作电流为27mA,MIPEX传感器平均工作电流为1 mA,所以要求所选择的稳压器件能提供不低于28 mA的输出电流;④所选择的稳压器件静态时的工作电流一定要尽可能小,以便节省能量。

考虑到同时满足以上4点要求,本文选择了深圳明和科技公司生产的低压差线性稳压器MH5333.它的输入电压最高可达10V,输出电压为3.3V;最大输出电流达500mA,静态电流为1μA.可见MH5333稳压器件能较好地满足上述要求。

由3~4节5号电池串联作为稳压器MH5333的输入,其输出(3.3 V)为无线收发电路和传感器元件提供电源。无线收发电路与传感器元件之间通过串口进行数据传输。CC2430的引脚P0.0和P0.1分别连接了一个LED灯,方便后面调试程序及观察程序的执行情况。为了降低能耗,这里采用CC2430的一个引脚控制MIPEX传感器的电源。MIPEX传感器对其电源的要求是电源电压在3~4.5 V范围内,输出功率在0.02~0.25 W.CC2430的P1.0和P1.1两个引脚可以提供20 mA的驱动电流,可见CC2430的P1.0和P1.1两个引脚的输出功率能够满足这一要求。这里选择CC2430的P1.0引脚控制MIPEX传感器的电源。甲烷传感器MIPEX的TXD和RXD引脚分别连接CC2430的P0.2和P0.3引脚,即连接到CC2430的异步串行接口0的RXD和TXD端。

2节点软件设计

红外甲烷气体传感器MIPEX输出的数字信号遵循UART格式,要求波特率为9 600,8个数据位,1个停止位,无奇偶校验位。MIPEX传感器的控制指令遵循ASCII码,并且每一个控制命令末尾都要以回车结尾。每个MIPEX传感器都有自己的地址,其范围为00~FF.出厂时默认地址为00,用户可以自己改写。由于每个无线瓦斯传感器节点只带有一个MIPEX传感器,不需要修改其地址。

MIPEX传感器的数据查询命令为DATA.当CC2430需要查询MIPEX传感器中的浓度信息时,首先要向MIPEX传感器发送一组命令:44 41 54 41 0D.其中前4个字节分别是“D A T A”所对应的ASCII码值,最后的“0D”为回车符的ASCII码。MIPEX传感器接收到查询命令后,其返回值为Concl.该返回值是以一个5位的ASCII码来表示浓度信息的,结尾仍然是一个回车符(0Dh)。例如,甲烷气体浓度为1.86%,传感器的返回值为00186.48 48 49 56 54分别为0 0 1 8 6的ASCII码,如下所示。

传感器上电后,需要60 s的热身时间。在这期间,传感器输出的不是浓度信息,一般为FFFF.60 s过后,传感器才输出正确的测量值。因此在设计读写传感器的程序时,等传感器上电1 min后,再向其发送数据查询及读取命令,否则读取的数据没有意义。

无线收发芯片CC2430有4种工作模式:PM0、PM1、PM2和PM3.其中PM3模式最省电,但只能被外部中断唤醒;PM2模式比较省功耗而且可以被定时唤醒。这里的低功耗设置是让CC2430工作于PM2模式。ZigBee协议栈的低功耗实现分为两个部分:一个是没有任务需要执行时,自动进入低功耗模式;另一个是CC2430周期性采集瓦斯浓度信息时的低功耗设计。ZigBee协议栈在进行任务轮询时,如果没有需要执行的任务,其会自动进入低功耗模式。具体实现是在协议栈主循环程序osal_start_system中调用osal_pwrmgr_powerconserve()低功耗函数。该函数把获取OS层timer下一次到时的时间作为参数,调用hal_sleep()进入PM2睡眠模式。如果当前没有任务,那么将进入PM3.在后续程序中,每次都设置一个传感器读取事件,即如果自动进入睡眠模式,则一定是进入PM2模式。睡眠前设置Timer2(睡眠定时器),醒来的时间刚好等于下次任务到来的时间,当完成任务后再次进入睡眠。

根据传感器的操作要求,设置无线瓦斯传感器按照以下的流程进行工作。节点处于工作/休眠交替状态,一个工作周期约为10 min.在前8分30秒中CC2430的P1.0引脚输出低电平,控制MIPEX传感器不工作。紧接着,CC2430进入低功耗运行模式。8分30秒过后,CC2430被唤醒,P1.0引脚输出高电平,即给MIPEX传感器供电。此时CC2430进入PM1低功耗模式。由于MIPEX传感器的热身时间为1min,这里设置70s后,CC2430被唤醒,开始读取MIPEX中的瓦斯浓度信息,然后将其无线发送出去。待发送完毕后,设置下一次瓦斯浓度读取事件,周期为20 s,这20 s内,CC2430自动进入低功耗模式。20 s之后,触发该事件,并送给应用层处理,开始了上述循环过程。程序设计的具体流程如图1所示。

无线瓦斯传感器

无线瓦斯传感器节点的工作流程主要是在zb_HandieOsalEvent(events)编程实现的,具体程序为:

无线瓦斯传感器

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分