沈 宇, 徐曉川, 臧 鵬, 吳勁芳
(國網(wǎng)冀北張家口風光儲輸新能源有限公司, 河北省 張家口 075000)
隨著環(huán)境問題受到重視,可再生能源已被納入國家能源重要布局中,風電作為最常見的可再生能源之一,已在我國大部分地區(qū)推廣投產(chǎn)。隨著我國風電建設進一步擴大,并且目前運行的大部分風電機組使用年限較長,質(zhì)保期鄰近超出或已經(jīng)超出,故障發(fā)生率和運維成本逐年上升的現(xiàn)狀引起風電運營商、制造商和第三方運維公司等機構的關注[1]。風力發(fā)電機組主要由變槳系統(tǒng)、偏航系統(tǒng)、控制系統(tǒng)和液壓系統(tǒng)等組成。由于風電機組的安裝環(huán)境往往較為惡劣,外部自然環(huán)境以及風況變化的偶然性會導致葉片及其他風電機組部件容易損壞。有調(diào)查研究顯示偏航系統(tǒng)和變槳系統(tǒng)的故障率分別為8%和7%[2],故障維修時間一般需要2~4 d,對于條件受限的海上風電場,故障維修時間甚至高達十幾天[3]。
目前,風電機組的數(shù)據(jù)重要來源于SCADA和CMS系統(tǒng),這兩個系統(tǒng)可以收集大量風機系統(tǒng)數(shù)據(jù),但無法分析故障情況,為機組運維提供有效指導。風電機組的關鍵部件更換難、耗時長、花費高,如果采用有效的態(tài)勢感知和故障識別技術使系統(tǒng)快速發(fā)現(xiàn)異常,可以有效地降低運維成本,提高風電在可再生能源領域的核心競爭能力,推動風能行業(yè)進一步發(fā)展。
目前,風電機組的故障識別技術主要分為兩大類:第一類為經(jīng)驗判斷型,代表方法為專家系統(tǒng);第二類為模型判斷型,其分為機理模型和數(shù)據(jù)模型兩種方法。數(shù)據(jù)驅動主要利用信號處理、人工智能、統(tǒng)計分析等挖掘海量數(shù)據(jù)特征,尋找系統(tǒng)運行數(shù)據(jù)與系統(tǒng)狀態(tài)之間的映射關系,無需搭建復雜多變的物理模型,具有靈活高效的優(yōu)點。Kusiak等[4]通過對風電機組有功功率監(jiān)測數(shù)據(jù)進行統(tǒng)計分析感知系統(tǒng)運行狀態(tài)。梁穎等[5]通過支持向量機搭建有功功率回歸模型,對比故障前風電機組有功功率的真實值與預測值差異,設置殘差閾值實現(xiàn)故障預警。李永戰(zhàn)等[6]發(fā)現(xiàn)高低頻能量比這一特征量可以有效區(qū)別偏航系統(tǒng)故障樣本與正常樣本。但這些方法選取的特征量較少,未能充分利用海量監(jiān)測數(shù)據(jù),并且需要計算殘差或預測未來數(shù)據(jù)走勢,對專家經(jīng)驗的依賴性較強,泛化性不高。因此,文中提出利用機器學習構建數(shù)據(jù)驅動模型,直接將高維特征輸入分類器,與上述文獻相比有著簡便快捷、精度較高的優(yōu)勢,可以為風電機組的運維提供有效指導。
風力發(fā)電機組的偏航系統(tǒng)是水平軸式風力發(fā)電機組必不可少的組成系統(tǒng)之一,主要分為主動偏航和被動偏航兩種齒輪驅動方式。偏航系統(tǒng)可以捕捉風向并控制機艙平穩(wěn)、精確、可靠地旋轉對風,以保證風電機組機艙始終處于迎風狀態(tài),從而最大化利用風能,提高發(fā)電效率。文中數(shù)據(jù)來源于風機機型FL1500/1577,此機型采用主動偏航方式,其結構如圖1所示。
圖1 偏航系統(tǒng)Fig.1 Yaw system
偏航系統(tǒng)工作過程為:風機需要根據(jù)風向變化實時改變?nèi)~片位置。當風向改變時,風速風向儀首先感知風向,并將風向狀態(tài)量上傳至控制系統(tǒng),控制系統(tǒng)通過控制偏航電機來驅動齒輪旋轉,從而對準風向。由圖1可以看出,偏航系統(tǒng)主要由偏航驅動裝置等部分構成。大齒圈本身并不能轉動,必須依靠外部嚙合的小齒輪沿齒圈轉動[7]。
偏航系統(tǒng)工作過程中存在陀螺力矩,由于風向變化的不確定性,偏航系統(tǒng)需要頻繁啟停,長期工作會對偏航系統(tǒng)中關鍵部件造成疲勞累積和性能損耗,容易導致突發(fā)故障[8],這是風電機組平穩(wěn)發(fā)電的隱患之一。
變槳系統(tǒng)通過調(diào)整葉片角控制風機的電力速度,通過衰減震動極小化風機機械載荷,實現(xiàn)功率調(diào)節(jié),保證風機安全運行,如圖2所示。變槳系統(tǒng)主要在0°~90°的范圍內(nèi)調(diào)節(jié)槳葉角度從而改變?nèi)~片的著風面積。當葉片與葉片旋轉面的夾角為0°時,著風面積最大,風機功率最大;在極端天氣情況下可以使夾角為90°,進入全順槳狀態(tài),著風面積最小以防葉片損壞。當天氣正常,葉片旋轉增大著風面積從而起動。當風速合適時,可調(diào)節(jié)葉片角度為0°,使功率維持在額定功率附近。
圖2 變槳系統(tǒng)Fig.2 Pitch system
變槳系統(tǒng)的工作原理大致如下:通過風向風速儀感知風速,并把風速狀態(tài)量上傳至變槳控制系統(tǒng)。機組主控向三個葉片對應的軸柜發(fā)送變槳命令,軸柜通過各自獨立的整流裝置驅動電機運轉,并通過減速齒輪箱傳遞扭矩,直至變槳齒輪將每個葉片都旋轉到精確的角度,最后再將葉片角度值反饋給控制系統(tǒng)。與偏航系統(tǒng)相似,風速變化的隨機性會給葉片造成沖擊性負荷,變槳動作需要隨風況頻繁變化,變槳系統(tǒng)易使葉片振動、變載等產(chǎn)生故障,導致發(fā)電能力下降。
偏航和變槳系統(tǒng)在發(fā)生故障時,都會對發(fā)電能力造成影響,不利于風電機組輸出功率最大化。風電機組的部分參數(shù)在故障發(fā)生時呈現(xiàn)異常狀態(tài),通過人工智能挖掘故障與參數(shù)變化的隱藏映射關系,可以實現(xiàn)對故障情況的識別判斷,以便盡快對風電機組進行檢修,縮小檢修范圍,提高檢修效率。
基于BP網(wǎng)絡的數(shù)據(jù)驅動模型是黑箱模型,避免建立復雜的機理模型,僅需歷史數(shù)據(jù)即可自動學習輸入量與輸出量之間的內(nèi)在聯(lián)系。其學習過程是輸入信號的前向傳播和誤差的逆向傳播的結合。一個基本的BP神經(jīng)網(wǎng)絡由輸入層、隱藏層和輸出層構成,增大網(wǎng)絡深度可以通過增加隱藏層的數(shù)量來實現(xiàn)。輸入信號從輸入層進入并經(jīng)隱藏層逐步處理,最后從輸出層輸出。使用損失函數(shù)表示模型預測值與實際值的差距。如果未達到期望結果,通過反向傳播逐層調(diào)整神經(jīng)網(wǎng)絡的參數(shù),使網(wǎng)絡的損失最小,從而使BP神經(jīng)網(wǎng)絡提高精度,逐步逼近期望結果。具體思路是:梯度下降法去找權值變化使誤差最小,梯度下降方向可以用一個復合函數(shù)求導鏈式法則求出來,鏈式法則本身就帶有前向反饋的功能,可以實現(xiàn)由已知探未知。
極限梯度提升樹。算法核心是采用集成思想,考慮多個分類回歸樹(Classification and regression tree,CART)的分類結果,即將多個弱分類器集成為一個強分類器,采用梯度提升方法進行加法訓練,以提升其預測速度與精度,通過多輪迭代達到更好的學習效果[9]。XGBoost的基本思想和GBDT相同[10],但是針對GBDT依賴強、并行難、效率低等缺點進行優(yōu)化,如二階導數(shù)使損失函數(shù)更精準;加入正則項避免訓練中樹過擬合[9];Block存儲可以并行計算等。XGBoost模型構建過程如下。
定義一棵樹
ft(x)=wq(x),w∈RT,q:Rd→{1,2,…,T},
(1)
(2)
式中:w——葉子結點的權重向量;
T——葉子結點個數(shù);
wi——第i個葉子結點的分數(shù);
q——葉子結點的映射關系(即由樣本對應的葉子標簽);
f——函數(shù)空間F中的一個函數(shù),代表樹這種抽象結構;
Ω——樹的復雜度,主要包括葉子結點數(shù)量T和葉子結點權重的L2范數(shù);
γ、λ——正則化參數(shù),用于控制模型復雜度,防止模型過擬合。
目標函數(shù)O(t)為
(3)
(4)
(5)
(6)
式中:n——樣本數(shù)量;
K——樹的數(shù)量;
式(3)由損失函數(shù)和懲罰項兩部分組成,損失函數(shù)衡量真實值與預測值的差距,懲罰項衡量模型的復雜程度 (不考慮復雜度就是GBDT算法) ,
(7)
(8)
當訓練開始后,通過遍歷特征選擇目標分數(shù)值增益值大的作為劃分點。當樹的深度達到最大深度、分裂帶來的收益小于閾值或樣本權重和小于閾值時,樹停止分裂,訓練結束。
針對非線性樣本的分類,使用硬邊距SVM誤差較大,可以通過選擇合適的核函數(shù)將樣本數(shù)據(jù)從非線性空間映射至更高維度的線性空間,通過尋找最優(yōu)超平面對其分類[11-13]。其數(shù)學模型為
(9)
式中:Z、Y——輸入的樣本數(shù)據(jù)和學習目標,X={X1,X2,…,XN},Y={Y1,Y2,…,YN};
Li——鉸鏈損失函數(shù);
w、b——超平面法向量和截距。
使用松弛變量ξ≥0處理較鏈損失函數(shù)的分段取值簡化方程,通過拉格朗日乘子,α={α1,α2,…,αN},μ={μ1,…,μN}得到拉格朗日函數(shù),對優(yōu)化目標w、b、ξ求偏導后再代回拉格朗日函數(shù)可得到優(yōu)化問題的對偶問題。
(10)
式中,φ(Xj)——將Xj映射后的特征向量。
采用冀北某風力發(fā)電基地2022年1-4月內(nèi)若干天的運行數(shù)據(jù)對算法進行測試。數(shù)據(jù)包括變槳槳距角、風速等49個特征量。對樣本集進行數(shù)據(jù)可視化,由于數(shù)據(jù)含有49個特征量,維數(shù)較高,所以僅展示個別特征量。其中加速度和槳距角隨時間變化趨勢如圖3、4所示。可以看到,在故障發(fā)生前加速度的幅值出現(xiàn)減小的趨勢,直至故障發(fā)生時減至最小,隨后還出現(xiàn)兩次幅值突然增大的現(xiàn)象。對于槳距角,則是在故障發(fā)生前幅值增大,隨后出現(xiàn)兩次幅值突然減小的現(xiàn)象??梢园l(fā)現(xiàn)不同物理量之間的取值范圍差異較大,為了使分類結果更加準確,故對數(shù)據(jù)進行歸一化,歸一化后的數(shù)據(jù)如圖5、6所示。
圖3 風電機組各時刻的加速度變化量Fig.3 The acceleration change of wind turbine at each moment
圖4 風電機組各時刻的槳距角變化量Fig.4 Variation of pitch angle of wind turbine at each moment
圖5 歸一化的風電機組各時刻的加速度變化量Fig.5 Normalized acceleration change of wind turbine at each moment
圖6 歸一化的風電機組各時刻的槳距角變化量Fig.6 Normalized pitch angle change of wind turbine at each moment
為了判斷基于數(shù)據(jù)驅動的故障識別算法性能好壞,比較不同算法之間的優(yōu)劣性,使用準確度S1和加權精確度S2分別為
(11)
(12)
式中:TP、TN——真正為正、負的一類,即模型預測正確的正、負類樣本個數(shù);
FP、FN——錯誤為正、負的一類,即模型認為是正類而實際是負類的樣本;
wi——類別i占比。
由式(11)、(12)可知,準確率反映所有預測樣本中準確預測的比例,精確度反映預測為正例中正確的比例,用來評估預測正例的準確度。
基于Python搭建風機故障識別數(shù)字模型,故障類型分為變槳故障和偏航故障兩大類,每一類下又細分為幾種具體故障。變槳故障有變槳內(nèi)部安全鏈、變槳位置比較偏差大、發(fā)電位置傳感器異常三種,偏航故障有風向標異常和加速度超限兩種。
表1 故障類型
數(shù)據(jù)來源為一線生產(chǎn)數(shù)據(jù),共有49個特征量,見表2。樣本容量有所不同,故障占比也不同,但對結果的分析主要集中在不同方法對同一故障的識別效果,所以可忽略其影響。分別采用BP神經(jīng)網(wǎng)絡、極致梯度提升樹、支持向量機三種分類方法對故障情況識別,最終分類結果,如圖7所示。
表2 特征量
圖7 三種算法對不同故障的識別效果Fig.7 Recognition effect of three algorithms on different faults
從實驗結果可以看出,變槳位置比較偏差大的識別準確率相對較低,其他四種故障識別準確率較高,大部分都在95%以上。XGBoost整體表現(xiàn)最好,BP神經(jīng)網(wǎng)絡次之,SVM最差。這可能是由于樣本數(shù)據(jù)量較小,神經(jīng)網(wǎng)絡更適合樣本數(shù)量大的情況。而XGBoost屬于集成算法,預測效果比SVM更好。
基于XGBoost算法對特征重要性進行評估,展示了排名前七位的特征,如圖8所示。其中故障允許偏航等級對故障識別的貢獻最大,1#變槳槳距角次之,然后是偏航位置,風向角和1#變槳電機溫度所占比重相似,其余特征作用較小。
圖8 基于XGBoost算法的特征重要性Fig.8 Feature importance based on XGBoost algorithm
當僅考慮故障允許偏航等級時,故障識別的準確率為99.71%,考慮偏航位置時,準確率為99.86%,考慮排名前三位特征時,準確率為99.98%,之后再增加特征量準確率不再提高。所以對于仿真數(shù)據(jù)較多的情況,為了節(jié)省內(nèi)存和提高計算速度,可以只考慮故障允許偏航等級一個特征也可以達到不錯的故障識別率;當數(shù)據(jù)體量中等時,可以對高維時空數(shù)據(jù)聯(lián)合分析,達到精度更高的效果。
風機故障識別是保障風電機組安全可靠運行的重要技術。研究和探討了BP神經(jīng)網(wǎng)絡、極致梯度提升樹和支持向量機三種方法的原理和方程推導,并基于冀北風電機組實際數(shù)據(jù)比較了在不同算法下的識別精度差異,結果表明XGBoost在本算例中的綜合表現(xiàn)較好。與傳統(tǒng)的機理模型或經(jīng)驗模型實現(xiàn)故障識別相比,基于數(shù)據(jù)驅動的智能算法利用風電機組運行過程中產(chǎn)生的大量數(shù)據(jù),實現(xiàn)了數(shù)據(jù)賦能,獲得高精度的預測結果,并且具有良好的魯棒性和泛化能力。