Miernik zużycia końcówki lutownicy z AI


🎯 Cel projektu:

Zbudujesz inteligentny system, który na podstawie parametrów nagrzewania się grotu lutownicy potrafi ocenić jego stan techniczny. AI będzie analizować zmiany temperatury i czas nagrzewania, aby ostrzec Cię, kiedy grot jest zużyty i należy go wymienić.


🧰 Poziom trudności:

🔧 Średnio zaawansowany


⏱️ Czas wykonania:

2–4 godziny (z testami, kalibracją i trenowaniem AI)


🛠️ Lista komponentów:

KomponentOpisKoszt
ESP32Mikrokontroler z Wi-Fi20–30 zł
Termopara K-typePomiar wysokiej temperatury grotu10–20 zł
Moduł MAX6675Komunikacja termopary z ESP3210–15 zł
Dioda LED + buzzerAlarm w przypadku zużycia5 zł
Ekran OLED (I2C)Wyświetlanie temperatury i komunikatów10–15 zł
(Opcjonalnie) zasilanie z USB/powerbankDo mobilnego zasilania0–15 zł

📷 Schemat połączeń:

  1. Termopara z MAX6675 → ESP32:
    • VCC → 3.3V
    • GND → GND
    • SCK → GPIO 18
    • CS → GPIO 5
    • SO → GPIO 19
  2. OLED (I2C) → ESP32:
    • SDA → GPIO 21
    • SCL → GPIO 22
    • VCC/GND odpowiednio
  3. LED/buzzer → GPIO 25 i GND

🧪 Krok 1: Odczyt temperatury grotu

Kod testowy:

cppKopiujEdytuj#include "max6675.h"

int thermoDO = 19;
int thermoCS = 5;
int thermoCLK = 18;
MAX6675 thermocouple(thermoCLK, thermoCS, thermoDO);

void setup() {
  Serial.begin(115200);
}

void loop() {
  float temp = thermocouple.readCelsius();
  Serial.print("Temperatura: ");
  Serial.println(temp);
  delay(1000);
}

Obserwuj, jak długo lutownica nagrzewa się do np. 350°C. Im dłużej, tym bardziej zużyty grot.


📊 Krok 2: Zbieranie danych do AI

  1. Uruchamiaj pomiary od zimnej lutownicy do momentu osiągnięcia stałej temperatury.
  2. Notuj czas w sekundach do osiągnięcia 100°C, 250°C, 350°C.
  3. Powtórz test dla:
    • nowego grotu
    • średnio zużytego
    • starego (matowego, z osadem)
  4. Dane możesz przesłać do Edge Impulse:
    • klasa „Nowy”
    • klasa „Używany”
    • klasa „Zużyty”

🧠 Krok 3: Trening AI w Edge Impulse

  1. Stwórz projekt w Edge Impulse.
  2. Wgraj dane z CSV (czas nagrzewania + osiągana temperatura).
  3. Przeprowadź trening klasyfikacyjny.
  4. Pobierz model AI (.tflite lub biblioteka Arduino).
  5. W kodzie:
cppKopiujEdytujif (AI_output == "Zużyty") {
  digitalWrite(25, HIGH); // LED ON
  tone(26, 1000);          // Buzzer
}

📟 Krok 4: Wyświetlanie informacji na OLED

cppKopiujEdytuj#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>

Adafruit_SSD1306 display(128, 64, &Wire, -1);

void setup() {
  display.begin(SSD1306_SWITCHCAPVCC, 0x3C);
  display.clearDisplay();
}

void loop() {
  float temp = thermocouple.readCelsius();

  display.clearDisplay();
  display.setTextSize(2);
  display.setCursor(0, 10);
  display.print("T:");
  display.print(temp);
  display.print("C");

  display.setTextSize(1);
  display.setCursor(0, 40);
  display.print("Stan: ");
  display.print(AI_output); // np. "Używany"

  display.display();
  delay(1000);
}

🚨 Krok 5: Alarm i bezpieczeństwo

  • Gdy AI wykryje zużycie:
    • zapala się dioda LED
    • uruchamia się sygnał dźwiękowy (krótkie „bip”)
    • na OLED pojawia się komunikat: „Wymień grot!”

📲 Krok 6: Powiadomienie przez Internet (opcjonalnie)

  1. Skorzystaj z IFTTT – zdarzenie grot_wymiana.
  2. ESP32 wysyła żądanie HTTP:
cppKopiujEdytujhttp.begin("https://maker.ifttt.com/trigger/grot_wymiana/with/key/TWÓJ_KLUCZ");
http.GET();

🧪 Testy i kalibracja:

  • Powtórz testy z innymi grotami.
  • Weryfikuj, czy AI nie daje fałszywych pozytywów.
  • AI możesz później douczyć o jeszcze większej liczbie stanów.

Efekt końcowy:

  • Bezpieczne lutowanie – system ostrzeże przed przeciążeniem grotu.
  • Oszczędność – nie wymieniasz końcówki zbyt wcześnie.
  • AI działa w tle, oceniając stan grotu na podstawie jego „zachowania”.
  • Możliwość powiadomień przez internet i logów.

📘 To świetne narzędzie do warsztatu, w którym lutowanie to codzienność. Dzięki AI masz pewność, że pracujesz zawsze z odpowiednio przygotowanym sprzętem.

Zostaw komentarz

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

Przewijanie do góry