L293D Motortreiber

Ein Motortreiber ist ein Chip mit integrierter Schaltung, der normalerweise zur Steuerung von Motoren in autonomen Robotern verwendet wird. Der Motortreiber fungiert als Schnittstelle zwischen Arduino und den Motoren. Die am häufigsten verwendeten Motortreiber-ICs stammen aus der L293-Serie, z. B. L293D, L293NE usw. Diese ICs dienen zur gleichzeitigen Steuerung von 2 Gleichstrommotoren. L293D besteht aus zwei H-Brücken. Die H-Brücke ist die einfachste Schaltung zur Steuerung eines Motors mit niedrigem Nennstrom. Wir werden den Motortreiber-IC nur als L293D bezeichnen. L293D hat 16 Pins.

Schritt 1: Teileliste

1) L293D IC

2) 4 1 Mikrofarad-Kondensator

3) 6 Header-Stecknadeln

4) 12 Volt Batterie oder Quelle

5) Drähte oder Buchsen

6) 2 Motoren

7) Arduino (Beliebig) zum Testen des Treibers

8) Computer mit Arduino IDE

9) Sonstiges wie Lötkolben, Lötdraht usw.

Schritt 2: Schema und Arbeitsweise

Der L293D ist ein 16-poliger IC mit acht Stiften auf jeder Seite, der für die Steuerung eines Motors vorgesehen ist. Für jeden Motor gibt es 2 INPUT-Pins, 2 OUTPUT-Pins und 1 ENABLE-Pin. L293D besteht aus zwei H-Brücken. Die H-Brücke ist die einfachste Schaltung zur Steuerung eines Motors mit niedrigem Nennstrom.

Pin Nr. - Pin Eigenschaften

  • 1 - Aktivieren Sie 1-2, wenn dies HOCH ist, funktioniert der linke Teil des IC und wenn er niedrig ist, funktioniert der linke Teil nicht.
  • 2 - EINGANG 1, wenn dieser Pin HOCH ist, fließt der Strom durch Ausgang 1
  • 3 - AUSGANG 1, dieser Pin sollte an eine der Klemmen des Motors angeschlossen werden
  • 4, 5 - GND, Erdungsstifte
  • 6 - AUSGANG 2, dieser Pin sollte an eine der Klemmen des Motors angeschlossen werden
  • 7 - EINGANG 2, wenn dieser Pin HOCH ist, fließt der Strom durch Ausgang 2
  • 8 - VCC2, dies ist die Spannung, die dem Motor zugeführt wird.
  • 16 - VCC1, dies ist die Stromquelle für den IC. Dieser Pin sollte also mit 5 V versorgt werden
  • 15 - EINGANG 4: Wenn dieser Pin HOCH ist, fließt der Strom durch Ausgang 4
  • 14 - AUSGANG 4, dieser Pin sollte an eine der Klemmen des Motors angeschlossen werden
  • 13, 12 - GND, Erdungsstifte
  • 11 - AUSGANG 3, dieser Pin sollte an eine der Klemmen des Motors angeschlossen werden
  • 10 - EINGANG 3, wenn dieser Pin HOCH ist, fließt der Strom durch Ausgang 3
  • 9 - Aktivieren Sie 3-4, wenn dies HOCH ist, funktioniert der rechte Teil des IC und wenn er niedrig ist, funktioniert der rechte Teil nicht.

Warum 4 Gründe im IC?

Der Motortreiber-IC befasst sich mit starken Strömen. Aufgrund des starken Stromflusses wird der IC erwärmt. Wir brauchen also einen Kühlkörper, um die Heizung zu reduzieren. Daher gibt es 4 Erdungsstifte. Wenn wir die Stifte auf die Leiterplatte löten, erhalten wir einen riesigen Metallbereich zwischen den Böden, auf dem die Wärme freigesetzt werden kann.

Warum Kondensatoren?

Der Gleichstrommotor ist eine induktive Last. Es entwickelt sich also eine Gegen-EMK, wenn es von einer Spannung versorgt wird. Während der Verwendung des Motors kann es zu Spannungsschwankungen kommen, wenn wir plötzlich einen Rückwärtsgang einlegen, während sich der Motor in eine Richtung bewegt. Zu diesem Zeitpunkt ist die Spannungsschwankung ziemlich hoch und dies kann den IC beschädigen. Daher verwenden wir vier Kondensatoren, die dazu beitragen, die extremen Stromschwankungen zu dämpfen.

Schritt 3: Arbeitsmechanismus und Arduino-Code

Abhängig von den Werten von Input und Enable drehen sich die Motoren entweder im Uhrzeigersinn oder gegen den Uhrzeigersinn mit voller Geschwindigkeit (wenn Enable auf HIGH eingestellt ist) oder mit geringerer Geschwindigkeit (wenn Enable mit PWM ausgestattet ist). Nehmen wir für Enable Motor Left Enable an ist HIGH und Eingang 1 und Eingang 2 sind HIGH bzw. LOW, dann bewegt sich der Motor im Uhrzeigersinn.

Arduino Code, den ich zum Testen verwendet habe: -

// Testen der Gleichstrommotoren mit
// L293D // Pins definieren // Motor A int enableA = 2; int MotorA1 = 4; int MotorA2 = 5; // Motor B int enableB = 3; int MotorB1 = 6; int MotorB2 = 7; void setup () {Serial.begin (9600); // Pin-Modi konfigurieren pinMode (enableA, OUTPUT); PinMode (MotorA1, OUTPUT); PinMode (MotorA2, OUTPUT); pinMode (enableB, OUTPUT); PinMode (MotorB1, OUTPUT); PinMode (MotorB2, OUTPUT); } void loop () {// Motor aktivieren A Serial.println ("Enabling Motors"); digitalWrite (enableA, HIGH); digitalWrite (enableB, HIGH); Verzögerung (1000); // etwas tun Serial.println ("Motion Forward"); digitalWrite (MotorA1, LOW); digitalWrite (MotorA2, HIGH); digitalWrite (MotorB1, LOW); digitalWrite (MotorB2, HIGH); Verzögerung (3000); Serial.println ("Bewegung rückwärts"); digitalWrite (MotorA1, HIGH); digitalWrite (MotorA2, LOW); digitalWrite (MotorB1, HIGH); digitalWrite (MotorB2, LOW); Verzögerung (3000); Serial.println ("Motoren stoppen"); // digitalWrite stoppen (enableA, LOW); digitalWrite (enableB, LOW); Verzögerung (3000); }}

Ähnlicher Artikel