Verwendung von L298n zur Steuerung des Gleichstrommotors mit Arduino

Hallo zusammen,

Willkommen zu diesem Tutorial. Sehen Sie sich zuerst das Video an. Es enthält einige Erklärungen. Wir verwenden hier einen L298n Dual H-Bridge-Treiber zur Steuerung eines Gleichstrommotors mit Arduino. Weitere Informationen finden Sie im Internet, wenn Sie weitere Informationen benötigen Wir sollen dafür sorgen, dass die Dinge funktionieren, damit Sie sie leicht an Ihre Projekte anpassen können. Ich hoffe, es gefällt Ihnen.

Schritt 1: Einfache Steuerung und Richtungsänderung

In diesem Schritt können Sie den Treiber wie auf dem Bild verkabeln oder ändern, um ihn an Ihr Projekt anzupassen. Vergessen Sie nicht, den GND des Treibers mit dem GND von Arduino zu verbinden. Für die Stromversorgung habe ich hier eine 9-V-Batterie verwendet Kann es über eine Stromquelle oder einen Akku mit Strom versorgen. Der + 5-V-Pin des Treibers kann Ihr Arduino mit Strom versorgen, wenn Sie es über das Arduino-Board in Vin einlegen.

Hier habe ich nur einen Motor verwendet, dieses Modul kann 2 Gleichstrommotoren oder 1 Schrittmotor betreiben.

Test 1: Zuerst versuchen wir, den Motor in eine Richtung einzuschalten und dann auszuschalten. Sie verdrahten ihn also wie auf dem Bild und hier ist der Code.

 // Dieser Code wird mit dem L298n Dual H-Bridge-Motortreiber verwendet 
// Es schaltet nur einen Gleichstrommotor für eine bestimmte Zeit ein und aus // Weitere Informationen finden Sie unter surtrtech.blogspot.com int in1 = 9; // Deklarieren der Pins, an denen in1 in2 vom Treiber verdrahtet sind
 int in2 = 8; // hier sind sie mit D9 und D8 von Arduino verdrahtet 
 void setup () {pinMode (in1, OUTPUT); // Deklariere die Pin-Modi, offensichtlich sind sie Ausgänge pinMode (in2, OUTPUT); 
 }} 
 // Bevor Sie die Schleife starten, sollten Sie Funktionen vom Typ "void" erstellen, um die Treiberstifte zu steuern. // Hier habe ich zwei Funktionen erstellt, die erste dreht einen Motor in eine Richtung (Sie können sie ändern, indem Sie LOW und HIGH // und die umschalten zweite, um den Motor anzuhalten 
 void TurnMotorA () {digitalWrite (in1, HIGH); digitalWrite (in2, LOW); }} 
 void TurnOFFA () {digitalWrite (in1, LOW); digitalWrite (in2, LOW); }} 
 void loop () {TurnMotorA (); // in der Schleife verwenden wir die Funktion, um den Motor für 3s zu drehen und für 2s Verzögerung anzuhalten (3000); TurnOFFA (); Verzögerung (2000); }} 

Test 2: Ein- / Ausschalten, Richtungswechsel und Ein- / Ausschalten (Sie behalten die gleiche Verkabelung wie oben)

 // Dieser Code wird mit dem L298n Dual H-Bridge-Motortreiber verwendet 
// Es schaltet nur einen Gleichstrommotor für eine bestimmte Zeit in eine Richtung ein, schaltet ihn aus, in die andere Richtung und wieder aus // Weitere Informationen finden Sie unter surtrtech.blogspot.com
 int in1 = 9; // Deklarieren der Pins, bei denen in1 in2 vom Treiber verdrahtet sind int in2 = 8; // hier sind sie mit D9 und D8 von Arduino verdrahtet 
 void setup () {pinMode (in1, OUTPUT); // Deklariere die Pin-Modi, offensichtlich sind sie Ausgänge pinMode (in2, OUTPUT); 
 }} 
 // Bevor Sie die Schleife starten, sollten Sie Funktionen vom Typ "void" erstellen, um die Treiberstifte zu steuern. // Hier habe ich drei Funktionen erstellt, eine zum Drehen des Motors in die Richtung "# 1", die andere in die andere Richtung "# 3" "// und der zweite, der den Motor stoppt // Um ​​die Richtung zu ändern, schalten Sie den HIGH auf LOW und umgekehrt 
 void TurnMotorA () {digitalWrite (in1, HIGH); digitalWrite (in2, LOW); }} 
 void TurnOFFA () {digitalWrite (in1, LOW); digitalWrite (in2, LOW); } void TurnMotorA2 () {digitalWrite (in1, LOW); digitalWrite (in2, HIGH); }} 
 void loop () {TurnMotorA (); // Wir drehen uns für 3s in Richtung 1 und halten dann für 2s Verzögerung an (3000); TurnOFFA (); Verzögerung (2000); TurnMotorA2 (); // Wir drehen uns für 3s in Richtung 2 und halten dann für 2s Verzögerung an (3000); TurnOFFA (); Verzögerung (2000); }} 

Schritt 2: Geschwindigkeitsregelung

In diesem Schritt entfernen wir den Jumper auf dem ENA-Pin und steuern diesen Pin durch ein PWM-Signal, das von der Arduino-Platine gesendet wird. Dadurch können wir die Drehzahl des Gleichstrommotors steuern.

Test 3: Ein- und Ausschalten mit niedriger Geschwindigkeit, dann Ein- und Ausschalten mit hoher Geschwindigkeit (die Verkabelung ist wie zuvor, aber jetzt entfernen Sie den Jumper und verbinden den enA-Pin mit dem PWM-Pin von Arduino, hier habe ich D10 verwendet).

 // Dieser Code wird mit dem L298n Dual H-Bridge-Motortreiber verwendet 
// Es schaltet nur einen Gleichstrommotor für eine bestimmte Zeit mit niedriger Geschwindigkeit ein und aus und dann mit hoher Geschwindigkeit ein. // Weitere Informationen finden Sie unter surtrtech.blogspot.com
 int in1 = 9; // Deklarieren der Pins, bei denen in1 in2 vom Treiber verdrahtet sind int in2 = 8; // hier sind sie mit D9 und D8 von Arduino int ConA = 10 verdrahtet; // Und wir fügen den Pin hinzu, um die Geschwindigkeit zu steuern, nachdem wir den Jumper entfernt haben. // Stellen Sie sicher, dass er mit einem Pin verbunden ist, der ein PWM-Signal liefern kann 
 void setup () {pinMode (in1, OUTPUT); // Deklariere die Pin-Modi, offensichtlich sind sie Ausgänge pinMode (in2, OUTPUT); PinMode (ConA, OUTPUT); }} 
 // Bevor Sie die Schleife starten, sollten Sie Funktionen vom Typ "void" erstellen, um die Treiberstifte zu steuern. // Hier habe ich drei Funktionen erstellt. Die erste besteht darin, den Motor in eine Richtung mit der Geschwindigkeit (100) zu drehen. // Die zweite, die gedreht werden soll es aus // Und der letzte, der es in die gleiche Richtung dreht wie die erste, aber höhere Geschwindigkeit (250) // Geschwindigkeitsbereich (0-255) 
 void TurnMotorA () {digitalWrite (in1, LOW); digitalWrite (in2, HIGH); analogWrite (ConA, 100); }} 
 void TurnOFFA () {digitalWrite (in1, LOW); digitalWrite (in2, LOW); analogWrite (ConA, 0); } void TurnMotorA2 () {digitalWrite (in1, LOW); digitalWrite (in2, HIGH); analogWrite (ConA, 250); }} 
 void loop () {TurnMotorA (); // Sequenz: niedrige Geschwindigkeit einschalten, anhalten, wieder mit hoher Geschwindigkeit drehen und Verzögerung stoppen (2000); 
 TurnOFFA (); Verzögerung (2000); 
 TurnMotorA2 (); Verzögerung (4000); 
 TurnOFFA (); Verzögerung (2000); }} 

Ähnlicher Artikel