Low-power anomaly detection on a fan

The challenge for designers who wish to monitor warning signs of imminent equipment failure is to build reliable, battery-operated sensor nodes for predictive maintenance applications. Monitoring can occur at the MCU level, by running an AI model on the STM32 for instance. However, further improvements in terms of power consumption can be obtained by running the model at the sensor level.

In this use case, we will show you how to easily create an anomaly detection solution that runs on a MEMS sensor featuring an embedded intelligent sensor processing unit (ISPU).

Approach

The ISPU allows running anomaly detection directly inside the sensor. Once an anomaly is detected by the ISPU, the sensor can wake up the host processor for further analysis.

Here we used NanoEdge AI Studio to generate the AI library. It offers a quick and intuitive approach for building anomaly-detection solutions and allows to find the best possible library among many combinations, starting from a set of normal and abnormal signals.

Here is how we proceeded:

Acceleration data were collected at different operating modes of the fan coil to detect the different behaviors (e.g. normal vs abnormal behavior).

We then created an anomaly-detection project in NanoEdge AI Studio and imported both sets of signals.

The tool searched and generated the best library based on the signals provided.

To test and integrate the library generated by NanoEdge AI Studio, we used the X-CUBE-ISPU software package that provides firmware.

You can find the complete step-by-step guide with all the hardware and software used here.

Sensor

6-axis IMU (inertial measurement unit): always-on 3-axis accelerometer and 3-axis gyroscope with ISPU – intelligent sensor processing unit (reference: ISM330IS).

Data

Data logs for the anomaly detection project have been acquired through the datalogger feature in NanoEdge AI Studio. The following parameters have been used for data acquisition:

Data rate (Hz): 416 Hz

Range (g): 2 g

Sample size per axis: 128

Number of axes: 3

Results

98.57% accuracy, 5.5 Kbytes RAM, 5.4 Kbytes flash