本文介绍了如何在STWIN评估板上的ST MEMS传感器中使用机器学习核心(MLC)配置。此示例显示了ISM330DHCX中嵌入的MLC功能如何用于风扇机架状态监控用例。

百万立方米是ST传感器上提供的一种高度可配置且节能的硬件逻辑,支持多个决策树分类器。ISM330DHCX是一款6轴iNemo惯性模块,具有MLC功能,可在STWIN中找到。

此示例说明了以下步骤:

  1. 如何捕获要分类的每个类的数据日志
  2. 如何标记每个数据日志
  3. 如何设计决策树分类器
  4. 如何配置MLC以运行生成的决策树
  5. 如何在MLC中运行时实时检查决策树输出

0、初步设置
软件工具
下图显示了实现上述五个步骤的工作流程以及可以使用的不同软件工具。对于这里讨论的示例,STM32管程STBLE传感器Unico GUI将使用软件工具。



 

有关软件工具的更多详细信息:

  • STBLESensor v4.8.0(或更高版本)适用于iOS/Android的应用程序,用于获取传感器数据,对嵌入ISM330DHCX的MLC进行编程,并实时检查其功能。
  • Unico GUI 9.9.0版(或更高版本),用于生成ISM330DHCX MLC配置
  • STM32CubeProg v2.4.0(或更高版本)用于对STM32产品进行编程的一体化多操作系统软件工具。


硬件工具

在本例中,我们将使用ISM330DHCX惯性测量单元(IMU),带有加速度计和陀螺仪传感器。该传感器是STWIN附带的几个传感器之一。本教程中显示的相同程序也适用于其他支持MLC的ST传感器。

有关硬件的更多详细信息:

  • MEMS传感器ST资源页
  • 探索MEMS传感器中的机器学习核心的ST资源页面
  • 关于ISM330DHCX中嵌入MLC的AN5392应用说明

1.捕获数据日志

在本例中,MLC将被配置为识别风扇机架工作模式的三种不同类别或场景:

  • 风扇关闭(_O)(fan_off.txt)
  • 风扇(_O)(fan_on.txt)
  • 风扇故障(_F)(风扇故障.txt)

要由决策树分类的每个类必须由一个或多个数据日志来表征。


硬件要求:

  • STEVAL-STWINKT1B,简称STWIN,是一个开发套件和参考设计,简化了先进工业物联网应用程序的原型设计和测试,如状态监测和预测性维护。
  • 安卓/iOS智能手机,可以运行STBLESensor应用程序。我们将在采集阶段和实时测试期间使用它与STWIN进行交互。
  • 一个风扇机架,在本例中,它是我们想要用MLC监控的平台。任何风扇支架都可以用于此演示,只要可以打开/关闭它,并在其中一个风扇叶片上施加较小的重量(例如金属弹簧回形针)以模拟故障。
  • 一台带有外围设备的电脑,用于读取STWIN存储数据日志的microSD卡。
  • Micro USB电缆,用于将STWIN连接到电脑


软件要求:

  • STM32CubeProg使用最新的日志固件对STWIN板进行闪存。
  • STBLESensor以获取机架在上述三种情况下的传感器数据。

本教程的第一步将展示如何与STBLESensor应用程序交互,以记录我们将在ISM330DHCX MLC中实现的决策树的训练数据。

在继续使用该应用程序之前,有必要在STWIN上上传日志固件。要做到这一点,必须导航到FP-SNS-DATALOG1网页并下载完整的软件包,其中还包含使用STWIN记录数据的最新固件版本。

要使板闪烁,必须启动STM32CubeProgrammer软件,将板连接到PC并启用DFU模式。

要启用DFU模式,用户必须同时按下STWIN板上的USR和RESET按钮,然后在按住USR按钮的同时仅释放RESET按钮。5秒钟后,用户还可以释放USR按钮,板将在DFU模式下初始化。

用户现在可以打开STM32CubeProgramer,在右上角的下拉列表中选择USB,然后点击“刷新”图标。如果设备出现在“端口”下拉列表中,则DFU模式输入已正确执行。

单击“连接”继续。软件将读取设备内存。

现在,用户可以点击设备内存旁边的“打开文件”选项卡,并选择上一步中下载的固件(默认路径…/FP-NS-DATALOG1_V1.0.0/Projects/HSCatalog/Binary/HSDatalog.bin)。

选择正确的文件后,必须单击“下载”来升级板固件。

用户现在可以单击RESET(重置)按钮。该板将在新安装的固件运行的情况下启动。

用户现在可以使用STBLESensor应用程序(可以从Google Play或苹果商店下载)连接到STWIN。该应用程序使用蓝牙协议与主板进行交互,因此在启动应用程序之前,请确保在手机上启用蓝牙。

加载应用程序后,用户可以单击“连接到设备”和名为数字电报100(板的默认名称,可能不同)将显示。用户可以通过点击选择活动板,应用程序加载板配置。

在此选项卡中,用户可以检查STWIN上可用的所有传感器。对于本自述文件中显示的应用程序,需要选择ISM330DHCX以外的任何传感器。

一旦用户打开ISM330DHCX设置,它就能够选择满刻度和输出数据速率加速度计和陀螺仪(从现在起称为XL和陀螺仪)。由于目标是使用这些数据来训练嵌入ISM330DHCX中的MLC,并且MLC不能运行到高于104Hz的频率,因此用户需要将两个ODR都设置为104Hz。关于全刻度,传感器将获取的运动强度是有限的,因此,为XL和Gyro选择较低的全刻度(因此,2g和125dps),用户可以获得最佳性能。

点击右下角的播放按钮,用户将移动到应用程序的另一个选项卡。这里可以指定采集的名称,并添加测试的简要描述。用户可以跳过SW_TAG设置。用户现在可以开始对传感器进行三种不同的采集,每种情况下对风扇机架进行一次采集。

在单击“启动”之前,有必要将STWIN放置在风扇架的顶部,并让风扇架在三种不同的情况下工作。为了获得最佳性能,STWIN需要双面胶带固定在风扇架上,并放置在其中一个风扇的中心。一旦放置好,我们可以区分以下三种情况:

  • 风扇关闭:不提供风扇架获得
  • Fan_on:通过提供风扇架获得
  • 风扇故障:可以通过破坏其中一个风扇散热片来获得故障,也可以通过在其中一个散热片上施加较小的重量(例如金属弹簧回形针)来获得故障。一旦打开,风扇架将以不同的方式振动,并倾向于四处移动。一个好主意是使用双面胶带将风扇架固定在桌子上。

现在是记录传感器数据的时候了。用户需要为每个场景创建不同的日志文件(共3个)。采集的长度应为每日志约1分钟,以获得良好的训练结果。用户在登录时必须避免对风扇机架产生任何其他形式的振动;由外部源在传感器中引起的任何振动或移动都可能导致数据集的无效性。
[续采用工业传感器机器学习核心的风机机架状态监测---2/2]