【let'sdo|2026年第3期】过程贴:按键启停步进电机 https://forum.eepw.com.cn/thread/402326/1 | 2026-11-14 15:47:48 |
【let'sdo|2026年第3期】过程贴:CubeMX2+CubeIDE2按键中断点灯(迎接变化) https://forum.eepw.com.cn/thread/402317/1 | 2026-11-13 20:05:40 |
【let'sdo|2026年第3期】过程贴:搞定3轴加速度计读取 https://forum.eepw.com.cn/thread/402196/1 | 2026-11-08 08:08:48 |
【let'sdo|2026年第3期】过程贴:使用全新的CubeMX2+CubeIDE2点亮NUCLEO-C562RE https://forum.eepw.com.cn/thread/402048/1 | 2026-10-25 15:40:06 |
【let'sdo|2026年第3期】开箱贴:为什么我要选NUCLEO-C562RE https://forum.eepw.com.cn/thread/402045/1 | 2026-10-25 14:47:26 |
经过上述5个帖子的铺垫,终于来到本项目的关键环节:基于ST NanoEdge AI Studio的端侧电机状态识别项目
核心目标是:MCU通过采集电机的3轴加速度数据,将其投喂给提前训练好的端侧AI模型,模型给出3个运行状态的概率(静止、运行、过载)。
而这个端侧模型的训练和部署是通过ST NanoEdge AI Studio来进行,最后可运行于STM32单片机上。
大致流程如下图:
NanoEdge AI Studio 是一款由意法半导体(STMicroelectronics)开发的自动化机器学习工具,专为 STM32 微控制器设计。它允许开发者快速生成优化的边缘 AI 模型,无需具备深厚的人工智能专业知识。通过简单的步骤,用户可以创建异常检测、分类、回归等多种类型的机器学习库,并直接部署到 STM32 微控制器上。
核心功能与特点
NanoEdge AI Studio 提供了四种主要的库类型:异常检测、单分类、多分类和预测。它支持多种传感器输入(如加速度、温度、声音等),并允许多传感器组合。所有学习和推理均在设备端完成,极大地简化了开发流程。
以下是其主要特点:
低代码/无代码解决方案:开发者无需编写复杂代码即可生成模型。
支持多种 STM32 微控制器:包括从低功耗的 Cortex-M0 到高性能的 Cortex-M7。
优化的内存占用:生成的库可以在资源有限的设备上运行。
快速部署:通过生成 .c 和 .h 文件,便于在不同项目中移植。
ST NanoEdge AI Studio的使用方法如下:
新建项目,选择classify(分类)

选择MCU型号,传感器类型:3轴加速度据计

接下来是最重要的:导入原始数据进行训练。
我们之前读取的3轴加速度数据,通过串口输出如下。

这种是不能被ST NanoEdge AI Studio识别的。
需要进行格式化处理。
ST NanoEdge AI Studio能识别的数据,以帧为单位,可以理解为多个数据单元(如32个3轴加速度数据),
每个数据单元之间可以以逗号(,)或者空格( )连接,不能有回车。
每帧的末尾一定要加上回车符号,这是ST NanoEdge AI Studio能识别帧开始和结束的关键!
char msg2[] = "\r\n";
LIS3DH_PrintXYZ_Cal()
{
char msg[128];
snprintf(msg, sizeof(msg), "ACC: X=%d mg, Y=%d mg, Z=%d mg\r\n", x, y, z);
HAL_UART_Transmit(mx_usart2_uart_gethandle(), (uint8_t *)msg, strlen(msg), 100);
}
while (1) {
for(int i=0;i<32;i++) //每个数据块包含63帧加速度数据
{
if(i<31)
LIS3DH_PrintXYZ_Cal(); // 读取并发送一帧3轴加速度数据
else //最后一帧回车
HAL_UART_Transmit(mx_usart2_uart_gethandle(), (uint8_t *)msg2, strlen(msg2), 100);
}串口输出数据如下:

通过电脑的串口采集数据。

每个状态取个名字,如RUN(运行)、STATIC(静止)、OVERLOAD(过载)
每个状态采集大约100帧即可停止。


3个状态都采集后如下:

选择一个Benchmark(参数默认)就可以开始训练了。

训练大约2小时后完成。
接下来在电脑上模拟运行。

如下,依次测试电机 静止、运行、过载(用手摸住电机轴),查看AI的识别结果:
选择一个最准确的:


选择表现最佳的模型就可以下载并部署了。
本期测试视频如下:
我要赚赏金
