如何使用Psoc6 AI驱动完成预测性工业机器维护
扫描二维码
随时随地手机看文章
在这个项目中,我将开发一个使用IMU传感器来预测机器维护和潜在故障的系统
1. 介绍
该项目旨在使用英飞凌PSoC6 AI Kit和DeepCraft Studio为工业机器开发基于AI的预测性维护系统。系统将:
•从内置的IMU传感器(加速度计和陀螺仪)收集实时振动数据。
•将这些数据流式传输到DeepCraft Studio进行人工智能模型训练。
•训练人工智能模型来检测异常并预测机器故障。
•使用ModusToolbox将训练好的模型部署到PSoC6 AI Kit。
•向用户提供早期维护提醒。
2. 硬件和软件要求
硬件:
•英飞凌PSoC6 AI套件(带IMU传感器)
•工业机械(用于振动数据采集)
•USB/UART连接数据流
软件:
•DeepCraft Studio (AI模型训练)
•ModusToolbox (PSoC6固件开发)
我很惊讶地发现一个现成的例子在DeepCraft工作室异常振动检测
这个项目将分为两个部分
第一节
首先,我将开始测试现成的模型。
第二节
然后我将制作我的模型,并使用我的流IMU数据集训练它。
这两种模型都将在PSOC 6 AI KIT上进行部署和测试。
3. 第一节
使用现成模型实施项目的步骤。
在本节中,我将使用DeepCraft Studio生成现成模型的代码
a-生成Model.c和.h文件
在架构中选择英飞凌PSOC,在目标设备中选择PSOC6,输出文件夹并按“生成代码”
在生成model.c和model.h文件之后,您可以在infineon文件夹中找到模型文件,复制Both files model.c和model.h,然后我们将使用modulebox进行部署
b-创建模块工具箱部署模型:
1-打开模块工具箱软件,选择你的工作空间
2-使用新建应用程序向导创建新项目
3 .选择CY8CKIT-062S2-AI PSOC作为您的BSP
4-在机器学习部分,只需选择DEEPCRAFT部署模型运动,并按您喜欢的重命名项目并按创建
5-创建Modus项目后,打开models文件夹,用DeepCraft Studio生成的文件替换model.c和model.h
你可以将你的自定义代码添加到main, c文件中,当模型成功运行时,在这个项目中,红色LED将在异常检测时打开
现在我想只运行准备好的模型来测试它的工作,只是构建项目并等待完成,没有错误
6-编程您的工具包,并从modstoolbox或putty或Tera Term打开串行控制台,您喜欢(波特:115200,8,none, 1)
Ready振动模型部署
正如在视频中注意到的,试剂盒必须与原始训练模型处于相同的方向,如下面的截图所示,所以这个模型只在这个方向上训练;任何其他方向的工具包将给我们一个异常的振动,即使没有振动。所以我将以不同的方向训练我的模型来避免这种情况。
4. 第二节
使用我自己的模型实现项目的步骤。
a-步骤1:收集和流IMU传感器数据到DeepCraft工作室
1. -配置IMU传感器(加速度计和陀螺仪)
•使用PSoC6的SPI接口读取IMU数据。
•样本振动数据在100赫兹(根据机器振动调整)。
•应用FFT(快速傅立叶变换)提取频域特征。
2 -。流数据到DeepCraft工作室
•使用流媒体协议V2。
3 -。培训标签数据
•收集正常和异常的振动模式。
•使用时间戳标记故障条件。
•为这个模型创建的标签是(正常、需要维护、严重故障)。
b-步骤2:在DeepCraft Studio中构建和训练AI模型
1.导入数据到DeepCraft工作室
使用流协议V2流IMU数据到DEEPCRAFT STUDIO的图形UX项目。
创建一个新的GRAPH UX项目
如果需要,对数据进行预处理(归一化,噪声滤波)。
设置IMU输入数据频率为100hz,以获得更好的高速振动数据采集
添加预定义的标签(正常、需要维护、严重故障)
之后,我将开始为不同的情况构建我的数据集,以确保模型将有一个好的训练数据集
所以对于normal,我将从不同位置的IMU获得流数据(水平位置-不同垂直位置)
在完成收集数据会话之后,我们将创建我们的分类项目
2-创建空分类项目
3-添加数据
在我们分类项目的数据部分,我们将使用---- b>添加数据按钮将收集到的振动数据添加到数据的文件夹位置
将数据分成训练(70%)、验证(20%)和测试(10%)。
4. 预定义的标签
添加预定义标签(正常-需要维护,严重故障)
5. 预处理器
在预处理器选项卡中创建一个滑动窗口大小=[128*3]。数据点数步幅= 6缓冲乘数= (1)
-从预处理器创建轨道(等待完成)
然后构建预处理器。
6. 设计AI模型
使用1D CNN或LSTM(适用于时间序列振动数据)。
示例模型结构:
输入:6个功能(3轴加速+ 3轴陀螺)
隐藏层:Conv1D→LSTM→Dense
输出:二分类(正常/异常)。
7. 训练模型
设置好模型参数后,开始新的训练作业
等待Job完成
然后下载最好的训练模型
C-步骤3:将模型部署到PSoC6 AI工具包
1. 从模型生成C代码
2. 重复第1节中的步骤来部署我们的模型
3 .整合AI模型
将model.h model.c复制到modulestoolbox项目中。
在main.c中加载模型
步骤4:测试和验证系统
1. 台架测试
•用吸尘器或马达模拟振动。
•验证AI模型是否检测到异常。
2.真实的测试
•将PSoC6连接到工业机器上。
•监控
•我的训练模型部署
•预测vs.实际失败。
3.优化
•调整采样率。
•微调AI模型阈值。
4. 预期的输出
•PSoC6将持续监测振动。
•如果检测到异常模式,它将触发警报(LED/UART消息)。
用户可以收到早期的维护预警。
5. 结论
本项目演示如何:
•流实时IMU数据到DeepCraft Studio。
•为预测性维护训练人工智能模型。
•使用ModusToolbox将模型部署到PSoC6上。
•及早发现机器故障并提醒用户。
本文编译自hackster.io