NB-IoT物联网燃气表研究设计探讨

时间:2022-07-22 02:42:44

NB-IoT物联网燃气表研究设计探讨

摘针:针对物联网技术的发展现状和智能燃气表对低功耗与强连接的需求,提出了一种基于NB-IoT技术的物联网智能燃气表的设计方案。该方案采用瑞萨R7F0C004芯片作为MCU采集燃气计量数据,以N700-58为通信模组实现网络连接,业务数据经由CoAP协议封装后发送到电信AEP平台,再由AEP平台推送到燃气表业务管理平台系统实现数据通信。测试结果表明,所设计的燃气表终端无论是在连网收发数据,还是在低能耗方面都达到了预期的设计目标,能够很好地满足应用需求。

关键词:NB-IoT;物联网;燃气表;数据传输;低功耗

近几年,随着物联网技术的快速发展和我国智慧城市建设的推动,5G、NB-IoT(NarrowBandInternetofThings)、GPRS、LoRa、WiFi和蓝牙等技术得到了广泛应用。其中,NB-IoT作为一种窄带物联网的新兴技术,具有高覆盖、强连接、低速率、低成本、低功耗等优势,并且使用授权频道,由电信运营商负责组网运营,网络信号稳定、抗干扰能力强、数据传输安全可靠,逐渐成为了物联网通信技术的首选[1-4]。特别是在燃气表和水表行业,终端主要是采用电池供电,更换一次干电池需要能工作12个月以上,如果采用锂电池供电,则要求一颗容量为8.5Ah的锂电池能工作10年(与燃气表的使用年限相同),并且,一般都还要求每天至少连网通信一次。正是如此苛刻的能耗限制,使得NB-IoT技术在水、气表行业应用中脱颖而出。本文介绍了一种基于NB-IoT通信技术的物联网智能燃气表系统设计。

1系统方案

本文设计的物联网燃气表的整个应用系统方案主要由燃气表终端、NB-IoT网络、中国电信AEP平台和燃气表业务管理平台4部分组成[5]。系统架构如图1所示。中国电信AEP平台是中国电信倾力打造的智能终端汇聚、应用开发运行服务和轻量级应用服务的物联网平台。平台具有终端接入、终端管理、消息推送、规则引擎和数据存储等多种能力,同时提供了端到端的安全认证和安全传输双重保障机制,方便客户对接智能终端,快速集成应用。燃气表终端利用NB通信模组与NB-IoT网络建立连接,使用CoAP协议经NB-IoT网络将数据发送到AEP平台,再由AEP平台使用HTTPS协议将数据发送到燃气表业务管理平台。方案中的NB-IoT网络和AEP平台为公共资源,由运营商提供,燃气表终端和业务管理平台需要自主开发,本文主要研究燃气表终端。

2硬件系统设计

2.1系统硬件结构

物联网燃气表终端的主要功能是采集计量燃气的使用量,上传气量数据及表具内状态数据到业务管理平台系统,同时接受平台系统下发的查询、校时、阀门控制等指令,并执行相应的操作,完成燃气计量收费及管控的功能需求。本系统以高性价比和超低能耗完美兼得的单片机瑞萨R7F0C004作为主控MCU,其内部高速振荡器系统时钟可高达24MHz,片内具有128KB代码Flash、2KB数据Flash和8KBRAM,数据Flash可用于存储燃气表的运行数据,代替外部EEPROM存储器。系统的主要功能模块包括NB通信模块、红外近程通信模块、蜂鸣器模块、实时时钟模块、LCD显示模块、电源及电压检测模块、阀门驱动模块、膜式燃气表、脉冲计量采集模块等[6-7]。系统硬件结构如图2所示。

2.2NB通信模组电路设计

物联网燃气表通过NB通信模组连接上NB-IoT网络,再与业务管理平台系统交换数据,完成燃气计费及表具管控等业务。本设计选用深圳广和通公司的N700-58通信模组,N700-58是一款高性能、低功耗的窄带物联网无线通信模组,符合3GPPR13和R14标准,支持Band5和Band8频段,内嵌TCP、UDP、CoAP、MQTT等多种协议栈,方便终端应用开发。MCU使用串口与NB通信模组进行连接通信,由于NB通信模组的端口电压是1.8V,而MCU的端口电压是3.3V,故需要使用三极管做一个电平转换电路才能正常通信。NB通信模组电路如图3所示。

2.3阀门驱动电路设计

两线直流电机阀是目前智能燃气表中使用最为广泛的一种阀门,价格便宜且实用可靠。开(关)阀门的始动电流一般在150~300mA之间,正常行程的电流在20mA左右,而开(关)到位后的堵转电流却与始动电流一样大,如果阀门进入堵转阶段后不及时停止转动,持续的大电流消耗对整个系统的供电是一个挑战,很容易造成系统复位。本设计采用AT9110A芯片驱动阀门,芯片的工作电压范围为2.5V~18V,连续电流输出能力为800mA,完全满足驱动阀门的需求。在电路中再加上一路AD检测,可检测到正常行程阶段与堵转阶段的电压值变化,从而判断出阀门开(关)是否已到位,及时控制阀门停止转动。阀门驱动电路如图4所示。MCU输出高电平到ValveC1端口,同时输出低电平到ValveC2端口,或输出电平相反,实现电机马达M1的正反转,从而实现阀门的打开或关闭。在阀门执行动作的过程中,每间隔10ms通过ValveCHK端口检测一次电压,以判断阀门是否已执行到位,进入了堵转阶段。

2.4红外通信电路设计

在物联网燃气表的生产和测试阶段,需要有一种简单方便的方法对燃气表的运行参数进行配置,另外,对于已经安装使用的燃气表,如果发生故障不能连网了,上门维修的人员也需要有一种方法在不拆表的情况下,就能读取表具内的信息,分析出故障原因并修复。居于这两方面的需求,成本低廉的红外近程通信技术成为了首选。图5是红外通信NetworkandCommunication誗网络与通信的电路,图中IR_TX和IR_RX连接MCU的串口引脚,当需要进行红外通信时,连接IR_VCTR的引脚置低电平,给红外通信电路供电并工作。

2.5计量采集电路设计

把两个可配置为中断模式的I/O引脚作为计量数据采集端口,端口电平外部上拉到VDD(3.3V)。计量干簧管S1和S2安装在膜式燃气表计数器末位数轮(装有一个磁钢)的上下两端,当使用燃气时,末位数轮转过一圈,磁钢把S1和S2先后各吸合一次,拉低采集端口的电平,从而产生中断,MCU收到两路中断,表明燃气又消费了0.01m3。计量采集电路如图6所示。

3软件设计

3.1软件结构

物联网燃气表终端的控制系统软件,按层次结构可划分为主程序、中断服务程序和功能模块子程序三种组成部分[6-7]。中断操作包括按键中断、干簧管计量中断和定时器中断等,中断服务程序仅做一些简单的条件判断和标志中断事件的发生。功能模块子程序主要有定时器操作模块、燃气计量模块、蜂鸣器提醒模块、数据存储模块、LCD显示模块、电机阀控模块、红外近程通信模块、NB网络通信模块、电压检测和掉电处理模块等。软件采用C语言进行开发,开发平台使用RenesasCS+forCC集成开发环境。

3.2数据报文定义

数据传输的可靠性和准确性需要合理的通信协议。其中,协议的数据报文部分,本文根据应用业务需要,采用自定义方式对数据报文进行定义。报文帧由帧起始符、数据长度、指令ID、信道标志、指令数据域、检验码和帧结束符组成,具体的报文定义如表1所示。通信传输时,还需要将报文帧包经由CoAP协议打包后再传输[8]。报文帧中的指令ID字段,作为一次指令传输的唯一标识,由指令发起方生成,应答方则是直接返回相同值,表明该数据包是对某一指令的应答帧。指令数据域则是按不同的业务指令定义其数据格式,指令数据结构定义如表2所示。

3.3网络通信及低功耗设计

NB网络通信的低功耗特性依赖于其工作机制的两种低功耗模式:PSM省电模式和eDRX扩展非连续接收模式[9-11]。NB通信模组的耗电流,在PSM模式下最低可低至5μA。不过,燃气表在正常使用的情况下,每天仅主动连网一次与业务管理平台服务器交换数据,不需要实时在线。因此,燃气表的NB通信模组不需要进入低功耗模式,每次需要通信时给NB通信模组供电,通信结束后断电,这种方法比采用低功耗模式更加省电。要进行通信,首先初始化MCU与NB模组连接的串口,给NB模组供电,再拉低模组的POWER_ON引脚至少800ms使模组开机。之后,MCU通过AT命令集与NB模组进行交互与控制[12],先后完成SIM卡身份认证、网络附着、申请IP地址、连接电信AEP平台、发送接收数据等操作。表3是通信过程中使用的主要AT命令集。

4测试

4.1NB通信测试

本文使用10台NB物联网燃气表样机,结合电信AEP平台和燃气表业务管理平台系统,对燃气表连接NB-IoT网络、上行发送数据到服务器和接收服务器下发数据进行测试[13-14]。把燃气表配置为定时连接模式,每10min主动连网一次,如果连网失败,则在3min后再重连一次,前5台样机使用全新的电池,后5台样机使用旧电池,4节旧电池的电压在5.4~5.7V之间,测试结果如表4所示。由表4可以看出,只要连网成功(包括重连成功),接下来的发送和接收数据都很顺利。而连网失败的,则集中在使用旧电池供电的5台样机,可能是电池的电压已接近限制使用电压值,无法保障短时间内多次连网的电能需求。

4.2能耗测试与分析

燃气表终端采用4节5号碱性电池供电,且更换一次电池需要可用12个月以上,产品才能被市场接受。所以,低功耗设计是产品的一大重点。以下是各主要耗电部分的实测数据和分析:(1)静态电流。燃气表的绝大部分时间都处于休眠状态,实测得其静态电流为10μA。(2)通信电流。每天连网通信一次,每次通信在30s以内完成,使用一台安捷伦66319D程控电源测试通信过程,测得其平均工作电流为85mA,把该工作电流再均摊到24h,得出平均通信电流为29.51μA。(3)脉冲计数电流。假设每天使用燃气5m3,计数轮转500圈,共产生1000个脉冲。MCU处理每一脉冲大约需要10ms,工作电流为3.8mA。由此可计算得出平均计数电流为0.44μA。(4)阀控电流。假设每月阀门开或关共6次(正常运行的情况下为0次),每次工作3s,工作电流为50mA。由此可计算得出平均阀控电流为0.34μA。(5)其他耗电流。主要有大电容的漏电流、蜂鸣器和LCD等的耗电,平均耗电在3μA左右。由此可得燃气表终端的平均耗电流为43.29μA。为取得干电池的容量值,针对市面上常见的3种5号碱性电池做了放电测试,电压从1.5V降至1.275V,其放出电量基本都在1000mAh左右。另外,考虑到电池自放电及其他因素,一般以可用电量的80%作为实际可用电量。因此,以800mAh电量来计算,得出电池的使用年限为2.1年[15]:

5结论

本文从系统软件、硬件和低功耗等方面,详细介绍了一种NB-IoT物联网燃气表的设计方案。随着NB-IoT技术的快速发展,以及我国三大电信运营商的大力推广,采用NB物联网技术已成为水、电和气表发展的主流方向。本文研究设计的物联网燃气表正是顺应发展趋势,其市场前景广阔,相信将会有非常好的商业价值。

作者:高柱荣 单位:桂林市利通电子科技有限责任公司