张园田,周科宇
(1.重庆电力高等专科学校电气工程学院,重庆 400053;2.重庆科技大学,重庆 401331)
为了使风能更具有竞争力,需要降低运营和维护成本[1],风力发电机由于故障和维护问题导致停机的时间约占总生产时间的3%,其中60%的风力发电机停机属于计划外停机[2]。齿轮箱故障是风力发电机中常见的系统故障之一[3-4],它间接导致转子速度和发电机速度出现异常。齿轮箱故障的问题在于其比系统动力学和系统采样率慢得多[5],使得其很难被检测和隔离,因此可能触发计划外的风力发电机停机。齿轮箱的故障主要发生在轴承和润滑油温度上,这些是存在严重故障的潜在指示器[6]。
故障检测技术[7]和容错控制策略[8]可以在不停机的前提下,安全可靠地使系统继续运作,能够极大程度地提高风力发电的经济效益[9]。该解决方案应先对故障进行检测和隔离,然后再应用合适的容错控制方案。
针对故障检测与系统健康指标分析,文献[10]通过主成本分析比较基准数据和风力发电机的实测数据,并通过假设测试来确定故障条件,但存在需要高频数据的缺点。文献[11]使用最大功率点分析来确定润滑油的故障,但没有使用标准监控和数据采集系统(Supervisory Control And Data Acquisition,SCADA)。文中基于SCADA系统并结合集成学习策略,能够应用于任何风力发电机。
针对故障工况下的容错控制方案,传统的解决方案是引入被动容错控制策略[12]或主动容错控制策略[13]。在最新的研究报告中,粒子群优化[14]、神经网络[15]等人工智能方案被应用于风力发电机的容错控制。这些方案都需要依赖访问实际控制回路参数,但是,在实际应用中这些控制数据往往是机密的,受到原始设备制造厂商的保护。SCADA数据和SCADA控制设定点是任何风电场运营商的开放访问资源,若能结合该数据支持实现对风力发电机的容错控制设计,则可以将所提出的容错控制策略应用到任何一个风力发电系统中。
因此,本文作者提出一种基于SCADA数据协同的风力机故障检测与控制设计方案。首先介绍风力发电机的系统模型与SCADA解决方案框架,接着通过回归建模、异常分析和集成学习对风力发电机系统进行故障检测并获得健康指标Hind;借助模糊逻辑控制对风力发电机的输出功率进行降额控制,从而实现风力发电机在齿轮箱故障工况下的容错控制运行;最后进行仿真实验,并将仿真结果与一个实际运行的2 MW风力发电机系统进行对比。
图1展示了一个风力发电机系统的基本架构,其中风机的主要组件包括叶片、轮毂、齿轮箱、轴承、发电机和偏航电机。其中齿轮箱及其连带的轴承是叶片与发电机之间最重要的传动连接组件,齿轮箱的故障会间接导致转子速度和发电机速度出现异常,进而影响整个系统正常运行。
图1 水平轴风力涡轮机的架构
图2展示了风力发电机系统的模型框架。风力发电机系统模型以MATLAB中的FAST Tool Master图形用户界面(GUI)进行设计,该GUI提供一个已经在Simulink中实现的默认控制系统,并可以利用相应修改来设计容错控制方案。
图2 风力发电机系统的模型框架
将图2所示风力发电机系统模型设计为一台2 MW的风力发电机以验证实验结果。为了设计该新模型,使用线性和二次插值对系统关键参数进行修改,其中转子方向配置为逆风方向,叶片数量为3,使用变桨控制作为调速方式,额定叶尖速度为75 m/s,发电机转速为1 680 r/min,轴倾斜为5°,锥角为0°,转子直径为90 m,轮毂直径为4 m,轮毂高度为111 m,悬垂为4.44 m,转子质量为54 000 kg,机舱质量为77 000 kg,塔质量为271 000 kg。
其中,图2中的控制器被设计为彼此独立工作。变桨控制器根据叶片桨距性能改变发电机速度,以使风力发电机输出功率保持额定恒定值。对于扭矩控制器,其目的是通过保持恒定(最佳)叶尖速度比,在低于额定风速的情况下最大限度地利用捕获的风能。
变桨控制器的目标是保持恒定的发电机扭矩,并使用叶片桨距角控制来调节转子速度。在具有角轴旋转的桨距控制系统中,低速轴的转速Ω是唯一的自由度,此时系统的运动方程表示为
(1)
其中:TAero是低速轴的气动扭矩;NGear是传动比;TGen是高速轴的扭矩;IRotor是转子惯性;IGen是发电机惯性;Ω0是额定的低速轴转速;ΔΩ是相对于额定转速的扰动;IDrive是传动系统的惯性;t是模拟时间。
变桨控制器旨在保持风力发电机的输出功率恒定,使发电机扭矩与发电机转速成反比,此时扭矩TGen可表示为
TGen=P0/(NGearΩ0)
(2)
同样地,假设转子速度对气动扭矩没有影响,则气动扭矩可以表示为式(3),
TAero=P/Ω0
(3)
其中:P为机械功率。
对式(2)和式(3)应用泰勒一阶近似,则有:
(4)
其中:θ为叶片桨距角。结合式(1)—(4),使用PI控制来处理桨距扰动问题,则可以表示为
(5)
其中:KP和KI分别是控制器的比例增益和积分增益。结合上述表达式可以观察到PI控制器将作为具有频率ωn和阻尼比ζ的二阶系统响应。建议使用ωn=0.6 rad/s,此时可以忽略导数项,并忽略发电机-扭矩控制器的负阻尼。为了确保控制器具有良好的性能,应当选择适当的比例增益KP和积分增益KI,此时有:
(6)
扭矩控制器的目标是最大化额定风速下捕获的功率,并保持最佳叶尖速比。为了实现这一目标,叶片桨距角必须恒定,该角度也被定义为精细桨距角。由于发电机扭矩随发电机转速的平方而变化,因此有:
(7)
其中:ρ是空气密度;R是转子半径;CPmax是最大功率系数;λopt是给定叶片桨距角下的最佳叶尖速比。由式(7)可知,发电机扭矩与最大功率系数CPmax和给定叶片桨距角的最佳叶尖速比λopt直接相关,通过模拟转子空气动力学特性可以获得发电机扭矩。
SCADA数据和SCADA控制设定点是任何风电场运营商的开放访问资源,结合该数据支持实现对风力发电机的容错控制设计,则可以真实可靠地将所提出的容错控制策略应用到任何一个风力发电系统中。为了在不进入实际控制回路的情况下有效引入SCADA解决方案的容错控制,所提出的系统架构如图3所示。该解决方案通常应先对故障进行检测和隔离,然后再应用合适的容错控制方案。
图3 基于SCADA解决方案的系统架构
对于故障检测与隔离模块,其输入数据是标准的10 min SCADA数据,通常使用开放平台协议获取。关于故障诊断,将在第2节中介绍一种结合正态回归模型、异常分析和集成学习的解决方案,通过该解决方案可以获得系统每周的健康指标Hind,为后续基于模糊逻辑的容错控制策略提供数据支持。
对于容错控制模块,其输入数据是系统的每周健康指标Hind和10 min的SCADA数据,10 min的SCADA数据主要用于在每周运行期间进行微调输出,输出有功功率控制的实时设置点。
为了确定早期故障条件,使用无监督的系统健康指标Hind。每周获取系统的健康指标Hind,并提供早期故障检测。在这里,它被用作容错控制策略的输入数据,系统的健康指标Hind由回归算法和异常算法初步评估,并通过集成学习来组合这2个指标,进而提高系统的灵敏度和准确性。
回归模型的目的是确定将一组输入映射到一个变量的函数,该变量可以捕获被分析部件的状态。正常运行数据用于训练算法,确定正常运行条件下输入和输出之间的关系,然后训练的模型可以用于检查目标传感器的预测数据和测量数据之间的偏差,从而确定可能与故障相关的异常条件。文中关键的目标参数是齿轮箱轴承的平均温度和齿轮箱油的平均温度。
均方根误差(RMSE)是一个重要指标,它是将回归模型与风力发电机实际参数进行比较而选定出来的指标,在此模型中使用的回归算法是梯度增强算法(GBM),如式(8)所示:
(8)
其中:Pi是目标传感器的预测数据;Ai是目标传感器的实际测量数据。梯度增强算法是一种使用基础学习器的迭代算法,如图4所示。它在可用数据集上训练决策树,每次迭代时,将增加的权重分配给数据集中预测误差较大的点,因此,决策树会不断通过优化参数集的方式,使得所选的损失函数最小化,并提高收敛性。
图4 基于梯度增强的回归算法流程
首先,求得令损失函数L(y,ρ)取得最小值时的回归模型函数F0(x),即:
(9)
然后,令m从1开始递增到最大迭代次数M进行For循环,循环内容为依次执行式(10)—(13),从而构建出回归模型:
(10)
(11)
(12)
Fm(x)=Fm-1(x)+ρmh(x,am)
(13)
在上述算法训练期间,调整的主要参数为估计器的数量和深度,为了构建回归模型,使用5个不同的SCADA变量,分别是环境温度、风速、风力发电机有功功率、发电机转速和转子转速。使用梯度增强算法的优势是可以获得较多的自由度以及使用大量的损失函数,同时也能在保持有限的训练、预测时间的同时获得良好的训练结果。
选择隔离森林算法作为异常检测算法,将每个风力发电机的状态与风电场中的其他风力发电机进行比较,以确定一个或多个风力发电机的运行是否与其他风力发电机不同。隔离森林将所有位于特征空间中、以低点密度为特征的区域上的点分类为异常点。如图5所示,中间集中存在的数据点为正常数据,而分散在边缘的数据点为异常数据。为了实现这一目标,训练多个完全开发的决策树,即以单个元素节点为特征的决策树。隔离森林的一个重要特征是数据的分割随机,异常点会自然地从大量数据中被分离出来。
图5 隔离森林数据分布
在式(14)中定义了隔离森林的异常分数,其中E(h(x))对应于隔离给定实例所需的路径长度h(x)的平均值,c(n)是二进制搜索树中未成功搜索的平均路径长度。
s(n,x)=2-E(h(x))/c(n)
(14)
当s(n,x)的值接近1时,这些点被视为异常;当s(n,x)<0.5时,这些点被视为正常实例。最后,如果数据集中所有点的s(n,x)都接近0.5,则可以得出数据集中不存在异常的结论。对于可用的超越参数,在训练阶段对估计数、污染参数和最大样本数进行了调整。
在异常检测算法中,输入变量分别是转子速度、环境温度、齿轮箱油温和齿轮箱轴承温度。对异常检测算法的结果进行后处理以获得故障指示器。其被定义为在被分析的时间段内,给定风力发电机的异常nanomalies与总量实例ntotal的比率,如式(15)所示。该比率可以用于对给定的风力发电机与风电场中的其他风力发电机进行比较,从而确定异常率较高的风力发电机。
(15)
集成学习是将多个机器学习器结合起来以完成学习任务,其可以用于分类问题集成、回归问题集成、特征选取集成、异常点检测集成等。将第2.1节中获得的回归模型的RMSE指标和第2.2节中获得的异常指标,通过一周的时间段滚动窗口平均值进行组合,最终获得一个综合健康指标Hind。
在此算例中,给定了正常指示器和异常指示器用于记录处于正常工况和异常工况的风力发电机,并设置异常工况的决策阈值为0.75,回归模型的RMSE指标和异常指标都是使用滚动平均值计算的,滚动窗口大小p设置为4周,如图6所示。
图6 滚动取样计算方式(a)和健康指标计算结果(b)
借助式(16)完成对综合健康指标Hind的计算,从而获得每个风力发电机的健康指标Hind,如图6所示,通过比较健康指标与设定的决策阈值,就可以筛选出存在异常工况的故障风力发电机。
(16)
其中:Nind是风力发电机指示器的数量;Nweek是样本的观察周数;xij是第i周第j个指示器给予的指标。
在MATLAB中的FAST Tool Master图形用户界面(GUI)进行基于模糊逻辑的容错控制设计,该设计中主要关注风力发电机的健康指标Hind,其取值范围为0~1,分别表示风力发电机在没有损坏齿轮箱部件和完全故障状态下运行,每一个风力发电机样本会在每一周计算一次该值。
为了获得更平滑的响应并更有效地操作风力发电机,采用了模糊逻辑控制器以实时调整风力发电机的需求。利用该技术,可以根据风力、齿轮箱油和轴承温度提供更精确的限制,从而避免过度的功率降额并维持风力发电机的正常运行。模糊逻辑可以快速实现,并且不需要实际训练,这为成本效益提供了非常友好的输出。
图7提出了由2个不同的模糊逻辑控制器(风速-健康指标控制器和温度控制器)组成的容错控制系统,第一个将实际风速和健康指标Hind作为输入,而第二个仅使用与齿轮箱轴承和油温度相关的单个输入。2个不同的控制器可以彼此独立工作,从而提高了容错控制的整体可靠性。其中风速-健康指标控制器旨在限制输出功率;而温度控制器则是在温度高于或者低于特定值时,降低或者升高输出实际限制值,以防止控制器过度下调和降低齿轮箱轴承和油温度的作用。
图7 容错控制系统框架
最后,为了防止过度输出降额时造成风力发电机关闭,图7中的饱和模块的单位上下限被设置为0.3,这意味着最大可用输出降额限制为70%。
在图7中,采用正弦波模拟齿轮箱轴承温度随时间的变化,如式(17)所示:
(17)
其中:T0是平均轴承温度;A是波幅;P是以秒为单位表示的周期。
为了实用有效,利用MATLAB模糊逻辑工具箱设计模糊隶属函数(MF),如图8所示,采用高斯和饱和高斯隶属函数确保平滑过渡。与风力发电机相关的控制、扭矩、速度和功率的实际响应是线性的,因此高斯隶属函数在数据概率和统计方面表现良好。
图8 风速-健康指标控制器的输入(a)和输出(b)隶属函数
最后,将模糊隶属函数与模糊规则相结合,这些规则根据数字输入变量盘点数字输出,如果x是A,y是B,那么z是C,其中A、B和C使用模糊集表示为语言变量,这取决于定义的隶属函数,这些模糊集是基于常识的逻辑标准设计的,并调整最终结果以获得平滑过渡,其效果如图9所示。
图9 风速-健康指标-功率限制关系
除此之外,对于温度控制器,当使用式(17)中定义的正弦波作为温度变化输入时,此时功率限制值和温度的关系如图10所示,可知:两者呈现相反的变化趋势。
图10 温度-功率限制关系
在MATLAB中的FAST Tool Master进行风力发电机系统的仿真,并将仿真结果与一个实际运行的2 MW风力发电机系统进行比较,从而验证文中提出方案的可行性。
以图7所示的2 MW风力发电机系统进行仿真实验验证,以分析功率降额策略的影响,同时考虑了发电机转速和扭矩降低以及对叶片和塔架力矩的影响。所有的仿真均在15 m/s的恒定风速下运行60 s,并应用所需的功率限制,以使风力发电机系统在100%、80%、65%和50%的额定功率下工作。在不同功率限制下,风力发电机的发电机功率、发电机扭矩、桨距角和发电机转速的模拟响应曲线如图11所示。
图11 不同功率限制下的响应曲线
如图11所示,叶片桨距角随着所施加功率限制的增加而增加。在桨距角控制中,桨距角的增大将导致仰角的减小,此时升力系数和阻力系数也随之降低,最终导致转子推力下降并实现输出功率的下降。而输出功率的下降可以在发电机扭矩和发电机转速的降低中观察到。
图12中展示了叶片沿着平面内偏转距离、叶片沿着平面外偏转距离、塔架前后侧偏转距离和塔顶侧面偏转距离的仿真结果。可知:在功率被限制的情况下,无论是平均值还是振幅,塔架和叶尖的偏转都无一例外地被缩小。当输出功率较低时,它在非偏转位置附近的振荡将明显增加,即正弦波的平均值接近偏差的零值。这意味着叶片和塔架的应力有所下降,从而更好地增强了叶片和塔架的疲劳弹性,并延长了其使用寿命。
图12 不同功率限制下的叶片(a)和塔架(b)的偏转响应曲线
将图7所示的2 MW风力发电机系统应用文中提出的故障检测和容错控制方案,并将集成学习后识别得到的故障输出进行记录,且投入对应的容错控制对输出功率进行限额,此时对应的系统健康指标Hind、功率降额、扭矩降额、发电机转速降额和对应的桨距角如表1所示。
表1 故障检测输出和容错控制数据
由表1可知:当系统健康指标Hind>0.75时,容错控制开始被投入使用。系统健康指标Hind每增加0.05,输出功率降额10%,从而导致扭矩、发电机转速的降额和桨距角逐渐增大,这与图11的仿真结果基本一致。同时如第3.1节所述,当整体输出的降额达到70%时,进一步输出降额已经没有意义,因此系统会在最严重的故障工况下将系统的输出功率限制在正常工况的30%,从而维持系统的功率输出。
通过直接开放平台通信从国内某风电场系统获得一个2 MW的风力发电机系统的历史运行数据,并将获得的数据用于文中的仿真系统模型中,以对比所提方案故障检测和容错控制方法的有效性,其中由模糊逻辑得到的输出功率降额也会用来与该实际风力发电机系统的历史操作数据进行比对。
在此数据对照中,齿轮箱轴承的平均温度和齿轮箱油的平均温度是最为关键的异常目标检测参数。如第2.1节所述,先以环境温度、风速、风力发电机有功功率、发电机转速和转子转速为输入数据,使用梯度增强算法构建系统的回归模型,并检查目标传感器的预测数据和测量数据之间的偏差,从而确定可能与故障相关的异常条件。接着如第2.2节所示,使用基于隔离森林的异常检测算法,其中输入变量分别是转子速度、环境温度、齿轮箱油温和齿轮箱轴承温度,对异常检测算法的结果进行后处理以获得故障指示器。最后借助第2.3节提及的基于集成学习的综合健康指标计算方法获得系统的健康指标Hind,从而完成对每一个风力发电机组的故障检测和健康评定。
图13展示了数据分析得到的不同发电机组的健康指标Hind的每周分布情况,由健康指标Hind来表示风力发电机组组件的健康状态,0表示完全无故障,1表示完全故障。由图13可知:风力发电机组7存在明显故障情况,因为其健康指标Hind在较长时间区间内大于0.75。
图13 不同风力发电机组的健康指标Hind分布
针对可能存在故障的风力发电机组7,调取2022年6月22号的运行数据并使用第2.1节提出的回归模型进行数据预测分析。图14展示了齿轮箱轴承和油实际温度以及预测温度的曲线,可知:在22号下午区间段,实际温度和预测温度存在较大的偏差,最大约达到7 ℃。而在2022年6月23号经过输出功率限制后此偏差值得到了修正。
图14 齿轮箱轴承和油温度曲线
图15显示了进行输出限额后的性能响应,并与风电场所有风力发电机的轴承和油温平均值作了比较,该平均值是由该实例中每个风力发电机的实时值获得的。一旦限制到位,温度将明显降低5 ℃,缓解了齿轮箱的过热问题。而一旦将该限制取消,则该偏差将再度出现。
图15 输出降额变化曲线
综合图13—15的结果可知:文中提出的这种故障检测与容错控制策略可以很好地匹配实际的风力发电机,实现故障风力发电机组的异常检测和容错控制。
为了在不停机的前提下,安全可靠地对齿轮箱进行故障检测并实现风力发电机在齿轮箱故障工况下的容错控制运行,文中提出了一种风力发电机齿轮箱故障检测与容错控制设计方案。首先介绍了风力发电机的系统模型与SCADA解决方案框架,接着通过回归建模、异常分析和集成学习对风力发电机系统进行故障检测并获得健康指标Hind;然后借助模糊逻辑控制实现对风力发电机的输出功率进行降额控制,从而实现风力发电机在齿轮箱故障工况下的容错控制运行;最后通过仿真实验并将仿真结果与实际运行的2 MW风力发电机系统进行比较。实验结果表明:该故障检测与容错控制方案可以有效地实现对齿轮箱的故障检测,并在存在故障时适当对风力发电机的输出功率进行降额控制,从而降低叶片和塔架的承受应力,并有效降低了齿轮箱轴承和润滑油的温度。