1,1 KB'lık bir modeli STM32'ye sığdırmak
Rulman arızası tespitinde beş model neredeyse aynı başarıyı verdi. Seçimi doğruluk değil, mikrodenetleyicinin belleği belirledi: 289 parametre, float32'de ~1,1 KB.
Hedef
Bitirme projem Predictive-Edge, endüstriyel motorlarda rulman arızasını önceden tespit edip kalan kullanım ömrünü (RUL) kestirmeyi amaçlıyor — ve bunu bulutta değil, motorun yanındaki mikrodenetleyicide yapmayı.
Özellikler fizikten geliyor
Ham titreşimi doğrudan modele vermek yerine fiziğe dayalı özellikler çıkardım. 1 kHz titreşim sinyalinin FFT'si alınıyor; rulmanın dış bilezik arıza frekansı (BPFO, bu kurguda 100 Hz) ve harmonikleri üzerinden harmonik oran, spektral entropi, RMS ve tepe-tepe değer dahil 8 özellik hesaplanıyor. Sıcaklık ve akım da modele katılıyor.
İyi özellikler, küçük bir modelin işini kolaylaştırıyor — gömülü hedefte bu her şey demek.
Beş model, neredeyse aynı skor
Lojistik Regresyon, Random Forest, SVM, Gradient Boosting ve MLP'yi karşılaştırdım. Hepsi F1 ≈ 0,99 civarındaydı. Doğruluk ayırt edici olmayınca seçimi bellek ve çıkarım maliyeti belirledi.
Metodoloji
- GridSearchCV ve 5 katlı çapraz doğrulama.
- Ölçekleyici Pipeline içinde — böylece doğrulama katlarına eğitim verisinden bilgi sızmıyor.
- MLP'de (32, 16) ile (16, 8) arasındaki fark standart sapmanın altında kaldı; 3 kat küçük olan (16, 8) seçildi.
Sayılar
| Ölçü | Değer |
|---|---|
| Parametre | 289 |
| Model boyutu (float32) | ~1,1 KB |
| int8 nicemlemeyle | 289 B |
| Hedef | STM32H7 (2 MB Flash) |
Bir de izleme tarafı var: Flask REST API ve Chart.js ile 200 motorluk bir filonun sağlık durumu ve kalan ömrü tek panelde.
Dürüst sınırlılık
Veri seti, fiziksel arıza modeline dayalı sentetik veri. Modelin gerçek STM32 kartında çalıştırılması ve gerçek sensör verisiyle doğrulanması devam ediyor. 0,99'luk F1'i bu bağlamla birlikte okumak gerekiyor.