Motorsteuerung für Roboter: Ein Lernpfad
Zwei Motoren mit präziser Drehzahl und Richtung antreiben, ihre Drehung auslesen und einen Roboter mit Differenzialantrieb lenken.
Motoren sind der Ort, wo die Entscheidungen eines Roboters zu Bewegung werden. Dieser Lernpfad baut die Motorsteuerung von Grund auf: erst mit H-Brücke und PWM echten Motorstrom sicher schalten, dann die Schleife schließen, indem Encoder ausgelesen werden – damit man weiß, wie weit und wie schnell sich jedes Rad gedreht hat –, und schließlich zwei Räder zu Differenziallenkung und Odometrie kombinieren.
Die Stationen der Reihe nach durcharbeiten – jede schaltet die nächste frei. Am Ende lassen sich die Räder eines Roboters wirklich präzise befehligen: die Grundlage für Linienfolge, Labyrinthlösen und autonome Navigation.
Bevor du beginnst
Du solltest sicher ein Steckbrett verdrahten und eine Spannung messen können und einen Mikrocontroller besitzen, den du bereits flashen kannst – ein Arduino Uno ist die übliche Wahl. Regelungstheorie ist nicht nötig; dafür ist der PID-Pfad da, und er erwartet diesen hier zuerst.
Was du danach kannst
- Einen bürstenbehafteten DC-Motor in beide Richtungen mit vorgegebener Drehzahl antreiben, ohne dass Treiber oder Platine warm werden.
- Erklären, warum ein Motor bei 15 % Tastverhältnis stillsteht und bei 30 % losläuft, und diese Schwelle für die eigene Hardware messen statt raten.
- Rohe Encoderimpulse in gefahrene Millimeter und Millimeter pro Sekunde umrechnen – inklusive des korrekten ×4-Quadraturfaktors.
- Aus „90°-Drehung auf der Stelle nach links“ eine linke und rechte Raddrehzahl machen und allein aus der Radbewegung vorhersagen, wo der Roboter landet.
- Einen Getriebemotor aus Masse und Rädern des eigenen Roboters auslegen, statt den aus dem Set zu kaufen und es auf dem Teppich zu erfahren.
- Das Getriebespiel in Grad messen und sagen, was es die Odometrie kostet.
- Die größte Kraft ausrechnen, die dein Roboter auf den Boden bringen kann, und sagen, ob Motoren oder Reifen die Grenze setzen.
Wo die meisten feststecken
Motoren an der 5-V-Schiene des Controllers versorgen. Das ist der häufigste Fehler am ersten Roboter. Der Regler kann keinen Motorstrom liefern – die Schiene bricht ein, die Platine setzt sich zurück (Brownout), und das Symptom sieht aus wie ein Softwarefehler. Motoren bekommen eine eigene Versorgung; nur die Logikseite des Treibers teilt sich die 5 V der Platine – die Seite zum Leistungsbudget hat Rechnung und Messung.
Keine gemeinsame Masse. Treiber und Controller müssen ein Massepotenzial teilen, sonst bedeuten die Richtungspins nichts. Alles sieht korrekt verdrahtet aus und nichts bewegt sich.
Odometrie für wahr halten. Rad-Odometrie driftet unbegrenzt – jeder Schlupf und jeder Millimeter Raddurchmesserfehler summiert sich auf und wird nie korrigiert. Über einen Meter hervorragend und über hundert wertlos. Diese Grenze ist der Grund, warum es den Planungspfad gibt.
Encoderflanken uneinheitlich zählen. Ein Quadraturencoder liefert vier zählbare Flanken pro Periode. Wer eine zählt und die ×4-Angabe des Datenblatts verwendet, liegt bei jeder Strecke um Faktor vier daneben – was wie ein wild falsch kalibriertes Rad aussieht.
Dem Regler die Schuld fürs Getriebe geben. Fehler, die mit der Richtung das Vorzeichen wechseln, sind mechanisch, kein Abstimmungsfehler. Ein Zahnradgetriebe hat Spiel, es wird bei jeder Umkehr einmal fällig, und ein Encoder auf der Motorwelle sieht davon nichts.
Was du brauchst
| Was | Warum dieser Pfad es braucht | Hinweise |
|---|---|---|
| Zwei DC-Getriebemotoren | Das Thema des ganzen Pfads | Encodervarianten kosten etwas mehr und ersparen einen Umbau später |
| Ein Motortreiber | Eine H-Brücke, damit ein Logikpin Motorstrom befehlen kann | L298N, wenn er im Set lag, TB6612FNG beim Neukauf |
| Ein separater Motorakku | Die Schiene, die Motoren einbrechen lassen, darf nicht die sein, auf der die Platine läuft | Ein Pack, das den Blockierstrom liefern kann |
| Ein Multimeter | Blockierstrom und Spannungseinbruch messen | Hier zählt der Strommodus, nicht nur Volt |
| Ein Maßband | Prüfen, ob aus „1 m fahren“ wirklich 1 m wurde | Das billigste und ehrlichste Instrument auf der Werkbank |
Warum der Pfad in dieser Reihenfolge läuft
Die Auslegung steht absichtlich vor der Verdrahtung. Fast jede Frage „mein Roboter ist zu langsam“ oder „mein Treiber ist durchgebrannt“ ist eine versehentlich getroffene Auslegungsentscheidung von vor Monaten – durch den Motor, der eben in der Kiste lag. Das benötigte Drehmoment des eigenen Roboters auszurechnen dauert zwanzig Minuten und erledigt Fragen, die der restliche Pfad sonst ständig aufwerfen würde.
Traktion kommt direkt nach der Auslegung, weil sie die zweite Grenze setzt – und bei einem kleinen Roboter die niedrigere. Das Blockiermoment sagt, was der Motor leisten kann; die Reibung sagt, was der Boden annimmt. Ein leichter Roboter auf glattem Boden erreicht die Haftgrenze bei etwa einem Viertel des Blockiermoments – die restlichen drei Viertel der Motorleistung erreichen den Boden gar nicht. Auslegung ohne Traktion ergibt einen Roboter, der auf dem Papier stark ist und in der Praxis durchdreht.
PWM kommt vor Encodern, weil ein ungeregelter Motor das Einfachste ist, das falsch sein kann – und ein Verdrahtungsfehler lässt sich viel leichter finden, wenn keine Regelschleife darüberliegt. Erst beide Räder in beide Richtungen mit vorgegebenem Tastverhältnis drehen lassen.
Encoder kommen vor dem Differenzialantrieb, weil Differenzialantrieb Rechenarithmetik auf gemessener Radbewegung ist. Ohne Encoder lässt sich lenken, aber nicht sagen, wohin der Roboter gefahren ist – und die Odometriehälfte dieser Station hätte nichts zu verarbeiten.
Profile und die beiden Verluststationen kommen zuletzt, weil jede eine Korrektur an etwas ist, das die früheren Stationen glauben ließen. Bewegungsprofile korrigieren die Idee, man könne eine Position direkt befehlen. Radschlupf korrigiert die Idee, der Encoder messe den Boden. Spiel korrigiert die Idee, der Encoder messe das Rad. Alle drei sind Enttäuschungen – und alle drei lernt man hier billiger als an einem Roboter, den man fertigstellen will.
Kontrollpunkte: Woran man merkt, dass eine Stufe sitzt
| Stufe | Die Prüfung | Wie Bestanden aussieht |
|---|---|---|
| Motorauslegung | Benötigtes Drehmoment aus Masse, Radradius und Zielbeschleunigung berechnen | Eine Zahl in N·m zum Vergleich mit einem Datenblatt – und du kennst den Blockierstrom deines Motors |
| Haftgrenze | Den Roboter bei Vollgas gegen eine Küchenwaage gedrückt halten | Die Anzeige plateaut deutlich unter der Blockierkraft des Motors, und die Räder drehen durch |
| PWM-Steuerung | Tastverhältnis an jedem Rad in 5er-Schritten von 0 bis 255 durchfahren | Du kannst die Einschaltschwelle jedes Rads nennen, und die beiden Zahlen unterscheiden sich |
| Richtungssteuerung | Vorwärts, rückwärts und Bremse auf beiden Kanälen befehlen | Alle sechs Zustände verhalten sich, und du kannst erklären, was Bremse anders macht als Ausrollen |
| Encoder | Den Roboter von Hand exakt 1 m schieben und die Zählwerte lesen | Die Zählwerte ergeben 1000 mm ± 20 mm – mit dem ×4-Quadraturfaktor |
| Differenzialantrieb | Eine 90°-Drehung befehlen, mit Winkelmesser prüfen | Auf wenige Grad genau und wiederholbar – ein konstanter Fehler ist Spiel, ein zufälliger ist Schlupf |
| Bewegungsprofile | Eine kurze und eine lange Fahrt mit denselben Grenzen befehlen | Die kurze erreicht nie die Höchstgeschwindigkeit, und du kannst anhand der Profilform sagen, warum |
| Spiel | Das Rad von Hand bis zum Widerstand in jede Richtung drehen | Du hast eine Zahl in Grad, und sie ist nicht null |
Wo dieser Pfad endet
Dieser Pfad endet beim präzisen Befehlen von Bewegung. Er schließt keine Schleife um ein äußeres Ziel – keine Linie zum Folgen, keine Wand zum Halten, kein Sollwert zum Anfahren. Das ist PID-Regelung, und sie setzt alles hier voraus.
Drei bewusste Auslassungen, die man nennen sollte. Bürstenlose Motoren und ESCs sind ein anderes Regelungsproblem, und fast kein kleiner Bodenroboter braucht einen. Schrittmotoren tauschen den Encoder gegen ungeregelte Position – zum Preis von Drehmoment und Drehzahl –, der richtige Tausch für einen Drucker und der falsche für einen Rover; sie haben einen eigenen Pfad unter Präzisionsbewegung mit Schrittmotoren. Holonome Antriebe – Mecanum- und Omni-Räder, die seitwärts fahren können – brauchen vier einzeln geregelte Räder und eine andere Kinematik, und sie haben einen eigenen Pfad unter holonomer Antrieb. Und Strommessung – messen, was der Motor tatsächlich zieht, statt was man befohlen hat – ist die professionelle Art, Blockaden zu erkennen, und wirklich nützlich, braucht aber Hardware, die die meisten Einsteigertreiber nicht haben.
Lern-Roadmap
Der Pfad
Folge den Knoten der Reihe nach – jeder schaltet den nächsten frei, sobald du ihn erledigt hast. Dein Fortschritt wird auf diesem Gerät gespeichert.
0 / 13 erledigt
Häufige Fragen
Häufig gestellte Fragen
Was muss ich lernen, um die Motoren eines Roboters zu steuern?
Vier Schichten, der Reihe nach. Erstens Auslegung: Aus Masse und Raddurchmesser das tatsächlich benötigte Drehmoment und die Drehzahl ableiten, damit der Motor gewählt statt aus dem Set geerbt wird. Zweitens Schalten: eine H-Brücke und PWM, mit denen ein Logikpin einen Strom steuert, den er nie liefern könnte. Drittens Messen: ein Encoder, damit der Roboter weiß, wie weit sich jedes Rad gedreht hat, statt es anzunehmen. Viertens Kombinieren: Differenzialantrieb, der aus zwei Raddrehzahlen Kurs und Position macht. Alles danach – Linienfolge, PID, Navigation – baut auf diesen vier auf.
Warum bewegt sich mein Motor erst ab etwa 30 % PWM-Tastverhältnis?
Haftreibung und Getriebe-Losbrechmoment müssen erst überwunden werden – darunter sitzt der Motor nur brummend da. Der Wert ist eine Eigenschaft deiner konkreten Hardware – Untersetzung, Lagerzustand, Temperatur und Gewicht auf den Rädern – und muss gemessen, nicht nachgeschlagen werden. Das Tastverhältnis in 5er-Schritten hochfahren und notieren, wo sich jedes Rad erstmals dreht. Roboter haben oft zwei verschiedene Schwellen, eine pro Seite, und ein Roboter, der bei niedriger Drehzahl schief fährt, zeigt meist diesen Unterschied statt eines Lenkfehlers.
Wie genau ist die Rad-Odometrie?
Hervorragend über einen Meter und wertlos über hundert. Odometrie integriert die Radbewegung auf – jeder Fehler ist dauerhaft, keine Messung korrigiert ihn je. Zufälliger Schlupf wächst mit der Wurzel der Strecke, das ist verkraftbar, aber systematische Fehler wie ein um 1 % falscher Raddurchmesser wachsen linear, das ist es nicht. Praktisch heißt das: Odometrie ist das richtige Werkzeug, um über die nächsten Sekunden eine Regelschleife zu schließen, und das falsche, um nach fünf Minuten zu wissen, wo man ist.
L298N oder TB6612FNG – welchen Motortreiber soll ich nehmen?
TB6612FNG für fast jeden kleinen Roboter. Seine MOSFET-Endstufe verliert etwa 0,5 V gegenüber rund 2 V beim L298N – und bei einem 6-V-Motor ist diese Differenz ein Drittel der Versorgung, die als Wärme verbrannt wird, bevor der Motor sie sieht. Der L298N verdient seinen Platz, wenn dauerhaft mehr als etwa 1,2 A pro Kanal nötig sind oder die Motorspannung über der 13,5-V-Grenze des TB6612FNG liegt. Er liegt außerdem den meisten Sets bei, also lohnt es sich, ihn gut zu kennen, selbst wenn man ihn ersetzt.
Brauche ich Encoder an einem Anfängerroboter?
Nicht für einen Linienfolger, der nach seinem Liniensensor lenkt und nie wissen muss, wie weit er gefahren ist. Man braucht sie, sobald der Roboter eine bestimmte Strecke fahren, einen bestimmten Winkel drehen oder eine Drehzahl halten soll, die bei sinkendem Akku oder dickerem Teppich nicht einbricht. Ein Linienlabyrinth-Löser braucht sie; ein erster Linienfolger nicht. Späteres Nachrüsten bedeutet Motorwechsel – wer dorthin will, kauft gleich Motoren mit eingebauten Encodern.
Warum überschießt die Drehung meines Roboters immer um denselben Betrag?
Fehler, die konstant sind und mit der Richtung das Vorzeichen wechseln, sind mechanisch, kein Abstimmungsproblem. Jedes Zahnradgetriebe hat Spiel – toten Gang, der erst aufgenommen werden muss, bevor sich der Ausgang bewegt –, und er wird bei jeder Umkehr einmal fällig. Ein Encoder auf der Motorwelle sitzt auf der falschen Seite des Getriebes und sieht davon nichts, also glaubt der Regler, die Bewegung sei abgeschlossen. Das Spiel in Grad am Rad messen und entweder per Software kompensieren oder Umkehrungen mitten in der Bewegung vermeiden.