海 濤, 肖健倫, 韋 文, 張 川, 陸 猛
(1.廣西大學(xué) 電氣工程學(xué)院, 南寧 530004; 2.廣西中煙工業(yè)有限責(zé)任公司, 南寧 530001;3.霍爾果斯正泰科技服務(wù)有限公司, 新疆 霍爾果斯 835221)
發(fā)電量與發(fā)電功率的不規(guī)則性是阻礙光伏發(fā)電成為主要電力來源的因素之一[1]。隨著物聯(lián)網(wǎng)技術(shù)的飛速發(fā)展, 越來越多的物聯(lián)設(shè)備被應(yīng)用到生產(chǎn)生活中, 產(chǎn)業(yè)不斷擴(kuò)大, 物聯(lián)設(shè)備的成本逐漸下降[2]。文獻(xiàn)[3]開發(fā)出了一套基于WiFi無線通信技術(shù)的光伏監(jiān)控系統(tǒng), 雖然WLAN技術(shù)的帶寬滿足無線監(jiān)控的要求, 但是其通信覆蓋范圍及可靠性無法滿足遠(yuǎn)程監(jiān)控需求。一般的大型光伏電站地處偏遠(yuǎn), 傳統(tǒng)的有線監(jiān)控方式隨著人工成本的上升并不適用, 當(dāng)光伏電站需要擴(kuò)容時, 就會面臨光伏監(jiān)測系統(tǒng)重新部署與設(shè)備更新?lián)Q代的問題。這不僅需要消耗人力物力, 還會影響光伏電站的運(yùn)行。鑒于此,本文提出一種基于云平臺的高效監(jiān)測方案, 通過部署在云端的神經(jīng)網(wǎng)絡(luò)對發(fā)電功率進(jìn)行準(zhǔn)確預(yù)測, 使得操作員可隨時查看光伏電站的運(yùn)行情況。
光伏電站的監(jiān)測系統(tǒng)主要由數(shù)據(jù)采集節(jié)點、匯聚節(jié)點與服務(wù)器3部分組成, 該系統(tǒng)構(gòu)成如圖1所示。實現(xiàn)光伏電站物聯(lián)網(wǎng)監(jiān)測的關(guān)鍵環(huán)節(jié)是通信。數(shù)據(jù)采集節(jié)點采用LoRa通信把數(shù)據(jù)上傳至LoRa網(wǎng)關(guān), 數(shù)據(jù)采集節(jié)點與網(wǎng)關(guān)之間通信采用的是星形網(wǎng)絡(luò)結(jié)構(gòu), 可以降低開發(fā)維護(hù)成本,提高數(shù)據(jù)傳輸?shù)姆€(wěn)定性, 從而實現(xiàn)光伏電站的數(shù)據(jù)采集[4]。本次實驗采用的是光伏電站內(nèi)裝機(jī)容量為19.9 kW的光伏陣列, 無線傳感器將采集到的光輻照度、組件溫度、環(huán)境溫度以及空氣濕度等數(shù)據(jù)通過LoRa網(wǎng)關(guān)上傳至服務(wù)器進(jìn)行分析處理。
圖1 光伏電站監(jiān)測系統(tǒng)框圖
數(shù)據(jù)采集節(jié)點與匯聚節(jié)點的主控芯片采用來自意法半導(dǎo)體的STM32F407VET6, 具有82個I/O口、512 kB的Flash以及192 kB的RAM, 主頻最高為168 MHz, 具有豐富的外設(shè)資源。無線通訊LoRa是基于SX1278芯片開發(fā)的無線數(shù)傳模塊, 該模塊可以直接與供電為3.3 V的單片機(jī)連接, 采用LoRa調(diào)制方式可以顯著提高通信距離, 并且具有低功耗、抗干擾性強(qiáng)的特點。
數(shù)據(jù)采集節(jié)點主要負(fù)責(zé)采集光伏電站的數(shù)據(jù),通過輻照度傳感器采集電站的輻照數(shù)據(jù), 經(jīng)電流與電壓傳感器分別采集光伏矩陣的電流與電壓, 通過環(huán)境傳感器(溫度、濕度、大氣壓強(qiáng)傳感器)來采集電站的主要環(huán)境參數(shù)及光伏組件的溫度, 數(shù)據(jù)采集節(jié)點結(jié)構(gòu)框圖如圖2所示。
圖2 數(shù)據(jù)采集節(jié)點結(jié)構(gòu)框圖
采集到的數(shù)據(jù)由單片機(jī)進(jìn)行處理, 通過 SPI(串行外設(shè)接口)將數(shù)據(jù)通過SX1278無線模塊傳至匯聚節(jié)點, 使用GPS/北斗定位模塊實現(xiàn)對各個節(jié)點的快速定位, 方便節(jié)點的管理。數(shù)據(jù)采集節(jié)點采用太陽能電池供電, 電源模塊主要給傳感器、單片機(jī)、SX1278模塊等供電。STM32F407VET6通過SX1278完成數(shù)據(jù)的發(fā)送。數(shù)據(jù)采集節(jié)點的流程如圖3所示, 首先對單片機(jī)及傳感器進(jìn)行初始化, 然后讀取傳感器的數(shù)據(jù)并儲存, 最后完成上傳數(shù)據(jù)至匯聚節(jié)點。
圖3 數(shù)據(jù)采集節(jié)點流程圖
無線模塊外圍收發(fā)電路如圖4所示, 單片機(jī)通過SPI和SX1278無線模塊進(jìn)行雙向通訊。SX1278是半雙工的收發(fā)器, 在使用時需要在接收和發(fā)送之間切換模式, 當(dāng)CTRL為高電平且VDD為低電平時, 開啟接收功能; 當(dāng)CTRL為低電平且VDD為高電平時, 開啟發(fā)射功能。數(shù)據(jù)通過單片機(jī)的PA7引腳發(fā)送到SX1278的MISO引腳, 再由射頻模塊發(fā)出, SX1278的SCK、MISO、MOSI、NSS分別與單片機(jī)的PA5、PA7、PA6、PA4相連。
圖4 通信模塊SX1278外圍收發(fā)電路
匯聚節(jié)點主要由LoRa模塊、STM32最小系統(tǒng)、GPRS模塊組成。GPRS模塊采用的是合宙Air720H, 使用DTU固件實現(xiàn)數(shù)據(jù)透傳至阿里云??紤]到LoRa模塊與GPRS模塊的功耗比較大、穩(wěn)定性要求高, 為確保匯聚節(jié)點的穩(wěn)定性, 供電采用光伏電與市電的混合供電方式, 太陽能為主供電, 市電為備用供電, 其結(jié)構(gòu)框圖如圖5所示。
圖5 匯聚節(jié)點結(jié)構(gòu)框圖
匯聚節(jié)點的程序流程如圖6所示, GPRS模塊在連接單片機(jī)之前需要在后臺配置好阿里云平臺的接口。當(dāng)設(shè)備成功入網(wǎng)后, 再接收數(shù)據(jù)節(jié)點采集到的數(shù)據(jù), 通過GPRS模塊上傳。隨著阿里云物聯(lián)網(wǎng)套件的不斷發(fā)展, 目前設(shè)備除了支持HTTPS認(rèn)證外, 也支持MQTT客戶端域名直連認(rèn)證[5]。
圖6 匯聚節(jié)點流程圖
MQTT協(xié)議主要有3種角色: 代理服務(wù)器、發(fā)布者客戶端及訂閱者客戶端。消息的發(fā)布者和訂閱者可相互訂閱及轉(zhuǎn)換, MQTT協(xié)議原理如圖7示。
圖7 MQTT協(xié)議原理
匯聚節(jié)點的實物圖如圖8所示, LoRa模塊負(fù)責(zé)接收來自數(shù)據(jù)采集節(jié)點上傳的數(shù)據(jù), GPRS模塊則是把數(shù)據(jù)上傳至服務(wù)器, SD卡儲存所收集到的原始數(shù)據(jù)。為了測試數(shù)據(jù)采集節(jié)點在光伏電站類的通信性能, 選取LoRa網(wǎng)關(guān)等間距的測試半徑, 每個測試半徑選取不同的3個方向數(shù)據(jù)采集節(jié)點來進(jìn)行數(shù)據(jù)通信測試, 其示意圖如圖9所示。
圖8 匯聚節(jié)點實物圖
圖9 通信測試方案示意圖
LoRa網(wǎng)關(guān)與LoRa終端的天線增益配置為12 dB、發(fā)射功率為20 dBm、工作頻率為472 MHz、通信帶寬為125 kHz、擴(kuò)頻因子為12。在同一測試半徑設(shè)置3個數(shù)據(jù)采集節(jié)點, 每隔5 s發(fā)送256 byte數(shù)據(jù)包, 共發(fā)送50次。LoRa網(wǎng)關(guān)接收數(shù)據(jù)包, 并按節(jié)點編號記錄數(shù)據(jù)和接收信號強(qiáng)度(RSSI)的值。通過分析LoRa網(wǎng)關(guān)接收到的數(shù)據(jù)來分析丟包率(PLR)和數(shù)據(jù)傳輸速度(DR), 得到的數(shù)據(jù)如表1所示。
表1 節(jié)點通信測試
在上述配置下的數(shù)據(jù)采集節(jié)點與匯聚節(jié)點之間的通信距離可達(dá)2.8 km, 數(shù)據(jù)傳輸速率在1 840~10 213 b/s, 為保證通信的可靠, 將匯聚節(jié)點安裝在光伏矩陣的中心位置, 以滿足光伏電站的監(jiān)測需求。
RNN(遞歸神經(jīng)網(wǎng)絡(luò))是一種能夠跟蹤時間序列非線性動態(tài)的人工神經(jīng)網(wǎng)絡(luò), 這得益于其嵌入式內(nèi)存[6]。它擁有多種架構(gòu), 其中性能較好的是Elman網(wǎng)絡(luò), 該網(wǎng)絡(luò)由3層組成, 分別為輸入層、隱藏層和輸出層。在輸入層和隱藏層之間存在反饋連接, 產(chǎn)生了一個新的承接層。Elman網(wǎng)絡(luò)結(jié)構(gòu)如圖10所示。
圖10 Elman網(wǎng)絡(luò)結(jié)構(gòu)示意圖
Elman網(wǎng)絡(luò)的輸出可表示為
式中:yk為輸出值;xi為輸入值;θk、θj為輸出節(jié)點k與隱藏節(jié)點j的閾值;wkj為隱藏節(jié)點到輸出節(jié)點的權(quán)重;wji為輸入節(jié)點到隱藏節(jié)點的權(quán)重;fm、fL為輸出層和隱藏層的激活函數(shù),m、L分別輸出層和隱藏層節(jié)點個數(shù);ac為隱藏節(jié)點的激活值, 存儲在承接層節(jié)點c中;wjc為從承接層節(jié)點到隱藏節(jié)點的權(quán)重;t為迭代次數(shù)。
遺傳算法優(yōu)化的Elman(GA-Elman)神經(jīng)網(wǎng)絡(luò)構(gòu)建如圖11所示。
圖11 GA-Elman神經(jīng)網(wǎng)絡(luò)構(gòu)建流程圖
以本次搭建的19.9 kW的實驗平臺為例, 地面固定式安裝朝南仰角45°。采集數(shù)據(jù)包括: 光伏板輸出功率(PA, kW)、水平總輻射(IGH, W/m2)、直射輻射(IDN, W/m2)、散射輻射(IDH, W/m2)、環(huán)境溫度(TA, ℃)、組件溫度(TC, ℃)、環(huán)境相對濕度(RHA, %)與大氣壓強(qiáng)(P, Pa)。
灰色關(guān)聯(lián)法是一種多因素統(tǒng)計方法, 與常規(guī)的主成分分析、線性回歸相比, 有較高的靈活性[8]。本次采集到的數(shù)據(jù)總共7組作為特征量, 為了保證神經(jīng)網(wǎng)絡(luò)的高效運(yùn)行, 使用灰色關(guān)聯(lián)法對樣本數(shù)據(jù)進(jìn)行關(guān)聯(lián)度排序, 得到影響光伏電站發(fā)電功率的關(guān)鍵參數(shù), 其關(guān)聯(lián)度排行見表2。
表2 光伏電站發(fā)電功率影響參數(shù)及關(guān)聯(lián)度排序
考慮到總輻射強(qiáng)度等于直射與散射輻射強(qiáng)度相加, 直射與散射輻射強(qiáng)度都是按照相同的效率轉(zhuǎn)換為電能[9],故神經(jīng)網(wǎng)絡(luò)的輸入選擇水平總輻射強(qiáng)度(IGH)、環(huán)境溫度(TA)、組件溫度(TC)與環(huán)境相對濕度(RHA)作為特征輸入, 輸出為光伏板輸出功率(PA)。由于4組特征數(shù)據(jù)之間的量綱不同, 無法直接進(jìn)行比較, 因此為了簡化計算提高預(yù)測精度, 需對每個特征的樣本進(jìn)行歸一化處理, 將有量綱的表達(dá)式轉(zhuǎn)化為無量綱的量。
式中:x*為歸一化處理后的數(shù)據(jù);x為原始特征輸入數(shù)據(jù);xmax、xmin為原始特征數(shù)據(jù)中的最大和最小值。
表3 GA-Elman模型精度評價結(jié)果
可知, 優(yōu)選神經(jīng)網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)為4-9-1的精度最佳,即輸入層神經(jīng)元采用關(guān)聯(lián)度最大的4個特征值; 隱藏節(jié)點神經(jīng)元個數(shù)為9, 由經(jīng)驗公式法與試湊法確定; 輸出節(jié)點為1, 表示光伏電池矩陣的發(fā)電功率。神經(jīng)網(wǎng)絡(luò)的參數(shù)設(shè)置如下: 學(xué)習(xí)速率為0.01, 訓(xùn)練次數(shù)1 000, 訓(xùn)練誤差為0.001。采用R2作為遺傳算法的適應(yīng)度函數(shù), 設(shè)置最大進(jìn)化次數(shù)(迭代次數(shù))為100, 種群規(guī)模定為60, 交叉概率與變異概率分別定為0.6和0.1。
為了客觀地比較Elman模型與遺傳算法優(yōu)化過的Elman模型在云端的預(yù)測性能, 利用相同的訓(xùn)練集, 分別建立了Elman算法與GA-Elman算法的預(yù)測模型, 迭代期情況如圖12所示。
圖12 最佳適應(yīng)度進(jìn)化曲線
Elman模型在經(jīng)過75次迭代才能達(dá)到最佳適應(yīng)度, 而GA-Elman則只需要42次迭代就能達(dá)到最佳適應(yīng)度, 且模型適應(yīng)度值更高。因此,經(jīng)遺傳算法優(yōu)化過的Elman神經(jīng)網(wǎng)絡(luò)訓(xùn)練速度更快、適應(yīng)度值更高, 使得在服務(wù)器上部署GA-Elman網(wǎng)絡(luò)更加高效。
考慮到光伏組件的衰減, 選取最近半年所采集到的光伏電站數(shù)據(jù)。數(shù)據(jù)集分為兩部分, 最后兩天的數(shù)據(jù)(192個樣本)作為測試集, 其余的作為訓(xùn)練集。分別用Elman模型與GA-Elman模型對數(shù)據(jù)集進(jìn)行訓(xùn)練, 將訓(xùn)練好的模型進(jìn)行測試, 兩種模型的預(yù)測值與實際值的擬合曲線如圖13所示??梢? GA-Elman模型的預(yù)測效果更佳,R2達(dá)到了0.977 6,RMSE為0.428 5。
圖13 Elman、GA-Elman模型預(yù)測結(jié)果
采用阿里云服務(wù)器作為系統(tǒng)的運(yùn)行平臺, 裝載64位CentOS 7.6鏡像系列操作系統(tǒng), 配置Python所需的環(huán)境, 安裝非關(guān)系型數(shù)據(jù)庫MongoDB和關(guān)系型數(shù)據(jù)庫MySQL作為數(shù)據(jù)庫管理系統(tǒng)。MongoDB支持的是類似*·json的文件格式數(shù)據(jù), 其數(shù)據(jù)結(jié)構(gòu)松散, 因此可以存儲各個感知節(jié)點的信息, 方便分布式文件的存儲, 適用本系統(tǒng)。MySQL用來儲存用戶信息等大量關(guān)系型數(shù)據(jù)。兩者結(jié)合, 能優(yōu)化系統(tǒng)的運(yùn)行速度和效率。
服務(wù)器與用戶之間的交互主要通過電腦與移動端實現(xiàn), 交互平臺設(shè)計采用Python語言進(jìn)行開發(fā), 其工具選用的是Pycharm, 采用MVC(model view controller)軟件設(shè)計模式把業(yè)務(wù)邏輯、數(shù)據(jù)與界面顯示分離, 使程序的開發(fā)靈活[11]。交互平臺采用B/S(browser/server, 瀏覽器/服務(wù)器)模式, 能實現(xiàn)用戶靈活訪問系統(tǒng),查看當(dāng)前的數(shù)據(jù), 降低了系統(tǒng)的開發(fā)與運(yùn)行成本[12]。開發(fā)的光伏電站監(jiān)測端界面如圖14所示。由于大型光伏電站多數(shù)情況地處偏遠(yuǎn)地區(qū), 維護(hù)人員很難對電站現(xiàn)場進(jìn)行檢查和維護(hù)。服務(wù)器在分析數(shù)據(jù)采集節(jié)點所采集的光伏矩陣信息后發(fā)現(xiàn)異常時, 按照危急程度發(fā)布緊急警告、重要警告、一般警告、信息警告, 維護(hù)人員可以通過數(shù)據(jù)采集節(jié)點的定位芯片及編號快速抵達(dá)現(xiàn)場并解決問題。
圖14 光伏電站監(jiān)測端界面
本文設(shè)計了一套可以快速部署的光伏電站監(jiān)測系統(tǒng), 通過數(shù)據(jù)上傳至云端, 具體的數(shù)據(jù)處理分析交予服務(wù)器, 降低現(xiàn)場設(shè)備的開發(fā)成本和減少因干擾帶來數(shù)據(jù)失真; 云服務(wù)對于光伏電站的功率預(yù)測、電力系統(tǒng)調(diào)節(jié)具有參考價值; 通過對光伏電站各項數(shù)據(jù)分析能夠及時發(fā)現(xiàn)故障并進(jìn)行維護(hù), 對于保障光伏電站的正常運(yùn)行具有現(xiàn)實意義。不足的是所采集的數(shù)據(jù)僅是光伏電站地面的數(shù)據(jù), 如果引入氣象數(shù)據(jù), 有提升預(yù)測精度的可能。