Example 07 · FC + FFT front end

Predictive Maintenance

Naming the fault developing in a motor and gearbox from its vibration, months before it fails, on the sensor node itself. On 140 simulated machines run to failure, our 4,792-parameter network gave a median of 68 to 81 days’ warning, with no false alarms.

A motor coupled to a gearbox on a base plate, with a sensor node stud-mounted on the motor's drive-end bearing housing. The node sends a diagnosis wirelessly to a plant maintenance system, which shows an inner-race bearing alert while the ISO 10816 velocity still reads zone A.
A sensor node on the motor's bearing housing does all the signal processing itself, and reports a diagnosis rather than raw vibration.
median warning before failure across seven faults, on simulated machines
68–81 days
simulated machines flagged before they failed
140 of 140
false alarms in 5,845 days of healthy running
0
of flash for the 8-bit model
5,092 bytes

Where it's used

Catch it while it's still a pit, not a crater

Motors, pumps and gearboxes rarely fail without warning. A bearing defect, a loosening mount or drying lubricant changes how a machine vibrates weeks or months before anything breaks. It shows up in the pattern of frequencies first, while the overall vibration level a traditional alarm watches barely moves.

Doing the analysis on the sensor node pays off too. A vibration sensor sampling thousands of times a second produces megabytes an hour per machine. A node that boils each snapshot down to a diagnosis sends a few bytes instead, and keeps working when the network is down.

  • Motors, pumps, fans and compressors
  • Gearboxes and rolling-element bearings
  • Battery-powered wireless sensor nodes
  • Keeps watching when the network is down

The data

Seven faults, and every machine different

No public dataset covers seven failure modes at every stage on many different machines, so we built a physics-based simulator. It models a common setup, an induction motor driving a gearbox on ball bearings, and varies each machine’s speed, balance, alignment, resonances, noise and sensor mounting, because no two real machines vibrate alike.

Imbalance
· an off-center mass on the rotor
Misalignment
· motor and gearbox shafts out of line
Looseness
· a loose foot or bearing fit
Outer-race bearing
· a spall on the bearing's outer race
Inner-race bearing
· a spall on the bearing's inner race
Gear tooth
· one cracked or chipped tooth on the pinion
Lubrication
· a thinning oil film and metal-on-metal friction
Quarter-second traces of raw acceleration from one simulated machine: healthy, with an imbalance (a strong slow oscillation at running speed), with an outer-race bearing defect (sharp spikes from ball impacts), and with poor lubrication (a slightly rougher trace).
A quarter-second of raw vibration from one simulated machine, healthy and with three faults. Imbalance is obvious by eye. The bearing defect is just the odd spike, and poor lubrication a slightly rougher trace.

How we built it

Signal processing does the heavy lifting

Every snapshot is about five seconds of vibration, run through three FFTs on the node itself. What comes out is a 64-number fingerprint of the machine: its vibration spectrum, plus an envelope spectrum that picks out the repeating impacts of a bearing or gear defect.

  1. 01

    Vibration spectrum

    Shaft faults, the gear mesh and friction all show up in the ordinary spectrum.

  2. 02

    Envelope

    Each bearing impact rings the machine at 1 to 3 kHz. Taking the envelope of that ringing shows how often the impacts happen.

  3. 03

    Envelope spectrum

    A bearing defect becomes a sharp line at its own frequency, while friction stays flat.

Left: vibration spectra of one machine, healthy, with an outer-race bearing defect and with poor lubrication; both faults raise the 1 to 3.2 kilohertz resonance region. Right: envelope spectra of the same snapshots; the bearing defect shows sharp lines at 88 hertz and its second and third harmonics, 15 to 30 decibels above the floor, while lubrication and healthy stay flat.
Why the envelope matters. In the ordinary spectrum (left), a bearing defect and poor lubrication look much the same. In the envelope spectrum (right), the bearing's impacts stand out as sharp lines and friction stays flat.

Every machine compared with itself

A machine with a strong vibration at running speed might be developing an imbalance, or it might just have been built that way. So the node does what a vibration analyst would and compares the machine with its own past. The first four snapshots after installation become its baseline, 64 numbers kept in flash, and the network sees both the present fingerprint and how far it has moved from that baseline.

An alert needs three faulty snapshots in a row, so one noisy reading never sends anyone out to the machine.

Pipeline: IIS3DWB accelerometer at 26.7 kHz decimated to 6.67 kHz, into a Hann-windowed 4096-point FFT, splitting into a 48-band vibration spectrum and a 16-band envelope spectrum (1-3.2 kHz band, inverse FFT, magnitude of analytic signal, FFT), combined into a 64-value fingerprint. The first 4 fingerprints are averaged into a baseline kept in flash. The input layer takes 128 values: the present fingerprint and present minus baseline. Then FC 32 GELU, FC 16 GELU, 8-way softmax output, and an alert after 3 faulty snapshots in a row.
The whole pipeline, all of it on the microcontroller. The baseline, in yellow, is captured once, at installation.

A small network, on purpose. With decades-proven signal processing and the baseline doing the hard work, the network itself needs only 4,792 parameters: two small layers and an eight-way answer, healthy or one of the seven faults.

Results

Months of warning, where a standard alarm gives days

We ran 140 simulated machines to failure, 20 for each fault, with one snapshot a day and a standard ISO 10816 vibration alarm watching the same machines. Our model warned on every one, with a median of 68 to 81 days’ notice, and named the right fault at its first alert 137 times out of 140. On individual snapshots from 100 more unseen machines, it was right 99.75% of the time.

Where a level alarm falls short

The standard alarm does reasonably on faults that shake the whole machine, like imbalance and misalignment, though still weeks behind. On bearing, gear and lubrication faults it misses most failures outright and gives a few days’ notice on the rest. Our model flagged every one of them while the bearing defect was still a pit rather than a crater.

Horizontal bars of median warning before failure, in days, for the model and the ISO 10816 alarm on each fault. Model: imbalance 70, misalignment 78, looseness 81, outer race 78, inner race 68, gear tooth 73, lubrication 68, warning on all 20 machines each. ISO alarm: 32, 12, 25, 4, 1, 5 and 3 days, warning on 17, 15, 18, 6, 2, 7 and 8 of 20 machines.
Median warning before failure, 20 simulated machines per fault. The model warned on every machine; the number in brackets is how many the standard alarm warned on at all.
Grouped bars comparing the model with and without the baseline. Accuracy at severity 0.05 to 0.10: 95 versus 67 percent; at 0.10 to 0.20: 100 versus 83; overall: 99.75 versus 96; diagnosis right at first alert: 98 versus 89 percent. Machines falsely alarmed: 0 versus 9 of 160.
The same network with the baseline and without it, trained and tested the same way.

What the baseline is worth

Trained on the present fingerprint alone, the same network caught imbalance and lubrication faults only once they were nearly three times as advanced, and raised false alarms on 9 of 160 healthy machines. With the baseline, it raised none.

That’s the number that matters most. A false alarm sends a technician to a healthy machine, and after a few of those people stop trusting the alerts. The fix costs 64 numbers of flash per machine.

On the device

Built for ST's industrial sensor kit

The firmware targets an STM32U585 paired with ST’s IIS3DWB wideband vibration sensor, the combination in ST’s STWIN.box condition-monitoring kit, and cross-compiles for its Cortex-M33. The 8-bit model is 5,092 bytes and runs straight out of flash, and quantizing it cost nothing measurable.

Everything from the FFTs to the alert needs about 100 KB of RAM, a fraction of the U585’s 786 KB. Any Cortex-M4F, M7 or M33 with that much free would do the job.

of flash for the 8-bit model
5,092 bytes
of RAM for everything, out of the U585's 786 KB
~100 KB
of code specific to this example
Under 2 KB
sent per alert, instead of megabytes of raw vibration
A few bytes

We’ve built this kind of hardware for real. Our vibration sensor work pairs triaxial MEMS sensing with on-board FFT analysis and alarm thresholds for predictive maintenance.

See the vibration sensor project

Ready to build your next intelligent device?

Let's discuss your project and how Cole Design & Development can bring your idea to life.

Founded in 2008 · Hudson, Ohio · info@coledd.com