基于温湿度补偿的低功耗燃气井监测系统设计
2021-11-06陆鑫涛陶洪峰杨慧中
陆鑫涛,陶洪峰,杨慧中,陈 刚
(江南大学轻工过程先进控制教育部重点实验室,江苏无锡 214122)
0 引言
由管道事故引起的燃气泄漏会带来中毒、火灾甚至是爆炸等严重后果[1]。传统的依靠人力来进行巡检的方式存在着严重的滞后性。因此,燃气井中可燃气体泄漏量的实时监测对确保井中燃气管道的安全有着重要的实际意义。
B.Yang[2]等通过嵌入式,信号处理等技术设计出了可燃气体浓度检测系统。夏睿[3]等为了防止由燃气泄漏带来的公寓建筑破坏以及人员伤亡,设计了基于WirelessHART的可燃气体浓度监测装置。马为红[4]等利用ZigBee技术实现了面向大规模、多区域的可燃气体远程监测预警。由于这些设计只能在特定环境中使用,无法满足在类似于燃气井这种内部空间狭小、无电源、环境复杂多变的场景监测要求。近几年出现的NB-IoT技术[5-6]刚好可以解决这一问题。NB-IoT具备的低功耗、广覆盖、低成本、大容量等优势,适合于低频、小数据包,并且对覆盖范围要求比较高的物联网业务。此外,由于井中的运行环境比较复杂,温湿度变化对可燃气体传感器会产生较大的影响,所以利用可检测的环境因子对可燃气体传感器的检测结果进行补偿校正,使传感器具有更高的测量精度。
1 系统总体组成
该系统由3层组成,分别为:数据采集层、数据中转层以及应用层。具备采集端数据实时采集、无线传输数据、数据存储管理、远程监测和实时命令下发等功能,实现了对燃气井中可燃气体浓度以及井盖状态的分布式监控和集中管理。系统总体结构设计方案如图1所示。
第一层为数据采集层。在不同的燃气井中分别部署。主要包括了传感器模块(包括可燃气体传感器以及温湿度传感器)、微控制单元(microcontroller unit,MCU)和NB模块等。数据采集层主要负责采集燃气井中的实时数据。采集完成后,通过NB模块将数据发送至数据中转层。
第二层为数据中转层。数据中转层包括核心网、通信基站以及云平台等。NB模块通过核心网将采集到的数据发送到附近的接收基站,基站再通过CoAP协议将数据传送至云平台[7-8]。云平台将所有接收到的数据集中到一起,并且封装出一系列功能丰富的API接口,以便应用层可以通过这些API接口来实现命令下发、设备管理,获取设备历史数据等功能。
第三层为应用层。应用层由数据库、人机交互端组成,人机交互端又分为前端和后端。开发者可以在后端通过HTTPS协议调用云平台提供的API接口,也可以通过前端来向终端设备发送命令,或者是实现设备的绑定与删除等。
3个不同的层次相互配合,由数据采集层到应用层的数据上传,实现对燃气井内状况的实时远程监测,从应用层到数据采集层的指令下发实现对设备的控制。
2 系统硬件设计
系统硬件设计主要分为4部分:微控制器模块设计、NB-IoT通信模块设计、传感器模块调理电路设计以及终端电池选型。
2.1 微控制器模块设计
微控制器模块设计框图如图2所示,主要包含了NB模块、传感器模块、MCU等。利用温湿度传感器DHT11、催化燃烧式可燃气体传感器MC114C、行程开关等,分别获取燃气井内的温湿度、可燃气体含量以及井盖的状态。MCU是整个微控制器模块的核心部分,负责数据采集、处理、分析以及与NB-IoT模块的通信。系统选用STM32L452CE为主控芯片。L系列芯片有低功耗特点,其内部核心为基于超低功耗的ARM Cortex-M4 CPU,能够最大程度减少功率损耗[9-10]。MCU主要用于完成温湿度、可燃气体浓度、行程开关信号的采集和处理,并将经过处理的数据按照特定格式存储到内部存储模块,再通过NB模块将储存的数据发送到基站,发送完成后进入低功耗模式,通过内部闹钟唤醒来达到定时上报的功能。
MCU将数据发送给NB模块后,NB模块创建终端和基站之间的传输通道上传数据。同时也具有监听平台下发命令的功能,当终端收到来自平台下发的指令时,可及时对该指令作出响应。
MC114C可燃气体传感器输出微小电信号后首先经过运算放大器放大,再经过A/D转换变成MCU可以处理的数字信号;DHT11温湿度传感器采用单总线通信的方式与MCU的GPIO口相连;行程开关是一组常闭开关,直接连接MCU的GPIO口。MCU与NB模块之间通过串口进行通信,模组接收到MCU通过串口上报的数据后,将payload自动封装为CoAP协议的消息,经由基站发送给IoT云平台。
2.2 NB-IoT通信模块设计
NB-IoT通信模块进行终端与云平台之间的信息交互。通过MCU中所编写的指令程序来实现对NB模块的操控,MCU与NB模组之间通过串口通信,将处理完成后的数据按照指定格式存储后经NB模块上传至云平台。
BC95-B5是NB-IoT的一款高性能、低功耗的无线通信模组。本设计选用BC95-B5作为NB通信模块,通过简单的AT指令来完成设备入网。例如AT+CFUN=1可以完成射频的开启,AT+CGATT=1可以完成设备的入网,AT+CGATT?可以询问是否已经完成入网等。
2.3 传感器模块调理电路设计
可燃气体传感器的主要类型有半导体气体传感器、电化学气体传感器、催化燃烧式气体传感器、红外气体传感器、光电离型气体传感器等。根据实际需要(考虑耗电量,成本等因素),本设计选用MC114C催化燃烧式可燃气体传感器,该传感器对甲烷以及多种可燃气体都有较高选择性和灵敏度,一定体积分数的可燃气体会在催化剂的作用下与空气中的O2接触发生氧化还原反应,反应时温度升高从而导致传感器内部电阻增大。该传感器的测量范围为0~100%LEL,满足燃气井内可燃气体泄漏量检测需要的测量范围。
MC114C可燃气体传感器的额定工作电压为2.5 V,输出信号范围为0~120 mV。为了提高传感器检测精度并满足电源供电要求,专门为该传感器设计了一个调理电路,用于对传感器输出信号进行放大和调整供电电压。传感器模块调理电路如图3所示。
电源电压由VCC口接入,经稳压芯片将电压稳定至2.5 V后给传感器提供额定电压。MC114C可燃气体传感器作为电桥电路的一个臂,另外一个臂由电阻R1,R2以及电位器RP1组成,RP1起调节零点作用。可燃气体浓度发生变化后,传感器内部的氧化还原反应温度发生变化,导致传感器内部电阻值变化,从而改变电桥电路的输出信号,输出信号由AD623芯片放大后经OUT口发送到MCU的ADC采集端。
AD623放大倍数计算公式为
(1)
式中:Vo为芯片输出电压,V;RP2为可调电阻,Ω;Vc为输入电压,V。
ADC口的输入电压范围为0~3.3 V,选取RP2为5 kΩ,放大倍数为21倍,可燃气体传感器输出信号范围扩大至0~2.52 V,满足ADC口输入电压范围并且使其采集到的数字量变化能更好地反映出井内可燃气体浓度变化。稳压芯片选用HT7125-1,该芯片的特点是低功耗,低成本,稳压精度高。
2.4 终端电池选型
通过实际测试得到数据采集终端每次的采集和发送过程持续时间大概在20 s左右。通过在微系统中串入电流表来获取终端工作电流,前5 s平均电流大概在330 mA左右,后15 s的平均工作电流大概为75 mA,休眠时工作电流在75 μA左右。
系统工作时的功耗计算如式(2)所示。运行时间为20 s,休眠时间设定为10 min,一次运行周期为620 s,一天的运行次数为140次左右,总运行天数按照项目需求设为2 a(730 d)。
Ww=UIwT=3.6×(0.33×5÷3600+0.075×
15÷3600)×140×730=283.605
(2)
式中:Ww为工作时的总功耗,W;U为电池额定电压,V;Iw为工作时微系统中的电流,A;T为运行的总时间,h。
休眠时的功耗计算与工作时功耗计算公式类似,计算值为9.199 8 W。
总功耗计算如式(3)所示:
Ws=Ww+WD=292.804 8
(3)
式中:Ws为电池总功耗,W;WD为休眠时的总功耗,W。
根据工程经验,电池深度放电系数α为80%[12]。
(4)
式中:Wr为实际消耗的总功耗,W;α为电池深度放电系数。
因此本系统选用4节3.6 V 35 A·h的ER341245锂亚柱式电池并联组成电源模块,该电源模块能承受的最大功耗大约为504 W,满足设计需求。
3 系统软件设计
系统软件运行流程图如图4所示。
程序开始运行以后首先要进行的是GPIO、USART等外设的初始化工作,然后进行传感器数据的采集,采集完成后对数据进行相对应的滤波以及补偿处理,再按照一定格式存储到单片机中。然后NB模组入网,进行CDP(continuous data protection)服务器的配置,以及打开射频、网络附着等入网操作。入网成功之后首先要判断当前的网络质量如何,如果网络好,直接进行数据的发送,发送完成后获取当前时间并切断处于工作状态模块的供电,以防产生多余的功耗,MCU则进入休眠模式等待下一次闹钟唤醒;通过AT指令判断网络信号,若网络信号不好就跳过发送数据的步骤,并进行相同的操作。网络不好会导致数据采集终端一直处于发送数据的状态,但是数据又无法被接收,从而导致电池电量产生无意义的浪费。因此,出于设备低功耗考虑,网络不好的时候就跳过这一次数据采集,等待下一次唤醒。
设备入网主要是依靠几条简单的AT指令来完成。首先第一条发送的指令是AT+NCDP,该命令用于配置模块CDP服务器,即为IoT云平台的IP地址和CoAP端口号。接着用AT+CFUN来打开射频功能。AT+NNMI和AT+NSMI分别为开启两个通知,前者是开启发送数据通知,如果终端向云平台发送数据则PC端的串口调试助手会自动返回+NSMI:SENT提示,通过该条命令可以知道自己发送的内容从而对格式进行微调,确保发送数据格式的正确性。后者是开启云平台向终端发送信息的通知,如果云平台向终端发送数据,串口会收到一条新通知,通过此通知来获取平台下发命令。AT+CGATT=1是激活通信模块的网络,因为激活网络有延时,因此在发送激活网络指令之后要再发送一条AT+CGATT?来确认网络是否已经激活成功。最后通过AT+NUESTATS?来查询当前网络的信号,如果信号没问题,则入网成功可以进行下一步操作。
4 传感器的检测补偿
4.1 温湿度对传感器检测的影响
传感器调理电路的输出电压经A/D转换后的数字量与被测物理量之间具有线性关系,实验以25 ℃,湿度60%作为标准状态,将MC114C可燃气体传感器与经过标定的JXM-LEL传感器同时置于密闭容器中,并通入一定浓度的可燃气体,通过串口调试助手同时记录未标定MC114C传感器所采集到的数字量数据以及JXM-LEL所采集到的气体浓度值,以JXM-LEL传感器的测量值为标准值。
在温度25 ℃,湿度60%的标准状态下采集一系列实验实测数据进行一元线性回归拟合,由图5可知,数字量数据与气体浓度值呈线性关系,补偿模型如式(5)所示,拟合优度R2=0.996 9。
(5)
式中:L为井中可燃气体浓度,%;Dr为标准状态下可燃气体浓度所对应的数字量。
温湿度变化对传感器灵敏度都会有不同程度的影响。将传感器放入不同温湿度条件下的1%浓度甲烷标气中进行实测的实验数据如表1所示,其中标准值为在温度25 ℃,湿度60%环境下对应的数字量。
表1 不同温湿度下数字量测量值与标准值偏差
由表1可知,在偏离标准温度和湿度环境下,传感器的测量结果与标准值偏差较大,因此,对传感器做温湿度补偿是很有必要的。
4.2 温湿度补偿算法
对于选用的MC114C可燃气体传感器,其不同温湿度下的输出信号与标准状态下的输出信号比值呈一定的曲线关系,所以需要将检测到的温湿度用于对可燃气体传感器测量结果的补偿校正。本文将可燃气体传感器置于不同温度和湿度的环境中,并通入百分之一浓度的甲烷标气,待气体浓度稳定后,通过串口调试助手记录传感器采集到的数字量数据,求出实验记录的数字量数据与标准环境下所采集到的数字量数据之间的比值。在温度范围为10~45 ℃,湿度范围为5%~90%的环境下,采集数据共50组。
由于数字量比值同时受到温度和湿度两者的影响,所以要进行二元函数的拟合。本文构建了一个MC114C可燃气体传感器的温湿度补偿项如式(6)所示,只要求出式(6)中a~f各个常数项,就可以得到温湿度与数字量比值之间的输入输出关系。
(6)
式中:a~f为常数项;ε为随机误差项;Dc为不同温湿度环境下所采集到的数字量;Dr为标准环境下气体浓度对应的的数字量;T为温度,℃;H为湿度,%。
将实验得到的50组数据中温度和湿度归一化后与数字量比值代入式(6),并采用最小二乘法求出常数项的估计值。经过计算得到a=-0.115 1,b=0.154 6,c=0.052 9,d=-0.104 6,e=-0.070 9,f=1.032 8。拟合度R2=0.955 3。最后将式(6)代入式(5)可得最终经过温湿度补偿后的公式为
(7)
4.3 补偿验证
在实验室环境下通过将MC114C传感器置于不同温湿度条件下的1%浓度甲烷标气中进行检测,记录应用端软件所显示的各个终端的可燃气体浓度值,作为当前的测量值。
表2 传感器精度测试结果
由表2可知,在不同温湿度环境下,可燃气体传感器的测量值与真实值较为接近,平均测量误差保持在±5%以内,满足设计需求。
5 结束语
为了对燃气井中的可燃气体含量进行实时监测,本文设计了基于NB-IoT技术的燃气井实时监测系统,完成了数据采集层、人机交互监测系统等软硬件开发。考虑到燃气井中恶劣的运行环境,根据温湿度变化对传感器采集到的数据进行了校正。实验结果表明,该系统拥有运行稳定、功耗低、获取数据便捷、建设成本合理等特点,可以为以后NB技术的广泛应用提供参考。