L298N DC-Motortreibermodul erklärt

L298N DC-Motortreibermodul erklärt

In diesem Beitrag erfahren Sie mehr über das Doppel-H-Brücken-Gleichstrommotortreibermodul L298N, mit dem gebürstete Gleichstrommotoren und Schrittmotoren mit Mikrocontrollern und ICs angesteuert werden können.

Überblick

Modulare Leiterplatten sind die beste Zeitersparnis für Elektronikdesigner, da sie auch die Prototyping-Fehler reduzieren. Dies wird vor allem von Programmierern bevorzugt, die Code für Mikrocontroller schreiben. Sie verbringen die meiste Zeit damit, Codes vor dem Computer einzugeben, und haben weniger Zeit, die diskreten elektronischen Komponenten zu löten.



Aus diesem Grund finden wir Tonnen und Tonnen verschiedener modularer Schaltkreise, die nur für Arduino-Boards hergestellt wurden. Sie sind einfach zu verbinden und haben bei der Entwicklung unseres Prototyps den Vorteil der geringsten Hardwarefehler.



Abbildung des L298N-Moduls:

Abbildung des L298N-Moduls:

Das Modul basiert auf dem IC L298N und ist allgemein auf E-Commerce-Websites verfügbar.



Wir gebrauchen Gleichstrommotortreiber weil die ICs und Mikrocontroller im Allgemeinen keinen Strom von nicht mehr als 100 Milliampere liefern können. Die Mikrocontroller sind intelligent, aber nicht stark. Dieses Modul fügt Arduino, ICs und anderen Mikrocontrollern einige Muskeln hinzu, um Hochleistungs-Gleichstrommotoren anzutreiben.

Es kann 2 Gleichstrommotoren gleichzeitig mit jeweils bis zu 2 Ampere oder einen Schrittmotor steuern. Wir können Steuern Sie die Geschwindigkeit unter Verwendung von PWM und auch seiner Drehrichtung der Motoren.

Dieses Modul ist ideal für Roboter bauen und Landbewegungsprojekte wie Spielzeugautos.



Sehen wir uns die technischen Details des L298N-Moduls an.

Technische Details des L298N-Moduls.

Pin Beschreibung:

· Auf der linken Seite befinden sich die Anschlüsse OUT1 und OUT2, über die der Gleichstrommotor angeschlossen werden kann. Ebenso OUT3 und OUT4 für einen anderen Gleichstrommotor.

· ENA und ENB sind Aktivierungspins. Durch Anschließen von ENA an High oder +5 V werden die Ports OUT1 und OUT2 aktiviert. Wenn Sie den ENA-Pin mit Low oder Ground verbinden, werden OUT1 und OUT2 deaktiviert. Ebenso für ENB und OUT3 und OUT4.

· IN1 bis IN4 sind die Eingangspins, die mit Arduino verbunden werden. Wenn Sie IN1 + Ve und IN2 –Ve vom Mikrocontroller oder manuell eingeben, wird OUT1 hoch und OUT2 niedrig, sodass wir den Motor antreiben können.

· Wenn Sie IN3 hoch eingeben, wird OUT4 hoch und wenn Sie IN4 niedrig eingeben, wird OUT3 niedrig, jetzt können wir einen anderen Motor antreiben.

· Wenn Sie die Drehrichtung des Motors umkehren möchten, kehren Sie einfach die Polarität IN1 und IN2 um, ähnlich wie bei IN3 und IN4.

· Durch Anlegen eines PWM-Signals an ENA und ENB können Sie die Drehzahl der Motoren an zwei verschiedenen Ausgangsanschlüssen steuern.

· Die Karte kann nominal 7 bis 12 V akzeptieren. Sie können die Stromversorgung an der + 12V-Klemme und Masse an 0V anschließen.

· Der + 5V-Anschluss ist OUTPUT, mit dem bei Bedarf Arduino oder ein anderes Modul mit Strom versorgt werden kann.

Springer:

Es gibt drei Überbrückungsstifte, die Sie nach oben scrollen können (siehe Abbildung).

Alle Jumper werden zunächst angeschlossen. Entfernen oder behalten Sie den Jumper je nach Bedarf.

Jumper 1 (siehe Abbildung):

· Wenn Ihr Motor mehr als 12 V benötigt, müssen Sie den Jumper 1 trennen und die gewünschte Spannung (maximal 35 V) an der 12-V-Klemme anlegen. Bring noch einen mit 5V Versorgung und Eingang an + 5V Klemme. Ja, Sie müssen 5 V eingeben, wenn Sie mehr als 12 V anlegen müssen (wenn Jumper 1 entfernt ist).

· Der 5-V-Eingang dient zur ordnungsgemäßen Funktion des IC, da durch Entfernen des Jumpers der eingebaute 5-V-Regler deaktiviert und vor einer höheren Eingangsspannung an der 12-V-Klemme geschützt wird.

· Der + 5V-Anschluss fungiert als Ausgang, wenn Ihre Versorgung zwischen 7 und 12V liegt, und als Eingang, wenn Sie mehr als 12V anlegen und der Jumper entfernt wird.

· Bei den meisten Projekten wird nur eine Motorspannung unter 12 V benötigt. Lassen Sie den Jumper unverändert und verwenden Sie die + 5V-Klemme als Ausgang.

Jumper 2 und Jumper 3 (siehe Abbildung):

· Wenn Sie diese beiden Jumper entfernen, müssen Sie das Aktivierungs- und Deaktivierungssignal vom Mikrocontroller eingeben. Die meisten Benutzer ziehen es vor, die beiden Jumper zu entfernen und das Signal vom Mikrocontroller anzulegen.

· Wenn Sie die beiden Jumper behalten, sind OUT1 bis OUT4 immer aktiviert. Denken Sie an den ENA-Jumper für OUT1 und OUT2. ENB-Jumper für OUT3 und OUT4.

Lassen Sie uns nun eine praktische Schaltung sehen, wie können wir Schnittstellenmotoren, Arduino und Versorgung des Treibermoduls.

Schema:

schematische Darstellung des L298N-Moduls.

Die obige Schaltung kann für Spielzeugautos verwendet werden, wenn Sie den Code entsprechend ändern und einen Joystick hinzufügen.

Sie müssen nur das L289N-Modul mit Strom versorgen, und das Modul versorgt den Arduino über das Vin-Terminal mit Strom.

Die obige Schaltung dreht die beiden Motoren 3 Sekunden lang im Uhrzeigersinn und stoppt 3 Sekunden lang. Danach dreht sich der Motor 3 Sekunden lang gegen den Uhrzeigersinn und stoppt 3 Sekunden lang. Dies zeigt die H-Brücke in Aktion.

Danach beginnen beide Motoren langsam gegen den Uhrzeigersinn zu drehen, wobei die Geschwindigkeit allmählich auf das Maximum ansteigt und die Geschwindigkeit allmählich auf Null verringert wird. Dies zeigt die Drehzahlregelung von Motoren durch PWM.

Programm:

//----------------Program developed by R.GIRISH--------------//
const int Enable_A = 9
const int Enable_B = 10
const int inputA1 = 2
const int inputA2 = 3
const int inputB1 = 4
const int inputB2 = 5
void setup()
{
pinMode(Enable_A, OUTPUT)
pinMode(Enable_B, OUTPUT)
pinMode(inputA1, OUTPUT)
pinMode(inputA2, OUTPUT)
pinMode(inputB1, OUTPUT)
pinMode(inputB2, OUTPUT)
}
void loop()
{
//----Enable output A and B------//
digitalWrite(Enable_A, HIGH)
digitalWrite(Enable_B, HIGH)
//----------Run motors-----------//
digitalWrite(inputA1, HIGH)
digitalWrite(inputA2, LOW)
digitalWrite(inputB1 , HIGH)
digitalWrite(inputB2, LOW)
delay(3000)
//-------Disable Motors----------//
digitalWrite(Enable_A, LOW)
digitalWrite(Enable_B, LOW)
delay(3000)
//-------Reverse Motors----------//
digitalWrite(Enable_A, HIGH)
digitalWrite(Enable_B, HIGH)
digitalWrite(inputA1, LOW)
digitalWrite(inputA2, HIGH)
digitalWrite(inputB1 , LOW)
digitalWrite(inputB2, HIGH)
delay(3000)
//-------Disable Motors----------//
digitalWrite(Enable_A, LOW)
digitalWrite(Enable_B, LOW)
delay(3000)
//----------Speed rise----------//
for(int i = 0 i < 256 i++)
{
analogWrite(Enable_A, i)
analogWrite(Enable_B, i)
delay(40)
}
//----------Speed fall----------//
for(int j = 256 j > 0 j--)
{
analogWrite(Enable_A, j)
analogWrite(Enable_B, j)
delay(40)
}
//-------Disable Motors----------//
digitalWrite(Enable_A, LOW)
digitalWrite(Enable_B, LOW)
delay(3000)
}
//----------------Program developed by R.GIRISH--------------//

Prototyp des Autors:

Arduino-Prototyp einer Motortreiberschaltung unter Verwendung eines L298N-Moduls.

Wenn Sie Fragen zu diesem L298N DC-Motortreiberprojekt haben, können Sie diese gerne im Kommentarbereich ausdrücken. Möglicherweise erhalten Sie eine schnelle Antwort.




Zurück: Mehrfach-Batterieladekreis mit Dump-Kondensator Weiter: Joystickgesteuertes 2,4-GHz-RC-Car mit Arduino