blog / N° 050 / Hardware

Robot-Prototype-Board — eine Platine für alles

Wie ich mir eine eigene Roboter-Steuerplatine rund um den ESP32 entworfen habe — und was dabei schief ging.

Eine Platine, die für einen Roboterarm entworfen wurde — aber bewusst so allgemein gehalten ist, dass man sie je nach Projekt anders bestücken kann. Klingt nach einem guten Plan. Meistens war es das auch.

Die Idee

Der Ausgangspunkt war ein Roboterarm. Ich brauchte eine Möglichkeit, mehrere Schrittmotoren zu steuern, ein paar Servos, und das Ganze über WLAN erreichbar zu machen. Statt ein bestehendes Board zu nehmen, wollte ich etwas Eigenes — flexibel genug, um es auch für andere Projekte nutzen zu können.

Das Ergebnis: das Robot-Prototype-Board, entworfen in KiCad.

Was drauf ist

Kern der Platine ist ein ESP32 — zuständig für Logik, WLAN und die gesamte Steuerung. Um ihn herum gruppiert sich alles andere:

4× TMC2209
Schrittmotortreiber für bis zu vier Achsen. Leise, präzise, und mit UART-Konfiguration — zumindest in der Theorie.
28BYJ-48-Treiber
Für kleine Unipolar-Schrittmotoren, die sich für leichte Achsen gut eignen.
3× Schieberegister (in Reihe)
Um die begrenzten GPIO-Pins des ESP32 zu erweitern. Funktioniert — mit Einschränkungen.
I2C-Schnittstellen
Mehrere Anschlüsse für Sensoren, Displays, oder weitere Module.

Die Stromversorgung läuft über zwei getrennte Anschlüsse: Micro-USB für den Logikteil, ein separater Stecker für die Schrittmotor-Versorgung. Das hält die sensible Steuerelektronik sauber von den Motoren getrennt.

Version 1.0 und 1.1

V1.0 war funktionsfähig, hatte aber einen Schönheitsfehler: der Stepmode der TMC2209 — also die Mikroschritt-Auflösung — war per Software einstellbar. Das klang elegant, hat in der Praxis aber Probleme gemacht.

V1.1 löst das pragmatisch: DIP-Schalter direkt auf der Platine. Einmal einstellen, fertig. Kein Code, keine Überraschungen beim Neustart.

Hinweis

Die DIP-Schalter sind auf dem Foto gut erkennbar — die roten Blöcke rechts neben den Treiberchips.

Was gelernt wurde

Schieberegister sind nicht für alles geeignet. Die Idee, drei 74HC595 in Reihe zu hängen und damit die GPIO-Anzahl zu verdreifachen, funktioniert grundsätzlich. Bei hohen Schrittzahlen — also wenn der Takt schnell sein muss — werden die Schieberegister zum Engpass. Der serielle Transfer braucht Zeit, und die fehlt dann beim Stepgen. Für langsame Signale: problemlos. Für zeitkritische Motorsteuerung: lieber direkt.

TMC2209 per Hand löten ist eine Übung in Geduld. Die Chips sind klein, die Pads noch kleiner, und ein Kaltzinn-Kontakt zeigt sich oft erst beim Test — nicht beim Löten. Wer die Wahl hat: Reflow oder zumindest Heißluft.

Fazit

Das Board hat funktioniert — nicht perfekt, aber gut genug für seinen Zweck. Die Kombination aus ESP32, TMC2209 und dem breiten Anschlussangebot ist für erste Robotik-Projekte solide. Wer eine ähnliche Platine plant: DIP-Schalter für den Stepmode von Anfang an einplanen, und bei zeitkritischen Signalen die Schieberegister weglassen.

Eine Weiterentwicklung ist nicht geplant. Was ich gelernt habe, nehme ich in die nächste Platine mit — die dann wahrscheinlich einen anderen Namen bekommt.

Robot-Prototype-Board V1.0 und V1.1 nebeneinander
Abb. 01 — V1.0 (hinten) und V1.1 (vorne) nebeneinander. Gut erkennbar: die DIP-Schalter auf V1.1.
N° 050 · Hardware Ende