Ein L298N Motor Treiber oder auch dual H-Bridge / H-Brücke genannt wird verwendet um die Steuerung der Drehrichtung und Geschwindigkeiten von Motoren zu regeln. Diese Aufgabe kann die Logik des Raspberry Pi Computer nicht direkt übernehmen und daher wird ein Motor Treiber benötigt. Ein Single Board Computer (SBC) wie der Raspberyy Pi hat nicht die Leistung DC Motoren oder Schrittmotoren ausreichend mit Energie zu versorgen. Normaler weise arbeitet ein SBC mit Spannungen von 3,3V oder 5,0V und einem sehr schwachen Strom von ca. 30 mA. Ein klassischer DC Motor hingegen arbeitet mit Spannungen von 3V bis 24V und einer Stromstärke von 600mA bis 4A. Ein Schrittmotor arbeitet mit einer Stromstärke von 400mA bis 1,2A bei einer Spannung von 12V.

Es gibt verschiedene Typen von L298N Motor Treibern die auch wieder abhängig sind von den eingesetzten Motoren (DC Motoren, Schrittmotoren, brushless Motoren etc.). Für kleine Roboter werden DC Motoren mit einer Spannung von 3V bis 24V und einer Stromstärke von 0,3A bis 2A verwendet und für diese ist eine H-Brücke wie hier gezeigt ausreichend. Für starke high performance brushless Motoren aus dem RC Modellbau werden spezielle Fahrtenregler benötigt.

L298N Dual H-Brücke DC Motor Treiber Module für Arduino und Raspberry Pi

Der folgende Motor Treiber ist ein günstiges Modell welches über keine LEDs verfügt umd den Status der einzelnen Kanäle anzeigen zu können. Diesen Typ von Motor Treiber setze ich häufig in meinen Roboter Autos ein. Dieser Motortreiber ist ausreichend für die kleinen DC Motoren in den hier gebauten Roboter Autos. Mit der Pulsweiten Modulation PWM ist es möglich die Geschwindigkeit der Motoren pro Kanal zu steuern.

Loading ...

Python Programm – L298N H-Brücke

Für die Ansteuerung des L298N Motortreibers habe ich ein Python Programm entwickelt. Mit diesem Programm welches Ihr als Modul in euer Hauptprogramm einbindet, ist es möglich zwei Motoren des Roboters anzusteuern. Das Python Modul verfügt über die folgenden Funktionen für die Steuerung der Motoren:

  • setMotorMode(motor, mode)
  • setMotorLeft(power)
  • setMotorRight(power)
  • exit()

Innerhalb des Programmes sind die einzelnen Funktionen im Quellcode weiter erklärt.

setMotorMode(motor, mode)

Der erste Eingabeparameter „motor“ legt fest ob der linke oder rechte Motor angesprochen werden soll. Der zweite Eingabeparameter „mode“ legt die Laufrichtung des ausgewählten Motors fest.

setMotorLeft(power) / setMotorRight(power)

Mit dem Eingabeparameter „power“ wird die Drehrichtung (+/-) und die Geschwindigkeit (0 – 1) übergeben.

exit()

Die Funktion „exit()“ besitzt keinen Eingabeparameter und beendet das Programm sauber in dem die GPIO Ausgänge auf False gesetzt werden und diese wieder freigegeben werden.

Das Modul für die Steuerung der H-Brücke sowie ein Beispielprogramm für die Ansteuerung des Moduls stehen auf meiner Seite zum download zur Verfügung. Hier könnt Ihr die Python Programme herunter laden: L298N software download

Technische Beschreibung – L298N H-Brücke

Die Motortreiber ausgeprägt als L298N H-Brücke für kleine Motoren mit nicht mehr als 2 A Stromstärke haben  z. B. die folgendy für sie typische Spezifikation. Generell gibt es aber H-Brücke in ganz unterschiedlicher Größe und Baufrom. Ich habe mich für meine Modelle für die günstige Variante entschieden die ich hier vorstelle. Sie verfügt über LEDs und zeigt mit diesen ann welcher logischer Anschluss gerade aktiv ist also auf HIGH geschalten wurde. Das vereinfacht sehr die Fehelrsuche im eingenen Programm oder in der Verkabelung.

Die typischen Komponenten für ein Roboter-Auto habe ich auf folgender Seite zusammen gefasst: Roboter-Auto Komponenten

[DE_BOOK_DETAIL DE_BOOK_DETAIL=”DE_BOOK_DETAIL”]

Spezifikation L298N Motor Treiber:

Driver chip: L298N Dual H Bridge DC Motor Driver IC
Driven part of the terminal supply voltage: VMS 5V ~ 24V
Driven part of the peak current IO: 2A per bridge
The logical part of the terminal supply voltage: VSS 4.5V ~ 5.5V
The logical part of the operating current range: 0mA ~ 36mA
Control signal input voltage range: 4.5V ~ 5.5V (high) / 0V (low)
Max power consumption: 20W
Operating temperature: -25°C ~ +130°C
Size: 55 x 60 x 30mm

Das folgende Bild zeigt eine L298N H-Brücke und gut zu erkennen sind die vier LEDs unterhalb des Kühllkörpers die die Schaltzustände der logischen Eingänge anzeigen.

l298n motor controller LED

l298n motor controller LED

5V Spannungversorgung

Der 5V Ausgang des Motortreiber der über eine der Anschlussklemmen verfügbar ist, ist nicht ausreichend stabil genug den Raspberry Pi ausreichend mit Strom zu versorgen. Wenn eine höhere Versorgungsspannung als 12V an dem VMS Eingang angelegt wird dann das z.B. den Raspberry Pi beschädigen wenn dieser über den 5V Ausgang des Motor Treibers angeschlossen ist. Der verbaute Spannungswander ist nicht gut genug um einen Arduino oder Rasbperry Pi daran anzuschließen.

Schrittmotor Treiber

Mit den beiden hier vorgestellten Motor Treibern können nicht nur DC Motoren betrieben werden. Es ist auch möglich mit ihnen einen vier Phasen Schrittmotor zu betreiben. Die Spannung und Stromstärke reicht aus gängige NEMA17 Schrittmotoren an dem Motor Treiber anschließen zu können.

(Visited 3.773 times, 1 visits today)