通过流管阀控液压马达参数辨识,对BP神经网络故障诊断有何作用?
moboyou 2025-05-14 14:25 29 浏览
在阅读此文前,麻烦您点击一下“关注”,方便您进行讨论和分享,给您带来不一样的参与感,感谢您的支持。
文| 晓山青
编辑| 晓山青
●— 前言 —●
液压伺服作动器HSA因其稳定性好推重比大等特点,仍然是现役飞机的主选作动器。
射流管阀控HSA由于射流喷嘴的结构特点,油液不容易产生堵塞,具有抗污染能力强的优点,但同时大泄漏量带来较大的能量损失。
当故障发生会给维修带来巨大困难和成本,目前已经研究出诸多先进的故障诊断算法如:数字模型监控、深度学习和人工智能等。
但是航空作动器实际应用中多数采用的是实时模型自监控的方法,存在虚警率高的问题。
本研究以某航空应用的射流管阀控液压马达为研究对象,针对射流管伺服阀、滑阀和液压马达等关键部件。
采用机电液综合系统较为常用的AMESim软件建立其仿真模型,结合实验数据对该模型进行参数辨识以精准化仿真模型。
去验证本研究建立的射流管阀控液压马达仿真模型,以及BP神经网络故障诊断算法的有效性。
●— 射流管阀控液压马达数学模型 —●
射流管阀控液压马达结构原理图如图1所示,由力矩马达、射流管接收器、滑阀、液压马达等组成。
向液压马达输入指令角度,经过控制部分会向力矩马达线圈输入所对应的指令电流。
在极化和控制磁场的作用下,线圈内会产生偏转力,从而带动衔铁和流管喷嘴的偏转,喷嘴离两侧接收器的距离不再相等两侧接收的流量也不一致,从而产生压力差引起阀芯向一侧运动。
阀芯运动改变阀芯阀套之间的开口度,输出放大的流量压力信号来带动液压马达转动,进而带动面偏转。
利用RVDT测量输出转角,与指令信号形成闭环,通过PID调节进行反馈控制。
在实际测控平台中研究故障诊断,需要在实体作动器中注入故障才能获取故障数据。
而注入故障需进行破坏性的参数修改,才能通过故障实验获取到故障诊断所需原始数据。这种做法不仅操作复杂,而且需要的成本及代价过高。
为此,通过参数辨识将仿真模型准确化,使得仿真模型与实际作动器相契合,进而确保通过仿真获取的故障数据与实际故障数据更加吻合。
在数学模型的基础上,为方便对参数进行调整、获取故障诊断的原始数据,利用AMESim软件搭建完整的射流管阀控液压马达仿真模型如图2所示。
代入相关参数,以经典PID控制调节输出角位移曲线如图3所示。
仅仅通过手动调整未知参数的方式,获取的仿真模型往往缺乏实证性和准确性,利用其数据进行进一步处理也将缺乏说服力,为此需进行参数辨识。
进行实体平台的阶跃特性实验,利用实验数据进行参数辨识来准确化仿真模型。射流管阀液压马达实验台脱密后的结构示意图如图4所示。
整个实验系统由四部分组成:上位机、工控机、控制柜和作动器。
在上位机上设置偏转指令,设置两秒频率为80Hz的采样过程,利用角度传感器采集输出转角数据。经过转换可以得到输出转角数据如图5所示。
将图5的实验数据利用MATLAB中的系统辨识工具箱,对系统的射流管阀控液压马达的传递函数Gr(s)进行参数辨识识的结果为:
将这些参数代入仿真模型后,得到的图5采样实验数据和仿真输出转角曲线对比如图6所示。
参数辨识后,实验和仿真数据所对应的时域性能指标如表1所示。
实验验证,射流管阀控液压伺服作动器的AMESim仿真模型与实际实验台的输出转角曲线及性能指标基本一致,满足工程应用研究中的误差范围,由此验证本研究所建立的仿真模型的准确化与有效性。
●— 故障诊断有哪几种模式 —●
在准确化仿真模型的基础上,利用BP神经网络进行基于模型的故障诊断,整体流程包括三个部分:故障选取与注入、故障样本建立以及故障诊断。
与传统的液压马达相比,射流管阀控液压马达的典型故障区别在于抗污染能力强,前导级堵塞故障概率等级低。
结合实际作动器和工程射流管阀控液压马达的故障模式进行调研分析,建立故障树如图7所示,对应的故障事件如表2所示。
根据因素水平表和FMEA表选取故障概率较高和严酷度较严重的几个故障为:
气隙长度变化、滑阀圆角磨损、滑阀外泄漏(管件漏油导致)、滑阀卡滞、液压马达内泄漏、角位移传感器常值漂移、油液混入空气、油液污染、油液压力波动。
结合工程实际经验和实体液压马达调研,实际作动器平台的角位移传感器是多余度的可靠性很高,并且油液除污和除气装置有多级,因此不考虑传感器、油液混入空气和油液污染等故障。
因此,确定最终需要进行检测和诊断的典型故障模式为:气隙长度变化、液压马达内泄漏、油液压力波动、滑阀卡滞、滑阀圆角磨损、滑阀外泄漏等六个典型故障。
将典型故障注入到准确化后的射流管阀控液压马达仿真模型当中,各故障仿真方法如图8和表3所示,通过参数修改和模型微调的方式来实现故障模拟注入。
将各典型故障的相关参数进行批处理,设置15种不同程度的故障。
通过仿真得到各故障仿真原始数据利用参数不确定性来取代实际作动器的非线性和不确定性,从而可替代实际数据作为原始数据进行故障诊断。
对获取到的原始数据进行数据预处理,利用MATLAB提取故障特征,利用特征量来描述当前系统的状态,作为元素建立故障样本。
由于本研究的液压系统固有频率较低,因此提取时域特征能够很好地在故障诊断中描述系统真实且全面的状态。
根据仿真结果,选取了15种故障特征来刻画不同故障参数与故障模式对系统性能的影响:
最大值、均值有效值峰值因子、波形因子、脉冲因子、裕度因子、中位数、方差、标准差、峭度、偏度、上升时间、末时刻位移、误差。
为研究参数值设置与特征量的相关性.利用相关性函数Pearson实现特征量与参数值的拟合,从而计算两者的相关性数值。
计算典型故障F~F6的参数设置与原15种故障特征的Pearson相关系数,并绘制如图9所示的热图,色调越接近黄色相关性越好,相反越接近绿色相关性越差。
从图9可以看出6种故障模式下,特征量:中位数、末时刻值和偏差与参数设置的相关系数最低,即相关性最差。
与此同时,在观察各故障输出曲线时发现这三种特征量仅表示一个时刻的值或与指令的误差难以反映整个曲线的信息。
为此提取剩余12种故障特征作为故障样本,由于六种典型故障每15种不同程度注入到仿真模型,对应有6x15组原始数据。
提取故障特征作为样本,因此总共有90组故障样本,利用系统抽样确定1-15中的数字为10。
因此确定编号为10,25,40,55,70,85等六组样本作为验证样本,剩余84组作为训练样本。
对获取到的样本数据利用BP神经网络进行故障诊断,BP神经网络采用多层网络,使得所需训练的非线性数据的输入与输出逼近。
目的是通过神经网络训练来找到样本向量和故障模式之间的函数映射,首先对故障模式进行编码,如表4所示后续利用编号F1-F6来简化并指代典型故障。
利用MATLAB软件进行编程,设置神经网络结构参数,进行神经网络学习和训练,发现当隐含层神经元个数为40。
学习率为0.001时神经网络的诊断性能最主,训练时间为3s神经网络训练结果如图10所示。
将测试样本导入训练好的神经网络中进行测试验证,得到的测试结果如表5所示。
从图10a中可以看出,当迭代105次后,神经网络的训练误差低于1e-5,满足要求。从图10b中可以看出,本次训练的诊断精度达到了99.512%。
将表5的测试结果与单一故障编码输出向量表对比,可知特征选择优化后的故障诊断方法对典型故障F1~F6完成了准确的故障诊断,平均误差为0.00895。
●— 结论 —●
本研究对射流管阀控液压伺服作动器液压马达进行了模型建立以及实验数据拟合。
通过对实验数据进行了关键特征量的分析与提取,并预处理采样数据,利用较为成熟的BP神经网络实现了有效准确的故障诊断:
(1)利用AMESim软件搭建了射流管阀控液压伺服作动器的仿真模型,并且利用实体阶跃特性实验进行参数辨识。
接着对其进行参数准确化,使得仿真与实验输出曲线的时域性能指标包括上升时间、峰值时间、超调量、调节时间、稳态误差基本一致,从而验证仿真模型的准确性与有效性。
(2)通过仿真模型获取仿真原始数据,通过计算故障参数设置与特征量的Pearson相关性系数,选取能够准确描述系统整体性能的12种特征量作为故障样本。
利用BP神经网络对其进行训练,结合验证样本验证训练好的神经网络,结果显示能够对系统的典型故障进行准确率高达99.512%的故障诊断。
---END---
相关推荐
- NodeJs(一)我对NodeJs的认知
-
欢迎来到我的NodeJs专题系列,更多精彩内容持续更新中,敬请关注!写在前面前面我已经分享了100+篇前端相关的技术文章,都是自己平时工作中遇到的一些问题的问题,还有是我平时自学的内容。但是那些前端文...
- 「Django框架」-Django初识
-
Django介绍Django是一个由Python编写的Web应用框架。它源自一个在线新闻Web站点。Django作为一个从新闻系统生成环境中诞生的框架,是直接面向企业级开发的。Django是一个全功能...
- 什么是PHP?APP开发可以选择PHP编程语言吗?
-
在开发一款APP的过程当中,一支专业的APP开发团队需要UI设计师、前端开发人员、后端开发人员以及测试等等。而熟练掌握PHP编程语言的人才就相当于APP开发团队中的后端开发人员。一般在APP开发中后端...
- php可以做前端吗
-
php可以做前端吗?php不可以做前端,因为php是在服务器端执行的脚本语言,也就是后端语言,主要适用于Web后端开发领域。php简介:PHP(全称:PHP:HypertextPreprocesso...
- PHP多久能学会?比java,python难还是简单呢?
-
PHP即“超文本预处理器”,是一种通用开源脚本语言。PHP是在服务器端执行的脚本语言,与C语言类似,是常用的网站编程语言。PHP独特的语法混合了C、Java、Perl以及PHP自创的语法。利于学习...
- java哪有这细糠啊,PHP是世界上最好的语言!
-
要不说我们要多了解一下其他技术呢,java哪有这好玩应啊。今天分享个php开发的辅助工具:phpenv(当然,php是世界上最好的语言,毋庸置疑)phpenv就是一个开发者工具箱神器,只有拥有了他,你...
- Java和Php的对比
-
(1)开发速度Java是一种面向对象和结构化的语言,开发速度较慢,比如代码更多,耗费较多时间。而PHP是一种解释型语言,开发速度快,代码量少,耗费的时间较少。(2)安全性Java基于字节码形式进行...
- php宝塔搭建实战多端壁纸小程序源码一(wordpress后台安装篇)
-
大家好啊,我是测评君,欢迎来到web测评。本期给大家带来一套php开发的多端壁纸类型的小程序源码,后台是使用wordpress集成的,前端是使用uniapp开发的。今天先给大家分享后台怎么在宝塔里部署...
- PHP中的IMAP扩展简单入门
-
对于邮件处理来说,大家比较熟悉的应该是POP3、SMTP这类的协议,而今天我们介绍的IMAP其实也是非常常用的一种邮件处理协议。它和POP3比较类似,都是以接收处理邮件为主。不过相对于...
- 【推荐】一款免费、全能型的数据库管理神器,效率提升利器
-
如果您对源码&技术感兴趣,请点赞+收藏+转发+关注,大家的支持是我分享最大的动力!!!项目介绍HeidiSQL是一款免费的数据库管理工具,适用于与数据库打交道的开发人员和数据库管理员。它支持多种数据...
- Php+Vue.js实现的项目管理系统
-
一个基于Vue.js实现的项目管理系统目前已实现的主要功能项目管理任务管理账号管理文件管理团队管理权限管理多组织管理技术栈PHPVueMySQLRedis相关界面前端源码地址:https://git...
- 让PHP和Node.js同框共舞:解密php-node的革命性玩法!
-
你有没有想过,PHP和Node.js有朝一日能在一个进程里握手言和?不是“后端服务调用后端服务”,也不是“前端请求后端接口”,而是——直接共享内存、互传变量、同步执行逻辑。听起来像是幻想,但今天...
- 8个增强PHP程序安全的函数
-
安全是编程非常重要的一个方面。在任何一种编程语言中,都提供了许多的函数或者模块来确保程序的安全性。在现代网站应用中,经常要获取来自世界各地用户的输入,但是,我们都知道“永远不能相信那些用户输入的数据”...
- Peachpie —— .NET 的 PHP 编译器
-
Peachpie是一款.NET平台的PHP编译器,主要特性:物联网:可以使用PHP开发WindowsIoT设备应用,至少节省30%的开发支出安全:可以在最安全的平台上运行PH...
- PHP的垃圾回收机制-PHP高级面试题+详解
-
ps:本篇内容包括精选面试题与知识篇。PHP面试题关于PHP的垃圾回收机制,PHP的垃圾回收机制引用计数(referencecounting)GC机制,PHP可以自动进行内存管理,清除不需要的...
- 一周热门
- 最近发表
- 标签列表
-
- curseforge官网网址 (16)
- 外键约束 oracle (36)
- oracle的row number (32)
- 唯一索引 oracle (34)
- oracle in 表变量 (28)
- oracle导出dmp导出 (28)
- oracle两个表 (20)
- oracle 数据库 字符集 (20)
- oracle安装补丁 (19)
- matlab化简多项式 (20)
- 多线程的创建方式 (29)
- 多线程 python (30)
- java多线程并发处理 (32)
- 宏程序代码一览表 (35)
- c++需要学多久 (25)
- c语言编程小知识大全 (17)
- css class选择器用法 (25)
- css样式引入 (30)
- html5和css3新特性 (19)
- css教程文字移动 (33)
- php简单源码 (36)
- php个人中心源码 (25)
- 网站管理平台php源码 (19)
- php小说爬取源码 (23)
- github好玩的php项目 (18)