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
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
Anschluss mit getrennter Stromversorgung
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
Veränderung PulsWeite
Gibt es zur Ansteuerung der Pulsweite eine Beschreibung für den Anschluss eines Poti?