L298N Motortreiber mit Arduino ansteuern

Benötigte Komponenten

  • Arduino UNO kompatibles Board + USB-Kabel
  • 2 DC-Motoren
  • Mind. 4 Dupontkabel Buchse-Stecker
  • DC 5-12V Stromversorgung

Übersicht L298N Modul

Mit dem L298N Modul lassen sich zwei DC-Motoren unabhängig voneinander und in beide Richtungen steuern. Sie können auch vier Motoren gleichzeitig anschließen und paarweise ansteuern. Das L298N Modul besteht aus einer doppelten H-Brücke und eignet sich ideal für Robotik-Projekte und ferngesteuerte Autos. Mit dem L298N Modul können Sie auch einen Schrittmotor steuern, darauf gehen wir in dieser Anleitung aber nicht ein.

Pinbelegung

 Pinbelegung-L298NiUeLFYN9LOC5L

Pinbelegung-L298N-Modul

Funktionsweise

Ansteuerung des L298N Moduls

Den ersten Motor Schließen Sie an OUT1 und OUT2 an, den zweiten an OUT3 und OUT4. Wenn der erste Motor in eine Richtung drehen soll, legen Sie ein High Signal an IN1 und LOW an IN2, diese Pins entsprechen OUT1 und OUT2 am Ausgang. Um die Richtung umzudrehen, drehen Sie die Signale um. Dasselbe Funktioniert auch beim zweiten Motor.

Hier ist die Steuerung von zwei Motoren aufgeschlüsselt:

IN1

IN2

IN3

IN4

Richtung

0

0

0

0

Stop

1

0

1

0

Vorwärts

0

1

0

1

Rückwärts

1

0

0

1

Links

0

1

1

0

Rechts

 

Geschwindigkeit steuern

Um die Geschwindigkeit zu regulieren, besitzt das Modul die Pins ENA und ENB. Diese Pins werden mit PWM angesteuert und passen je nach Pulslänge die Rotation der Motoren an. Je weiter das Pulssignal, desto schneller dreht sich der Motor. Die exakte Pulsweite ist je nach Motor verschieden, selbst bei Baugleichen Modellen – da ist Experimentieren gefragt.

Stromversorgung

Zur Stromversorgung von Microcontrollern besitzt das Modul den 5V Ausgang, der versorgt wird, solange der 12V Jumper gesetzt ist. Bei einer Eingangsspannung über 12V, müssen Sie den 12V Jumper entfernen. Damit aktivieren Sie die Stromversorgung zum integrierten 5V Spannungswandler. An den 12V Anschluss können Sie eine Eingangsspannung von DC 7V bis 35V anlegen.

Anschlussplan

 

L298N

Arduino

ENA

10

ENB

5

IN1

9

IN2

8

IN3

7

IN4

6

Der Anschluss der Stromversorgung kann je nach Situation angepasst werden. Sie können das Modul entweder mit dem Arduino, getrennt oder an einer Stromversorgung anschließen.

Anschluss mit gemeinsamer Stromversorgung

L298N_Arduino_Zusammen_Steckplatine_resize

Anschluss mit getrennter Stromversorgung

L298N_Arduino_Separat_Steckplatine_resize

 

Code für Arduino

 

//Motoranschluesse
// Sie können hier die Pinbelegung beliebig aendern
#define EnA 10
#define EnB 5
#define In1 9
#define In2 8
#define In3 7
#define In4 6
 
 
void setup()
{
  // Pins als Output deklarieren
  pinMode(EnA, OUTPUT);
  pinMode(EnB, OUTPUT);
  pinMode(In1, OUTPUT);
  pinMode(In2, OUTPUT);
  pinMode(In3, OUTPUT);
  pinMode(In4, OUTPUT);
}
void vorwaerts()   //beide Motoren vorwärts drehen lassen
{
  // Motor A einschalten
  digitalWrite(In1, HIGH);
  digitalWrite(In2, LOW);
  // Geschwindigkeit 150 von max. 255
  analogWrite(EnA, 200);
  // Motor A einschalten
  digitalWrite(In3, HIGH);
  digitalWrite(In4, LOW);
  // Geschwindigkeit 150 von max. 255
  analogWrite(EnB, 200);
  delay(2000);
  // alle Motoren ausschalten
  digitalWrite(In1, LOW);
  digitalWrite(In2, LOW);  
  digitalWrite(In3, LOW);
  digitalWrite(In4, LOW);
}
void loop()
{
  vorwaerts();
  delay(1000);

}

 

Beispiel mit Potentiometer

Mit diesem Aufbau können Sie die Geschwindigkeit des Motors mit einem Potentiometer steuern. Hier der Arduino Code mit Potentiometer

L298N_Arduino_Potentiometer_Steckplatine

Schlagworte: Arduino, Anleitung

Die mit einem * markierten Felder sind Pflichtfelder.

  • Veränderung PulsWeite

    Gibt es zur Ansteuerung der Pulsweite eine Beschreibung für den Anschluss eines Poti?