Vibration analysis is a key diagnostic tool for identifying bearing faults in machinery. When bearings deteriorate, their smooth motion becomes erratic, causing increased vibration levels. While basic time-domain measurements provide limited information, frequency analysis can pinpoint which specific component is failing, allowing engineers to anticipate critical failures and schedule repairs before catastrophic breakdowns occur.
This project demonstrates implementation of an AI-based motor fault detection system on AM26x microcontrollers. It showcases how to deploy machine learning models for real-time mechanical motor fault classification in embedded systems, helping prevent hazards through early detection of motor faults.
| Parameter | Value |
|---|---|
| CPU + OS | r5fss0-0 nortos |
| Toolchain | ti-arm-clang |
| Board | am261x-lp |
| Example folder | examples/ai/motor_fault/ |
TI has created a specialized motor fault dataset containing vibrational measurements. The dataset is divided into six classes representing different bearing conditions.
| Parameter | Value |
|---|---|
| Sensor | 3-axis accelerometer (X, Y, Z axes) |
| Sampling Rates | 10 Hz, 20 Hz, 30 Hz, 40 Hz (variable) |
| Channels | 3 (Vibration X, Y, Z axes) |
| Samples per File | Variable: 24,000 - 144,000 samples |
| Total Files | 216 files (36 files in each of 6 classes) |
Output Classes:
This lightweight classification model contains approximately 1,000 parameters and follows a streamlined architecture consisting of four convolutional layers (each enhanced with BatchNorm and ReLU activation functions) followed by a single linear layer.
The model takes 4D input (N,C,H,W):
This model produces a 1D output representing the six possible classes. The position of the highest value in this output indicates the classification result.
Feature extraction transforms raw vibration data into meaningful inputs for the AI model. The feature extraction pipeline uses FFT to identify frequencies, followed by binning and logarithmic scaling.
Configuration flags in user_input_config.h:
The pipeline takes a 256-sample frame, computes FFT (129 outputs), removes DC (128), bins to 16 features, and concatenates 8 frames for 128 total features per channel.