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.

Turntable stepper motor

Turntable stepper motor

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 ...
  • Nema-Schrittmotor: 17/23/34
    • Schrittmotor 12V / 2A
      Loading ...
  • Externe Stromversorgung: z. B. 12V für den Schrittmotor
    • Ein ATX Netzteil wie dieses
      Loading ...

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! 😊🎯