基于MCU RA6T1的电机故障检测示例系统

工业控制

1207人已加入

描述

摘要

该方案实现了基于嵌入式AI推断电机运行异常的方法。基于瑞萨电机控制MCU RA6T1,结合瑞萨的e-AI工具,将Google的TensorFlow Lite模型部署在MCU端,结合瑞萨专有的BLDC电机控制程序套件实现AI对电机运行状态的判断,可作为工厂自动化中预测性运维的实践基础。

引言

电机作为电能转换装置广泛应用于工业、农业,以及我们生活的方方面面。作为一种重要的电气设备,电机运行状态的检测和维护一直是电机使用中的重要话题。若电机运行时出现问题不能及时发现,轻则会造成电机的损坏,重则影响产线进度甚至造成生产事故。传统的电机检测和维护使用人工测量和记录,处理滞后,准确性和效率都不高,而且耗费人力。本文使用专为MCU设计的AI模型Google TensorFlow Lite,在基于RA6T1的BLDC电机系统中实现基于AI的故障检测方案,实现了全自动化操作,提升了运维效率,并解决了传统电机检测维护中处理滞后的问题。

系统架构

电机故障检测示例系统框图如图1所示。这是一个基于e-AI的电机系统,包含自学习神经元网络和无刷直流电机控制软件,AI推断结果显示在PC软件上。

e-AI(嵌入式AI)指的是在服务器上使用大算力做模型训练,在嵌入式系统中执行推断的非对称算力架构。瑞萨提供e-AI开发环境,帮助嵌入式开发者加速AI应用在瑞萨MCU上的部署。通过这个开发环境,用户可以把在服务器或者PC上训练好的AI模型转换成运行在MCU上的代码。

本示例是基于瑞萨电子RA系列芯片RA6T1的电机控制评估系统,在电机系统遇到硬件问题时可以智能地检测异常。本系统采用无传感器的矢量控制方式运行电机,电机的三相电流作为自学习神经元网络的输入,基于Google专为MCU开发的TensorFlowLite(TFLu),使用人工智能推断电机异常的概率。(TensorFlow是一个基于数据流编程的符号数学系统,被广泛应用于各类机器学习算法 的编程实现,其前身是谷歌的神经网络算法库DistBelief。)

BLDC

图1 电机故障检测示例系统

故障检测原理

系统中的直流无刷电机控制采用无传感器矢量控制方式,采用三分流电阻,通过A/D转换监控三相电流。在本系统中,使用随着电机状态不同而变化的三相电流波形作为自学习神经元网络的输入。对输入数据进行预处理后通过FFT生成频谱,可以让AI更容易检测到三相电流波形的特征点。方案中预处理执行包括以下操作:

①采集三相电流的A/D转换值并生成FFT帧。

②在输入到自学习神经元网络前,对数据进行预处理,包括数据帧的FFT变换(频谱生成)和从频谱中提取特征点(自学习神经元网络输入数据生成)。

每512个点构成一帧,为了避免丢失数据,每一帧被设置为64个点与前一帧重叠,如图2所示。这是一种通常称为“重叠分析”的常用方法。

BLDC

图2 电机驱动电流的A/D转换值

因为在时间轴上无法检测到特征值,所以将电机电流A/D转换值经过FFT处理转换到频率轴上,如图3(a)所示。在目标系统中,如图3(b)所示,在浅色线标出的基频峰值附近检测到特征点。提取检测到特征值的峰值前后共16个点作为输入数据,如图3(c)所示。只有U相电流值作为AI模型的数据。

BLDC

图3 数据预处理流程

人工智能推断

在这个示例中,基于TFLu的AI通过以下3层模型来推断电机运行正常还是异常:

①输入层:FFT处理U相分流电流数据。

②隐藏层:隐藏层使用全连接层。

③输出层:输出正常和异常的概率。

图4显示了AI模型配置情况。

BLDC

图4 AI模型配置

故障检测实现

故障检测工程中包括电机应用程序和使用TFLu的AI应用程序,数据收集工具和训练工具用于AI模型开发。AI模型开发流程图如图5所示。

BLDC

图5 AI模型开发流程图

首先,使用数据收集工具收集数据,包括用于自学习的数据和用于测试的数据,测试数据用于测试AI模型。图6显示了系统在正常和异常状态下的区别。正常状态定义为驱动电机轴和负载电机轴形成一条直线,异常状态定义为两个轴的轴线偏离。

BLDC

图6 正常状态和异常状态

然后,利用训练工具来训练和测试AI模型,如图7所示,训练结束后输出.tflite文件并转化为C语言数组,写入程序中参与编译。最后,再次使用数据收集工具进行系统的评估,MCU上运行的AI模型根据实测数据推断出异常状态的可能性并显示,如图8所示。

BLDC

图7 训练和测试AI模型

BLDC

图8 数据收集工具

整个系统的操作流程如图9所示。

①使用无传感器矢量控制运转电机。

②对电机驱动电路的数据进行预处理,通过AI推断电机运行异常的概率。

③与PC机进行串行通信,在上位机显示电流波形数据和推断结果。

BLDC

图9 系统操作流程

演示流程图如图10所示,MCU定时器CMT1生成2kHz的采样频率并获取三相电流的A/D转换值,三相电流中的U和W相电流输入到12位A/D转换器,为FFT累积一帧(512个样本)的A/D转换值。从下一帧开始,通过重叠前一帧的64个样本来累积A/D转换值。MCU使用CMSISDSP执行FFT操作,FFT操作产生的频谱被转换成dBFS,该实现中定义0dB=4095LSB满量程。接下来,选择频谱的峰值(不包括直流分量)和前后8个样本(A/D转换值)来提取频谱特征值。提取的特征值输入到自学习神经元网络,通过推理输出两类(正常和异常)的概率。在此实现中,采用异常概率作为异常程度的表征,通过USB传输到PC,在DataCollectionTool(GUI工具)中以数值和图表形式表示。

BLDC

图10 演示流程图

结语

本文设计的基于RA6T1的BLDC电机系统结合瑞萨的e-AI工具套件,使用专为MCU设计的AI模型,实现了智能故障检测,经过训练和导入成功部署到MCU端,并取得了理想的电机运行异常的推断效果,克服了传统电机运行检测的难点和不足,为电机系统自动化预测性运维提供了可行方案。

审核编辑:汤梓红

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分