張建,熊福松,喻炳政,王宜懷
(1. 蘇州大學 文正學院,江蘇 蘇州 215004;2. 蘇州大學 東吳學院,江蘇 蘇州 215006; 3. 蘇州大學 計算機科學與技術學院,江蘇 蘇州 215006)
近些年,我國開始研究并有限度的實施了智能電能表。智能電能表是一種具有數據顯示,并通過無線通訊方式將數據發送給供應商的電子設備[1]。相對于只能通過人工現場讀數的電子式儀表[2],智能電能表通過如電線、衛星通信系統等各種介質自動抄表,遠程收集并處理消費者電力使用數據[3],提供比傳統電能表更詳細的用電信息的一類新型電能表,這種電能表可以通過網絡與后臺系統 進行數據交換,實現監控和計費的功能[4]。
智能電能表一般通過無線方式進行通訊。遠距離無線電(Long Range Radio, LoRa)[5]需自建基站且不適合大規模商用;4G通信費用過高;窄帶物聯網[6](Narrow Band Internet of Things, NB-IoT) 是一種低成本低功耗廣域網技術,可降低通信方面維護成本,已成為支撐用電信息采集系統數據采集的另一種技術方案[7]。基于NB-IoT開發的智能儀表已有不少,如文獻[8-10]提出了開發方案,但尚未建立一個開發的架構,也沒有對采樣、傳輸、諧波等關鍵技術進行深入研究。
當前主要依托第三方平臺、標準進行NB-IoT應用開發,如:文獻[11-12]等物聯網平臺,都只是提供一個封裝好的平臺接口供用戶調用,數據傳送需通過平臺,收取一定的費用,帶來了極大不便且存在一定的數據安全問題,也不方便物聯網應用開發的調試。文中在現有智能電能表及NB-IoT技術基礎上,將復雜的NB-IoT架構抽象簡化為三部分,提出了三層架構的AHL NB-IoT框架。窄帶物聯網三層架構能直觀明了查看數據的傳送,又簡化了數據收發的具體細節,使得用戶更加專注應用層的開發,提高開發效率、降低開發成本。
AHL NB-IoT框架分為三層,分別為具有數據采集和窄帶通信功能的終端、云服務器以及人機交互系統。圖1為AHL NB-IoT架構下智能電能表系統的整體框架。

圖1 系統架構
(1)電能表終端
電能表終端需要測量電流、電壓、功率等電網基本參數,以及獲取當前電網的諧波信息。電能表測量精度必須達到國家標準要求,且需要具有遠程發送電網數據、本地顯示的功能。
(2)云服務器
云服務器具有偵聽功能,可接收、轉發、解析多種格式的數據以及具有數據存儲、查詢功能,方便電網管理人員查看數據。
(3)人機交互系統
人機交互系統需要將電網質量相關數據以直觀形式展示給電網供應商,并對終端具有一定的控制功能,方便獲取不同類別的電網數據信息。
電能表終端通過SPI協議控制LCD顯示,與計量芯片進行通信,獲取計量芯片采集到的電壓、電流、功率等電網數據,與窄帶通信模組通信實現數據上傳。電能質量采集終端主要由MCU最小系統及擴展板接口電路、以HT7036計量芯片為主的外接傳感器電路、通訊模組電路等組成。
圖2為終端硬件構件構成圖。終端電路主要包含校準電路、電壓電流采樣電路、MCU與計量芯片通訊電路和終端保護電路。校準電路負責對終端進行測試、校準,以保證終端測量數據的精度。

圖2 終端硬件構成
電壓、電流采樣電路由HT7036片內的19位ADC模塊實現,采用雙端差分信號輸入。
采樣電路使用100 Ω電阻與100 pF電容組成低通濾波電路,濾除高于10 MHz干擾信號。
電壓采樣電路引入限壓型浪涌保護器[13],通過并聯MYN23-681K型壓敏電阻。出現浪涌電壓時,壓敏電阻阻抗不斷減小,吸收浪涌電壓,保護終端設備[14]。在火線上串聯PTC型熱敏電阻可防止出現過流現象。PTC型熱敏電阻具有低溫導通特性,其阻值隨溫度升高急速增大,起到過載保護作用[15],圖3為浪涌保護電路。

圖3 浪涌保護電路
系統軟件部分主要由MCU配置文件、基礎構件、用戶構件、軟件構件、邏輯控制文件五部分組成。軟件架構的MCU配置文件、基礎構件與MCU的硬件模塊密切相關,改變MCU需重新編寫。用戶構件通過調用基礎構件的函數接口,實現相應的功能。在移植時,保持基礎構件的函數接口不變,盡可能降低構件與MCU間耦合性。軟件構件與具體硬件無關,做到系統無關性,表1為系統軟件程序架構。

表1 AHL NB-IoT軟件架構
電能質量數據主要包括電流、電壓、功率、電能、諧波等。數據采樣依賴三相電能計量芯片內部集成的多路19位ADC模塊。物理量經由三角積分ADC模塊、抽取濾波器模塊、有限沖擊響應濾波器模塊處理后,得出最終的采樣數據。電流、電壓等采用均值濾波改進算法進行處理,使電壓誤差小于2%,電流誤差小于5%,有功功率誤差小于2%。諧波測量方面,分別使用自動、手動同步采樣,結合FFT算法,獲取精確的測量數據。
三相電能計量芯片HT7036的0x0D~0x0F地址分別存儲A、B、C三相電壓的補碼數據,有效值寄存器的0x10~0x12地址分別存儲三相電流數據,功率寄存器的0x01~0x03、0x05~0x07、0x09~0x0B地址分別存儲三相有功功率、無功功率、視在功率。能量寄存器的0x1E~0x20、0x22~0x24、0x35~0x37地址分別存儲三相有功電能、無功電能、視在電能。
以A相電能質量數據處理為例,DataU從0xD地址讀出的補碼形式的數據,A相測量電壓有效值為Urms, A相電流有效值為Irms,DataI為從0x10地址讀出的數據,TA為電流互感器變比,R為電流采樣電路電阻。式(1)為采樣電壓、電流計算公式:
(1)
有功功率、無功功率、視在功率的計算方式一致。設A相有功功率為P,從功率寄存器0x01地址讀出的24位補碼數據為X,在計算有功功率前需確定功率系數,設功率系數為K,脈沖常數為HFconst,式(2)、式(3)為K、P的計算公式。
K=2.592×1010/(HFconst×3200×223)
(2)

(3)
有功電能、無功電能、視在電能的計算方式一致。設A相有功電能為E,從能量寄存器0x1E地址讀出數據為DataE,式(4)為有功電能E的計算:
E=DataE/3200
(4)
4.2.1 加閾值防脈沖干擾均值濾波算法
電流、電壓、功率等采樣值經由回歸處理后可得到對應數值。均值濾波算法[16-17]較單次采樣更為合理,數據采樣中超出閾值范圍的數據參與均值運算會影響運算真實性,帶來不必要的誤差。針對該問題,對均值濾波算法進行改進,將超出值域的數據進行剔除,以提高采樣數據的準確性。以單相電壓數據采集50次數據為例,表2為加閾值防脈沖干擾均值濾波算法。

表2 加閾值防脈沖干擾均值濾波算法
實驗表的采樣電路最大輸入電壓umax為0.5 V,增益系數φ為2,采樣電阻R1為1.2 kΩ,總電阻R為2 311.2 kΩ,由式(5),計算出實驗表的最大測量電壓Umax為481.5 V,閾值范圍設定為Umax的3/7~4/7之間,即[206.36 275.14]。
(5)
圖4為雙實驗表同時采樣測量電壓所得到的數據,從圖4中可看出加閾值后的數據更平滑,符合表測數據。

圖4 防脈沖干擾均值算法改進前后采集數據比對
4.2.2 改進快速傅里葉變換算法
基于神經網絡等的諧波測量算法,對內存、芯片性能要求較高。快速傅里葉變換算法(Fast Fourier Transform, FFT)[18-20]對電網諧波參數進行估算,算法受制于頻譜泄露現象和柵欄效應。頻譜泄露是指信號頻譜中各譜線之間的互相干擾,使運算結果偏離真實值,并在真實譜線的兩側的其它頻率點上出現些幅值較小的干擾譜線[21]。柵欄效應是指各次諧波分量未正好落在頻率分辨點上,落在兩個頻率分辨點之間[22],FFT算法不能直接得到各次諧波的準確值,而只能以相鄰頻率分辨點數值代替[23]。針對頻譜泄露現象和柵欄效應,對FFT算法進行改進以有效解決這兩個問題,同時提高諧波數據的測量精度。
FFT改進算法分為自動同步采樣FFT和手動同步加窗FFT兩種算法。計量芯片HT7036時鐘頻率為921.6 kHz,ADC采樣頻率為3.2 kHz,每周波固定采樣64點。自動同步采樣不易受外接頻率微小變化的影響,具有較高的自適應性;手動同步采樣FFT算法可獲取更高頻率的諧波含有率數據,但需通過適當的窗函數來確保采樣數據與原信號同步,減少頻譜泄露現象。表3為自動同步FFT算法與手動同步FFT算法簡要配置。

表3 諧波采集算法簡要配置
窗函數能夠有效降低頻譜泄露現象,大幅度提高幅值數據的測量精度。為獲得較好的數據測量效果,窗函數的主瓣應盡可能窄小,以獲得較陡的過渡帶;最大旁瓣相對于主瓣應盡可能的小,以使數據更加集中。根據窗函數選取的原則,通過對矩形窗、漢寧窗、海明窗、布萊克曼窗、布萊克曼哈里斯窗等窗函數的比較,最終確定選用布萊克曼哈里斯窗等窗函數用于智能電能表的采樣處理。
FFT改進算法時域上滿足奎奈斯特采樣定理,電能表終端的采樣頻率與采樣點數的設置均較為合理,相鄰頻率點之間的間隔始終為50 Hz,各次諧波分量恰好落在頻率分辨點上,較好地解決了柵欄效應。
4.3.1 浪涌應對
浪涌會改變計量芯片內部寫入的配置參數,影響采樣、MCU與計量芯片間通信,甚至會導致終端電能表死機。僅從硬件電路設計上進行預防,并不能完全規避浪涌。終端受到浪涌影響時,須重新寫入配置參數。在終端進行數據采樣前,需保障計量芯片內部的存儲參數準確無誤。通過存儲計量芯片配置參數,在計量芯片受到影響時,重新寫入預先存儲的配置參數后再進行數據采樣。
計量芯片配置參數固化在STM32L431芯片FLASH存儲區域最后一個扇區,配置參數是經過無源校準后確定的最終數據。計量芯片每次進行采樣前,需讀取校表數據校驗和寄存器數據,與MCU存儲的原始數據作對比,一致才進行采樣;否則,重新初始化SPI通信模塊,將參數重新寫入到計量芯片中。圖5為浪涌應對策略的流程。

圖5 浪涌對抗處理流程
4.3.2 通訊模組保障
外接傳感器包括用于提示信息顯示的LCD、使用計量芯片HT7036的電網數據采集傳感器。LCD配置依靠LCD用戶構件實現;電網數據采集傳感器配置依靠metering構件實現。LCD、metering構件是對SPI基礎構件的二次開發。LCD配置主要通過LCD_init函數實現,再通過LCD_Showfirst函數設置與系統有關的LCD初始顯示內容,最后通過LCD_ShowString函數設置系統提示語句。電網數據采集傳感器配置主要通過metering_init函數,初始化電網數據采集傳感器,再調用read_MeasurementParameter函數,獲取計量芯片ID(0x712 2A0),根據電網數據采集傳感器返回值判斷是否需要重新初始化。初始化成功后再使用邏輯控制文件內的correction_init函數獲取配置參數,使用metering構件的metering_PUIcorrection函數向電網數據采集傳感器寫入配置參數,圖6為電網數據采樣傳感器配置流程。

圖6 電網數據采樣傳感器配置流程
通信模組ME3616的配置通過UECOM用戶構件實現,需要先開啟通訊模組電源,再初始化通訊模組、連接基站、連接云服務器[26]。在此過程中,還會根據基站時間校正終端時間,并記錄終端位置信息,圖7為通訊模組配置流程。

圖7 通訊模組穩定性保障機制
電網質量監測系統的邏輯由邏輯控制文件實現,主要邏輯依靠main.c文件內的for循環實現。在未到達采樣時間間隔時,系統依靠定時器中斷,每秒更新一次終端時間,并反轉指示燈的亮暗表示終端處于工作狀態。在到達采樣間隔后,依據終端當前命令,執行具體操作,表4為命令字對應具體操作。

表4 終端指令
智能電能表采集了實時電流、電壓、有功功率、無功功率、視在功率以及電能等信息,圖8為終端信息顯示界面。界面中IMSI為終端識別號、MCU_temperature為終端芯片的溫度;IP:PT為采集數據上傳的云服務器IP地址及端口、OriTime為終端開始運行的時間、Time為當前時間;U為電壓、I為電流,P為有功功率、Q為無功功率、S為視在功率,Ep為累計的有功電能、Eq為累計的無功電能、Es為累計的視在電能,ED為當天的有功電能、無功電能、視在電能;EM、ED分別統計當月、當天的有功電能、無功電能、視在電能;Signal strength(%)為窄帶通信模塊的信號強度。

圖8 終端顯示界面
圖9為云端數據顯示界面,從圖中可看到終端到云端的數據傳送可靠。

圖9 云端顯示界面
同步采用ACR330ELH/J作為標準表,對同路進行測量,表5為實驗開發的電能表與標準表采集數據的對比。

表5 數據對比
圖10為一段時間內,各種采樣算法電壓測量值與ACR330ELH/J標準表測量數據對比圖,圖中電能表終端與標準表數據測量的最大誤差為0.5 V,最大誤差率出現在測量值為228.5 V、標準表228 V,該誤差率約為0.22%。百分比誤差率不高于0.5%,實驗表的測量精度符合0.5級電能表要求。誤差主要來源:(1)測量電能表元器件采樣值精度及轉換存在一定的誤差;(2)標準表的測量存在誤差。

圖10 電壓測量對比圖
(1)提出窄帶物聯網開發的三層架構,即AHL NB-IoT架構。框架將硬件、數據傳輸和人機接口分開,簡化開發細節、降低開發難度,為窄帶物聯網應用開發奠定了基礎;
(2)針對終端電能表偶發性數據超出閾值情況,對均值濾波算法進行改進,將采集到的多條數據,去除超出閾值范圍的非正常數據后再進行處理,可得到有效的采樣數據值;
(3)針對終端電能表諧波測量中出現的頻譜泄露和柵欄現象,對快速傅里葉變換算法進行了改進,在手動和自動采集兩種方案中,給出了設置的相關技巧可以有效解決頻譜泄露和柵欄現象;
(4)穩定性是終端電能表重要基礎指標。針對浪涌現象,分別從硬件和軟件處理流程兩個方面給出了解決方案;針對數據通信,通過重寫參數方式來保障通信;
通過數據采樣實驗,將實驗表采樣到的數據與標準表同步測量數據對比,設計的電能表測量精度、穩定性均達到要求,為電能監測提供了多種參數監測的方法,為智能電網建設相關的研究工作提供了參考藍本。