L293D Motor-Treiber-Shield: Zwei Gleichstrommotoren und einen Servo betreiben
By Official Hobby Components Online Store | Buy Electronic Kits, Components, Boards, Shields, Modules | Published: 2026-10-16
Category: Anleitungen
Verbinden Sie ein L293D Motor-Driver-Shield mit einem Arduino Uno, versorgen Sie die Motoren extern mit Strom und steuern Sie zwei Gleichstrommotoren sowie einen Servo mit 5V in einem praktischen Schritt-für-Schritt-Aufbau.
Kurze Antwort
Stapeln Sie das L293D Motor-Treiberschild auf ein Arduino Uno, entfernen Sie die Strombrücke nur, wenn Sie die eigene Schraubklemme des Shields mit einer separaten Motorstromversorgung versorgen, und schließen Sie den Servo an einen der beiden 5V Servo-Header an. Wenn Sie zwei Gleichstrommotoren von einer Labornetzteil aus betreiben und stattdessen I2C-Steuerung wünschen, ist der mLink L9110-Controller eine sauberere Alternative. Die folgenden Schritte decken den Standard-Shield-Aufbau ab.
Was das L293D-Schild Ihnen tatsächlich bietet
Das Motor-Driver-Shield L293D für Arduino hilft Ihnen, Motoren in Ihre Projekte zu integrieren. Es bietet zwei Schnittstellen für 5V Servos, die an den hochauflösenden dedizierten Timer des Arduino angeschlossen sind, was eine präzise Servosteuerung ermöglicht. Es ist mit Arduino Uno-Boards kompatibel; das Board selbst ist nicht im Lieferumfang enthalten.
Diese Kombination macht das Shield so beliebt: zwei DC-Motorkanäle plus zwei Servo-Header auf einer Platine, wobei das Servo-Timing von einem dedizierten Timer übernommen wird, anstatt die Hauptschleife zu blockieren. Der Nachteil ist, dass der L293D ein bipolarer Treiber mit einem echten Spannungsabfall ist, sodass Motoren, die hohen Strom oder sehr niedrige Spannung benötigen, möglicherweise nicht gut funktionieren. Überprüfen Sie den Stillstandsstrom Ihres Motors, bevor Sie sich festlegen.
Überprüfen Sie Motor und Stromversorgung, bevor Sie etwas anschließen
Zwei Zahlen entscheiden, ob dieser Aufbau funktioniert: der Stillstandsstrom des Motors und die Versorgungsspannung. Der L293D fällt über seinen internen Transistoren um etwa 1.4 bis 2 V ab, sodass ein 6 V Motor an einer 6 V Versorgung träge wirkt. Planen Sie eine Versorgungsspannung ein, die einige Volt über der Nennspannung des Motors liegt, und bestätigen Sie, dass der Strom pro Kanal innerhalb der Belastbarkeit des Treibers liegt.
Wenn Ihre Motoren mehr Strom ziehen, als das Shield bequem liefern kann, oder Sie eine Geschwindigkeitsregelung mit 255 Schritten in jede Richtung über eine einfache I2C-Verbindung wünschen, ist der mLink L9110 DC-Motorcontroller eine Überlegung wert. Es handelt sich um einen seriellen (I2C) 2-Kanal-Gleichstrommotortreiber, der bis zu zwei Gleichstrommotoren mit einem maximalen Strom von 800 mA pro Motor antreiben kann, mit unabhängiger Richtungs- und Geschwindigkeitssteuerung.
Der Stromversorgungs-Jumper: Das eine, was die Leute falsch machen
Der Strombrückenstecker des Shields verbindet die 5V-Schiene des Arduino mit der Logikversorgung des Motortreibers. Bei gesteckter Brücke bezieht das Shield die Logikspannung vom Uno, und Sie benötigen weiterhin eine separate Versorgung für die Motoren über die Schraubklemme.
Entfernen Sie die Brücke nur, wenn Sie den 5V-Logikpin des Shields von einer externen geregelten 5V-Quelle versorgen. Wenn Sie sie entfernen und vergessen, diesen Pin zu versorgen, bleibt die Logikseite dunkel und nichts bewegt sich – der häufigste Grund für einen 'toten Shield'. Lassen Sie sie bei einem normalen Uno-Aufbau stecken.
- Brücke gesteckt: Logik von der 5V-Schiene des Arduino, Motoren von der Schraubklemme.
- Brücke entfernt: Sie müssen selbst geregelte 5V an den Logikpin des Shields anlegen.
- Führen Sie niemals Motorspannung in den 5V-Logikpin ein.
Servo-Header und der dedizierte Timer
Die beiden 5V-Servo-Schnittstellen sind mit dem hochauflösenden dedizierten Timer des Arduino verbunden, sodass die Servo-Impulse auch dann präzise bleiben, wenn Ihr Sketch mit anderen Aufgaben beschäftigt ist. Das ist ein echter Vorteil gegenüber dem Bit-Banging von Servo-Impulsen in Software, wo Jitter als Zittern sichtbar wird.
Die Stromversorgung ist der Knackpunkt. Servos können beim Starten einen überraschend hohen Einschaltstrom ziehen, und wenn dieser vom 5V-Regler des Uno bezogen wird, kann die Platine ausfallen. Verwenden Sie für alles, was über einen kleinen Mikro-Servo hinausgeht, eine externe 5V-Stromversorgung für die Servo-Schiene und teilen Sie die Masse mit dem Arduino.
Den Aufbau sauber abschließen
Für die Motor- und Stromversorgungsverkabelung bietet ein 2.1mm DC-Netzstecker einen lötbaren Stecker mit einem Innendurchmesser von 2.1mm und einer Kunststoff-Metall-Konstruktion. Dies ist praktisch, wenn Sie eine Laborstromversorgung oder einen Akku an die Schraubklemme des Shields anschließen möchten. Lötverbindungen halten die Verbindung auch bei Vibrationen sicher, was bei allem, was sich bewegt, wichtig ist.
Halten Sie die Motorleitungen verdrillt und kurz, führen Sie sie von den Servosignalleitungen weg und legen Sie eine gemeinsame Masse zwischen dem Arduino und der externen Stromversorgung an. Wenn ein Motor zuckt, sich aber nicht dreht, vermuten Sie das Netzteil oder den Jumper, bevor Sie den Code neu schreiben.
Schritt für Schritt: L293D Shield-Aufbau
- 1. Passen Sie den Motor an den Treiber an: Ermitteln Sie die Nennspannung und den Stillstandsstrom Ihres Motors. Der L293D fällt intern um etwa 1.4 bis 2 V ab. Wählen Sie daher eine Versorgungsspannung, die einige Volt über der Motornennspannung liegt, und halten Sie den Strom pro Kanal innerhalb der Treibergrenzen. Passen die Werte nicht, wechseln Sie zum mLink L9110, der für bis zu 800 mA pro Motor ausgelegt ist. Kontrollpunkt: Falls Sie keinen Stillstandsstromwert finden, messen Sie ihn oder wählen Sie einen Treiber mit einem veröffentlichten Grenzwert.
- 2. Setzen Sie das Shield auf das Uno: Schalten Sie den Arduino aus, richten Sie die Stiftleisten des Shields an den Pins des Uno aus und drücken Sie es vollständig hinein. Das Shield ist mit Arduino Uno-Boards kompatibel, das Board ist nicht im Lieferumfang enthalten. Stellen Sie daher sicher, dass Sie ein Uno und kein Board mit einer anderen Pinbelegung verwenden. Kontrollpunkt: Ein Shield, das um eine Pinreihe versetzt ist, wird oft noch hochfahren, sich aber unregelmäßig verhalten.
- 3. Entscheiden Sie den Zustand des Jumper für die Spannungsversorgung: Lassen Sie den Jumper für einen normalen Aufbau an Ort und Stelle, damit das Shield die Logikspannung von der 5V-Schiene des Arduino bezieht. Entfernen Sie ihn nur, wenn Sie selbst eine geregelte 5V an den Logikpin des Shields anlegen. In beiden Fällen erhalten die Motoren ihre eigene Versorgung über die Schraubklemme. Häufiger Fehler: Jumper ziehen und sich dann wundern, warum das Board tot ist. Wenn nichts aufleuchtet, setzen Sie den Jumper zuerst zurück.
- 4. Verdrahten Sie die externe Motorstromversorgung: Schließen Sie Ihre Motorstromversorgung an die Schraubklemme des Shields an und beachten Sie die Polarität. Verwenden Sie einen gelöteten 2.1 mm DC-Netzstecker, wenn Sie eine Labornetzteil- oder Batterieleitung abschließen, und verbinden Sie die Masse der Stromversorgung mit der Arduino-Masse. Kontrollpunkt: Messen Sie die Klemmenspannung, bevor Sie die Motoren anschließen, und führen Sie niemals die Motorspannung in den 5V-Logikpin.
- 5. Schließen Sie die beiden Gleichstrommotoren an: Setzen Sie Motor A auf das erste Ausgangspaar und Motor B auf das zweite. Dreht sich ein Motor falsch herum, tauschen Sie seine beiden Anschlussdrähte, anstatt den Code zu ändern. Halten Sie die Drähte kurz und verdrillt. Kontrollpunkt: Testen Sie jeweils einen Motor, damit ein Verdrahtungsfehler auf einem Kanal den anderen nicht überdeckt.
- 6. Fügen Sie den Servo hinzu: Stecken Sie einen 5V Servo in einen der beiden Servo-Header, die mit dem hochauflösenden dedizierten Timer des Arduino verbunden sind, für präzisen Betrieb. Verwenden Sie für alles, was größer als ein Mikroservo ist, die externe 5V Stromversorgung für die Servoschiene anstelle des Uno-Reglers. Häufiger Fehler: Ein belasteter Servo wird über den 5V Pin des Arduino betrieben, was zu zufälligen Resets führt, wenn er sich bewegt.
- 7. Hochladen und überprüfen: Laden Sie einen Sketch, der jeden Motor vorwärts, dann rückwärts antreibt und dann den Servo durchschwenkt. Beobachten Sie den Spannungsabfall am Messgerät, während die Motoren laufen, und bestätigen Sie, dass der Servo seine Position ohne Zittern hält. Nächster Schritt: Wenn ein Kanal unter Last ausfällt, überprüfen Sie die Versorgungsspannung und den Stromreserve, bevor Sie den Code ändern.
Verwendete Komponenten in diesem Aufbau
- Motor-Treiber-Shield L293D für Arduino: Motor-Treiber-Shield L293D für Arduino: zwei 5V Servo-Schnittstellen, die an den hochauflösenden dedizierten Timer des Arduino angeschlossen sind; kompatibel mit Arduino Uno-Boards (Board nicht enthalten). Bietet zwei Motorkanäle und zwei Servo-Anschlüsse auf einer stapelbaren Platine, wobei das Servo-Timing hardwaregesteuert und nicht im Sketch erfolgt.
- mLink L9110 DC-Motor-Controller: mLink L9110 Motor-Controller: serieller (I2C) 2-Kanal-DC-Motortreiber, für bis zu zwei DC-Motoren mit maximal 800mA pro Motor, mit unabhängiger Richtungs- und Geschwindigkeitssteuerung in 255 Schritten pro Richtung. Die bessere Wahl, wenn Sie I2C-Steuerung wünschen oder die Stromgrenze pro Motor im Voraus genau kennen müssen, anstatt sie zu schätzen.
- 2.1mm DC-Netzstecker (männlich): 2.1mm DC-Netzstecker (männlich): Stecker mit 2.1mm Innendurchmesser, Kunststoff-Metall-Konstruktion, Lötanschlüsse für sichere Befestigung, ausgelegt für DC-Stromanwendungen. Damit können Sie ein Netzteil oder eine Batterieleitung mit einer gelöteten, vibrationsfesten Verbindung an die Schraubklemme des Shields anschließen.


