Fault diagnosis simulator · three-phase asynchronous motor · MLP classifier

Motor Fault Bench

Synthesize the eight channels of the MCC5-THU test rig for any of 22 fault conditions, at any speed and load, and watch a small neural network diagnose the window in real time. Signals are synthetic, built from the paper's specifications.

MotorQABP-90L2 · 2.2 kW
Pole pairs2
Sampling12.8 kHz · 8 ch
Window16 384 smp · 1.28 s
BearingSKF 6205-2Z C3
BPFO / BPFI3.585 · 5.415 ×fr
BSF / FTF2.357 · 0.398 ×fr
Air gap0.5 mm

Test rig

Fig. 1 of the paper, redrawn · hover or focus a component for its role · the part carrying the selected fault is highlighted
8 synchronous channels, 12.8 kHz Three-phase supply and drive 3-φ supply drive A C Series resistor, voltage unbalance controller Current clamps, channels 6–8 i30s · ch 6–8 2.2 kW asynchronous motor terminals Winding fault controller Rf Stator windings stator Rotor and rotor bars rotor Shaft Fan-end bearing Drive-end bearing End-shield adjustment screws Imbalance mass Triaxial accelerometer, channels 3–5 V A H TES001V · ch 3–5 Key-phase sensor, channel 1 key-phase · ch 1 Torque sensor, channel 2 S2001 · ch 2 Two-stage parallel gearbox Magnetic powder brake (load) brake load Data acquisition DAQ · 12.8 kHz ch 1 key-phase ch 2 torque ch 3–5 vibration H·A·V ch 6–8 current A·B·C → CSV, 9 columns, 90 s Supply and drive Asynchronous motor, cutaway QABP-90L2 · 2.2 kW · 2 pole pairs Torque sensor Two-stage gearbox Magnetic powder brake Data acquisition
Fault location

Diagnosis

MLP prediction for this window
—
Class probabilities · top 6

Raw channels

First 100 ms of the window, sensor volts converted to engineering units

Key-phase and torque

V · Nm
key-phase (V)torque (Nm)

Drive-end vibration

g
horizontalaxialvertical

Stator currents

A
phase Aphase Bphase C

Spectra with order-tracked fault markers

Hover for frequency and amplitude · markers follow the measured fr and fe

Vibration spectrum, horizontal

g · 0–500 Hz

Envelope spectrum, 2–6 kHz band

g · 0–12 ×fr

Current spectrum, phase average

dB re 1 A · 0–8 ×fe

Profile timeline

Press “Run profile” to play a full operating profile
speed (rpm)torque (Nm)■ correct window■ missed window■ skipped (too slow)

Neural network

Multi-layer perceptron, lit with the activations of the current window · hover a cell for its name and value
input below training meaninput above mean / active unit / class probabilityzero (ReLU off)edges: the 150 strongest weights per layer, blue positive, copper negative
Training hyperparameters

Training loss

cross-entropy · per epoch

Validation accuracy

% · per epoch

On a microcontroller

Memory and latency budget of features + MLP · analytic estimate, calibrate on the board

Model

RAM per window

Latency per window

Feature vector fed to the MLP (54 values, standardized)
FeatureRaw valueModel inputz-score vs training setGroup

About this simulator

Architecture54 → 128 → 64 → 22
Test accuracy—
Splitrun-level
Training windows23 672

The signals are synthetic. They reproduce the acquisition layout and fault catalog of the dataset described in Chen, Liu, Li, Zou, He, and Zhou, “Multi-mode fault diagnosis datasets of three-phase asynchronous motor under variable working conditions,” Data in Brief 65 (2026), with textbook fault signatures: bearing impulses at BPFO, BPFI, and 2×BSF, broken-bar sidebands at fe(1 ± 2s), unbalanced magnetic pull at 2fe, negative-sequence current for winding shorts and voltage unbalance. The real dataset (9.5 GB, Mendeley Data) shares the same 9-column CSV layout, so the same feature extractor can be pointed at it.

The classifier is a multi-layer perceptron trained in PyTorch on 54 order-tracked features. Every spectral feature is read at a multiple of the measured shaft or supply frequency, which is what lets one model work from 200 to 3000 rpm. Confusions you will see most often mirror the evaluation report: light versus high severity of the same fault, and light bearing defects at low speed drifting toward “healthy.”

Code, training scripts, the MCU budget script, and the paper-based fault catalog are in the motor-fault-bench repository on GitHub. Built by Marcelo Rovai with Claude Fable 5.1 (Anthropic), which generated the simulator, model, and this page under his direction.