一种基于特征提取和多层感知机的电磁阀故障诊断装置及方法与流程

文档序号:17981520发布日期:2019-06-22 00:08阅读:142来源:国知局
一种基于特征提取和多层感知机的电磁阀故障诊断装置及方法与流程

本发明属于电磁阀故障检测领域,具体涉及一种基于特征提取和多层感知机的电磁阀故障诊断装置及方法。



背景技术:

在逐渐自动化、智能化的机械系统中,大部分的控制命令通过各类电磁阀的通断来实现。为了精准有效地执行控制命令,各类电磁阀的故障诊断受到了国内外研究者和工程师的广泛关注。

传统的基于机理的电磁阀故障诊断方法,虽然可以基本实现电磁阀的故障诊断,但其诊断方法需要充分分析电磁阀开关过程的物理机理,针对电磁阀这种复杂的系统很难建立准确的机理模型。并且各类电磁阀的实现机理略有不同,一个物理模型无法同时满足所有类型电磁阀故障诊断要求。因此传统的基于机理的故障诊断方法很难被广泛应用。虽然新型的基于数据的故障诊断方法,能够绕过传统机理分析过程,基于数据实现电磁阀的故障诊断,但是很难从大量有关电磁阀的数据中提取到具有解释性的有效特征,导致故障诊断的准确性较低,这大大限制了基于数据的故障诊断方法的应用。



技术实现要素:

为了解决传统电磁阀故障诊断时基于机理建模的难度较高和新型电磁阀故障诊断时基于数据建模的特征冗余及不可解释性,本发明提供一种针对电磁阀的基于特征提取和多层感知机的故障诊断装置及方法,对电磁阀故障诊断更简单方便,且准确性高。

为实现上述技术目的,本发明采用如下技术方案:

一种基于特征提取和多层感知机的电磁阀故障诊断方法,包括以下步骤:

步骤1,针对m个已知真实故障类型的电磁阀训练样本,分别获取启动电流和工作电压,并提取启动电流的响应时间、稳定时间、局部最大值、局部最大值积分、局部最小值、局部最小值积分,将电磁阀训练样本的工作电流和启动电流的响应时间、稳定时间、局部最大值、局部最大值积分、局部最小值、局部最小值积分组成电磁阀训练样本的特征向量;其中,电磁阀的故障类型包括正常和故障;

步骤2,以上一步骤得到电磁阀训练样本的特征向量和故障类型分别作为多层感知机的输入数据和输出数据,训练多层感知机的各神经元的权重和偏置,得到电磁阀故障诊断模型;

步骤3,按步骤1获取待检测电磁阀的特征向量,并输入到电磁阀故障诊断模型,电磁阀故障诊断模型对待检测电磁阀进行故障检测并输出故障类型。

利用多层感知机的非线性表达能力,建立输入的特征向量与输出的故障类型之间的映射关系,从而得到基于电磁阀的相关数据进行故障诊断的电磁阀故障诊断模型;同时通过对启动电流分析,提取了具有一定物理意义的有效特征,能较好地解释启动电流波形,在保障了有效性的前提下避免了冗余特征的提取,增强对电磁阀故障诊断的准确性,可广泛应用于电磁阀基于数据进行建模和故障诊断。

进一步地,在步骤3之前还包括:

步骤2.5,对步骤2得到的电磁阀故障诊断模型进行验证,具体过程为:

针对n个已知真实故障类型的电磁阀测试样本,均按步骤1获取对应电磁阀测试样本的特征向量,并输入到步骤2得到的电磁阀故障诊断模型,电磁阀故障诊断模型输出电磁阀测试样本的测试故障类型;

根据电磁阀测试样本的测试故障类型与已知真实故障类型,计算电磁阀故障诊断模型的准确率,判断准确率是否达到预设准确率:若未达到,则调整多层感知机的层数、每一层的神经元个数、学习率,并返回步骤2,否则执行步骤3。

采用电磁阀测试样本,判断训练得到的电磁阀故障诊断模型的准确率,若不符合要求则调整多层感知机的参数,重新训练电磁阀故障诊断模型,使得到的电磁阀故障诊断模型的泛化性能好,可广泛实际应用。

进一步地,m个电磁阀训练样本包括m1个正常电磁阀和m2个故障电磁阀,步骤1中m个电磁阀训练样本对应得到m1个正常电磁阀特征向量和m2个故障电磁阀特征向量,在步骤2之前还包括:

步骤1.5,对m1个正常电磁阀特征向量进行欠采样和对m2个故障电磁阀特征向量进行过采样,分别得到m3个正常电磁阀欠采样特征向量和m4个故障电磁阀过采样特征向量,并将其作为步骤2输入以训练多层感知机的电磁阀训练样本的特征向量。

正常故障阀的数量远大于故障电磁阀的数量,因此正常获得的训练样本中,存在m1>>m2,因此通过对正常电磁阀的特征向量欠采样,对故障电磁阀的特征向量过采样,即可减少训练多层感知机的正常电磁阀的特征向量的数量,增加故障电磁阀的特征向量的数量,使训练多层感知机的故障类型平衡,训练得到的电磁阀故障诊断模型的故障诊断准确率更高。

进一步地,所述对m1个正常电磁阀特征向量欠采样的步骤为:

针对每个正常电磁阀的特征向量,计算其特征向量与所有m2个故障电磁阀特征向量之间的欧式距离,从得到的m2个欧式距离中取最小的3个欧式距离值并求平均,作为当前正常电磁阀的欧氏距离平均值;

根据m1个正常电磁阀的欧式距离平均值,将欧式距离平均值最小的m3个正常电磁阀所对应的正常电磁阀特征向量,作为正常电磁阀欠采样特征向量;

所述对m2个故障电磁阀特征向量过采样的步骤为:

针对每个故障电磁阀的特征向量xi,选择与其欧氏距离最小的另一个故障样本的特征向量xj,随机生成λ∈(0,1),得到新合成的故障电磁阀特征向量λxi+(1-λ)xj;

所有新合成的故障电磁阀特征向量与步骤1中得到的m2个故障电磁阀特征向量,均作为故障电磁阀过采样特征向量。

进一步地,所述响应时间是指启动电流在第1个局部最大值时的时间,所述稳定时间是指启动电流达到稳定电流时的时间,所述局部最大值积分是指启动电流从开始至对应局部最大值时的时间积分,所述局部最小值积分是指启动电流从开始至达到对应局部最小值时的时间积分。

另外,本发明还提供一种基于特征提取和多层感知机的电磁阀故障诊断装置,包括工控机、额定电源、继电器控制板、电压传感器、电流传感器和数据采集卡;

所述继电器控制板和数据采集卡均与工控机连接,所述额定电源与继电器控制板连接,所述继电器控制板、电压传感器和电流传感器均与电磁阀连接,所述电压传感器和电流传感器还均与数据采集卡连接;

所述继电器控制板,用于接收所述工控机的指令并周期性地使额定电源驱动电磁阀周期性地开关;

所述电压传感器,用于采集电磁阀的工作电压;

所述电流传感器,用于采集电磁阀的电流;

所述数据采集卡,用于将电压传感器采集的工作电压和电流传送给工控机;

所述工控机,用于接收电磁阀的工作电压和电流,并记录启动电流波形,且根据启动电流波形提取启动电流的响应时间、稳定时间、局部最大值、局部最大值积分、局部最小值、局部最小值积分,根据电磁阀的工作电压以及启动电流的响应时间、稳定时间、局部最大值、局部最大值积分、局部最小值、局部最小值积分分析电磁阀的故障类型。

有益效果

本发明通过获取电磁阀的工作电压和启动电流,然后对启动电流波形进行分析并提取具有一定物理意义的有效特征:响应时间、稳定时间、局部最大值、局部最大值积分、局部最小值、局部最小值积分,然后将提取的有效特征和工作电压一起组成电磁阀的特征向量作为输入、相应的故障类型作为输出,训练调整多层感知机的参数,得到可以用来诊断电磁阀故障类型的电磁阀故障诊断模型。利用多层感知机的非线性表达能力,建立输入的特征向量与输出的故障类型之间的映射关系,从而得到基于电磁阀的相关数据进行故障诊断的电磁阀故障诊断模型;同时通过对启动电流分析,提取了具有一定物理意义的有效特征,能较好地解释启动电流波形,增强对电磁阀故障诊断的准确性,可广泛应用于电磁阀基于数据进行建模和故障诊断。

同时,相对于传统的基于机理的故障诊断方法中需要针对不同类型电磁阀分别进行机理分析方可使用而言,本发明是针对不同类型的电磁阀采集相应类型的电磁阀作为训练样本以训练相应模型,即可使用于相应类型电磁阀的故障诊断,因此本发明的故障诊断方法更简单方便可行。

附图说明

图1为本发明的结构示意图;

图2为本发明的电磁阀启动电流波形与提取的有效特征示意图;

图3为本发明所述方法的训练过程示意图;

图4是本发明实施例中诊断结果为正常电磁阀的启动电流波形;

图5是本发明实施例中待检测电磁阀的多次启动电流波形。

具体实施方式

下面对本发明的实施例作详细说明,本实施例以本发明的技术方案为依据开展,给出了详细的实施方式和具体的操作过程,对本发明的技术方案作进一步解释说明。

如图1所示,本发明提供一种基于特征提取和多层感知机的电磁阀故障诊断装置,包括工控机、额定电源、继电器控制板、电压传感器、电流传感器和数据采集卡。

继电器控制板和数据采集卡均与工控机连接,额定电源、继电器控制板、电压传感器和电流传感器均与电磁阀连接,电压传感器和电流传感器还均与数据采集卡连接。

另外,采用ac220v转dc24v的供电电源给工控机、继电器控制板、电压传感器、电流传感器、数据采集卡供电。

继电器控制板,接收工控机的指令并输出方波以驱动电磁阀周期性地开关;

工控机通过485总线的modbus协议命令,周期性地控制继电器控制板中继电器端子的开关,使继电器控制板周期性地输出包含电磁阀额定电压和零的方波,从而驱动电磁阀周期性开关。当工控机控制继电器控制板开时,额定电源经继电器控制板输出额定电压给电磁阀供电,电磁阀接通;当工控机控制继电器控制板关时,继电器控制板无输出,即电磁阀的输入电压为零,电磁阀关断。

电压传感器采集电磁阀的工作电压,将电磁阀的工作电压转换为0-10v的直流电压信号;电流传感器采集电磁阀的电流,将电磁阀的工作电流转换为0-10v的直流电压信号;数据采集卡将电压传感器和电流传感器分别得到的0-10v的直流电压信号(模拟信号)转换为分辨率为12位的数字信号存入工控机;其中,数据采集卡的adc分辨率为12-bit,采样率最高为250ksa/s。工控机根据接收到的实时电流记录电磁阀的启动电流波形,然后根据启动电流波形提取启动电流的响应时间、稳定时间、局部最大值、局部最大值积分、局部最小值、局部最小值积分,其中电磁阀的工作电压和启动电流的的响应时间、稳定时间、局部最大值、局部最大值积分、局部最小值、局部最小值积分组成电磁阀的特征向量。在工控机的数据分析模块建立多层感知机模型,通过获取电磁阀训练样本的特征向量和已知的故障类型训练多层感知机模型得到电磁阀故障诊断模型,通过获取电磁阀测试样本的特征向量和已知的故障类型测试电磁阀故障诊断模型,通过测试结果确认是否需要重新训练电磁阀故障诊断模型,从而得到符合要求的电磁阀故障诊断模型;然后即可用该符合要求的电磁阀故障诊断模来诊断待测电磁阀的故障类型。

如图3所示,本发明还提供一种与基于特征提取和多层感知机的电磁阀故障诊断装置所对应的电磁阀故障诊断方法,包括以下步骤:

步骤1,针对m个已知真实故障类型的电磁阀训练样本,分别获取启动电流和工作电压,并提取启动电流的响应时间、稳定时间、局部最大值、局部最大值积分、局部最小值、局部最小值积分,将电磁阀训练样本的工作电流和启动电流的响应时间、稳定时间、局部最大值、局部最大值积分、局部最小值、局部最小值积分组成训电磁阀练样本的特征向量;其中,故障类型包括正常和故障。

如图2所示,响应时间是指启动电流在第1个局部最大值时的时间;稳定时间是指启动电流达到稳定电流时的时间;局部最大值积分是指启动电流从开始至相应局部最大值时的时间积分,即启动电流从开始至对应局部最大值时这一时间段所对应的启动电流波形曲线段与时间横坐标的面积;局部最小值积分是指启动电流从开始至达到相应局部最小值时的时间积分,即启动电流从开始至相应局部最小值时这一时间段所对应的启动电流波形曲线段与时间横坐标的面积。其中,启动电流在从开始至稳定电流时的时间段内,可能存在若干个局部最大值和若干个局部最小值,因此,对应有与局部最大值相同数量个局部最大值积分,和对应有与局部最小值相同数量个局部最小值积分。

m个电磁阀训练样本包括m1个故障类型为正常的正常电磁阀和故障类型为故障的故障电磁阀,步骤1中m个电磁阀训练样本对应得到m1个正常电磁阀特征向量和m2个故障电磁阀特征向量。由于正常故障阀的数量远大于故障电磁阀的数量,因此正常获得的训练样本中,存在m1>>m2,因此在训练多层感知机之前包括对训练数据进行处理:

步骤1.5,对m1个正常电磁阀特征向量进行欠采样和对m2个故障电磁阀特征向量进行过采样,分别得到电磁阀训练样本的m3个正常电磁阀欠采样特征向量和m4个故障电磁阀过采样特征向量,并将其作为步骤2输入以训练多层感知机的电磁阀训练样本的特征向量。

通过对正常电磁阀特征向量欠采样,对故障电磁阀特征向量过采样,即可减少训练多层感知机的正常电磁阀特征向量的数量,增加故障电磁阀特征向量的数量,使训练多层感知机的故障类型平衡,训练得到的电磁阀故障诊断模型的故障诊断准确率更高。

欠采样的步骤为:针对每个正常电磁阀的特征向量,计算其特征向量与所有m2个故障电磁阀特征向量之间的欧式距离,从得到的m2个欧式距离中取最小的3个欧式距离值并求平均,作为当前正常电磁阀的欧氏距离平均值;根据m1个正常电磁阀的欧式距离平均值,将欧式距离平均值最小的m3个正常电磁阀所对应的正常电磁阀特征向量,作为正常电磁阀欠采样特征向量。

过采样的步骤为:针对每个故障电磁阀的特征向量xi,选择与其欧氏距离最小的另一个故障样本的特征向量xj,随机生成λ∈(0,1),得到新合成的故障电磁阀特征向量λxi+(1-λ)xj;所有新合成的故障电磁阀特征向量与步骤1中得到的m2个故障电磁阀特征向量,均作为故障电磁阀过采样特征向量。

通过对正常电磁阀特征向量进行欠采样和对故障电磁阀特征向量进行欠采样,可以平衡训练多层感知机的训练数据的比例,提升多层感知机的泛化能力从而提高多层感知机的预测精度。

步骤2,以上一步骤得到正常电磁阀欠采样特征向量和故障电磁阀过采样特征向量作为多层感知机的输入数据,以电磁阀训练样本的故障类型作为多层感知机的输出数据,训练多层感知机的参数:各神经元权重和偏置,得到电磁阀故障诊断模型。

步骤2.5,对步骤2得到的电磁阀故障诊断模型进行验证,具体过程为:

针对n个已知真实故障类型的电磁阀测试样本,均按步骤1获取对应电磁阀测试样本的特征向量,并输入到步骤2得到的电磁阀故障诊断模型,电磁阀故障诊断模型输出电磁阀测试样本的测试故障类型;

根据电磁阀测试样本的测试故障类型与已知真计算电磁阀故障诊断模型的准确率,判断准确率是否达到预设准确率:若未达到,则调整多层感知机的层数、每一层的神经元个数、学习率,并返回步骤2,否则执行步骤3。

在本实施例中,调整多层感知机的层数、每一层的神经元个数、学习率的方法为:首先随机挑选多层感知机的层数、每一层的神经元个数、学习率这三个参数中的一个作为调整对象,固定另外两个参数;然后以一定步长增大或减小该调整对象的参数值,并返回步骤2,比较增大或减小该参数后故障诊断模型的准确率结果,选择准确率更高的参数调整方式作为这一次调整该参数的方式;更换另一个参数作为调整对象,比较并调整参数值,直到准确率达到预设准确率后执行步骤3。

其中,n个电磁阀测试样本包括n1个正常电磁阀和n2个故障电磁阀。与m个电磁阀训练样本同理,正常故障阀的数量远大于故障电磁阀的数量,因此有n1>>n2,因此在步骤2.5对电磁阀故障诊断模型进行验证之前,包括对电磁阀测试样本的特征向量进行欠采样和过采样的测试样本平衡处理:

对n1个正常电磁阀特征向量进行欠采样和对n2个故障电磁阀特征向量进行过采样,分别得到电磁阀训练样本的n3个正常电磁阀欠采样特征向量和n4个故障电磁阀过采样特征向量,然后再将其作为输入电磁阀故障诊断模型的电磁阀测试样本特征向量。其中,对电磁阀测试样本特征向量进行过采样或欠采样的具体方法,与上述对电磁阀训练样本特征向量的处理方法相同,在此不再赘述。

通过对电磁阀测试样本中的正常电磁阀特征向量欠采样,对电磁阀测试样本中的故障电磁阀特征向量过采样,即可减少验证电磁阀故障诊断模型的正常电磁阀特征向量的数量,增加故障电磁阀特征向量的数量,使验证电磁阀故障诊断模型的测试样本的故障类型平衡,验证得到的电磁阀故障诊断模型的故障诊断精度更高。

步骤3,按步骤1获取待检测电磁阀的特征向量,并输入到电磁阀故障诊断模型,电磁阀故障诊断模型对待检测电磁阀进行故障检测并输出故障类型。

本实施例以mac公司的250型电磁阀为例,补充解释本发明如何利用电磁阀故障诊断装置检测故障。首先250型电磁阀的额定电压是110v,额定电源为110v电源,电压传感器的量程为150v,电流传感器的量程为500ma;其次利用继电器控制板控制额定电源周期性给电磁阀供电,通过电流传感器采集电磁阀的电流从而工控机接收并记录得到电磁阀的启动电流波形,其中图4是已测的正常电磁阀的启动电流波形,图5是待测电磁阀的多次启动电流波形。

以上实施例为本申请的优选实施例,本领域的普通技术人员还可以在此基础上进行各种变换或改进,在不脱离本申请总的构思的前提下,这些变换或改进都应当属于本申请要求保护的范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1