Zum Inhalt springen

[Tutorial] Ansteuerung eines bipolaren 4 Phasen-Schrittmotors mit einem L298N Controller Board

Quelle:

http://www.forum-raspberrypi.de/Thread-tutorial-ansteuerung-eines-bipolaren-4-phasen-schrittmotors-mit-einem-l298n-controller-board

 

Hallo Gemeinde,
da ich gerade dabei war mit dem Motor-Controller-Board zu experimentieren, habe ich die Gelegenheit beim Schopf gepackt und versucht, einen etwas grösseren Stepper damit anzusteuern.
Verwendet habe ich solch einen Motor mit 4 Phasen und einer Stromaufnahme von 500 mA pro Phase.

Ihr benötigt:
o.g. Steppermotor oder einen anderen bipolaren, 4-Phasen Stepper
ein L298N Dual H-Bridge Board (wie diese -> hier <-)
einen Mikrocontroller oder SoC Eurer Wahl, der über mindestens vier frei verwendbare IOs verfügt
eine für den Stepper ausreichende Spannungsversorgung (in meinem Fall vier NiMH Akkus a’ 1.2V)
vier kurze Verbindungskabel für den Stecker des Motors
eine 5V Spannungsquelle für die Schaltungs-Logik (vom Mikrocontroller oder SoC dürfte ausreichend sein).

Am besten ihr messt die Motor-Spulen mit einem Multimeter aus, bevor ihr ans Verkabeln geht.
In der Regel sind die vier Anschlüsse des Motors folgendermassen belegt:
Kabel Nr. 1 -> Spule 1, Anschluss 1
Kabel Nr. 2 -> Spule 2, Anschluss 1
Kabel Nr. 3 -> Spule 1, Anschluss 2
Kabel Nr. 4 -> Spule 2, Anschluss 2

Eine sehr schöne Beschreibung des Prinzips eines Stepper-Motors findet ihr übrigens bei rn-wissen oder -> hier <- bei Strippenstrolch.

Das hier verwendete L298N Board hat einen Spannungsregler für 5V verbaut. Es ist also in der Lage, sich von der Spannungsversorgung des Steppers 5V für die Schaltungslogik abzuzweigen.
Das muss nicht unbedingt eine clevere Idee sein, weil Stepper ziemlich viel Strom ziehen können. Im Falle eines Spannungseinbruchs ist dann die Frage, was die Schaltung dann so treibt.
Überhaupt sollte man afaik für Stepper- und Servo-Motoren eine eigene Spannungsversorgung verwenden.
Um die Versorgung der Schaltungslogik von der Spannungsversorgung des Steppers zu entkoppeln, bitte den Jumper in der Nähe des 3fach-Anschluß öffnen (im Bild gelb eingekreist).
Ich habe dieses Beispiel ebenfalls darauf aufgebaut, dass dieser Jumper entfernt ist.

.jpg   L298N_JMP.JPG (Größe: 91,38 KB / Downloads: 1.149)

Nachdem ihr den Jumper entfernt habt, geht es an die Verkabelung, die ziemlich einfach ist.
Zunächst steckt ihr eine Seite der vier Anschlusskabel in den Stecker des Stepper-Motors. Das andere Ende wird jetzt folgendermassen verbunden:
das erste Kabel mit Out2,
das zweite mit Out4,
das dritte Kabel mit Out1
und das vierte mit Out3 des Boards.
Ihr könnt natürlich genau so gut die Adern des Anschlusskabels abisolieren, verzinnen und direkt mit den Anschlüssen des Boards verbinden.
Nun folgt die Spannungsversorgung.
Den mit “+12V” beschrifteten Anschluss verbindet ihr mit dem Pluspol Eurer Spannungsversorgung für den Stepper (in meinem Fall vier AA Akkus).
An den mit “+5V” beschrifteten Anschluss legt ihr die Versorgungs-Spannung für die Elektronik des Boards an. Das kann von der Versorgung des RPi, eines Arduino, … abgezweigt werden.
Achtung! Wenn ihr den Jumper nicht wie oben beschrieben entfernt habt, ist dieser Anschluss ein Ausgang und liefert 5V!
Schliesslich verbindet ihr die beiden Massen und klemmt sie an den Anschluss “GND”.

Nun zur Steuerung.
Der Stepper benötigt vier Steuersignale. Diese werden auf die Pins In1, In2, In3 und In4 gelegt.
Die beiden Jumper ENA und ENB lasst geschlossen. Wie und wofür diese Pins verwendet werden seht ihr, wenn wir in einer der nächsten Anleitungen einen normalen DC Motor steuern.
Die Steuersignale sind dazu da, die Spulen “umzupolen”. Es ist wichtig, dass ihr Euch an folgende Tabelle haltet, weil es sonst zu einem Kurzschluß kommen kann.

Step 1 -> In1 = HIGH, In2 = LOW, In3 = HIGH, In4 = LOW
Step 2 -> In1 = LOW, In2 = HIGH, In3 = HIGH, In4 = LOW
Step 3 -> In1 = LOW, In2 = HIGH, In3 = LOW, In4 = HIGH
Step 4 -> In1 = HIGH, In2 = LOW, In3 = LOW, In4 = HIGH

Verbindet also die vier IOs Eures Mikrocontrollers oder SoC mit den vier Eingängen In1 bis In4.
Im Anhang findet ihr einen sketch für einen Arduino um diese Signale zu erzeugen.
Vielleicht findet sich ja auch ein nettes Menschlein, das einen passendes python-script für den RPi zur Verfügung stellt.
Das ist alles jedenfalls kein Hexenwerk.

Bevor ihr das Ganze in Gang setzt … kontrollieren, kontrollieren …

OK … dann wünschen ich Euch gutes Gelingen.
Bei Fragen oder Problemen -> einfach hier melden.

cheers,
-ds-

Angehängte Dateien

Thumbnail(s)

.gz   HBrueckeStepper.ino.gz (Größe: 969 Bytes / Downloads: 89)

Der Pin mal high, der Pin mal low das macht den Programmierer froh. Icon_thumbs1