Czujnik wibracji z AI – monitoruje pracę maszyn w warsztacie


🎯 Cel projektu:

Zbudujesz inteligentny czujnik drgań, który wykryje kiedy maszyna (np. frezarka, wiertarka, kompresor) pracuje, nie pracuje, wchodzi w niebezpieczne wibracje – i poinformuje Cię o tym. Dzięki AI, system może nauczyć się różnych typów drgań i ich znaczenia.


🧰 Poziom trudności:

🔧 Średnio zaawansowany


⏱️ Czas wykonania:

2–3 godziny (z nauką modelu AI)


🛠️ Lista komponentów:

KomponentOpisKoszt
ESP32Mikrokontroler z Wi-Fi20–30 zł
Czujnik drgań MPU6050Akcelerometr + żyroskop 3-osiowy5–15 zł
Ekran OLED (I2C)Pokazywanie statusu pracy10–15 zł
Dioda LED / buzzerPowiadomienie o nieprawidłowych wibracjach5 zł
(opcjonalnie) microSDDo logowania danych10 zł

📷 Schemat połączeń:

  1. MPU6050 (I2C) → ESP32
    • SDA → GPIO 21
    • SCL → GPIO 22
    • VCC → 3.3V
    • GND → GND
  2. OLED (I2C) – te same piny co wyżej
  3. LED → GPIO 25
  4. Buzzer → GPIO 26

🧪 Krok 1: Test odczytów z MPU6050

  1. W Arduino IDE zainstaluj bibliotekę MPU6050
  2. Kod testowy:
cppKopiujEdytuj#include <Wire.h>
#include <MPU6050.h>

MPU6050 sensor;

void setup() {
  Wire.begin();
  Serial.begin(115200);
  sensor.initialize();
}

void loop() {
  int16_t ax, ay, az;
  sensor.getAcceleration(&ax, &ay, &az);

  Serial.print("X: "); Serial.print(ax);
  Serial.print(" Y: "); Serial.print(ay);
  Serial.print(" Z: "); Serial.println(az);
  delay(100);
}

Obserwuj, jak zmieniają się wartości podczas pracy maszyny.


🧠 Krok 2: Zbieranie danych do nauki AI

  1. Zbierz dane przy:
    • braku wibracji
    • normalnej pracy
    • zbyt intensywnej pracy / drganiach
    • nietypowych drganiach (np. niestabilny wał)
  2. Zapisz dane jako CSV (np. X,Y,Z co 100 ms)
  3. Wejdź na Edge Impulse
    • Projekt: „Wibracje maszyny”
    • Klasy: „brak pracy”, „normalna”, „nadmierna”, „awaria”

🎓 Krok 3: Trening modelu AI

  1. Wgraj dane z CSV jako czasowe serie danych (Time Series)
  2. Użyj klasyfikacji sekwencyjnej / sensor fusion
  3. Wytrenuj model do >90% dokładności
  4. Wygeneruj bibliotekę do ESP32

📟 Krok 4: Wyświetlanie statusu na OLED

  1. Ustaw OLED, np.:
cppKopiujEdytujdisplay.setCursor(0,10);
display.print("Status:");
display.setCursor(0,30);
display.print(AI_output);
  1. W zależności od klasy – zmień kolor diody:
    • Zielony = normalna
    • Pomarańczowy = wysoka
    • Czerwony + dźwięk = awaria

🔔 Krok 5: Powiadomienia przez sieć (opcjonalnie)

  1. Zarejestruj się w IFTTT lub użyj webhooka.
  2. W ESP32:
cppKopiujEdytujhttp.begin("https://maker.ifttt.com/trigger/awaria_maszyny/with/key/TWÓJ_KLUCZ");
http.GET();

💾 Krok 6: Logowanie danych (opcjonalnie)

  • Użyj karty microSD:
cppKopiujEdytujFile log = SD_MMC.open("/drgania.csv", FILE_APPEND);
log.print(ax); log.print(","); log.print(ay); log.print(","); log.println(az);
log.close();

🛠️ Krok 7: Montaż i kalibracja

  • Przyklej MPU6050 na ramę maszyny klejem na gorąco lub rzepem
  • Przeprowadź testy przy uruchomieniu
  • Weryfikuj, czy AI rozpoznaje właściwe stany pracy

Efekt końcowy:

  • System rozpoznaje stan pracy maszyny po drganiach
  • Ostrzega, gdy pojawi się nietypowa praca
  • Możesz włączyć/wyłączyć system zdalnie
  • Idealne do warsztatów, hal, produkcji DIY

📘 To świetne rozwiązanie, by zapobiec awariom, przedłużyć żywotność sprzętu i mieć większą kontrolę nad swoim warsztatem.

Zostaw komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

Przewijanie do góry