In diesem Beitrag zeige ich, wie man mit einem ESP8266 NodeMCU und einem TB6600-Schrittmotor-Treiber einen Nema-Schrittmotor (17/23/34) über ein Webinterface steuern kann. Das Webinterface erlaubt es, die Drehgeschwindigkeit des Motors einzustellen und über Buttons die Drehrichtung zu ändern.
Ich benötige diese Schrittmotor-Steuerung, um einen Drehteller für ein Video- bzw. Fotoprojekt mit unterschiedlichen Geschwindigkeiten anzusteuern.
Hier ein Bild des Drehtellers wie dieser aktuell aussieht.
Die Bauanleitung und die 3D Druckdateien stammen ursprünglich von diesem Projekt hier: Audiomatica Open Source Turntable – codename “Medusa”
Ich habe dieses auf einen ESP8266 NodeMCU mit Web-Interface für die Steuerung des Drehtellers angepasst.
Projektübersicht
Ziel ist es, ein Webinterface über einen ESP8266 NodeMCU bereitzustellen, mit dem wir die Drehgeschwindigkeit unseres Nema-Schrittmotors einstellen und ihn starten/stoppen können. Die Steuerung erfolgt mit einem ESP8266 NodeMCU, der sich mit dem lokalen WLAN verbindet oder – falls kein WLAN eingerichtet ist – einen Hotspot („ESP_Setup“) öffnet, über den man die WLAN-Daten konfigurieren kann.
Funktionen der Steuerung:
- Geschwindigkeit per Slider anpassen
- Start-/Stopp-Button für den Motor
- Links-/Rechtsdrehung per Button steuern
- Sanfte Rampensteuerung für Beschleunigung & Verzögerung
- Automatische WLAN-Einrichtung per WiFiManager
Benötigte Hardware:
- ESP8266 NodeMCU: Mikrocontroller mit WLAN
- Loading ...
- TB6600 Schrittmotor-Treiber: Treibt den Motor an
- Schrittmotor Motortreiber Loading ...
- Schrittmotor Motortreiber
- Nema-Schrittmotor: 17/23/34
- Schrittmotor 12V / 2A Loading ...
- Schrittmotor 12V / 2A
- Externe Stromversorgung: z. B. 12V für den Schrittmotor
- Ein ATX Netzteil wie dieses Loading ...
- Ein ATX Netzteil wie dieses
Dann noch ein paar weitere Komponenten die den Aufbau vereinfachen:
- Stangenprofil 15×15 Makerbeam XL Loading ...
- ATX Anschlussplatine / Board Loading ...
- Ein / Aus Schalter Loading ...
- Lazy Susan Drehscheibenkugellager Loading ...
- GT2 Riemen 460mm – 230 Zähne Loading ...
Hardware-Aufbau
Damit alles reibungslos funktioniert, sollte die Pinbelegung wie folgt sein (*Bezeichnungen beziehen sich auf die NodeMCU-Pins*):
- STEP_PIN → D1 am NodeMCU → STEP-Eingang am TB6600
- DIR_PIN → D2 am NodeMCU → DIR-Eingang am TB6600
- EN_PIN → D3 am NodeMCU → EN-Eingang am TB6600 (aktives LOW-Signal)
Wichtig:
- GND vom NodeMCU und TB6600 müssen verbunden sein.
- Der Schrittmotor benötigt eine eigene Stromversorgung (z. B. 12V oder 24V).
- Achten Sie auf die richtige Strom- und Spannungswerte für Ihren Motor (siehe Datenblatt).
Arduino-Code für die Web-Steuerung
Nachfolgend der komplette Arduino-Sketch, den Sie in die Arduino-IDE kopieren können. Vergessen Sie nicht, das ESP8266-Boardpaket zu installieren sowie die WiFiManager-Bibliothek hinzuzufügen.
Download:
Sobald ich die Software soweit stabil haben werde ich diese auf GitHub veröffentlichen.
Erläuterung der Funktionen
Hier ein paar Sätze wie das ganze Funktioniert.
WLAN-Management mit WiFiManager
- Falls keine gespeicherten WLAN-Daten vorhanden sind, startet der ESP8266 einen eigenen Hotspot („ESP_Setup“).
- Über das Smartphone oder den Laptop kann man sich mit dem Hotspot verbinden und das WLAN konfigurieren.
- Die Daten werden gespeichert, sodass der ESP sich beim nächsten Neustart automatisch verbindet.
Webinterface-Steuerung
- Start-/Stop-Buttons → Motor ein- und ausschalten
- Links-/Rechtsdrehung per Button → Motor kann in beide Richtungen drehen
- Geschwindigkeit per Slider anpassen (0 – 100 %)
- Schrittweite via DorpDown Box einstellen
- Sanfte Beschleunigung (Rampe) → Verhindert ruckartiges Starten/Stoppen
So funktioniert das Webinterface
Verbindung mit dem Webinterface
- IP-Adresse des ESP8266 in den Browser eingeben
- Das Webinterface wird geladen
Funktionen nutzen
- Motor starten & stoppen per Button
- Links-/Rechtsdrehung steuern
- Geschwindigkeit anpassen (Schieberegler)
WLAN-Daten ändern (falls nötig)
- Falls ein neues WLAN genutzt werden soll, den Reset-Button am ESP8266 drücken.
- Der ESP startet erneut als Hotspot, um die WLAN-Daten zu konfigurieren.
Fazit
Mit diesem Sketch und dem beschriebenen Hardware-Aufbau können Sie bequem über WLAN die Drehgeschwindigkeit und Richtung Ihres Nema-Schrittmotors steuern. Die Bedienung erfolgt einfach über ein Webinterface auf dem Smartphone oder PC.
- Kein zusätzliches Display oder Taster nötig!
- Vollständig über den Browser steuerbar!
- Flexibel erweiterbar für komplexere Bewegungsprofile!
💡 Mögliche Erweiterungen:
- Timer-Funktion, um den Motor automatisch zu stoppen nach x-Umdrehungen
- Verschiedene Geschwindigkeitsprofile (z. B. für Video-Drehteller)
- Integration eines Servos für Kamerasteuerung
Falls Sie Fragen haben oder das Projekt erweitern möchten, schreiben Sie gerne in die Kommentare! Viel Spaß beim Ausprobieren! 😊🎯
Recent Comments