APP下载

基于ZigBee的有害气体检测系统设计

2013-08-13高同辉杨立峰

电视技术 2013年13期
关键词:原理图气体供电

高同辉,杨立峰

(平顶山工业职业技术学院a.自动化系;b.计算机系,河南 平顶山 467001)

责任编辑:魏雨博

随着工业的发展,各种有毒气体和易燃气体,危害着人们的生产生活,特别是H2S,CO和CH4等有害气体更是对安全生产和群众的生命安全造成巨大的威胁。研究便携的、智能化的、能够无线传输的有害气体浓度检测装置,会给人们的生产、生活带来安全保障。

1 系统设计方案

有害气体检测系统设计结构框图如图1所示,共分为4个部分:气体检测模块、数据采集模块、ZigBee无线网络传输模块、电源监测管理模块等[1]。

图1 系统设计结构框图

气体检测模块包含传感器和信号调理电路,传感器获取的被测气体的模拟信号,经由微控制器STM32F103的3个A/D通道,进行数模转换和数据换算,得到气体浓度。

数据采集模块包含以STM32F103[2]为核心的A/D数据采集电路和 JTAG、ISP、UART电路。ZigBee无线网络传输模块采用周立功公司的ZICM2410模块实现。

电源监测管理模块是为了保证系统在外部供电异常或没有外部供电的情况下能够正常工作,并通过STM32F103的I/O接口控制,从而在不需要采集数据时降低功耗。

2 系统硬件设计

2.1 气体检测模块

2.1.1 H2S,CO 检测电路

H2S,CO传感器采用三端电化学气体传感器,其工作原理是利用化学原理将探测器置于待测气体中,待测气体和探测器中的化学物质发生化学反应,通过测量化学反应产生的电流来测量气体浓度。

H2S传感器采用美国RAE公司的4H2S-100电化学传感器;CO传感器采用英国MRB科学公司的S+4CO电化学传感器。

该检测电路由传感器和调理电路[3](恒电位电路和I/V变换放大电路)组成。电化学传感器在恒电位模式下工作,其输出的微弱电流无法满足A/D转换的检测电压要求,因此采用高增益,低噪声TLC27L2CD运算放大器,将输出电流转换并放大成STM32F103的A/D可以检测的电压范围。

H2S、CO 检测电路原理图如图2 所示。R4,R5,C2,U1B构成恒电位电路,当反应过程中S,C两极间电压发生变化,该电路能够自动调节电位,其中R4,C2作用为低通滤波。Q1为结型场效应管IRF4905,当接通工作电路时,Q1会处于高增益工作状态。而当电路断电时,参考电极R和感应电极S之间短路,传感器保持在就绪状态,再次上电时可以缩短传感器的启动时间。R3,C1对输出信号进行滤波,R6,R7为传感器提供500 mV偏置电压VBias。

图2 H2S、CO检测电路原理图

当传感器置于被测气体中,S极上的反应将被测气体氧化,生成的氧化物向传感器外扩散,传感器内产生出氢离子和电子。氢离子通过电解质向C极迁移,此过程会留下负电荷堆积在S极。电子从S流出经过电阻R1到放大器(U1A)的反向输入端,放大器配置成一个跨阻放大器,将工作电极送来的信号电流变换为一个与所测气体的浓度成比例的电压信号。输出电压U=IS×R2+UVBias。

2.1.2 CH4检测电路

CH4传感器为催化燃烧式传感器,其工作原理是将由气敏材料制成的探测器置入待测气体中,在电源供电的环境中,待测气体在催化剂的催化作用下发生氧化反应,即无焰燃烧,从而使探测器中铂丝电阻的阻值发生改变,通过测量探测器电阻值变化来获取气体浓度值。

设铂丝电阻值的变化量为ΔR,则

式中:a为气敏传感器的温度系数;ΔT为气体燃烧时温度上升值;C为气敏传感器的热容量;m为气体的浓度;Q为气体分子的燃烧热;α为系数。

由于气敏传感器的结构、材料确定后是固定不变的,则气敏传感器电阻变化值与被测气体的浓度成正比,即ΔR=αKm,从而知道测出传感器的电阻变化值,就可以测得气体的浓度。

CH4气体传感器采用MJC4/2.8J型催化燃烧式传感器。该CH4检测电路原理图如图3所示,由传感器、电桥和差动放大器组成。S1中的Rh与Rf为传感器内部电阻(Rh为补偿元件,Rf为检测元件),外部 R1、R2、Rf构成平衡电桥,Rf用于调节偏压。U1A作用为差动放大,输出信号经R7、C1滤波后进入STM32F103的A/D端。传感器工作电压(电阻丝加热电压)为2.8 V,由3.3 V电源经1N4148降压得到。

图3 CH4检测电路原理图

2.2 数据采集模块

数据采集模块电路原理图如图4所示,三种气体检测模块的输出端连接至STM32F103的PC0~PC2端[4],对传感器采集到的模拟电压进行A/D转换,并对转换后的无量纲数据进行换算,得到所测气体浓度值。A/D转换时的基准电压采用VREF引脚电压。同时STM32F103还通过I/O口负责传感器电源、风扇电源的开关控制和电源低压检测等。

图4 数据采集模块电路原理图(截图)

2.3 ZigBee无线网络传输模块

ZigBee收发模块采用美国GEL公司的内置51核的ZICM2410模块,其电路原理图如图5所示,模块内有一个集成的PCB板载天线,可以连接50 Ω的外部F型天线,支持全向辐射模式,天线悬置于主板边缘。此模块通过串口中的RXD和TXD管脚与STM32F103的PA2(TXD)和PA3(RXD)相连,实现数据传输,并通过天线发射或接收信号。

图5 ZigBee无线网络传输模块电路原理图(截图)

2.4 电源监测管理模块

2.4.1 充电管理电路

系统采用聚合物锂离子电池供电,外接5 V直流电源适配器为电池供电。在正常情况下,系统通过外部直流电源供电,当外部电源意外中断时,内部的锂电池会继续为系统供电,保证电路在一定时间内正常工作。

充电管理电路原理图如图6所示,以充电管理芯片采用TP4055为核心[5],当外部5 V直流电源接入后,对锂离子电池充电同时向后级供电,此时电池进入到4.2 V停充→放电到4.1 V→再充电的循环过程,R504设置充电电流为300 mA,此时芯片的最大热耗为(5-2.9)×0.3 W=0.64 W,为防止过热接耗散电阻 R501、R502分担热耗0.35 W。D2为充电指示灯,点亮表示正在充电,闪烁表示没有连接电池且后级关闭。

2.4.2 后级稳压电路

后级稳压电源分为数字3.3 V、模拟3.3 V和5 V,分别为单片机、传感器、风扇等供电。其稳压电源原理图如图7所示,根据各个电源所供电电路的功率估算,数字3.3 V由开关型降压芯片LM3671提供,模拟3.3 V电源采用低 压差低噪声线性稳压芯片TPS76433提供[6]。

图6 充电管理电路原理图

图7 后级稳压电源原理图

2.4.3 低压指示及欠压保护电路

锂电正常工作电压为3.7~4.2 V,放电至电池内部保护电压的2.35 V以下时,将自动切断输出,但经常反复如此会减少使用寿命和容量。此电路能在低于3.75 V(电池剩余容量15%)时,通过VCC_LOW引脚向STM32F103报警,并通过ZigBee向上位机报警,关断5 V稳压芯片输出使能或将传感器休眠以节省功耗。当电池电压降至3.6 V(电池剩余容量3%)时切断供电,直至接入充电或者更换电池后才能继续供电,此时进入低耗能状态,直至电压降至2.35 V电池锁闭,低压指示及欠压保护电路原理图如图8所示。

图8 低压指示及欠压保护电路原理图

3 系统软件设计

3.1 数据采集软件设计

软件设计平台为Keil MDK4.23,采用模块化设计的C语言编程,各个模块可在AppConfig.h文件中通过宏定义自行裁剪,增加了软件的灵活性,便于升级。此外AppConfig.h还定义了设备地址、通信数据包长度等全局信息。上电后STM32F103会通过Sys_Init函数进行软件初始化,该函数配置了Flash、ADC、UART等模块,并从Flash中读取保存的AD校准和数据换算参数。初始化之后进入低功耗休眠模式,此时传感器和风扇电源关断,并等待上位机指令唤醒设备。软件流程图如图9所示。

图9 软件流程图

3.1.1 接收数据及协议解码

软件通过中断唤醒CPU并开始接收指令数据,通过判断起始帧0xAA来确定起始数据,并在Sys_ProtecolDecode函数中进行协议解析,控制帧的通信协议格式如图10所示。

当接收到的设备编号和本机定义的设备编号 DEVICE_ID相同时,通过Sys_CMD函数执行相应的设备指令。

3.1.2 命令执行及数据采集

本系统的数据来自3路模拟传感器电压输出,通过STM32进行A/D转换。在数据采集过程中,软件在ADC16_Sample函数中分别对 AD0、AD1、AD2通道进行A/D采样,采样方式为连续16次采样,进行均值滤波,然后将采集到的无量纲值通过DataExc函数转化为气体浓度值(16 bit int型),拆分成2个字节装入数组中发给Zig-Bee模块。

3.1.3 协议编码及发送数据

本模块共需要向上位机发送3个气体浓度数据,分别保存在6个字节中,需要在向ZigBee芯片发送之前封装成21 byte的数据帧。数据帧的封装和发送工作在Sys_ProtecolEncode函数中完成。

3.2 上位机监测软件设计

上位机数据监测软件采用VB.NET语言编写[7],软件采用事件触发结构,通过串口与协调器模块通信,以一定的时间间隔向协调器发送指令,并通过协调器发给模块。

终端模块入网时,会通过协调器向上位机提交入网信息。上位机通过长地址识别具体模块后,在控制帧基础上封装短地址等信息,经协调器发给终端模块。终端模块也通过短地址经协调器和串口将数据帧封装后发给上位机软件,软件解析出数据后通过NTGraph图形控件显示气体浓度的实时变化曲线。在数据检测软件中,解析前的控制信息和解析后的数据信息统一定义在 ZigBeeData-Code结构体中,其具体定义如下:

分别为协议编码、解码函数,实现了字节数据与Zig-BeeDataCode类型的相互转换。其定义如下:

同时,软件可以选择气体浓度采集的时间间隔和浓度报警上限,超过上限后,会通过对话框和提示音报警。

3.3 ZigBee无线网络通信建立

使用USB通信电缆将ZICM2410[8]模块和PC机连接后,进入配置状态。可以实现本地及远程节点信息的获取、配置,以及无线远程IO控制、AD采集等功能。配置命令通过串口通信进行,一条控制命令包含帧头、功能码和对应的参数或数据,所有数据格式均为16进制。

系统上电后ZICM2410模块首先进行初始化,然后进入休眠模式。当有中断发生时,则退出休眠模式。如果接收到上位机的命令时,向STM32发送接收到的命令。如果是要发送数据,则接收STM32发送的数据,并将数据发送出去。数据发送完后,ZICM2410模块进入休眠模式。

4 实验测试

在实验室连接好各个电路模块,分别取3种气体的标准气样进行试验,实验结果如图11所示。CH4气体的基本误差0.03%,H2S气体测量精度为 ±3%(F.S),CO 误差±2%(F.S)符合标准要求。

图11 气体测量运行图(截图)

气体测量的标定方法是将气体检测模块置于纯净气体样本中得到零点采样值AO,再将模块置于浓度为Vs的标准气体样本中,得到标准点采样值As,做出传感器浓度检测曲线。由于传感器在量程内呈现线性响应,所得实际测量公式为

5 小结

本文设计的有害气体检测装置,以ZICM2410的Zigbee无线网络模块和STM32F103微控制器实现3种气体浓度的检测以及数据的无线传输,并通过VB.NET开发上位机软件实现对气体浓度的实时查看。通过实验证明,能够较好地实现气体浓度的快速和准确测量。

[1]柏兴洪.基于ARM9的嵌入式气体检测系统硬件平台的设计及研究[D].重庆:重庆大学,2011.

[2]王杰.基于STM32F103矿用高压隔爆开关综合保护系统的研究与开发[D].天津:河北工业大学,2010.

[3]黎长云.基于ZigBee的低功耗无线油井传感变送器的研究与设计[D].武汉:湖北工业大学,2011.

[4]张毅,马俊元,杨校权.基于Cortex和ZigBee的智能家居网关设计与实现[J].电视技术,2012,36(1):56-59.

[5]凌好,刘忠荣.基于STM32的太阳能自动跟踪控制系统的设计[J].计算机测量与控制,2012(2):383-385.

[6]李宁.基于MDK的STM32处理器开发应用[M].北京:北京航空航天大学出版社,2008.

[7]金纯,何山,徐洪刚等.基于ZigBee的井下人员定位系统设计[J].电视技术,2011,35(21):138-140.

[8]广州致远电子有限公司.基于ZigBee技术的精准农业监控系统[J].电子技术应用,2009,35(9):34-35.

猜你喜欢

原理图气体供电
超高层建筑供电分析
二维定常Chaplygin气体绕直楔流动
非等熵Chaplygin气体测度值解存在性
战洪魔保供电
浅谈STM32核心板原理图设计
电路原理图自动布图系统的设计与实现
红军与供电人的故事
电气CAD原理图数据提取与辅助建模
基于Protel DXP 2004层次原理图的设计
吃气体,长大个