L293D Motortreiber an DC-Motor mit Arduino anschließen – Schritt-für-Schritt-Anleitung
Wenn Sie einen Roboter oder ein Spielzeugauto entwerfen möchten, ist Wissen über Motoren unerlässlich. Eine sehr kostengünstige und einfache Möglichkeit, diese Motoren zu steuern, ist die Verwendung eines L293D-Motortreiber-Shields. Noch besser: Nutzen Sie es in einer Schnittstelle mit einem Mikrocontroller wie Arduino.
Unter den anderen ist der L293D-Motortreiber einer der beliebtesten Chipsätze seiner Art. Besonders für seine vielfältigen Anwendungen in elektronischen Aufbauten wie Servos, Schrittmotoren und DC-Motoren. Sein entscheidendes Attribut scheint jedoch die Richtungs- und Geschwindigkeitssteuerung in zwei unabhängigen DC-Motoren zu sein – worauf Sie weiter unten in dieser Anleitung eingehen.
1. Was ist der L293D-Motortreiber?
Dieser 16-Pin-Chipsatz ist ein Zwei-Kanal-H-Brücken-Treiber für Motoren. Seine primäre Funktion ist oft als Steuer-Schnittstelle für DC-Motor-Paare oder einen einzelnen Schrittmotor.
Standardmäßig kommt der L293D-Motortreiber-Shield-Chipsatz in Zweierpackung. Daher kann er vier DC-Motoren ansteuern. Aus diesem Grund ist der L293D-Chipsatz ein wertvolles Bauelement für vierrädrige Roboter.
Insgesamt gibt das Shield vier H-Brücken. Jede H-Brücke liefert einen Motorstrom von 0,6 A. Auch der 74HC595-Schieberegister ist ein Feature der Sicherheit. Dieser erweitert die acht Steuerpins des dualen L293D-IC auf die vierstelligen Pins des Arduino.
(Ein vierfacher Hochstrom-H-Brücken 16-Pin L293D Motortreiber)
2. Eigenschaften des L293D-Motortreibers
Einige Eigenschaften, die den L293D-Motortreiber zu einer guten Komponente in CNC- und Roboterprojekten machen:
- Ermöglicht Steuerung von Richtung und Geschwindigkeitsstufen im angewandten Gerät.
- Ermöglicht den Betrieb zweier gleicher dualer DC-Motoren.
- Motorspannung Vs (Vcc2) liegt zwischen 4,5 V und 36 V.
- Maximaler kontinuierlicher Motorstrom: 600 mA.
- Maximaler Spitzenmotorstrom: 1,2 A.
- Versorgungsspannung Vss (Vcc1) zwischen 4,5 V und 7 V.
- Übergangszeit bei 300 ns zwischen 5 V bis 24 V maximal.
- Automatische Abschaltung durch thermische Aktivierung möglich.
- IC erhältlich in SOIC-, DIP- und TSSOP-Gehäusen.
3. L293D Motortreiber Shield Output Pin-Konfiguration
(Schematisches Pin-Diagramm eines bipolaren L293D-Schrittmotortreibers)
| Pin-Nummer | Pin-Name | Pin-Beschreibung |
|---|---|---|
| 1 | Enable 1,2 | Aktiviert die Eingangspins: Input 1(2) und Input 2(7). |
| 2 | Input Pin 1 | Direkte Steuerung für Output 1 Pin. Oft in digitaler Schaltungssteuerung anwendbar. |
| 3 | Output Pin 1 | Verbindet mit einem Ende, Motor 1. |
| 4 | Ground | Geht auf einer Seite zum Schaltungs-Ground (0V). |
| 5 | Ground | Anderer Ground-Pin (0V) auf der anderen Seite. |
| 6 | Output Pin 2 | Verbindet mit dem anderen Ende von Motor 1. |
| 7 | Input Pin 2 | Direkte Steuerung für Output 2 Pin. Auch in digitaler Schaltungssteuerung anwendbar. |
| 8 | Vs (Vcc2) | Mit 4,5V-36V Nennwert verbindet es den Spannungspin und versorgt die Motoren. |
| 9 | Enable 3,4 | Aktiviert nur die Eingangspins: Input 3(10) und Input 4(15). |
| 10 | Input 3 | Direkte Steuerung für Output 3 Pin. Zusätzlich digitaler Schaltungssteuerungs-Ausgang. |
| 11 | Output 3 | Verbindet mit einem Ende von Motor 2. |
| 12 | Ground | Ground-Pin verbindet den Schaltungs-Ground (0V). |
| 13 | Ground | Ein weiterer Ground-Pin am Schaltungs-Ground (0V). |
| 14 | Output 4 | Verbindet mit dem anderen Ende von Motor 2. |
| 15 | Input 4 | Direkte Steuerung für Output 4 Pin. Funktioniert als digitale Schaltungssteuerung. |
| 16 | Vss (Vcc1) | Verbindet mit externer +5V Spannung für IC-Versorgung. |
4. Funktionsprinzip des L293D-Motortreibers
Wie bereits hervorgehoben, kann der L293D-Motortreiber zwei DC-Motoren steuern. Daher ist es essenziell zu verstehen, wie dieser Dual-Channel-H-Brücken-IC arbeitet.
(Diagramm zeigt einen 5-Volt-Unipolarmotor, verbunden mit L293D)
Der erste Schritt des Funktionsprinzips beinhaltet den Aufbau einer H-Brücke. Anders gesagt: Es verwendet doppelte Paare von Darlington-Transistoren, die wir Q2/Q3 und Q1/Q4 nennen. An jedem verbindet eine Diode den Kollektor und Emitter der Transistoren. Dadurch wird motorerzeugte Rück-EMK (Back EMF) daran gehindert, die Transistoren zu beschädigen.
Sind die Transistoren Q1/Q4 in ON-Position, schalten Q2/Q3 ab. Strom fließt von Vcc über den Motor zur Masse.
Dies bewirkt eine Drehung des Motors im/gegen den Uhrzeigersinn. Zusammenfassend: Die Motorpolarität und die Art der Verbindung zur Stromversorgung bestimmen die Drehrichtung.
Sind Q1/Q4 Transistoren AUS, schalten Q2/Q3 automatisch EIN. Damit kehrt sich der Stromfluss durch den Motor um. Bei diesem umgekehrten Strom wechselt auch die Drehrichtung des Motors.
5. Wie nutzen wir den L293D-Motortreiber?
Wie erwähnt, nutzt der L293D-Motortreiber einen bidirektionalen Antriebsstrom von ca. 600 mA und einen Bereich von 4,5 V–36 V. Diese Features beinhalten die Verwendung dieses 16-Pin-Motortreiber-Chips mit Arduino Uno.
Wir stellen ein Projekt vor, das DC-Motoren und L293D mit ARDUINO verbindet. Hier ist ein schrittweises Verfahren zur Einrichtung der Schaltung, die DC-Motor-Richtung und -Geschwindigkeit steuert.
Schritt 1: Materialien für das Projekt zusammenstellen
- Zwei 10 kΩ Potentiometer.
- L293D Motortreiber-Chipsatz.
- Zwei kleine DC-Motoren.
- Arduino Uno oder Arduino Pro Mini.
- Steckplatine (Breadboard).
- Jumper-Kabel.
Schritt 2: Schaltung aufbauen
Die Verbindungen in dieser Schaltung sind ziemlich geradlinig.
Wir nutzen ein Video-Tutorial für eine präzisere Illustration.
Der Motor ist oft besser mit einer separaten Stromversorgung bedient. Hier verwenden wir 12 V für den Motor. Andererseits versorgt 5 V den L293D und Arduino.
Hinweis: Die externe Stromquelle geht an Pin 8 des L293D. Vorsicht bei diesen Verbindungen – sonst riskieren Sie Schäden an den Motoren.
Schritt 3: Code zur Programmierung eines DC-Motors
Dafür sind zwei grundlegende Schritte erforderlich.
AFMotor.h Bibliothek installieren
Zunächst benötigen wir ein Kommunikationsmedium mit dem L293D-IC. Dafür installieren wir die AFMotor.h Bibliothek.
Diese Bibliothek ermöglicht Befehle zur Steuerung von DC-, Solenoid- und Schrittmotoren.
Zur Installation: Gehen Sie zu Sketch → „Bibliothek einbinden“ → „Bibliotheken verwalten“. Der Bibliotheksmanager aktualisiert die installierte Liste während der Index herunterlädt.
Suchen Sie nach „Motor Shield“. Wählen Sie die „Adafruit Motor Shield Library“ von Adafruit und klicken Sie auf Installieren.
Arduino Code ausführen
Führen Sie nun den folgenden Arduino-Code aus:
#include <AFMotor.h>
AF_DCMotor motor(4);
void setup() {
// Startgeschwindigkeit für Motor einstellen & stoppen
motor.setSpeed(200);
motor.run(RELEASE);
}
void loop() {
uint8_t i;
// Motor EIN
motor.run(FORWARD);
// Beschleunigen von 0 auf Maximalgeschwindigkeit
for (i=0; i<255; i++) {
motor.setSpeed(i);
delay(10);
}
// Abbremsen von Maximalgeschwindigkeit auf 0
for (i=255; i!=0; i--) {
motor.setSpeed(i);
delay(10);
}
// Motorrichtung ändern
motor.run(BACKWARD);
// Beschleunigen von 0 auf Maximalgeschwindigkeit
for (i=0; i<255; i++) {
motor.setSpeed(i);
delay(10);
}
// Abbremsen von Maximalgeschwindigkeit auf 0
for (i=255; i!=0; i--) {
motor.setSpeed(i);
delay(10);
}
// Motor AUS
motor.run(RELEASE);
delay(1000);
}
Schritt 4: Setup abgeschlossen
In dieser Phase ist Ihr DIY-Schaltungsaufbau abgeschlossen. Sie verfügen nun über einen Steuermechanismus für jedes DC-Motoren-Gerät mit diesem L293D-Chip und Arduino Uno Mikrocontroller.
6. L293D Äquivalenter Dual-Timer-IC
Andere ICs, die dem L293D ähnlich sind: ULN2003, SN754410, LB1909MC.
(Ein ULN2003 IC auf PCB mit beschrifteten Pins und Anschlussstellen)
7. Anwendungen des L293D
- Hilft beim Ansteuern von Hochstrom-LED-Geräten.
- Anwendbar in Hochstrom-Motoren, die von digitalen Schaltungen betrieben werden (z. B. Roboter).
- Der L293D-Treiber ist integraler Bestandteil von Schrittmotoren und Motoren generell.
- Für Relais-Treiber-Module einsetzbar – ermöglicht Rast-Relais.
Zusammenfassung
Es gibt andere Methoden, DC-Motoren mit Arduino auf mehr als eine Weise zu steuern. Eine der einfachsten ist jedoch die Verwendung eines L293D-Motortreiber-ICs. Ein L293D-IC bietet den Vorteil, Geschwindigkeit und Richtung zweier separater DC-Motoren gleichzeitig zu steuern.
Zusammenfassend haben wir gelernt, wie man einen DC-Motor mit diesem IC einrichtet und programmiert. Falls Sie etwas Herausfordernderes ausprobieren möchten: Für weitere Tutorials kontaktieren Sie unsere Kontaktseite für vollständige Anleitung.
Industrietechnik
- Arduino-Uno-Roboter zur Personenerkennung – Sensorintegration Schritt für Schritt
- RC-Empfänger PPM-Signal mit Arduino auslesen – Schritt-für-Schritt
- Android-gesteuertes Roboterfahrzeug mit Raspberry Pi Motor Shield
- Erdmassen-Messung mit Arduino: Schritt-für-Schritt DIY-Anleitung
- PHP-Webinterface zur Steuerung des Arduino Uno – Komplettanleitung
- DIY Roboterarm mit Gestensteuerung (Hand-Tracking) – Arduino & 3D-Druck
- Arduino Web-gesteuerter XY-Plotter mit Schrittmotor-Controller
- Funktionsweise eines bürstenbehafteten Gleichstrommotors: Einfache Mechanik & zuverlässige Leistung
- Digitaler Kompass in Echtzeit mit Arduino & Processing bauen
- DC-Motor prüfen & diagnostizieren: Schritt-für-Schritt-Anleitung zur Fehlersuche