kk logo

Wird ein Elektromotor an eine Spannung angeschlossen, beginnt er sich zu drehen. Er hat einen Anlauf und einen Nachlauf. So kann man nie genau sagen, wie oft er sich gedreht hat. Der Schrittmotor im englischen (stepper motor) hat im Gegensatz zu einen normalen Elektromotor mehrere Wicklungen, die nacheinander Spannungen bekommen. So kann der Motor, wie der Name schon sagt einzelnen Schritte machen. Damit kann man genau sagen wie oft sich der Motor drehen sol und in welchen Geschwindigkeit er das tun soll. Ich habe den Schrittmotor DAYPOWER S-SPSM-5V , mit Platine verwendet.

Dieses Tutorial bezieht sich auf Blogs der letsgoING/ArduBlock2 Version.

 

0 Ardublock letsgoing Stepper Motor Tutorial

Der Verdrahtung ist recht einfach. Die vier ersten Zahlen im Block werden mit vier beliebigen digitalen PINs des Arduino verbunden. Dabei ist nur darauf zu achten dass die richtigen Zahlen zu den richtigen Pins im Block eingetragen werden. Zusätzlich bekommt die Platine nach Spannung (VCC und GND) vom Arduino. Werden mehrere Motoren angeschlossen, dürfen die PINs nicht gleich sein. Ich habe in meinem Beispiel die PINs 8,9,10,11 verwendet. 

1 Ardublock letsgoing Stepper Motor Tutorial

Der Block mit den Schrittmottoren (Stepper) findet sich i´bei "Output" in den blauen Feldern. Es müssen aber die "Grundlagen Felder" aktiviert sein. Ich habe nur den Block  mit den 4 Anschlüssen verwendet. 

2 Ardublock letsgoing Stepper Motor Tutorial

Zuerst die Stepper Motor Nummer eingeben also 1,2,3 usw. je nachdem wie viele Stepper verwendet werden bzw. wie viele PINs noch frei sind. Danach die an den Arduino angeschlossenen PINs eintragen, also IN 1 = Pin 7, IN2 = Pin 8 usw. Zuletzt noch die Anzahl der Schritte eintragen. Diese Angabe findet sich in aller Regel beim Hersteller auf der Anleitung. Wenn unbekannt dann einfach ausprobieren, einen Wert zwischen 50 und 500 sollte passen. 

Mit dem Block "Stepper U/min wird die Geschwindigkeit festgelegt mit der der Stepper sich drehen soll. Bei mir kann hier ein Wert zwischen 30 und 270 Eingetragen werden, darunter und darüber dreht sich der Motor Bauart bedingt nicht. Ggf. weichen die Werte je nach Motor ab. 

Mit dem Block "Stepper Schritte" wird festgelegt wie viele "Schritte" der Stepper machen soll. Einfach gesagt, wie weit/oft sich der Motor drehen soll. 

3 Ardublock letsgoing Stepper Motor Tutorial

Geschwindigkeit des Schrittmotors mit Poti ändern

Soll die Geschwindigkeit mit der sich der Motor dreht verändert werden braucht es nur eine Variable (Poti an A0) die über den Block "zuordnen" begrenzt wird. Damit kann der Wert im Block "Stepper U/min" nicht unter 25 und nicht über 250 kommen. Unter 25 bleibt mein Motor stehen und das Programm läuft auch nicht weiter, vermutlich da es es hier "0 Schritte" kommt. Über ein Serial wird der aktuelle Werte der Variablen anzeigt.  

4 Ardublock letsgoing Stepper Motor Tutorial

Drehrichtung des Schrittmotors ändern

Soll der Stepper Motor sich nach LINKS und RECHTS drehen, müssen im Setup 2 Motoren angelegt werden. Es ist zwar der gleiche Motor aber durch das ändern der Pin Nummer dreht sich der Motor in die andere Richtung. Wird nun im "Programm" für 1000 Schritt der Motor 1 "Block" und für 1000 Schritte der Motor 2 "Block" gesetzt dann dreht sich der Motor eben 1000 Schritt nach links und dann 1000 Schritte nach rechts. 
7 Ardublock letsgoing Stepper Motor Tutorial

Soll die Richtung des Schrittmotors nun durch Taster bzw. digitale Eingänge vorgegeben werden, dann braucht es nur eine "falls" Bedingung im "dann" Teil. Wichtig ist den "Stepper Schritte" Block passend einzustellen. Denn nach einem Tastendruck wird die eingetragenen Schritte ausgeführt. Steht 2000 im Block dann werden diese auch ausgeführt bevor die Drehrichtung geändert werden kann. 

6 Ardublock letsgoing Stepper Motor Tutorial

King of my heart

Let the King of my heart
Be the mountain where I run
The fountain I drink from
Oh, He is my song

Ronnie

schwäbischer tüftler und bastler, kraftsportler, ADHS power, 43 Jahre, 1 Frau, 5 Kinder und 1003 Ideen. 

ronnie berzins at mee