CN113536658B - 基于stm32嵌入式处理器的机电设备轻量化故障诊断方法 - Google Patents
基于stm32嵌入式处理器的机电设备轻量化故障诊断方法 Download PDFInfo
- Publication number
- CN113536658B CN113536658B CN202110559014.7A CN202110559014A CN113536658B CN 113536658 B CN113536658 B CN 113536658B CN 202110559014 A CN202110559014 A CN 202110559014A CN 113536658 B CN113536658 B CN 113536658B
- Authority
- CN
- China
- Prior art keywords
- data
- model
- fault diagnosis
- neural network
- fault
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/20—Design optimisation, verification or simulation
- G06F30/27—Design optimisation, verification or simulation using machine learning, e.g. artificial intelligence, neural networks, support vector machines [SVM] or training a model
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2119/00—Details relating to the type or aim of the analysis or the optimisation
- G06F2119/02—Reliability analysis or reliability optimisation; Failure analysis, e.g. worst case scenario performance, failure mode and effects analysis [FMEA]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2119/00—Details relating to the type or aim of the analysis or the optimisation
- G06F2119/04—Ageing analysis or optimisation against ageing
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- Theoretical Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Medical Informatics (AREA)
- Software Systems (AREA)
- Artificial Intelligence (AREA)
- Computer Hardware Design (AREA)
- Geometry (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
Abstract
本发明提供一种基于STM32嵌入式处理器的机电设备轻量化故障诊断方法,涉及故障诊断领域,更具体的涉及基于嵌入式处理器的机电设备轻量化故障诊断应用领域。该方法使用基于BP神经网络+支持向量机(SVM)的模型结构和方法,并在嵌入式端应用上进行了一定程度优化与压缩,如特征降维、属性离散化优化和神经网络端模型的压缩等,使得模型更能适应嵌入式端的实时需求。设计了上位机端软件界面和STM32下位机通信诊断的系统,通过NASA作动器数据集进行测试验证,系统采用的BP神经网络与支持向量机相结合的数据融合方式能够实现机电系统在线实时故障诊断,提高了故障诊断系统的实用性和有效性,最大限度地避免了故障造成的资源浪费和经济损失。
Description
技术领域
本发明涉及故障诊断领域,更具体的涉及基于嵌入式处理器的机电设备轻量化故障诊断应用领域。
现有技术
在机电设备故障诊断应用方面,状态监视和预测性维护已成为可行的解决方案,从而最大程度地降低运营和维护成本,同时提高安全性。嵌入式故障诊断强调设备管理中的状态感知,监控设备运行状态、故障频发区域与周期,通过数据监控与分析,预测故障的发生,从而大幅度提高运维效率。
通过对目前的文献检索发现,基于嵌入式处理器的设备故障诊断方法的研究仍处于起步阶段,是当前学术界和工业界研究的热点。如同济大学的李云朋等人在《嵌入式轴承故障诊断系统的设计与实现》提出了一种基于ARM+FPGA的异构架构,采用CNN 诊断轴承故障,提高了并行计算的能力。此类研究现处于初始阶段,在设备的通用性上还需要进一步的研究。谢光强等人在《微型嵌入式系统故障诊断方法综述》中指出将机器学习的计算过程尽可能地在传感器端完成,可以将数据带宽降到最低,从而提高系统的响应能力,满足实时需求。此外,嵌入式系统广泛应用于复杂武器、军事和列车的故障诊断,如武汉理工大学在《风电机组故障诊断实现方法探讨》采用嵌入式系统对复杂设备进行远程故障诊断,中南大学在《重载组合列车同步制动系统故障诊断技术与应用研究》采用重载组合的在线列车同步作动故障诊断策略技术。
然而,目前针对机电设备的嵌入式的故障诊断的研究大部分存在技术上的不足,在设备端的实时故障诊断应用较少,因此带来了理论和应用不匹配和缺乏实验验证等挑战。此外,现有的研究主要基于高性能ARM或FPGA等嵌入式系统,且使用的硬件设备体积往往较大,耗能较高,不易于部署,工程应用中仍存在嵌入式端实时故障诊断对计算性能需求较高的问题。所以,亟待具有轻量化、易部署特点的嵌入式故障诊断的发明来解决现有的问题。
发明内容
针对现有的问题,本发明提出一种基于STM32单片机的嵌入式融合故障诊断方法。使用基于BP神经网络+支持向量机(SVM)的模型结构和方法,并在嵌入式端应用上进行了一定程度优化与压缩,如特征降维、属性离散化优化和神经网络端模型的压缩等,使得模型更能适应嵌入式端的实时需求。设计了上位机端软件界面和STM32下位机通信诊断的系统,通过NASA作动器数据集进行测试验证,系统采用的BP神经网络与支持向量机相结合的数据融合方式能够实现机电系统在线实时故障诊断,提高了故障诊断系统的实用性和有效性,最大限度地避免了故障造成的资源浪费和经济损失。
本发明的总体数据流程框架如图1所示,主要分为数据采集和故障诊断两部分。数据采集主要是对传感器输出的信号进行采集,并且进行预处理和特征提取等操作;故障诊断过程完成在MCU上,利用STM32完成高速的数据采集和预处理,这样就可以在STM32芯片上完成数据的采集和处理功能,STM32已经可以满足功耗、运算速度和体积的要求。
步骤1:原始数据的采集
根据应用场景和具体情况,通过传感器采集机电设备的数据或通过仿真软件仿真,得到原始数据集。原始数据集具有数据量大、数据维度高以及存在缺失值的特点。需求进行进一步的处理才能用于故障诊断。
步骤2:数据的预处理
(1)数据的清洗
对原始数据集进行数据的清洗,即对数据中的缺失值进行处理。缺失值产生的原因是多方面的。例如在采集和传输测量数据的过程中,由于环境的干扰或设备故障有可能导致个别数据不现实或丢失。处理缺失值的一个简单方法是忽略包含缺失值的实例或属性,但浪费的数据可能很多,而不完整的数据集会导致统计分析的偏差。因此本发明采用邻近值填充法填补缺失值,即使用相邻的数据来代替缺失值。由于采集的原始数据往往是时序数据,因此邻近值填充法不会对相邻数据产生很大影响。
(2)数据集的划分
为了训练故障诊断的模型以及对模型进行评估测试,需要对原始数据集进行划分。将原始数据集随机划分为训练集和测试集两部分,通常训练集占原始数据集的80%~90%,测试集占原始数据集的10%~20%。
经过数据的预处理之后,由原始数据集得到故障诊断数据集,其中故障诊断数据集分为训练集和测试集。
步骤3:数据的特征提取及降维
(1)数据的特征提取
故障诊断数据集通常包含多种物理量的传感器数据,该数据集较为复杂且数据的量纲不统一,因此需要进行特征的提取。目前,解决机械故障特征信息提取问题的方法主要有信号处理方法,即通过信号处理提取故障特征,为故障诊断服务。包括常见的基于傅里叶变换的频域分析法,功率谱分析法和倒频谱分析法。这些故障诊断的实现方法在机械故障诊断中得到了广泛的应用,实践证明这种方法是行之有效的。因此,本发明使用这些常用的方法进行特征提取,得到由时域数据和频域数据组成的高维特征数据集。
(2)数据的降维
经过特征提取的数据维度较高,直接用于故障诊断往往效果不理想。对高维特征数据集使用主成分分析法进行数据降维,得到低维度特征数据集,使用该数据集进行故障的诊断。
步骤4:数据集的属性离散化及模型的移植部署
(1)属性离散化
为了提高诊断效果,需要预先对低维度特征数据进行属性离散化。离散化连续属性就是将属性值分割成多个子域,然后用这些子域替代原始实值,从而对决策表进行泛化。通过离散化可以改变属性值的粒度,可以非常有效地减少信息系统的信息量,提高信息分析的速度。它的实质是选择适当的断点,并对条件属性空间进行划分,把由n个条件属性组成的n维空间划分为有限个区域,使对象的属性值在每个区域中保持一致。断点的选取过程实际上就是属性值的合并过程,合并属性值可以降低问题的复杂性和复杂性,同时也提高了数据获取过程中的适用性。属性离散优化算法流程如图 2所示。离散化连续属性有两个基本原则:离散化后损失决策表信息最少,离散化后损失决策表信息最小;每个属性包含的属性值类型最小,即离散化后空间维数最小。具体的算法流程如表1所示。
表1等距分离法属性离散过程
(2)BP神经网络模型的移植部署
对低维特征数据进行属性离散化后,将离散化的数据集中训练集的部分,进行BP神经网络的模型训练,得到训练好的模型文件。将已经训练好的模型生成相应的C语言代码,使用STM32CubeMX可以生成对应的工程文件。
在移植训练好的Keras模型的同时,可以进行模型的预分析,分析所需占用的空间及训练的网络层数,神经元个数,在导入文件中选择神经网络导出的神经网络权值和网络大小等信息的模型。导入界面如图3所示。
为了减少运算量,提高运算速度,本发明通过两种通用的方法,对神经网络进行模型的压缩:(1)网络模型的裁剪;(2)数据的量化。
(3)支持向量机模型的移植部署
针对于某些情境下,机电设备的故障诊断问题中,某些故障类型的样本数较少,与正常样本分布不均衡的情况。为了提高对于不均衡样本的诊断准确率,发明利用非均匀代价分配方法和支持向量机结合的串行融合方法,在提高样本数较少的故障的诊断准确率的同时,能有效提高整体的故障诊断准确率。
在电脑端将不均衡的样本数据集,进行支持向量机的模型训练,得到以32bit的浮点类型保存的模型权重,将模型权重进行移植部署。在移植前,需要对模型权重数据进行量化。将32bit的浮点类型数据,转换成Q15类型的定点数,减少了模型计算的复杂度,提高了能存储的数据大小和运算速率。手动编写C语言代码,调用转换后的模型权重数据,实现在嵌入式系统上的支持向量机算法。
步骤5:得到故障诊断的结果
在将BP神经网络模型和支持向量机模型移植部署到单片机后,在电脑端的上位机将之前划分得到的测试集传输至单片机。单片机经过运算后得到故障诊断结果,并返回上位机,用户便可以通过上位机得到测试集相应的故障诊断结果。
本发明基于STM32完成了BP+支持向量机的嵌入式融合故障诊断系统开发,通过将两种故障诊断方法进行融合,能够针对通用的机电设备的数据进行有效的故障诊断与识别。
发明相比于以往机电设备的故障诊断发明,综合运用多种算法技术,在将故障诊断算法移植部署到轻量化、低功耗、应用场景广的STM32嵌入式平台的同时,提高了故障诊断的准确率。为了提高运算速率,运用了模型压缩技术,在不损失诊断准确率的同时,提高了故障诊断的实时性,能够满足实际场景的应用。
发明以NASA机电作动器数据集为例,利用嵌入式软件编程在STM32上实现了神经网络和支持向量机的诊断,对于机电作动器数据中,电机绕组故障样本较小的特点使用支持向量机算法进行诊断,其余故障类型使用BP神经网络诊断,在嵌入式端将两种方法进行有效融合,得到最终的故障诊断效果。本专利发明的嵌入式故障诊断系统丰富了嵌入式故障诊断方面的应用,适合于机电故障诊断系统的推广应用。
附图及附图的简要说明
图1是本发明的数据流程框架图。
图2是属性离散优化的BP神经网络算法结构图
图3是导入神经网络界面。
图4是主成分分析降维的帕累托图。
图5是STM32正常信号的神经网络测试图。
图6是基于训练集数据的神经网络混淆矩阵。
图7是设置嵌入式支持向量机参数界面。
图8是支持向量机模型混淆矩阵
图9是软件数据初始界面。
图10是串口通信模块功能图。
图11是软件故障信息界面。其中图11(a)为故障信息显示界面,图11(b)为参数展示界面。
图12是软件登录功能验证图。其中图12(a)为软件登录界面,图12(b)为连接MongoDB数据库。
图13是软件故障实时传输及诊断运行界面。
图14是LCD故障显示界面。
具体实施例
本发明的效果通过NASA机电作动器数据集进行展示与验证。
1.NASA机电作动器数据集的介绍和预处理
NASA机电作动器数据集,是通过人为设置特定故障类型,并采集传感器数据得到的高维数据集。该数据集数据量较大,维度为23维,故障数据类型分为五种:正常、丝杠通道阻塞、丝杠通道剥落、电机短路故障和传感器故障。
在对数据集进行数据清洗和数据划分后,得到655组训练集和75组测试集,如表2所示。
表2样本集详细信息
2.NASA机电作动器数据集的特征提取及降维
对经过预处理的23维数据集进行特征提取和主成分分析的降维。图4是经主成分分析之后的帕累托图。由图4知,特征第一主成分所解释的方差占总方差的60%左右,前5个主成分分量可以代表总信息的95%以上。
本案例以超过95%为原则选择的,最终得到降维后特征为5个,如表3所示。
表3主成分分析特征值与特征向量
3.降维特征的属性离散化优化
属性离散优化方法有很多,考虑到在嵌入式端的应用更加方便,因此本案例使用比较常用的等距分离法。等距分离法主要是按照等距将原始特征划分为若干个位置的离散点,按照就近原则将原始的连续特征划分到各个离散点上,由于原始数据集采集的数据存在着较为复杂的小数,由此使用较为常用的属性离散化就能减少大量的计算量,等距法计算属性离散化断点,如表4所示。
表4主成分分析特征值与特征向量
4.模型移植部署的参数设置
(1)BP神经网络的部署及参数设置
选择Keras模型进行导入,设置的网络为5层神经网络,采用压缩比为4的压缩大小,设置参数压缩比为4。压缩后神经网络的大小相比之前有了明显的减少,如表5 所示,神经网络压缩模型的大小只有原来的约50%。
表5 STM32CubeAI压缩效果
经过烧录到STM32芯片上,就完成了BP神经网络的训练及移植。由图5可知,测试使用的是阻塞故障样本,故障代码为1,STM32经过故障诊断分析后result的结果为1,诊断结果符合预期结果。
用机电作动器测试集实时故障诊断准确率达到89.33%,接近电脑端的诊断率,图6为多次测试后的得到的诊断预测结果。
(2)支持向量机的部署及参数设置
在电脑端使用带RBF核的支持向量机方法,训练正常与电机绕阻短路故障两类故障,表6所示为支持向量机训练好的模型参数;其中,得到的对偶系数为1×10的矩阵 [-0.05315448,-0.00656091,…,0.03322576],支持向量为1×18的矩阵, [1.25945681,-0.49587783,…,1.28537694]。
表6支持向量机参数列表
由于数据存储大小和重载模型的计算量较大,使用CMSIS-DSP库的浮点数与定点数转换函数以方便操作。将训练好的支持向量机参数赋值到STM32的代码中去,可以在嵌入式端直接进行应用,图7所示为STM32中需要赋值的各种参数。
测试数据集进行测试,得到结果如图8所示,从支持向量机的诊断结果可以得到,利用支持向量机方法可以有效地提高对于样本数较少的电机绕阻短路故障的诊断准确率,其中1代表正常样本,2代表电机绕阻短路故障样本。
5.上位机软件的开发与验证
上位机运行在Windows操作系统下,软件界面是采用Python语言进行编写,界面是采用QT进行设计编写,除了按钮、选择文件和文本框显示外,还可实时显示发送数据波形图,可以方便使用者观察。
通过登录可以进入嵌入式故障诊断软件的主界面,图9所显示的是软件的可靠性与故障诊断界面,主要的功能是实现机电设备数据故障诊断的功能,
界面总体上分为4部分,包括串口参数设置部分、故障数据导入部分、接收部分、传输信号可视化部分和数据存储与读取部分,分别进行说明:
(1)串口参数设置部分
串口通信模块主要起到连接接收部分与显示处理部分的作用,作用如图10所示,串口参数设置部分主要需要和嵌入式端参数进行匹配,指定通信的字长、停止位、波特率和校验位等信息,从而进行通信;利用上位机软件,需要模拟出设备实时接收数据的形式,这种形式可以尽可能地再现真实场景,这里通过逐行读取文本文件中的数据,依次进行发送,通过设置出相应的波特率、奇偶校验位、停止位等信息,实现打开与设备的通信端口,利用刷新功能,可以获取电脑端已连接的端口,选择连接。上位机端通过多线程方式实时地发送及接收数据,也保证后续数据的实时显示。
STM32与上位机通信实现设计的方案是将各种传感器的数据以数字的形式发送给单片机,上位机端发送数据指令,除了USART协议中自带的纠错码和奇偶校验码外,设计中还在发送的故障数据中加入了自带的包头包尾,即以$Actuator开头,以$END 结尾的才能被下位机识别并接受。
(2)故障数据导入部分
选取相应的故障数据文件,可将故障数据导入软件,软件模拟传感器故障数据逐行发送,嵌入式端需要能够实时接收并处理数据;文本框主要负责读取故障码、显示故障码和清除故障码的功能,在故障代码库中找到故障原因和维修建议,并将其与故障代码相匹配,将其显示在提示框中,如图11所示。
(3)接收部分
接收区是用来接收STM32回传的信号,用来接收确认信号和诊断结果,一般来说,当采样点数量达到要求时,嵌入式终端会对采集到的周期信号进行处理,然后得到相应的故障类型,返回上位机端,上位机软件同时负责故障预警系统,通知用户不安全的系统性能,并在必要时关闭机器等一系列操作;使用高级配置选项,管理员可以配置数据收集选项,执行维护操作,以及动作警告和警报阈值。
(4)传输信号可视化部分
传输信号可视化部分主要实现的是数据实时展示,让用户可以方便地了解到数据发送的情况,及时发现传感器出现的问题并进行矫正;该部分界面提供了实时的参数值和组件状态信息,并支持对多达5个数据通道进行实时绘制。
(5)数据存储与读取部分
故障数据以文本或者数据库的形式存储在上位机端的根目录下,故障数据以及用户信息可以进行有效存储与读取,通过数据库和文本相结合的存储形式,可以方便用户进行数据增删改查。
在读取故障数据的过程中,需要将TXT文件中的故障数据按照一行一行地发送至单片机,但是由于读取数据会持续地占用主线程,这样会导致单片机无法打开接收端口,因此需要设置多线程,让主线程持续接收数据,在读取文件数据过程中创建一个新线程来发送每行的传感器数据,这里使用QT中的信号槽技术来进行多个类之间的通信,进而实现多线程地读取并发送数据。
数据结果和诊断结果是通过安放的SD卡进行连接。SD卡是基于半导体闪存器的记忆存储卡,SD卡支持三种传输模式:SPI模式、1位SD模式、4位SD模式。其中两种SD模式采用6线制进行数据通信,而SPI模式采用4线制进行数据通信,可见使用 SPI方式时,IO的占用量数量相对较少,所以本文采用SPI传输模式实现SD卡与STM32 的连接,SD卡选用的是Kingston的4GB的SD卡,经过采样转换后存入SD卡的DATA 文件夹,再将故障结果存入SD卡的RESULT文件夹。
(6)上位机软件的验证
首先进入图12(a)所显示的是软件的登录界面,主要的功能是用户登录(用户名+密码)。图12(b)显示的是软件连接的数据库,通过安装MongoDB数据库,可以进行数据库访问,账号密码存放在lms-admins的数据库中。
登录成功后,接下来进入主界面,图13展示了主界面主要做了故障数据的实时收发和显示界面。
然后是对各项串口参数进行设置,以便进行后续的数据采集,需要设置的串口参数包括波特率(可以选择的波特率为76800Baud、115200Baud和128000Baud等)以及是否进行奇校验/偶校验。在串口参数设置完成之后,点击“Open”按钮,开始采集以实时性能采样数据。在硬件的层面上,程序会通过RS-232串口读取由电脑端发送的实时故障数据。在软件的层面上,通过软件读取文件将得到的故障数据文件通过通信控件发送到RS-232上,从RS-232串口可以发送实时故障数据。选择传输的数据动态显示在波形图中,默认值单位为0.01秒。最后点击“发送”按钮,故障的实时预测程序开始运行。
下位机端诊断设备端设置按照下述操作,首先置BOOT0和BOOT1为0,这是开发板板载的启动模式选择端口(BOOT),STM32有BOOT0(B0)和BOOT1(B1)两个启动选择引脚,用于选择复位后STM32的启动模式。在开发板上,我们通过跳线帽选择STM32 的启动模式。打开以后,可以看到板子右下角蓝色指示灯常亮,说明板子工作正常,再过大约2秒,可以观察到DS0灯处于闪烁状态,说明已经进入主循环已经可以开始执行数据的读取和写入操作。
LCD显示包含在液晶显示屏上显示字符有关的功能,包括初始化液晶屏、显示字符和字符串等。这里故障诊断设备配套使用的,是起到人机交互的作用,相当于诊断系统的终端设备。LCD屏幕通过I2C接口与STM32F407处理器连接。诊断系统读取故障并显示在LCD上,将机器故障码转换为英文方便维修人员查看;提出维修建议,显示对应故障码的部位和故障原因,协助维修人员确定故障,如图13所示。
LCD屏幕显示主要分成三部分,第一部分,主要显示的是电流、电压、位置、温度和负载信号,他们的单位分别为V、A、cm、℃、lbs,由于数据的传输速度较快,因此可能存在着屏幕上数字来不及看清的问题,因此,通过滑动平均的方法使得观察的数据为最近5个数的平均值,这样方便日常的故障数据监测与读数。第二部分,主要展示的是数据传输过程,数据传输的百分比,在传输过程达到100%时即传输完成。第三部分,最终的故障诊断的结果,当诊断出相应的故障的时候,则会实时显示出故障的类型,如图14所示,发送故障数据嵌入式端可以迅速根据传感器数据诊断出相应故障,诊断完毕。
通过对多种故障样本的测试,最终得到最终的性能对比,表7为不同作动器故障诊断方法的性能比较,与传统BP神经网络、决策树中的方法和BP+支持向量机相比,嵌入式端的BP+支持向量机方法性能优于单一BP神经网络故障诊断方法;故障覆盖率较低于决策树的方法,但是故障准确率略微超过决策树中的方法;而由于嵌入式端模型压缩、属性离散化等优化方法的存在,故障定位覆盖率和准确率都比电脑端BP+支持向量机低了约2个百分点,但在实际应用中影响不大。实验结果表明,BP+支持向量机的融合故障诊断方法在嵌入式端可行,并且在实际的应用中仍具有较高的故障诊断准确率。
表7不同作动器故障诊断方法性能对比
Claims (1)
1.基于STM32嵌入式处理器的机电设备轻量化故障诊断方法,其特征在于,包括如下步骤:
步骤1:原始数据的采集:
通过传感器采集机电设备的数据或通过仿真软件仿真,得到原始数据集;
步骤2:数据的预处理:
(1)数据的清洗
对原始数据集进行数据的清洗,用邻近值填充法填补缺失值,即使用相邻的数据来代替缺失值;
(2)数据集的划分
将原始数据集随机划分为训练集和测试集两部分,训练集占原始数据集的80%~90%,测试集占原始数据集的10%~20%;
步骤3:数据的特征提取及降维:
(1)数据的特征提取
通过信号处理提取故障特征,得到由时域数据和频域数据组成的高维特征数据集;
(2)数据的降维
对高维特征数据集使用主成分分析法进行数据降维,得到低维度特征数据集;
步骤4:数据集的属性离散化及模型的移植部署:
(1)属性离散化
对低维度特征数据进行属性离散化,将属性值分割成多个子域,然后用这些子域替代原始实值,从而对决策表进行泛化;它的实质是选择适当的断点,并对条件属性空间进行划分,把由n个条件属性组成的n维空间划分为有限个区域,使对象的属性值在每个区域中保持一致;离散化连续属性有两个基本原则:离散化后损失决策表信息最少;每个属性包含的属性值类型最小,即离散化后空间维数最小;
(2)BP神经网络模型的移植部署
对低维特征数据进行属性离散化后,将离散化的数据集中训练集的部分,进行BP神经网络的模型训练,得到训练好的模型文件;将已经训练好的模型生成相应的C语言代码,使用STM32CubeMX生成对应的工程文件;
在移植训练好的Keras模型的同时,进行模型的预分析,分析所需占用的空间及训练的网络层数,神经元个数,在导入文件中选择神经网络导出的信息的模型,包括神经网络权值和网络大小;
通过两种通用的方法,对神经网络进行模型的压缩:(1)网络模型的裁剪;(2)数据的量化;
(3)支持向量机模型的移植部署,利用非均匀代价分配方法和支持向量机结合的串行融合方法,其具体过程为:
在电脑端将不均衡的样本数据集,进行支持向量机的模型训练,得到以32bit的浮点类型保存的模型权重,将模型权重进行移植部署;在移植前,对模型权重数据进行量化;将32bit的浮点类型数据,转换成Q15类型的定点数,减少了模型计算的复杂度,提高了能存储的数据大小和运算速率;手动编写C语言代码,调用转换后的模型权重数据,实现在嵌入式系统上的支持向量机算法;
步骤5:得到故障诊断的结果
在将BP神经网络模型和支持向量机模型移植部署到单片机后,在电脑端的上位机将之前划分得到的测试集传输至单片机;单片机经过运算后得到故障诊断结果,并返回上位机,用户通过上位机得到测试集相应的故障诊断结果。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110559014.7A CN113536658B (zh) | 2021-05-21 | 2021-05-21 | 基于stm32嵌入式处理器的机电设备轻量化故障诊断方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110559014.7A CN113536658B (zh) | 2021-05-21 | 2021-05-21 | 基于stm32嵌入式处理器的机电设备轻量化故障诊断方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113536658A CN113536658A (zh) | 2021-10-22 |
CN113536658B true CN113536658B (zh) | 2023-04-25 |
Family
ID=78094708
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110559014.7A Active CN113536658B (zh) | 2021-05-21 | 2021-05-21 | 基于stm32嵌入式处理器的机电设备轻量化故障诊断方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113536658B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114722923B (zh) * | 2022-03-22 | 2024-02-27 | 西北工业大学 | 一种轻量型的机电设备故障诊断方法 |
CN115742562B (zh) * | 2023-01-05 | 2023-04-21 | 东方合智数据科技(广东)有限责任公司 | 印刷包装设备的智能监控方法、装置、设备及存储介质 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112541511A (zh) * | 2019-09-20 | 2021-03-23 | 宫文峰 | 基于卷积神经网络的多通道时间序列数据故障诊断方法 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100538761C (zh) * | 2007-08-27 | 2009-09-09 | 北京交通大学 | 基于数据融合模式识别的嵌入式故障智能诊断装置及方法 |
CN108303264B (zh) * | 2017-01-13 | 2020-03-20 | 华为技术有限公司 | 一种基于云的车辆故障诊断方法、装置及其系统 |
US11488010B2 (en) * | 2018-12-29 | 2022-11-01 | Northeastern University | Intelligent analysis system using magnetic flux leakage data in pipeline inner inspection |
CN109993232A (zh) * | 2019-04-04 | 2019-07-09 | 浙江大学 | 基于深度学习人工神经网络的汽轮机振动故障诊断方法 |
CN110334580A (zh) * | 2019-05-04 | 2019-10-15 | 天津开发区精诺瀚海数据科技有限公司 | 基于集成增量的动态权重组合的设备故障分类方法 |
CN110361176B (zh) * | 2019-06-05 | 2021-11-19 | 华南理工大学 | 一种基于多任务特征共享神经网络的智能故障诊断方法 |
CN112766303B (zh) * | 2020-12-23 | 2024-03-29 | 湖南大学 | 一种基于cnn的航空发动机故障诊断方法 |
-
2021
- 2021-05-21 CN CN202110559014.7A patent/CN113536658B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112541511A (zh) * | 2019-09-20 | 2021-03-23 | 宫文峰 | 基于卷积神经网络的多通道时间序列数据故障诊断方法 |
Also Published As
Publication number | Publication date |
---|---|
CN113536658A (zh) | 2021-10-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106502853B (zh) | 嵌入式智能故障检测报警系统 | |
CN113536658B (zh) | 基于stm32嵌入式处理器的机电设备轻量化故障诊断方法 | |
CN106844775B (zh) | 航天器故障快速检测系统 | |
CN111459700A (zh) | 设备故障的诊断方法、诊断装置、诊断设备及存储介质 | |
CN106383763B (zh) | 数据中心智能故障检测报警系统 | |
CN101907868B (zh) | 牵引供电系统智能故障诊断方法及其系统 | |
CN105225049B (zh) | 一种高可扩展性故障诊断专家系统 | |
CN109213132A (zh) | 一种uds诊断接口软件生成的方法、装置及设备 | |
CN107991900B (zh) | 半实物仿真平台上的南极望远镜潜隐故障模拟和自愈方法 | |
CN112859822A (zh) | 基于人工智能的设备健康分析及故障诊断的方法及系统 | |
CN107807860B (zh) | 一种基于矩阵分解的电力故障分析方法及系统 | |
US10699007B2 (en) | Hybrid univariate/multivariate prognostic-surveillance technique | |
CN110884687A (zh) | 一种机电系统phm技术半物理实时仿真验证平台 | |
WO2023104121A1 (zh) | 测试用例的测试方法及装置、电子设备和存储介质 | |
CN114325405A (zh) | 电池组一致性分析方法、建模方法、装置、设备及介质 | |
CN109768625A (zh) | 一种电力系统检修管理终端及方法 | |
CN111080168B (zh) | 一种基于胶囊网络的电力通信网络设备可靠性评估方法 | |
CN111953657B (zh) | 一种序列-数据联合驱动的配电网cps网络攻击辨识方法 | |
CN106597159A (zh) | 一种汽车电器设备老化耐久测试装置及方法 | |
CN110398692B (zh) | 一种燃料电池测试系统及方法 | |
CN108319516A (zh) | 一种测试系统及测试方法 | |
CN110322098B (zh) | 交互式计算机模拟期间的标准操作程序反馈 | |
CN110413500A (zh) | 基于大数据融合的故障分析方法及装置 | |
CN211402650U (zh) | 一种燃料电池测试系统 | |
CN114898174A (zh) | 基于不同识别模型的电缆故障识别系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |