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
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
| Kennzahl | Wert |
|---|---|
| F1 (synthetische Daten) | 0,99 |
| Parameter | 289 |
| 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.