中国移动通信集团广东有限公司 郭志彪
电表是电网数据采集的基本设备,担负着电能数据采集、计量和显示的任务,国内通常将采用微处理器的电子式多功能电能表定义为智能电表。随着智能电网的建设,对电表的功能提出了更高的要求:不仅要实现对原始电能数据的采集、计量和显示,还将通信功能(采用ZigBee、GSM/GPRS、3G/4G、电力载波等通信技术)引入到智能电表中,实现电能数据信息的传输,在电力公司、用户和电表三者间的交互数据,除了让电力用户能及时、准确地了解其用电信息以外,还要帮助用户降低用电成本、优化用电方案、实施能效管理。
文献[1]提出了一种基于3G通信的物联网电表系统设计方案,由多个智能电表与电力管理中心数据库管理系统构成,以实现电力公司、电力用户、电表三者间的多方数据交互,但方案并没考虑3G通信成本的摊销模式、以及如何实现在大规模分布式部署情况下后台数据管理中心的高可用性。文献[2]提出了一种基于GSM和ZigBee的智能电表的研制,该表可以测量能量并将信息发送给服务提供商,服务提供商可以通过SMS消息和互联网提醒最终用户,以达到在沙特阿拉伯日益增长的电能需求背景下,起到降低整个社会能耗的效果。
本文提出一种MQTT协议、NB-IOT和云端控制的智能电表方案,不仅实现远程实时监测电表运行状态,而且通过对用户历史用电信息的分析,帮助用户进行用电方案优化、降低用电成本、实施能效管理。
该智能电表系统整体结构如图1所示,由电脑或手机、云服务器、智能电表组成。智能电表采集多达7种用电数据,包括电压、电流、相位、功率因数、有功功率、无功功率、度数等物理量与云服务器进行通信,按照MQTT通信协议将以上用电数据发送到云服务器中;电脑或手机可以登录MQTT客户端订阅云服务器发送的电表当前运行状态信息。本系统支持导出用电数据报表,通过对用电数据进行分析和汇总,用户可以看到详细的用电曲线,为用户采取节能措施提供建议。
NB-IOT通信模组采用BC95,支持中国移动900MHZ等的不同细分型号,BC95原理图如图2所示。
图1 整体方案框架
BC95的功耗如表1所示。
表1 -BC模块耗流
综合考虑到用户体验、低功耗等因素,本应用场景中,只有当用电情况发生变化时,智能电表才发送用电数据至云服务器,大多数情况下NB-IoT模块处于PSM睡眠状态。
NB-IoT有以下特点:
1、功耗低:由表1可以看出NB-IoT模块有三种工作状态,在IDLE模式下典型电流值为6mA,在PSM模式下最大电流值为5uA。根据仿真计算,3Wh的电池每天发送200bytes的数据,预计可使用7.5年。
图2 -BC95芯片组原理图
2、覆盖广:在同样的频段下,NB-IoT比现有的网络覆盖面积扩大100倍,增益20dB。对于高层住宅楼梯间、电表房等网络条件不好的智能电表部署场合,NB-IoT比现有无线技术装置更适合于部署。
3、大连接数: NB-IoT一个扇区能够支持10万个连接,比现有无线技术提供50-100倍的接入数。意味着用户在一个不太大的空间,可以放置更多设备而互相之间不会有干扰。
4、低成本:单个连接模块的预期价格不超过5美元,甚至会低至2美元。由于低功耗、大连接等特点,供电、通讯运营成本都比其他无线装置便宜。
由MCU与计量芯片共同构成主控与电量计量模块(如图3),MCU采用STM32L151C8T6(如图4),与核心的NB-IOT通信模块连接。
图3 主控与电量计量模块
电能计量芯片采用高精度单相多功能免校准芯片CSE7766(如图3),该芯片工作电压5V,无需搭建复杂的外围元器件电路,支持IEC 687/1036标准以及国标GB/T 17215,在1000:1动态范围内误差小于0.2%。该芯片出厂时已经校准,客户无需任何设置就可以通过串口直接读取电压、电流等相关参数。
图4 MCU主控电路
电源电路设计原理如图5,采用的电压器为220AC转12VAC,整流桥为50A 1000V,电容为100UF 6V 以及100UF 16V,稳压器为L7805CV 三端稳压器5V。
图5 电源电路图
在智能电表终端,首先将UCOS实时操作系统、LWIP协议栈以及MQTT源码移植到STM32L151C8T6。LWIP作为UCOS实时操作系统的一个任务运行,应用程序作为另一个单独任务读取电表数据,通信数据包的发送、接收和处理的过程不会影响智能电表实时监测用电信息。
MQTT协议作为TCP/IP协议分层模型中应用层协议,实现订阅/发布机制和端到端的通信。发布/订阅消息模式就是发布者和订阅者两个客户端不直接交互数据,而是通过MQTT协议与MQTT消息代理者通信来实现间接交互消息,其中QoS表示发布的服务质量。在本系统中,智能电表是消息发布者,云服务器就相当于MQTT消息代理,智能电表将用电信息推送到云服务器,手机或电脑终端可以向云服务器发出订阅请求以获取消息。
智能电表程序运行时,首先初始化UCOS实时操作系统、LWIP协议栈和MQTT协议,建立MQTT连接之后发送包含状态信息的MQTT报文,实现连接、发布、订阅等功能。智能电表状态信息内容为“报文头/设备ID/报文类型/状态信息/时间戳”。设备ID用于区分智能电表终端,一个云服务器可以与多个智能电表终端通信,状态信息报文以 30s/次的发送频率发送,且QoS级别为0级。报文示例为:“R/sbid0003/STATUS/S1/00/S2/00/S3/00/S4/0/S5/0/S6/0/S7/0/20180528215900”,其中S1~S7表示电表运行的7种参数:电压、电流、相位、功率因数、有功功率、无功功率、度数。
为验证本设计,以移远LTE BC95模块及中国移动NB-IOT物联卡(850MHZ频段)来进行原型测试,如图6所示,测试结果显示,NB-IOT平均数据传输时延为2-5秒之间。
图6 NB-IOT调试界面
Mosquito是一款实现了MQTT V3.1协议的开源消息代理软件,支持可发布/可订阅的消息推送模式。在电脑上可通过Mosquito_sub向云服务器订阅指定主题的消息,云服务器中数据库会保存所监控的全部智能电表运行状态信息的消息,在电脑终端,用户可通过登录MQTT客户端来查看智能电表历史记录和当前运行状态。
本文基于MQTT协议实现了一种成本低廉、稳定可靠的实时远程智能电表,其主要优势如下:
1、目前国内部分智能电表采用RS485或Zigbee等无线方式来组网。其中RS485通信方式虽然成本略低,但组网的电表终端数量和范围有限,且通信速度比较慢;而Zigbee等方式成本较高,且通信质量不稳定。本智能电表方案采用NB-IOT模块,具有低功耗、大链接、广覆盖、低成本等优势。
2、本方案采用MQTT协议作为通信协议,为低带宽和不稳定的网络环境中的智能电表提供网络服务。MQTT协议使用发布/订阅消息模式,使用发布/订阅消息模式,提供一对多的消息发布,解除应用程序耦合;其次,它有三种消息发布服务质量,可以避免消息丢失;再次,MQTT是小型传输,固定长度的头部只有两个字节,只需要HTTP约 1/4的数据流量,可以降低网络流量、节约运营成本。以上这些优点使得本智能电表方案更稳定可靠、成本低廉,推广应用前景更为广泛。