Tag: ESP32-S3

  • Smart Motor Driver

    Smart Motor Driver

    Sterownik silników DC z enkoderami oparty o ESP32-S3

    Smart Motor Driver to dwukanałowy sterownik silników prądu stałego z enkoderami, zaprojektowany z myślą o precyzyjnym sterowaniu ruchem w zastosowaniach takich jak automatyka domowa, robotyka, mechatronika i systemy pozycjonowania. Jego sercem jest ESP32-S3, wydajny mikrokontroler z łącznością Wi-Fi, który otwiera ogromne możliwości integracji z systemami sterowania, w tym z Home Assistant dzięki pełnej kompatybilności z ESPHome.


    Najważniejsze cechy

    • ⚙️ Obsługa dwóch silników DC z enkoderami kwadraturowymi
    • Zakres napięcia zasilania: 8–36 V
    • 🔌 Prąd do 800 mA na kanał – idealny dla napędów typu JGA25-370
    • 🧠 ESP32-S3 na pokładzie – pełna swoboda w zakresie firmware (ESPHome, Arduino, własne rozwiązania)
    • 📐 Kompaktowy rozmiar: 56 × 50 mm

    Zaawansowane sterowanie silnikami

    Każdy z kanałów wyposażony jest w pełny mostek H zrealizowany w oparciu o układ DRV8801, który umożliwia:

    • płynną regulację prędkości silnika za pomocą PWM,
    • wybór kierunku obrotu,
    • aktywne hamowanie,
    • sprzętowe zabezpieczenia: przeciwzwarciowe, termiczne, nadnapięciowe i przeciążeniowe.

    Obsługa krańcówek

    Dla każdego kanału dostępne są dwa niezależne wejścia krańcówek, co umożliwia zabezpieczenie skrajnych pozycji napędu (góra/dół, lewo/prawo, otwarte/zamknięte). Wejścia mogą pracować w dwóch trybach:

    • 🔘 Cyfrowym (ON/OFF) – klasyczne krańcówki mechaniczne lub optyczne,
    • 📉 Analogowym z ustawialnym progiem – np. dla czujników magnetycznych z wyjściem napięciowym lub fototranzystorów.

    To rozwiązanie pozwala na precyzyjne i elastyczne dopasowanie systemu krańcowego do różnych rodzajów napędów i środowisk pracy.


    Zaawansowane sterowanie ruchem – gotowe oprogramowanie ESPHome

    Smart Motor Driver dostarczany jest z oprogramowaniem dla ESPHome, które umożliwia pełną integrację z Home Assistant i realizuje funkcję inteligentnego serwomechanizmu:

    • 🔁 Dwupętlowy regulator PID:
      • Pętla pozycjonowania (zewnętrzna) – precyzyjne osiąganie pozycji
      • Pętla prędkości (wewnętrzna) – stabilizacja i płynność ruchu
    • 🧮 Planer trajektorii – dynamiczne generowanie ramp (przyspieszenie, prędkość maksymalna, czas trwania ruchu)
    • 📡 Live odczyt pozycji z enkodera – rzeczywisty, nieestymowany pomiar
    • 🔗 Synchronizacja ruchu kanałów – zsynchronizowane sterowanie dwoma silnikami (np. równoległe podnoszenie markizy)

    Oprogramowanie dostępne na: https://github.com/IoTLabs-pl/Smart-Motor-Driver


    Zastosowania

    Podstawowym projektowanym zastosowaniem Smart Motor Driver jest sterowanie roletami, markizami i zasłonami, gdzie wymagana jest dokładna kontrola pozycji, synchronizacja ruchu i możliwość zdalnej integracji z systemem inteligentnego domu.

    Dzięki odczytowi rzeczywistego położenia z enkoderów kwadraturowych, możliwe jest dokładne określenie pozycji napędu w czasie rzeczywistym – bez korzystania z estymacji opartej o czas. To znacznie zwiększa precyzję, powtarzalność i bezpieczeństwo działania systemu.

    • 🪟 Automatyczne rolety, żaluzje, markizy, zasłony
    • 🤖 Roboty mobilne i manipulatory
    • 🏗️ Platformy obrotowe, prowadnice liniowe, systemy XY
    • 🏠 Systemy inteligentnego domu (Home Assistant, ESPHome)
    • 🎓 Projekty edukacyjne i prototypowanie w mechatronice i IoT