中國移動通信集團廣東有限公司 郭志彪
電表是電網數據采集的基本設備,擔負著電能數據采集、計量和顯示的任務,國內通常將采用微處理器的電子式多功能電能表定義為智能電表。隨著智能電網的建設,對電表的功能提出了更高的要求:不僅要實現對原始電能數據的采集、計量和顯示,還將通信功能(采用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的數據流量,可以降低網絡流量、節約運營成本。以上這些優點使得本智能電表方案更穩定可靠、成本低廉,推廣應用前景更為廣泛。