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

基于MCU RA6T1的电机故障检测示例系统,第1张

摘要

该方案实现了基于嵌入式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。)

基于MCU RA6T1的电机故障检测示例系统,f91f5e1c-3318-11ed-ba43-dac502259ad0.jpg,第2张

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

故障检测原理

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

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

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

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

基于MCU RA6T1的电机故障检测示例系统,f98c4022-3318-11ed-ba43-dac502259ad0.jpg,第3张

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

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

基于MCU RA6T1的电机故障检测示例系统,f998d33c-3318-11ed-ba43-dac502259ad0.jpg,第4张

图3 数据预处理流程

人工智能推断

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

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

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

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

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

基于MCU RA6T1的电机故障检测示例系统,f9f413e6-3318-11ed-ba43-dac502259ad0.jpg,第5张

图4 AI模型配置

故障检测实现

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

基于MCU RA6T1的电机故障检测示例系统,fa1d6e44-3318-11ed-ba43-dac502259ad0.jpg,第6张

图5 AI模型开发流程图

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

基于MCU RA6T1的电机故障检测示例系统,fa470b50-3318-11ed-ba43-dac502259ad0.jpg,第7张

图6 正常状态和异常状态

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

基于MCU RA6T1的电机故障检测示例系统,fa5b5e7a-3318-11ed-ba43-dac502259ad0.jpg,第8张

图7 训练和测试AI模型

基于MCU RA6T1的电机故障检测示例系统,fa826998-3318-11ed-ba43-dac502259ad0.jpg,第9张

图8 数据收集工具

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

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

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

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

基于MCU RA6T1的电机故障检测示例系统,fadcd810-3318-11ed-ba43-dac502259ad0.jpg,第10张

图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工具)中以数值和图表形式表示。

基于MCU RA6T1的电机故障检测示例系统,fb072b38-3318-11ed-ba43-dac502259ad0.jpg,第11张

图10 演示流程图

结语

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

审核编辑:汤梓红

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/dianzi/2998472.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-09-26
下一篇 2022-09-26

发表评论

登录后才能评论

评论列表(0条)

保存