熊勇/XIONG Yong,劉明明/LIU Mingming,胡先紅/HU Xianhong
(中興通訊股份有限公司,中國 深圳 518057)
2018年,中國三大電信運營商的電費支出高達500億元人民幣,占運營開支的15%以上。2019年6月6日,工業和信息化部向運營商頒發5G牌照,這標志著中國進入5G商用元年。5G萬物智聯會帶來海量數據。海量數據引發的電力消耗必將成倍增長。預計到2025年,通信行業將消耗全球20%的電力。
5G通信網絡的功耗是4G網絡的2~3倍。在5G時代,巨額電費支出可能會吞噬掉運營商的所有利潤,甚至導致運營商陷入嚴重虧損的困境。在通信網絡中,基站的耗電量是最大的——約80%的能耗來自廣泛分布的基站。如何降低通信基站的能耗,減少電費開支,保障5G網絡的順利部署和應用,是所有的電信運營商、設備供應商都在全力攻克的重大技術難關。一方面,運營商要求各大設備商盡量降低主設備的功耗,實現“節流”,如中國移動通過精準建網降低5G能耗;另一方面,運營商也在努力尋找“開源”途徑,比如在日照和風力等自然資源充足的地區優先利用太陽能和風能,以減少市電的使用,降低電費開支。
目前,在亞洲、非洲、南美等地區,大量通信基站都已經配置太陽能板和光伏充電模塊,但太陽能資源的實際利用并不理想。由于太陽能有較大的隨機性和不確定性,不像常規能源一樣穩定、可調可控,而基站供電系統又有很高的穩定性、安全性和可靠性要求,因此太陽能的利用比較被動和低效。對此,目前行業內的做法普遍是在日照充足時,讓太陽能給設備供電,然后用多余能量給電池充電;但實際上會經常出現電池充滿后太陽能白白浪費的情況,這就是普遍存在的棄光現象。
針對以上問題,本文提出一種基于大數據技術和神經網絡的方法,通過實時采集光照強度、溫度和負載功率,結合天氣預報、歷史同期數據等,通過神經網絡的暴力計算,實現太陽能產能和負載用能的預測,并以高循環性能鋰電池作為儲能調用,實現太陽能的主動、高效和最大利用,以減少太陽能浪費及市電消耗,達到保護環境的目的。同時,這種方法能夠幫助運營商降低電費開支,助力5G網絡的快速部署和應用。
本技術方案是基于當前普通通信電源系統的智能化升級改造而提出的。如圖1所示,系統包括光伏模塊、整流模塊、設備負載、機動負載、鋰電池和控制管理系統6個部分。其中,光伏模塊實現從太陽能電池方陣60~150 V直流電壓(VDC)到-48 VDC的轉換;整流模塊則實現從交流市電到-48 VDC的轉換;設備負載包括基站內的傳輸基帶單元(BBU)、射頻(RF)、功放(PA)等;機動負載包括機房空調、新風系統等輔助用電設備;鋰電池為高循環性能鋰電池,作為太陽能供給和設備負載需求間的緩沖和平衡;控制管理系統為系統的核心,包括太陽能預測和控制、設備負載預測、機動負載控制、市電階梯利用和鋰電池充放電管理5個算法模塊,分別負責前5個部分的控制和管理。

圖1 整體系統設計圖
除了控制管理系統外,其他組成部分和常規通信電源系統并無差異。因此,本文重點考慮控制管理系統的實現,實現方法包括以下幾種:
(1)控制管理系統中的太陽能預測和控制算法。一方面調節光伏模塊的輸出電壓和電流,以保障電池的穩定供電,另一方面通過神經網絡(NN)預測次日太陽能的輸出功率。
(2)設備負載預測算法。通過NN預測次日設備負載的消耗功率。業界基于長短時記憶(LSTM)的網絡流量預測實現算法是一個很好的參考。
(3)鋰電池充放電管理算法。除了完成正常的電池充放電控制外,更實現了供需雙方的緩沖和平衡:日照充足時(盈余時段),太陽能給設備供電,多余能量給鋰電池充電;夜晚或陰天時(欠缺時段),系統優先調用電池儲存的電能,即進行電池放電。按照預先設定的計劃,電池放電優先在市電電價高區時段進行;同時,放電量也預先做好計劃,由電池允許的放電深度和下次電池可充入的太陽能聯合確定。
(4)市電階梯利用算法對市電電價時區階梯排序。其中,高電價區由電池放電供電,低電價區由市電和整流模塊供電。
(5)機動負載控制算法進一步實現太陽能的高效利用:在日照充足時,太陽能除了給設備供電、電池充電外,還可以在能量富足時使系統啟動空調、熱交換器等機動負載設備,以實現一定程度的蓄冷,減少太陽能的浪費。
(1)數據采集。采集或獲取歷史運行數據中的每日太陽能電池方陣光照強度、室外氣溫、光伏發電功率、設備負載消耗功率等數據。例如,當數據采集周期為5~10 min時,每天就有144~288組數據。
(2)數據處理。為建立神經網絡所需要的樣本數據,系統需要對數據進行預處理。預處理操作包括解析、清洗、規約等。數據解析包括輸入特征數據的格式解析和轉換,以保證數據能夠被系統有效識別。數據清洗主要是去除數據集中的噪聲數據,防止對系統和算法的干擾,保證業務特征數據的有效性。數據規約是在特定條件下對數據進行有效精簡,以降低系統負荷。然后系統再對這些數據進行歸一化處理,比如按照=(-)/(-)公式進行歸一化處理,使得所有數據處于(0,1)之間。其中,為歸一化處理后的數據,為數據樣本的原始值,為數據樣本的上限值,為數據樣本的下限值。
(3)設立訓練集、驗證集和測試集。按照常規6∶2∶2的樣本比例進行設立。
(4)構建并訓練太陽能產能預測模型。以歷史同期光伏發電功率、每日光照強度和氣溫為輸入參數,同時以每日光伏實際發電功率為輸出參數,構建并訓練如圖2所示的第1 NN模型。

圖2 太陽能產能預測模型
(5)構建并訓練設備負荷預測模型。以歷史正常同期負荷功率、影響因素(如節假日、潮汐、區域事件等)為輸入參數,同時以每日設備實際負荷功率為輸出參數,構建并訓練如圖3所示的第2 NN模型。

圖3 設備負荷預測模型
(a)歷史正常同期負荷功率的取值為大數據中歷史同期正常均值。
(b)節假日影響因子為(0,1)間的特征參數值,并根據人工經驗約定。例如,對于某居民小區來說,正常工作日為0,雙休日為0.1,春節長假為0.25。
(c)潮汐影響因子為(0,1)間的特征參數值,并根據人工經驗約定。例如,對于某工業園來說,工作時間段為0.7,加班時間段為0.5,深夜段為0.3等。
(d)區域事件影響因子為(0,1)間的特征參數值,并根據人工經驗約定。例如在某一區域,正常為0,有商業營銷活動為0.1,集會為0.2,演唱會為0.3。
(6)部署模型。兩個模型經過訓練和優化后,可根據實際環境進行部署:既可以部署于統一網絡管理系統(UME)上,以充分利用云端強大的算力資源,并支持實時或在線的訓練,也可以通過增加計算棒等方式,通過uSmartInsight等人工智能平臺把模型壓縮、剪枝和優化后部署在邊緣側,如現場監控單元(FSU)上。
(7)控制管理系統運行各模型和算法,在運行兩個NN模型預測次日發電量和負荷量后,制定太陽能富余區利用計劃、太陽能欠缺區的電池放電計劃,并按照計劃進行電池充放電、市電供電和機動用電等控制動作。下面,我們就針對這個步驟展開說明。
為簡化分析,我們首先考慮一個基礎場景,并假設某日全天24 h天氣晴朗,太陽能發電量穩定,全天可以看成一個正態分布曲線(兩端低點為早晚時刻,中間高點為午時),某辦公場景的負載用電量同樣也符合正態分布(休息時段為業務低谷,工作時段為業務高峰)。圖4展示了一個發電量和用電量穩定的基本模型,即典型站點光伏發電功率和負載用電功率的單峰模型。

圖4 太陽能發電和負載用電的基本模型(單峰模型)
據此,我們對基礎模型進行分析和推導,找到最大化利用太陽能的充放電計劃和算法。圖5為太陽能富余區最大化利用策略圖。圖6為太陽能一個完整的放電和充電周期策略圖。

圖5 單峰模型下太陽能富余區最大化利用策略

圖6 單峰模型下的太陽能完整電池放電和充電周期策略
我們可以參照如下步驟進行實施:
(1)參照圖4,該模型起始時刻為t,終止時刻為t,光伏發電功率為,負載用電功率為。發電功率曲線和用電功率曲線在和兩個時刻點相交。t~和~t兩個區間,>,太陽能供給不足(夜晚或陰天),稱為谷區;而~區間,<,太陽能供給盈余(日照充足),稱為峰區。

(3)運行第1 NN、第2 NN模型,推理輸出次日光伏發電功率預測值、次日負載用電功率預測值。其中,第1 NN模型中的每日光照強度值為天氣預報值和歷史同期相近天氣狀況下采集量的加權值。比如,天氣預報顯示次日某時刻光照強度為5.2萬lx,而在大數據中歷史相近時刻和天氣狀況下的實際光照采集量為4.5萬lx,則最終該輸入參數為×0.9+×0.1=5.13萬lx。和預測值每日共有144個(預測周期為10 min)。
(4)參照圖4,在笛卡爾坐標中繪制、全天內變化曲線,起始時間t為00∶00,終止時刻t為24∶00。顯然,谷區1和谷區2的欠缺電量SL和SL需要市電或電池來補充,而峰區的盈余電量SH可待最大化利用。
(5)參照圖5,規劃峰區中盈余電量SH的利用計劃。定義3個電量:電池存貯電量、機動設備靈活用電量、舍棄電量,它們的和等于SH。顯然,≤SH。
(6)參照圖6,規劃谷區中欠缺電量的補足計劃。由于當日t和次日t時刻重疊,因此我們對當日~次日連續時間統一部署補足計劃。該時間內總欠缺電量SL=欠缺電量SL(當日)+欠缺電量SL(次日),而電池總放電量為S。顯然,≤SL。由于電池實現了滿充電,同時考慮充電效率,因此有:=×
(7)規劃峰區中盈余電量的利用計劃,如圖5所示。
(a)分析電池存貯電量影響因素。這里為給電池充電儲入的化學能量。最大化儲能取決于如下因素:電池額定容量Crated、電池放電深度(DOD)和電池充電效率。對配置電池進行擴容可以提高Crated;為DOD設置一個相對安全的最大值Kd,可保障電池循環壽命;使用更快的充電技術(比如提高電池充電電流或電壓)盡可能早充入電量,可提高充電效率。
(b)計算峰區存貯電量、電池充電時刻起始SOC()(SOC指荷電狀態),以及電池前一谷區的放電量。
·計算電池最大存儲電量。設定電池SOC()最小值SOC=1-Kd,則光伏發電的盈余電量可在最大程度上被用來給電池充電;
·由于充電結束后電池處于滿容量狀態,即SOC()=1.0,因此可以得到如下方程組:

其中,≤SH,≤SL,=×。求解上述方程組,可得SOC()=max(1.0-Kd,1.0-SH×Crated/Vrated,1.0-SL×Crated/Vrated/)。
這里Vrated是指電池的額定電壓。顯然,在求解SOC()值后,實際峰區電池存貯電量、谷區電池放電量也都可以被解出:


通過規劃峰區的充電計劃進而規劃上一個谷區的放電計劃,可保證電池的最大充電,以實現對太陽能轉換電量的充分利用。
(c)遍歷機動設備,靈活利用電量。盈余電量SH除了提供電池存貯外,還可用于機動負載消費,包括機房或機柜的制冷設備,比如空調、熱交換器、新風系統等。在滿足功耗要求的情況下,優先啟動這些制冷設備,可降低室內溫度,減少額外制冷耗能。此外,系統也可以啟動某些休眠的傳感器或設備,以減少其他時段的運行耗能。
·遍歷機房或機柜中所有機動性用電設施,如空調、熱交換器、新風系統等,以及其他輔助設備。
·計算~時間區間內多余功率Δ=光伏發電功率-設備負載的負荷功率-電池的充電功率。
·在如圖5所示的t~t時間內,若Δ超過某用電設備功耗,則系統啟動該設備(比如熱管設備)。此時,電池充電儲能和機動設施用電可同時進行。
·當功率差Δ無法滿足該用電設備的功耗時,如圖5的t時刻,此時系統會停止該設備的運行。如果繼續運行,設備將消耗市電或電池的能量。
(8)規劃谷區時段欠缺電量補足(電池放電)計劃,如圖6所示。
(a)根據當地電價定義該時間內電價的個階梯區間,分別為、、……直到T區。電價最高區為,次高區為、,依此類推。各時區內欠缺電量分別為ST、ST、ST……,直到ST。
(b)按照從高到低的電價區間順序,把分配到各個時區,=-1+-2+-3+…+-。其中-1為時區內分配到的放電量,-2為時區內分配到的放電量,依次類推,直到分配完為止。
(c)顯然,電價從高到低排序的時區為、、……T,并不一定是時間的先后次序。我們最終要按照時間順序來執行各時區內的電池放電計劃。圖6示例中有5個階梯時區,時間先后次序分別是、、、、區。實際電池放電的執行過程具體如下。
·時區:按照分配計劃,在的起始時刻電池開始放電,當放出的電量達到預定值-2后停止放電。本例中-2<ST,表明前半時段電池放電補足,后半時段需要市電補足。
·、、時區:沒有電池放電計劃,全部時段由市電補足。
·時區:按照分配計劃,在的起始時刻電池開始放電,在放出電量達到預定值-1后,停止放電。本例中-1=ST,整個時段都放電。
由于受到天氣變化、負載波動等影響,實際場景會更為復雜。光伏發電功率曲線和負載用電功率曲線會存在多個相交點,會出現多個谷區、多個峰區的情況。圖7展示了一個有6個相交點、3個峰區、4個谷區的多峰模型。圖8為相應的充放電策略示意圖。

圖7 太陽能發電和負載用電的復雜模型(多峰模型)
對于多峰模型,我們可以將其抽象成一個單峰模型。單峰區時段為從第一個相交點時刻到最后一個相交點時刻的區間,即圖8中的~時區(只不過在峰區有波動而已)。因此,多峰模型下的所有步驟和算法均得以簡化(與單峰模型相似,并可直接借用)。唯一的區別在于多峰模型需要尋找各個相交時刻點最合適的電池荷電狀態SOC,以保障整個波動區中電池存貯的電能達到最大值,即太陽能得到最大化利用。

圖8 多峰模型下的電池充放電策略
(1)定義電池充電效率為,電池允許的最大DOD和可放出的最大電池容量Sdmax為Kd,則可充入的最大電池容量Scmax=Kd/,而電池SOC最小值SOC=1-Kd。
(2)對和的所有相交點(圖8中為~)進行分析:
(a)確定各峰谷區充入/放出的電池容量范圍。峰區1、2、3的盈余電量分別為SH、SH和SH,因此,電池可充入容量分別是TC=Min(Scmax,SH/Crated/Vrated,Δ)、TC=Min(Scmax,SH/Crated/Vrated,Δ)、TC=Min (Scmax,SH/Crated/Vrated,Δ)。其中,Δ、Δ、Δ分別是各峰區時段電池電流積分計算的最大容量增量。谷區1、2的欠缺電量分別為SL和SL,電池放出電量分別為SD=Min(Sdmax,SL/Crated/Vrated)、SD=Min(Sdmax,SL/Crated/Vrated)。
(b)定義各峰谷區充入/放出的電池電量,即圖8中的陰影部分中的電池充入電量SC(取值為1、2、3)和放出電量 SD(取值 1、2)。顯然,SC≤TC<1.0,SD≤TD<1.0。而太陽能的總利用量為:

(c)根據各區間電量的變化,列出~各時刻點電池容量方程組:

以及約束條件組:

通過對上述方程組求解,我們可得到SOC(、SOC()、SOC()、SOC()、SOC()、SOC()的值,進而獲得各峰谷區的電池充放電策略。
(d)根據上述方程組和約束條件組,聯合求解所有時刻點的SOC(t),取值為1~6。在眾多SOC(t)求解中,太陽能總利用SC最大的那一組求解值可作為最優解。
·采用離散值求解法,具體思路如下:設定SOC精度為0.01,所有SOC取值范圍構成一個有限離散值集合。假設SOC為 0.20,那么 SOC (t) 取值范圍為{0.20,0.21,0.22,…,0.98,0.99,1.00},共81個離散值。結合方程組和約束條件,使用遍歷、折半等算法,我們就很容易找到所有SOC(t)有效值中SC最大的那一組值。
·依次以各充電結束時刻點(圖中、、時刻)電池滿容量為前提條件,遍歷求解:
如SOC()=1.0,遍歷求解所有SOC(t)值,計算對應SC;取出SC最大的一組解。
如SOC()=1.0,遍歷求解所有SOC(t)值,計算對應SC;取出SC最大的一組解。
如SOC()=1.0,遍歷求解所有SOC(t)值,計算對應SC;取出SC最大的一組解。
·比較、、3組解中的SC值,其中最大值的那組解SOC(t)可作為最優解。
(e)根據最優解SOC(t),完成~時間內的電池充放電計劃。這里我們以圖8作為示例來進行說明。
· 按照上一步驟得到SOC ()、SOC()、SOC()等值;
·在峰區1起始時刻,對電池進行充電,當容量到達SOC()值后停止;
·在谷區1起始時刻,對電池進行放電,當容量到達SOC()值后停止;
·在峰區2起始時刻,對電池進行充電,當容量到達SOC()值后停止;
·在谷區2起始時刻,對電池進行放電,當容量到達SOC()值后停止;
·在峰區3起始時刻,對電池進行充電,當容量到達SOC()值后停止;
另外,可參考單峰模型中的峰區盈余電量利用計劃算法,即在3個峰區內啟動制冷設備等機動用電設施,以盡量利用多余的太陽能。
先通過神經網絡技術來預測次日太陽能發電功率和基站設備負載功率,規劃好下一個太陽能供給盈余時區的能量利用策略(包括電池充電和機動負載用電),再制定前一個太陽能供給不足時區內的供電策略(調用電池儲存電能),既保障了電池充放電的平衡和太陽能的最大化利用,也保障了電池儲能的調用時機處于市電高電價區間。最終,對太陽能的高效利用以及精確控制的電池充放電策略,實現了降低電費開支的目標。在某運營商的實驗站點進行了初步驗證,試點站月度利用的太陽能發電量從1 036 kW·h提高到1 190 kW·h,太陽能利用率提升約15%。由此可見,本文所提方法具備較好的工程應用和參考價值。