基于数据驱动的风机变桨与偏航故障识别

2023-09-02 07:07徐晓川吴劲芳
黑龙江科技大学学报 2023年4期
关键词:变桨风电机组

沈 宇, 徐晓川, 臧 鹏, 吴劲芳

(国网冀北张家口风光储输新能源有限公司, 河北省 张家口 075000)

0 引 言

随着环境问题受到重视,可再生能源已被纳入国家能源重要布局中,风电作为最常见的可再生能源之一,已在我国大部分地区推广投产。随着我国风电建设进一步扩大,并且目前运行的大部分风电机组使用年限较长,质保期邻近超出或已经超出,故障发生率和运维成本逐年上升的现状引起风电运营商、制造商和第三方运维公司等机构的关注[1]。风力发电机组主要由变桨系统、偏航系统、控制系统和液压系统等组成。由于风电机组的安装环境往往较为恶劣,外部自然环境以及风况变化的偶然性会导致叶片及其他风电机组部件容易损坏。有调查研究显示偏航系统和变桨系统的故障率分别为8%和7%[2],故障维修时间一般需要2~4 d,对于条件受限的海上风电场,故障维修时间甚至高达十几天[3]。

目前,风电机组的数据重要来源于SCADA和CMS系统,这两个系统可以收集大量风机系统数据,但无法分析故障情况,为机组运维提供有效指导。风电机组的关键部件更换难、耗时长、花费高,如果采用有效的态势感知和故障识别技术使系统快速发现异常,可以有效地降低运维成本,提高风电在可再生能源领域的核心竞争能力,推动风能行业进一步发展。

目前,风电机组的故障识别技术主要分为两大类:第一类为经验判断型,代表方法为专家系统;第二类为模型判断型,其分为机理模型和数据模型两种方法。数据驱动主要利用信号处理、人工智能、统计分析等挖掘海量数据特征,寻找系统运行数据与系统状态之间的映射关系,无需搭建复杂多变的物理模型,具有灵活高效的优点。Kusiak等[4]通过对风电机组有功功率监测数据进行统计分析感知系统运行状态。梁颖等[5]通过支持向量机搭建有功功率回归模型,对比故障前风电机组有功功率的真实值与预测值差异,设置残差阈值实现故障预警。李永战等[6]发现高低频能量比这一特征量可以有效区别偏航系统故障样本与正常样本。但这些方法选取的特征量较少,未能充分利用海量监测数据,并且需要计算残差或预测未来数据走势,对专家经验的依赖性较强,泛化性不高。因此,文中提出利用机器学习构建数据驱动模型,直接将高维特征输入分类器,与上述文献相比有着简便快捷、精度较高的优势,可以为风电机组的运维提供有效指导。

1 故障识别原理

1.1 偏航系统

风力发电机组的偏航系统是水平轴式风力发电机组必不可少的组成系统之一,主要分为主动偏航和被动偏航两种齿轮驱动方式。偏航系统可以捕捉风向并控制机舱平稳、精确、可靠地旋转对风,以保证风电机组机舱始终处于迎风状态,从而最大化利用风能,提高发电效率。文中数据来源于风机机型FL1500/1577,此机型采用主动偏航方式,其结构如图1所示。

图1 偏航系统Fig.1 Yaw system

偏航系统工作过程为:风机需要根据风向变化实时改变叶片位置。当风向改变时,风速风向仪首先感知风向,并将风向状态量上传至控制系统,控制系统通过控制偏航电机来驱动齿轮旋转,从而对准风向。由图1可以看出,偏航系统主要由偏航驱动装置等部分构成。大齿圈本身并不能转动,必须依靠外部啮合的小齿轮沿齿圈转动[7]。

偏航系统工作过程中存在陀螺力矩,由于风向变化的不确定性,偏航系统需要频繁启停,长期工作会对偏航系统中关键部件造成疲劳累积和性能损耗,容易导致突发故障[8],这是风电机组平稳发电的隐患之一。

1.2 变桨系统

变桨系统通过调整叶片角控制风机的电力速度,通过衰减震动极小化风机机械载荷,实现功率调节,保证风机安全运行,如图2所示。变桨系统主要在0°~90°的范围内调节桨叶角度从而改变叶片的着风面积。当叶片与叶片旋转面的夹角为0°时,着风面积最大,风机功率最大;在极端天气情况下可以使夹角为90°,进入全顺桨状态,着风面积最小以防叶片损坏。当天气正常,叶片旋转增大着风面积从而起动。当风速合适时,可调节叶片角度为0°,使功率维持在额定功率附近。

图2 变桨系统Fig.2 Pitch system

变桨系统的工作原理大致如下:通过风向风速仪感知风速,并把风速状态量上传至变桨控制系统。机组主控向三个叶片对应的轴柜发送变桨命令,轴柜通过各自独立的整流装置驱动电机运转,并通过减速齿轮箱传递扭矩,直至变桨齿轮将每个叶片都旋转到精确的角度,最后再将叶片角度值反馈给控制系统。与偏航系统相似,风速变化的随机性会给叶片造成冲击性负荷,变桨动作需要随风况频繁变化,变桨系统易使叶片振动、变载等产生故障,导致发电能力下降。

偏航和变桨系统在发生故障时,都会对发电能力造成影响,不利于风电机组输出功率最大化。风电机组的部分参数在故障发生时呈现异常状态,通过人工智能挖掘故障与参数变化的隐藏映射关系,可以实现对故障情况的识别判断,以便尽快对风电机组进行检修,缩小检修范围,提高检修效率。

2 故障识别方法

2.1 BP神经网络

基于BP网络的数据驱动模型是黑箱模型,避免建立复杂的机理模型,仅需历史数据即可自动学习输入量与输出量之间的内在联系。其学习过程是输入信号的前向传播和误差的逆向传播的结合。一个基本的BP神经网络由输入层、隐藏层和输出层构成,增大网络深度可以通过增加隐藏层的数量来实现。输入信号从输入层进入并经隐藏层逐步处理,最后从输出层输出。使用损失函数表示模型预测值与实际值的差距。如果未达到期望结果,通过反向传播逐层调整神经网络的参数,使网络的损失最小,从而使BP神经网络提高精度,逐步逼近期望结果。具体思路是:梯度下降法去找权值变化使误差最小,梯度下降方向可以用一个复合函数求导链式法则求出来,链式法则本身就带有前向反馈的功能,可以实现由已知探未知。

2.2 极限梯度提升树

极限梯度提升树。算法核心是采用集成思想,考虑多个分类回归树(Classification and regression tree,CART)的分类结果,即将多个弱分类器集成为一个强分类器,采用梯度提升方法进行加法训练,以提升其预测速度与精度,通过多轮迭代达到更好的学习效果[9]。XGBoost的基本思想和GBDT相同[10],但是针对GBDT依赖强、并行难、效率低等缺点进行优化,如二阶导数使损失函数更精准;加入正则项避免训练中树过拟合[9];Block存储可以并行计算等。XGBoost模型构建过程如下。

定义一棵树

ft(x)=wq(x),w∈RT,q:Rd→{1,2,…,T},

(1)

(2)

式中:w——叶子结点的权重向量;

T——叶子结点个数;

wi——第i个叶子结点的分数;

q——叶子结点的映射关系(即由样本对应的叶子标签);

f——函数空间F中的一个函数,代表树这种抽象结构;

Ω——树的复杂度,主要包括叶子结点数量T和叶子结点权重的L2范数;

γ、λ——正则化参数,用于控制模型复杂度,防止模型过拟合。

目标函数O(t)为

(3)

(4)

(5)

(6)

式中:n——样本数量;

K——树的数量;

式(3)由损失函数和惩罚项两部分组成,损失函数衡量真实值与预测值的差距,惩罚项衡量模型的复杂程度 (不考虑复杂度就是GBDT算法) ,

(7)

(8)

当训练开始后,通过遍历特征选择目标分数值增益值大的作为划分点。当树的深度达到最大深度、分裂带来的收益小于阈值或样本权重和小于阈值时,树停止分裂,训练结束。

2.3 支持向量机

针对非线性样本的分类,使用硬边距SVM误差较大,可以通过选择合适的核函数将样本数据从非线性空间映射至更高维度的线性空间,通过寻找最优超平面对其分类[11-13]。其数学模型为

(9)

式中:Z、Y——输入的样本数据和学习目标,X={X1,X2,…,XN},Y={Y1,Y2,…,YN};

Li——铰链损失函数;

w、b——超平面法向量和截距。

使用松弛变量ξ≥0处理较链损失函数的分段取值简化方程,通过拉格朗日乘子,α={α1,α2,…,αN},μ={μ1,…,μN}得到拉格朗日函数,对优化目标w、b、ξ求偏导后再代回拉格朗日函数可得到优化问题的对偶问题。

(10)

式中,φ(Xj)——将Xj映射后的特征向量。

3 算例分析

3.1 数据获取及归一化

采用冀北某风力发电基地2022年1-4月内若干天的运行数据对算法进行测试。数据包括变桨桨距角、风速等49个特征量。对样本集进行数据可视化,由于数据含有49个特征量,维数较高,所以仅展示个别特征量。其中加速度和桨距角随时间变化趋势如图3、4所示。可以看到,在故障发生前加速度的幅值出现减小的趋势,直至故障发生时减至最小,随后还出现两次幅值突然增大的现象。对于桨距角,则是在故障发生前幅值增大,随后出现两次幅值突然减小的现象。可以发现不同物理量之间的取值范围差异较大,为了使分类结果更加准确,故对数据进行归一化,归一化后的数据如图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

3.2 算法评价指标

为了判断基于数据驱动的故障识别算法性能好坏,比较不同算法之间的优劣性,使用准确度S1和加权精确度S2分别为

(11)

(12)

式中:TP、TN——真正为正、负的一类,即模型预测正确的正、负类样本个数;

FP、FN——错误为正、负的一类,即模型认为是正类而实际是负类的样本;

wi——类别i占比。

由式(11)、(12)可知,准确率反映所有预测样本中准确预测的比例,精确度反映预测为正例中正确的比例,用来评估预测正例的准确度。

3.3 实验结果

基于Python搭建风机故障识别数字模型,故障类型分为变桨故障和偏航故障两大类,每一类下又细分为几种具体故障。变桨故障有变桨内部安全链、变桨位置比较偏差大、发电位置传感器异常三种,偏航故障有风向标异常和加速度超限两种。

表1 故障类型

数据来源为一线生产数据,共有49个特征量,见表2。样本容量有所不同,故障占比也不同,但对结果的分析主要集中在不同方法对同一故障的识别效果,所以可忽略其影响。分别采用BP神经网络、极致梯度提升树、支持向量机三种分类方法对故障情况识别,最终分类结果,如图7所示。

表2 特征量

图7 三种算法对不同故障的识别效果Fig.7 Recognition effect of three algorithms on different faults

从实验结果可以看出,变桨位置比较偏差大的识别准确率相对较低,其他四种故障识别准确率较高,大部分都在95%以上。XGBoost整体表现最好,BP神经网络次之,SVM最差。这可能是由于样本数据量较小,神经网络更适合样本数量大的情况。而XGBoost属于集成算法,预测效果比SVM更好。

基于XGBoost算法对特征重要性进行评估,展示了排名前七位的特征,如图8所示。其中故障允许偏航等级对故障识别的贡献最大,1#变桨桨距角次之,然后是偏航位置,风向角和1#变桨电机温度所占比重相似,其余特征作用较小。

图8 基于XGBoost算法的特征重要性Fig.8 Feature importance based on XGBoost algorithm

当仅考虑故障允许偏航等级时,故障识别的准确率为99.71%,考虑偏航位置时,准确率为99.86%,考虑排名前三位特征时,准确率为99.98%,之后再增加特征量准确率不再提高。所以对于仿真数据较多的情况,为了节省内存和提高计算速度,可以只考虑故障允许偏航等级一个特征也可以达到不错的故障识别率;当数据体量中等时,可以对高维时空数据联合分析,达到精度更高的效果。

4 结束语

风机故障识别是保障风电机组安全可靠运行的重要技术。研究和探讨了BP神经网络、极致梯度提升树和支持向量机三种方法的原理和方程推导,并基于冀北风电机组实际数据比较了在不同算法下的识别精度差异,结果表明XGBoost在本算例中的综合表现较好。与传统的机理模型或经验模型实现故障识别相比,基于数据驱动的智能算法利用风电机组运行过程中产生的大量数据,实现了数据赋能,获得高精度的预测结果,并且具有良好的鲁棒性和泛化能力。

猜你喜欢
变桨风电机组
660MW亚临界机组清洁疏水系统节能改造
兆瓦级风电机组变桨距系统设计
海上风电跃进隐忧
分散式风电破“局”
风电:弃风限电明显改善 海上风电如火如荼
变速风力发电机组变桨距建模与仿真
基于最小化多变量的独立变桨距控制研究
重齿风电
兆瓦级风电机组变桨系统的设计与应用
350MW机组DEH控制系统的优化