Zum Inhalt springen
cd ../projekte

Predictive-Edge – Vorausschauende Wartung auf dem Mikrocontroller

TinyML-System, das Lagerschäden an Industriemotoren frühzeitig erkennt und die Restlebensdauer (RUL) schätzt: ein Modell mit 289 Parametern (~1,1 KB), das auf einen STM32H7 passt. Abschlussarbeit.

Stack
Python · NumPy · scikit-learn · STM32H7 · Flask · Chart.js

Architektur

Verarbeitungspipeline von Predictive-EdgeAus einem 1-kHz-Vibrationssignal wird die FFT berechnet; anhand der Außenring-Schadensfrequenz des Lagers (BPFO, 100 Hz) und ihrer Harmonischen werden 8 Merkmale extrahiert, darunter RMS und spektrale Entropie. Die Merkmale gehen in ein (16, 8)-MLP mit 289 Parametern; das Modell umfasst in float32 etwa 1,1 KB, mit int8-Quantisierung 289 Byte, Zielplattform ist ein STM32H7. Ein Dashboard mit Flask und Chart.js zeigt Zustand und Restlebensdauer einer Flotte von 200 Motoren.Vibration1-kHz-SignalFFTBPFO = 100 Hz8 MerkmaleRMS · Entropie · …MLP (16, 8)289 ParameterSTM32H7~1,1 KB · int8 289 BÜberwachung: Flask REST + Chart.js – Flotte von 200 Motoren, Zustand und Restlebensdauer (RUL)

Ansatz

  • Physikbasierte Merkmale: Vom 1-kHz-Vibrationssignal wird eine FFT berechnet. Über die Außenring-Schadensfrequenz des Lagers (BPFO = 100 Hz) und ihre Harmonischen werden 8 Merkmale extrahiert, darunter Harmonischenverhältnis, spektrale Entropie, RMS und Spitze-Spitze-Wert; Temperatur und Strom fließen ebenfalls ins Modell ein.
  • Modellwahl nach Embedded-Randbedingungen: Logistische Regression, Random Forest, SVM, Gradient Boosting und MLP lieferten nahezu dieselbe Güte (F1 ≈ 0,99). Den Ausschlag gaben Speicherbedarf und Inferenzkosten.
  • Methodik: GridSearchCV und 5-fache Kreuzvalidierung. Der Scaler sitzt in der Pipeline, sodass kein Data Leakage entsteht. Da der Unterschied zwischen (32,16) und (16,8) unterhalb der Standardabweichung lag, wurde das dreimal kleinere (16,8) gewählt.
  • Embedded-Ziel: 289 Parameter ≈ 1,1 KB (float32) – ein sehr kleiner Teil der 2 MB Flash des STM32H7; mit int8-Quantisierung sind es 289 B.
  • Monitoring-Dashboard: Gesundheitszustand und Restlebensdauer einer Flotte von 200 Motoren mit Flask-REST-API + Chart.js.

Kennzahlen

KennzahlWert
F1 (synthetische Daten)0,99
Parameter289
Modellgröße~1,1 KB (float32) · 289 B (int8)

Einschränkungen und nächster Schritt

Der Datensatz besteht aus synthetischen Daten auf Basis eines physikalischen Fehlermodells. Die Ausführung des Modells auf einer echten STM32-Platine und die Validierung mit realen Sensordaten laufen noch.