海 濤, 肖健倫, 韋 文, 張 川, 陸 猛
(1.廣西大學 電氣工程學院, 南寧 530004; 2.廣西中煙工業有限責任公司, 南寧 530001;3.霍爾果斯正泰科技服務有限公司, 新疆 霍爾果斯 835221)
發電量與發電功率的不規則性是阻礙光伏發電成為主要電力來源的因素之一[1]。隨著物聯網技術的飛速發展, 越來越多的物聯設備被應用到生產生活中, 產業不斷擴大, 物聯設備的成本逐漸下降[2]。文獻[3]開發出了一套基于WiFi無線通信技術的光伏監控系統, 雖然WLAN技術的帶寬滿足無線監控的要求, 但是其通信覆蓋范圍及可靠性無法滿足遠程監控需求。一般的大型光伏電站地處偏遠, 傳統的有線監控方式隨著人工成本的上升并不適用, 當光伏電站需要擴容時, 就會面臨光伏監測系統重新部署與設備更新換代的問題。這不僅需要消耗人力物力, 還會影響光伏電站的運行。鑒于此,本文提出一種基于云平臺的高效監測方案, 通過部署在云端的神經網絡對發電功率進行準確預測, 使得操作員可隨時查看光伏電站的運行情況。
光伏電站的監測系統主要由數據采集節點、匯聚節點與服務器3部分組成, 該系統構成如圖1所示。實現光伏電站物聯網監測的關鍵環節是通信。數據采集節點采用LoRa通信把數據上傳至LoRa網關, 數據采集節點與網關之間通信采用的是星形網絡結構, 可以降低開發維護成本,提高數據傳輸的穩定性, 從而實現光伏電站的數據采集[4]。本次實驗采用的是光伏電站內裝機容量為19.9 kW的光伏陣列, 無線傳感器將采集到的光輻照度、組件溫度、環境溫度以及空氣濕度等數據通過LoRa網關上傳至服務器進行分析處理。

圖1 光伏電站監測系統框圖
數據采集節點與匯聚節點的主控芯片采用來自意法半導體的STM32F407VET6, 具有82個I/O口、512 kB的Flash以及192 kB的RAM, 主頻最高為168 MHz, 具有豐富的外設資源。無線通訊LoRa是基于SX1278芯片開發的無線數傳模塊, 該模塊可以直接與供電為3.3 V的單片機連接, 采用LoRa調制方式可以顯著提高通信距離, 并且具有低功耗、抗干擾性強的特點。
數據采集節點主要負責采集光伏電站的數據,通過輻照度傳感器采集電站的輻照數據, 經電流與電壓傳感器分別采集光伏矩陣的電流與電壓, 通過環境傳感器(溫度、濕度、大氣壓強傳感器)來采集電站的主要環境參數及光伏組件的溫度, 數據采集節點結構框圖如圖2所示。

圖2 數據采集節點結構框圖
采集到的數據由單片機進行處理, 通過 SPI(串行外設接口)將數據通過SX1278無線模塊傳至匯聚節點, 使用GPS/北斗定位模塊實現對各個節點的快速定位, 方便節點的管理。數據采集節點采用太陽能電池供電, 電源模塊主要給傳感器、單片機、SX1278模塊等供電。STM32F407VET6通過SX1278完成數據的發送。數據采集節點的流程如圖3所示, 首先對單片機及傳感器進行初始化, 然后讀取傳感器的數據并儲存, 最后完成上傳數據至匯聚節點。

圖3 數據采集節點流程圖
無線模塊外圍收發電路如圖4所示, 單片機通過SPI和SX1278無線模塊進行雙向通訊。SX1278是半雙工的收發器, 在使用時需要在接收和發送之間切換模式, 當CTRL為高電平且VDD為低電平時, 開啟接收功能; 當CTRL為低電平且VDD為高電平時, 開啟發射功能。數據通過單片機的PA7引腳發送到SX1278的MISO引腳, 再由射頻模塊發出, SX1278的SCK、MISO、MOSI、NSS分別與單片機的PA5、PA7、PA6、PA4相連。

圖4 通信模塊SX1278外圍收發電路
匯聚節點主要由LoRa模塊、STM32最小系統、GPRS模塊組成。GPRS模塊采用的是合宙Air720H, 使用DTU固件實現數據透傳至阿里云。考慮到LoRa模塊與GPRS模塊的功耗比較大、穩定性要求高, 為確保匯聚節點的穩定性, 供電采用光伏電與市電的混合供電方式, 太陽能為主供電, 市電為備用供電, 其結構框圖如圖5所示。

圖5 匯聚節點結構框圖
匯聚節點的程序流程如圖6所示, GPRS模塊在連接單片機之前需要在后臺配置好阿里云平臺的接口。當設備成功入網后, 再接收數據節點采集到的數據, 通過GPRS模塊上傳。隨著阿里云物聯網套件的不斷發展, 目前設備除了支持HTTPS認證外, 也支持MQTT客戶端域名直連認證[5]。

圖6 匯聚節點流程圖
MQTT協議主要有3種角色: 代理服務器、發布者客戶端及訂閱者客戶端。消息的發布者和訂閱者可相互訂閱及轉換, MQTT協議原理如圖7示。

圖7 MQTT協議原理
匯聚節點的實物圖如圖8所示, LoRa模塊負責接收來自數據采集節點上傳的數據, GPRS模塊則是把數據上傳至服務器, SD卡儲存所收集到的原始數據。為了測試數據采集節點在光伏電站類的通信性能, 選取LoRa網關等間距的測試半徑, 每個測試半徑選取不同的3個方向數據采集節點來進行數據通信測試, 其示意圖如圖9所示。

圖8 匯聚節點實物圖

圖9 通信測試方案示意圖
LoRa網關與LoRa終端的天線增益配置為12 dB、發射功率為20 dBm、工作頻率為472 MHz、通信帶寬為125 kHz、擴頻因子為12。在同一測試半徑設置3個數據采集節點, 每隔5 s發送256 byte數據包, 共發送50次。LoRa網關接收數據包, 并按節點編號記錄數據和接收信號強度(RSSI)的值。通過分析LoRa網關接收到的數據來分析丟包率(PLR)和數據傳輸速度(DR), 得到的數據如表1所示。

表1 節點通信測試
在上述配置下的數據采集節點與匯聚節點之間的通信距離可達2.8 km, 數據傳輸速率在1 840~10 213 b/s, 為保證通信的可靠, 將匯聚節點安裝在光伏矩陣的中心位置, 以滿足光伏電站的監測需求。
RNN(遞歸神經網絡)是一種能夠跟蹤時間序列非線性動態的人工神經網絡, 這得益于其嵌入式內存[6]。它擁有多種架構, 其中性能較好的是Elman網絡, 該網絡由3層組成, 分別為輸入層、隱藏層和輸出層。在輸入層和隱藏層之間存在反饋連接, 產生了一個新的承接層。Elman網絡結構如圖10所示。

圖10 Elman網絡結構示意圖
Elman網絡的輸出可表示為
式中:yk為輸出值;xi為輸入值;θk、θj為輸出節點k與隱藏節點j的閾值;wkj為隱藏節點到輸出節點的權重;wji為輸入節點到隱藏節點的權重;fm、fL為輸出層和隱藏層的激活函數,m、L分別輸出層和隱藏層節點個數;ac為隱藏節點的激活值, 存儲在承接層節點c中;wjc為從承接層節點到隱藏節點的權重;t為迭代次數。
遺傳算法優化的Elman(GA-Elman)神經網絡構建如圖11所示。

圖11 GA-Elman神經網絡構建流程圖

以本次搭建的19.9 kW的實驗平臺為例, 地面固定式安裝朝南仰角45°。采集數據包括: 光伏板輸出功率(PA, kW)、水平總輻射(IGH, W/m2)、直射輻射(IDN, W/m2)、散射輻射(IDH, W/m2)、環境溫度(TA, ℃)、組件溫度(TC, ℃)、環境相對濕度(RHA, %)與大氣壓強(P, Pa)。
灰色關聯法是一種多因素統計方法, 與常規的主成分分析、線性回歸相比, 有較高的靈活性[8]。本次采集到的數據總共7組作為特征量, 為了保證神經網絡的高效運行, 使用灰色關聯法對樣本數據進行關聯度排序, 得到影響光伏電站發電功率的關鍵參數, 其關聯度排行見表2。

表2 光伏電站發電功率影響參數及關聯度排序
考慮到總輻射強度等于直射與散射輻射強度相加, 直射與散射輻射強度都是按照相同的效率轉換為電能[9],故神經網絡的輸入選擇水平總輻射強度(IGH)、環境溫度(TA)、組件溫度(TC)與環境相對濕度(RHA)作為特征輸入, 輸出為光伏板輸出功率(PA)。由于4組特征數據之間的量綱不同, 無法直接進行比較, 因此為了簡化計算提高預測精度, 需對每個特征的樣本進行歸一化處理, 將有量綱的表達式轉化為無量綱的量。

式中:x*為歸一化處理后的數據;x為原始特征輸入數據;xmax、xmin為原始特征數據中的最大和最小值。


表3 GA-Elman模型精度評價結果
可知, 優選神經網絡拓撲結構為4-9-1的精度最佳,即輸入層神經元采用關聯度最大的4個特征值; 隱藏節點神經元個數為9, 由經驗公式法與試湊法確定; 輸出節點為1, 表示光伏電池矩陣的發電功率。神經網絡的參數設置如下: 學習速率為0.01, 訓練次數1 000, 訓練誤差為0.001。采用R2作為遺傳算法的適應度函數, 設置最大進化次數(迭代次數)為100, 種群規模定為60, 交叉概率與變異概率分別定為0.6和0.1。
為了客觀地比較Elman模型與遺傳算法優化過的Elman模型在云端的預測性能, 利用相同的訓練集, 分別建立了Elman算法與GA-Elman算法的預測模型, 迭代期情況如圖12所示。

圖12 最佳適應度進化曲線
Elman模型在經過75次迭代才能達到最佳適應度, 而GA-Elman則只需要42次迭代就能達到最佳適應度, 且模型適應度值更高。因此,經遺傳算法優化過的Elman神經網絡訓練速度更快、適應度值更高, 使得在服務器上部署GA-Elman網絡更加高效。
考慮到光伏組件的衰減, 選取最近半年所采集到的光伏電站數據。數據集分為兩部分, 最后兩天的數據(192個樣本)作為測試集, 其余的作為訓練集。分別用Elman模型與GA-Elman模型對數據集進行訓練, 將訓練好的模型進行測試, 兩種模型的預測值與實際值的擬合曲線如圖13所示。可見, GA-Elman模型的預測效果更佳,R2達到了0.977 6,RMSE為0.428 5。

圖13 Elman、GA-Elman模型預測結果
采用阿里云服務器作為系統的運行平臺, 裝載64位CentOS 7.6鏡像系列操作系統, 配置Python所需的環境, 安裝非關系型數據庫MongoDB和關系型數據庫MySQL作為數據庫管理系統。MongoDB支持的是類似*·json的文件格式數據, 其數據結構松散, 因此可以存儲各個感知節點的信息, 方便分布式文件的存儲, 適用本系統。MySQL用來儲存用戶信息等大量關系型數據。兩者結合, 能優化系統的運行速度和效率。
服務器與用戶之間的交互主要通過電腦與移動端實現, 交互平臺設計采用Python語言進行開發, 其工具選用的是Pycharm, 采用MVC(model view controller)軟件設計模式把業務邏輯、數據與界面顯示分離, 使程序的開發靈活[11]。交互平臺采用B/S(browser/server, 瀏覽器/服務器)模式, 能實現用戶靈活訪問系統,查看當前的數據, 降低了系統的開發與運行成本[12]。開發的光伏電站監測端界面如圖14所示。由于大型光伏電站多數情況地處偏遠地區, 維護人員很難對電站現場進行檢查和維護。服務器在分析數據采集節點所采集的光伏矩陣信息后發現異常時, 按照危急程度發布緊急警告、重要警告、一般警告、信息警告, 維護人員可以通過數據采集節點的定位芯片及編號快速抵達現場并解決問題。

圖14 光伏電站監測端界面
本文設計了一套可以快速部署的光伏電站監測系統, 通過數據上傳至云端, 具體的數據處理分析交予服務器, 降低現場設備的開發成本和減少因干擾帶來數據失真; 云服務對于光伏電站的功率預測、電力系統調節具有參考價值; 通過對光伏電站各項數據分析能夠及時發現故障并進行維護, 對于保障光伏電站的正常運行具有現實意義。不足的是所采集的數據僅是光伏電站地面的數據, 如果引入氣象數據, 有提升預測精度的可能。