Raspberry Pi: Motorsteuerung mit L298N

Diese Seite beschreibt die Motorsteuerung mit L298N und dem Raspberry Pi.
Der L298 ist ein Motortreiber IC.Mit ihm lässt sich eine Motorsteuerung von zwei Gleichstrommotoren realisieren.

Es gibt ihn in einem Multiwatt-Gehäuse oder als SMD-Bauform. Ich nutze das Multiwatt-Gehäuse.

Mit ein wenig Fummeln und Biegen ist es möglich, die Beinchen in eine normale Loch- oder Streifenrasterplatine zu stecken.

Nun geht es an die Pin-Belegung.

Wir benötigen:
– 5V Logikversorgung
– 3,3V Pegel zum Schalten der Eingänge
– Versorgungsspannung der Motoren
– Masseanbindung
– Freilaufdioden

Die 5V liefert der Pi an Pin 2 der GPIO Leiste
Die 3,3V können wir auf die Pins 3,5,7,8,10,11,12,13,15,16,18,19, 21, 22, 23, 24, 26 schalten (wie das per Software realisiert wird, folgt in einem weiteren Tutorial).
Die Masse liegt an Pin 6

Funktion /BCM Name Pin Pin Funktion / BCM Name
3,3V 1 2 5V
GPIO 0 3 4  N.C.
GPIO 1 5 6 GND
GPIO 4 7 8 GPIO 14
 N.C 9 10 GPIO 15
GPIO 17 11 12 GPIO 18
GPIO 21 13 14  N.C
GPIO 22 15 16 GPIO 23
 N.C 17 18 GPIO 24
GPIO 10 19 20  N.C
GPIO 9 21 22 GPIO 25
GPIO 11 23 24 GPIO 8
 N.C 25 26 GPIO 7

Nun wird der Baustein auf einer Leiterplatte platziert.
Bei Streifenraster nicht vergessen, die Leiterbahnen zwischen den Pins zu unterbrechen.
Wenn man sich vorher Gedanken macht und es geschickt anstellt, spart man sich auch viele Drahtbrücken, auf die ich aufgrund fehlender Planung leider zurückgreifen musste.

Input 1 und 2 sind die Eingänge für Motor 1. Diese werden so angeschlossen, dass z.B bei Input 1 High, der Motor 1 vorwärts fährt. Bei Input 2 High fährt er rückwärts.

Sind beide auf High oder beide auf Low, bleibt der Motor stehen. Der Eingang Freigabe A gehört zu Motor 1. Dies bezweckt, dass wenn wir dort 3,3V anlegen, der Motor immer kurzgeschlossen wird wenn er nicht läuft und damit eine starke Bremsung macht. Lässt man diesen Pin offen, läuft der Motor normal aus.
Ich habe die Freigaben fest auf High gelegt.

Ausserdem haben wir noch den Pin Current Sensing A /B.
Sensing A gehört wieder zu unserem Motor 1. Hier kann ein Widerstand angebracht werden um den Strom auszulesen. Ich allerdings benötige dies nicht. In dem Fall muss der Pin mit GND verbunden werden.

Das gleiche Schema verwenden wir nun für Motor 2. Diesmal mit Input 3 und 4, Freigabe B und Sensing B.

Nun gibt es noch gemeinsame Pins. Diese sind:

Logic Supply Voltage: Hier habe ich die 5V aus der RPi GPIO Leiste genutzt. Wird benötigt um die Logik im L298 zu versorgen.

GND: Masse

Supply Voltage: Hier wird die Versorgungsspannung der Motoren angeschlossen (max. 40V)
Diese Spannung beträgt bei mir 8,4V vom Modellbauakku.
Die Zuleitung des Akkus habe ich mit einer 1A Feinsicherung abgesichert.

Beim Abschalten eines Gleichstrommotors kann durch die Selbstinduktion der Spule eine Spannungsspitze entstehen, die den IC schädigen kann. Diese begrenzen wir mit den Freilaufdioden auf die Durchlasspannung (ca. 0,7 V).

Hier ist zu sehen, wie der Baustein anzuschließen ist:

Verschaltung des L298
Quelle:www.strippenstrolch.de

Das Bild zeigt die Schaltung für einen Motor (Eingang 3 und 4 / Ausgang 3 und 4)
Es ist zu empfehlen, dass zwischen Vcc und GND noch 2 Kondensatoren eingebaut werden. Diese verhindern zum einen, dass die Schaltung ins Schwingen gerät, zum anderen kann der benötigte Anlaufstrom teilweise von den Kondensatoren bereitgestellt werden.

Meine Platine im Gehäuse sieht momentan so aus:

Streifenrasterplatine zur Motorsteuerung im Gehäuse

Zu sehen ist hier einmal der L298 (mittig im Bild) und die Freilaufdioden.
Die Eingänge des L298 gehen per Flachbandkabel auf die Steckerleiste des RPis.

Oben im Bild sieht man die Kühlkörper des 7805, der aus den 8,4V meines Modellbauakkus 5V zur Versorgung des PCs erzeugt.
Diese Variante ist sehr ineffektiv, da 3,4V einfach in Wärme verpuffen. Schöner ist dies mit einem DC/DC Wandler zu realisieren.
Die USB-Buchse für den Pi liegt ebenfalls im Gehäuse, sowie die beiden Stecker am linken Rand, die zu den Motoren führen.

L298 als Fertigmodul

L298 als Fertigmodul

Nun noch einige Links zum Thema:

  • Hier gibt’s das Datenblatt zu dem Motortreiber
  • Den L298 gibt’s z.B. bei Conrad
  • Bei Amazon oder eBay, gibt des den L298 als fertig bestücktes Treiberboard für sehr kleines Geld. Sehr praktisch, da komplett fertig beschaltet!
  • Auch ein Blick auf Pollin.de kann sich lohnen, wenn man elektronische Bauteile sucht.

Vielen Dank auch an Strippenstrolch für den Schaltplan!

RC-Car-Chassis mit H-Brückentreiber

RC-Car-Chassis mit H-Brückentreiber

9 Gedanken zu „Raspberry Pi: Motorsteuerung mit L298N

  1. Pingback: Anleitung zur Motorsteuerung online

  2. Hey,

    ich habe damals einfach die Motoren aus einem RC Auto genutzt.

    Danach habe ich das Kettenchassis "Dagu Rover" von EXP Tech als Unterbau genutzt.

    Ich muss zugeben, dass ich bei den Motoren keine besondere Auswahl getroffen habe. Gerade bei dem Kettenchassis reichen 8,7V von einem Modellbauakku völlig aus.

    Der L298 kann bis zu 40V schalten. Von daher.. einfach Testen 😉

  3. Pingback: Gewinnspiel - L298N - elektronX

    • Hey,
      wenn Du die Inputs des Treiberboards meinst, also den L298, dann funktioniert das, ja.
      Laut Datenblatt können die Input und Enable Eingänge bis zu 7V vertragen.

      Die Ein- und Ausgänge des Raspberrys natürlich nicht.
      Ich schätze Du zielst auf eine Verwendung mit dem Arduino ab, oder?

      Gruß
      Christoph

  4. Hallo Christoph,

    ich habe auch schon ein bisschen mit dem L298N rumgespielt, allerdings habe ich mir ein fertiges Board bei Ebay bestellt.
    http://www.ebay.de/itm/331063773943?ssPageName=ST

    Gibt es da für 2,79€ die 5V erzeugt sich das Modul auch gleich noch selbst.

    Habe schon einige Erfahrung mit dem Steuern meiner Motoren wenn du noch Input brauchst, meld dich einfahch.

    Gruß

    Hendrik

Kommentar verfassen