一种基于并行Elman-NN的风力发电机故障检测方法

著录项
  • CN202011142534.X
  • 20201013
  • CN112270081A
  • 20210126
  • 宁波大学
  • 方浩杰;葛英辉;其他发明人请求不公开姓名
  • G06F30/20
  • G06F30/20 F03D17/00 G06F17/16 G06N3/08

  • 浙江省宁波市江北区风华路818号宁波大学
  • 浙江(33)
摘要
本发明公开一种基于并行Elman?NN的风力发电机故障检测方法,旨在从数据驱动的角度来描述风力发电机各传感器测量数据之间的复杂非线性时序关联性,并通过模型误差的异常变化来检测风力发电机在运行过程中出现的故障。本发明方法的优势在于:本发明方法利用Elman?NN算法与分布式建模的策略,从数据驱动的角度量化了风速数据和风力发电机自身测量数据相互之间的关系模型。其次,本发明方法通过监测并行Elman?NN模型的误差变化情况来反映是否出现故障,又借鉴参考了误差生成思想的优势。
权利要求

1.一种基于并行Elman-NN的风力发电机故障检测方法,其特征在于,包括以下步骤:

步骤(1):在风力发电机正常运行状态下,每间隔60秒采集一次样本数据,每次采集的样本数据具体包括11个测量数据,依次分别是:风速,旋翼转速,发电机转速,机械转矩,发电功率,叶片螺距角,叶片方位角,叶片根部力矩,顶部水平轴加速度,顶部纵轴加速度,偏航误差;

步骤(2):将风速处于风力发电机规定的工作风速范围内的n个样本数据x1,x2,…,xn组成矩阵X=[x1,x2,…,xn];其中,xi∈R11×1表示第i个样本数据,i∈{1,2,…,n},R11×n表示11×n维的实数矩阵,R11×1表示11×1维的实数向量;

步骤(3):设置时序阶数为d后,将中第d列至第n列的列向量组建成矩阵X1∈R11×N,将中第d-1列至第n-1列的列向量组建成矩阵X2∈R11×N,直到将中第1列至第N列的列向量组建成矩阵Xd∈R11×N;其中,N=n-d+1;

步骤(4):将矩阵X1,X2,…,Xd合并成一个增广矩阵后,再对增广矩阵Z中各个列向量实施归一化处理,从而得到新矩阵其中,上标号T表示矩阵或向量的转置符号,归一化处理的具体过程如步骤(4.1)至步骤(4.2)所示;

步骤(4.1):设置zk∈RN×1表示增广矩阵Z中的第k列向量,zk中元素的最大值与最小值分别是mk与δk,利用公式计算得到新矩阵中的第k列向量其中,k∈{1,2,3,…,11×d};

步骤(4.2):依次分别设置k等于1,2,…,11×d,并执行步骤(4.1)即可完成对Z中各个列向量的归一化处理;

步骤(5):依次将新矩阵中第2列至第11列的列向量用作Elman-NN的输出,并将Z中其它的列向量用作Elman-NN的输入,建立由10个Elman-NN模型组成的并行Elman-NN模型,具体的实施过程如步骤(5.1)至步骤(5.3)所示;

步骤(5.1):初始化j=2;

步骤(5.2):将中第j列的列向量用作Elman-NN的输出,并将Z中其它的列向量用作Elman-NN的输入,搭建并使用BP算法训练得到第j-1个Elman-NN模型,同时得到模型误差向量ej∈RN×1;

步骤(5.3):判断是否满足条件:j<11?若是,则设置j=j+1后返回步骤(5.2);若否,则得到由10个Elman-NN模型组成的并行Elman-NN模型,以及10个模型误差向量e2,e3,…,e11;

步骤(6):将模型误差向量e2,e3,…,e11合并成一个误差矩阵E=[e2,e3,…,e11]后,计算误差矩阵中所有行向量的均值向量μ∈R1×10,再计算协方差矩阵Λ=(E-U)T(E-U)/(N-1);其中,均值矩阵U∈RN×10由N个均值向量μ∈R1×10组成;

步骤(7):根据公式D=diag{(E-U)Λ-1(E-U)T}计算指标向量D后,再将D中的最大值记做控制上限Dlim;其中,diag{ }表示将大括号内矩阵对角线元素转变成向量的操作;

步骤(8):采集最新采样时刻的样本数据xt∈R11×1,并将xt与其前d-1个采样时刻的样本数据xt-1,xt-2,…,xt-d+1合并成一个增广向量其中,每个样本数据皆由步骤(1)中所列的11个测量数据组成;

步骤(9):判断增广向量θt中的第一个元素是否处于风力发电机规定的工作风速范围内;若是,则执行步骤(10);若否,则风力发电机未工作,处于待机状态,并返回步骤(8)继续实施对最新采样时刻的风力发电机故障检测;

步骤(10):根据公式对θt中各个元素实施归一化处理,从而得到新数据向量其中,与分别表示θt与中的第k个元素;

步骤(11):依次调用步骤(5)中的10个Elman-NN模型,从而依次得到误差ε2,ε3,…,ε11,具体的实施过程如步骤(11.1)至步骤(11.3)所示;

步骤(11.1):初始化j=2;

步骤(11.2):将中除第j个元素以外的其他元素用作步骤(5)中第j-1个Elman-NN模型的输入,计算出相应的输出估计值

步骤(11.3):将中第j个元素减去输出估计值的差值记做误差εj后,判断是否满足条件:j<11;若是,则设置j=j+1后返回步骤(11.2);若否,则得到误差ε2,ε3,…,ε11;

步骤(12):根据公式计算故障检测指标Qt后,在判断是否满足条件:Qt≤Dlim;若是,则当前采样时刻风力发电机运行正常,并返回步骤(8);若否,则执行步骤(13)从而决策是否触发故障警报;其中,误差向量ξ=[ε2,ε3,…,ε11]∈R1×10;

步骤(13):返回步骤(8)继续实施对最新采样时刻的风力发电机故障检测,若连续6个采样时刻的故障检测指标都不满足步骤(12)中的判断条件,则触发故障警报;反之,则不触发故障警报,并返回步骤(8)继续实施故障检测。

说明书
技术领域

本发明涉及一种风力发电机故障检测方法,特别涉及一种基于并行Elman-NN的风力发电机故障检测方法。

风力发电在可再生能源领域占据着重要的地位,尤其是在孤立的海岛与偏远山区中,风力发电对于改善民生具有重要的意义。在风力持续的情况下,风力发电机能持续不断的提供电能,风力发电机的应用规模与日俱增。为了保证风力发电机的正常运行,传统的思路是对风力发电机进行定期的维护,这就导致无法及时的对处于异常工作状态的风力发电机进行及时检修。因此,对风力发电机的运行状态进行实时监测,及时的发现运行中出现的故障对于提升整个风力发电厂的电力输送品质具有较大的助力作用。由于风力发电机是一个大型且复杂的系统,根据机理知识(如动力学与电力电路知识)建立精确的数学模型是非常困难的。因此,利用机理模型实施故障检测的方案是不可取的。此外,在当前智能制造与大数据的风潮下,利用数据实施风力发电机故障检测的方案才是合乎时宜的。

一般而言,一个投入使用的风力发电机通常会安装有多个传感器,会实时反馈诸如风速、发电机转速、发电功率等数据信息。这些传感器以及相应配套的数据存储设备为实施数据驱动的风力发电机故障检测提供了坚实的数据基础。然而,风力发电机的工作状态会受到外部环境风速的直接影响,会随着风速的变化而不断发生变化的。风力发电机的这种工作特性给数据驱动的故障检测方案增加了挑战,因为风力的间歇特性、非线性特性、时序变化特性并非人为可精准预测或可控制的。近年来,虽然有多种按照模式分类思想实施风力发电机故障检测与诊断的数据驱动的技术,但是其前提条件是充分可用的多种故障状态下的运行数据。显然,刚投入使用的风力发电机只能提供大量的正常状态数据,而非各种不同故障工况下的采样数据。

从风力发电机工作原理上讲,风力发电机只有在固定的风速区间才可以产生电能,故障检测的意义也主要是监测风力发电机是否能产生正常的电能输出。在待机状态下,风力发电机出于自我保护的原因不产生电能,故障检测也就没有什么实质性的意义。此外,在风力发电机的产生电能输出的工作状态下,其每个时刻的风力发电机转速,功率等数据都是会受到外部环境风速的直接影响。由于风力发电机是一整个邮寄整合的系统,风力发电机转速,功率等数据之间同样是相互复杂关联性是时序关联性的。从这个角度上讲,如何挖掘这些测量数据之间的关联性,是成功实施数据驱动的风力发电机故障检测的关键所在。然而,在现有科研文献与专利材料中,鲜有涉及如何从数据驱动的角度来描述风力发电机各测量数据之间的非线性时序关联性,并通过监测模型误差的异常变化来达到实时检测风力发电机故障的目的。

本发明所要解决的主要技术问题是:如何从数据驱动的角度来描述风力发电机各传感器测量数据之间的复杂非线性时序关联性,并通过模型误差的异常变化来检测风力发电机在运行过程中出现的故障。

本发明方法解决上述问题所采用的技术方案为:一种基于并行Elman-NN的风力发电机故障检测方法,包括以下所示步骤:

步骤(1):在风力发电机正常运行状态下,每间隔60秒采集一次样本数据,每次采集的样本数据具体包括11个测量数据,依次分别是:风速,旋翼转速,发电机转速,机械转矩,发电功率,叶片螺距角,叶片方位角,叶片根部力矩,顶部水平轴加速度,顶部纵轴加速度,偏航误差。

步骤(2):将风速处于风力发电机规定的工作风速范围内的n个样本数据x1,x2,…,xn组成矩阵X=[x1,x2,…,xn];其中,xi∈R11×1表示第i个样本数据,i∈{1,2,…,n},与此同时,xi同样可表示矩阵X中的第i列向量,R11×n表示11×n维的实数矩阵,R11×1表示11×1维的实数向量。

步骤(3):设置时序阶数为d后,将中第d列至第n列的列向量组建成矩阵X1∈R11×N,将中第d-1列至第n-1列的列向量组建成矩阵X2∈R11×N,直到将中第1列至第N列的列向量组建成矩阵Xd∈R11×N;其中,N=n-d+1。

步骤(4):将矩阵X1,X2,…,Xd合并成一个增广矩阵后,再对增广矩阵Z中各个列向量实施归一化处理,从而得到新矩阵其中,上标号T表示矩阵或向量的转置符号。

步骤(5):依次将新矩阵中第2列至第11列的列向量用作Elman-NN的输出,并将Z中其它的列向量用作Elman-NN的输入,建立由10个Elman-NN模型组成的并行Elman-NN模型,具体的实施过程如步骤(5.1)至步骤(5.3)所示。

步骤(5.1):初始化j=2。

步骤(5.2):将中第j列的列向量用作Elman-NN的输出,并将Z中其它的列向量用作Elman-NN的输入,搭建并使用反向传播(Back-Propagation,缩写:BP)算法训练得到第j-1个Elman-NN模型,同时得到模型误差向量ej∈RN×1。

步骤(5.3):判断是否满足条件:j<11?若是,则设置j=j+1后返回步骤(5.2);若否,则得到由10个Elman-NN模型组成的并行Elman-NN模型,以及10个模型误差向量e2,e3,…,e11。

步骤(6):将模型误差向量e2,e3,…,e11合并成一个误差矩阵E=[e2,e3,…,e11]后,计算误差矩阵中所有行向量的均值向量μ∈R1×10,再计算协方差矩阵Λ=(E-U)T(E-U)/(N-1);其中,均值矩阵U∈RN×10由N个均值向量μ∈R1×10组成。

步骤(7):根据公式D=diag{(E-U)Λ-1(E-U)T}计算指标向量D后,再将D中的最大值记做控制上限Dlim;其中,diag{}表示将大括号内矩阵对角线元素转变成向量的操作。

步骤(8):采集最新采样时刻的样本数据xt∈R11×1,并将xt与其前d-1个采样时刻的样本数据xt-1,xt-2,…,xt-d+1合并成一个增广向量其中,每个样本数据皆由步骤(1)中所列的11个测量数据组成。

步骤(9):判断中的第一个元素(即:风速)是否处于风力发电机规定的工作风速范围内;若是,则执行步骤(10);若否,则风力发电机未工作,处于待机状态,并返回步骤(8)继续实施对最新采样时刻的风力发电机故障检测。

步骤(10):对中各列的元素实施与步骤(4)中相同的归一化处理,从而得到新数据向量

步骤(11):依次调用步骤(5)中的10个Elman-NN模型,从而依次得到误差ε2,ε3,…,ε11,具体的实施过程如步骤(11.1)至步骤(11.3)所示。

步骤(11.1):初始化j=2。

步骤(11.2):将中除第j个元素以外的其他元素用作步骤(5)中第j-1个Elman-NN模型的输入,计算出相应的输出估计值

步骤(11.3):将中第j个元素减去输出估计值的差值记做误差εj后,判断是否满足条件:j<11;若是,则设置j=j+1后返回步骤(11.2);若否,则得到误差ε2,ε3,…,ε11。

步骤(12):根据公式计算故障检测指标Qt后,在判断是否满足条件:Qt≤Dlim;若是,则当前采样时刻风力发电机运行正常,并返回步骤(8);若否,则执行步骤(13)从而决策是否触发故障警报;其中,误差向量ξ=[ε2,ε3,…,ε11]∈R1×10。

步骤(13):返回步骤(8)继续实施对最新采样时刻的风力发电机故障检测,若连续6个采样时刻的故障检测指标都不满足步骤(12)中的判断条件,则触发故障警报;反之,则不触发故障警报,并返回步骤(8)继续实施故障检测。

通过以上所述实施步骤,本发明方法的优势介绍如下。

首先,本发明方法利用Elman-NN算法与分布式建模的策略,从数据驱动的角度量化了风速数据和风力发电机自身数据相互之间的关系模型。其次,本发明方法通过监测并行Elman-NN模型的误差变化情况来反映是否出现故障,又借鉴参考了误差生成思想的优势。

图1为本发明方法的实施流程示意图。

下面结合附图和具体实施方式对本发明进行详细说明。

本发明公开了一种基于并行Elman-NN的风力发电机故障检测方法,下面结合如图1所示的实施流程示意图来说明本发明方法的具体实施方式。

步骤(1):在风力发电机正常运行状态下,每间隔60秒采集一次样本数据,每次采集的样本数据具体包括11个测量数据,依次分别是:风速,旋翼转速,发电机转速,机械转矩,发电功率,叶片螺距角,叶片方位角,叶片根部力矩,顶部水平轴加速度,顶部纵轴加速度,偏航误差。

步骤(2):将风速处于风力发电机规定的工作风速范围内的n=260000个样本数据x1,x2,…,xn组成矩阵X=[x1,x2,…,xn]。

步骤(3):设置时序阶数为d后,将中第d列至第n列的列向量组建成矩阵X1∈R11×N,将中第d-1列至第n-1列的列向量组建成矩阵X2∈R11×N,直到将中第1列至第N列的列向量组建成矩阵Xd∈R11×N;其中,N=n-d+1。

步骤(4):将矩阵X1,X2,…,Xd合并成一个增广矩阵后,再对增广矩阵Z中各个列向量实施归一化处理,从而得到新矩阵其中,上标号T表示矩阵或向量的转置符号,归一化处理的具体过程如步骤(4.1)至步骤(4.2)所示。

步骤(4.1):设置zk∈RN×1表示增广矩阵Z中的第k列向量,zk中元素的最大值与最小值分别是mk与δk,利用公式计算得到新矩阵中的第k列向量其中,k∈{1,2,3,…,11×d}。

步骤(4.2):依次分别设置k等于1,2,…,11×d,并执行步骤(4.1)即可完成对Z中各个列向量的归一化处理。

步骤(5):依次将新矩阵中第2列至第11列的列向量用作Elman-NN的输出,并将Z中其它的列向量用作Elman-NN的输入,建立由10个Elman-NN模型组成的并行Elman-NN模型,具体的实施过程如步骤(5.1)至步骤(5.3)所示。

步骤(6):将模型误差向量e2,e3,…,e11合并成一个误差矩阵E=[e2,e3,…,e11]后,计算误差矩阵中所有行向量的均值向量μ∈R1×10,再计算协方差矩阵Λ=(E-U)T(E-U)/(N-1)。

步骤(7):根据公式D=diag{(E-U)Λ-1(E-U)T}计算指标向量D后,再将D中的最大值记做控制上限Dlim。

步骤(8):采集最新采样时刻的样本数据xt∈R11×1,并将xt与其前d-1个采样时刻的样本数据xt-1,xt-2,…,xt-d+1合并成一个增广向量其中,每个样本数据皆由步骤(1)中所列的11个测量数据组成。

步骤(9):判断中的第一个元素(即:风速)是否处于风力发电机规定的工作风速范围内;若是,则执行步骤(10);若否,则风力发电机未工作,处于待机状态,并返回步骤(8)继续实施对最新采样时刻的风力发电机故障检测。

步骤(10):根据公式对中各个元素实施归一化处理,从而得到新数据向量其中,与分别表示与中的第k个元素。

步骤(11):依次调用步骤(5)中的10个Elman-NN模型,从而依次得到误差ε2,ε3,…,ε11,具体的实施过程如步骤(11.1)至步骤(11.3)所示。

步骤(12):根据公式计算故障检测指标Qt后,在判断是否满足条件:Qt≤Dlim;若是,则当前采样时刻风力发电机运行正常,并返回步骤(8);若否,则执行步骤(13)从而决策是否触发故障警报;其中,误差向量ξ=[ε2,ε3,…,ε11]∈R1×10。

步骤(13):返回步骤(8)继续实施对最新采样时刻的风力发电机故障检测,若连续6个采样时刻的故障检测指标都不满足步骤(12)中的判断条件,则触发故障警报;反之,则不触发故障警报,并返回步骤(8)继续实施故障检测。

本文发布于:2024-09-25 21:19:51,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/1/74067.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议