Zum Inhalt springen
Arduino Stepper Schrittmotor

Motorsteuerung eines Schrittmotors (Stepper Motor)

    Stepper-Motor-Steuerung

    Um einen Schrittmotor zu steuern, benötigt man eine H-Bridge. Hier der LD293D. Auch, wenn die Schaltung recht komplex aussieht, ist das Prinzip relativ einfach. Die Ausgänge des Arduino-Boards werden durch die vier Schaltstufen der H-Bridge verstärkt und an den Stepper-Motor geschickt.

    Die Arduino-Software kommt mit der Stepper-Library. Das Beispiel MotorKnob (File>Examples>Stepper>MotorKnob) zeigt, wie sie benutzt wird.

    #include <Stepper.h>
    
    /* STEPS muss auf die Anzahl der Stepps des verwendeten Motors angepasst werden */
    #define STEPS 100
    
    // eine Instanz aus der Klasse Stepper wird erzeugt
    // sie bekommt die Anzahl der Steps und die Pins, an die der Schrittmotor
    // angeschlossen ist übermittelt
    Stepper stepper(STEPS, 8, 9, 10, 11);
    
    int previous = 0;
    
    void setup(){
      stepper.setSpeed(30);  // setzt die Geschwindigkeit des Motors in Umdrehungen pro Minute
    }
    
    void loop(){
      int val = analogRead(0);
      // dreht den Motor ja nach Sensorwert (Potentiometer)
      stepper.step(val - previous);
      previous = val;
    }
    H-Bridge mit externer Stromversorgung
    Bipolarer Stepper mit H-Bridge und externer Stromversorgung

    Ein unipolarer Steppermotor wird übrigens ganz ähnlich angeschlossen und es kann auch derselbe Code verwendet werden:


    Sieh dir jetzt meinen neuen Arduino-Videokurs an: Jetzt ansehen!


    Unipolarer Stepper auf dem Breadboard
    Ein unipolarer Steppermotor auf dem Breadboard. Die gelben Anschlüsse sind die gemeinsamen Verbindungen des jeweils roten und schwarzen Magnetanschlusses.

    Wenn dir das Projekt gefallen hat und du von weiteren interessanten Projekten inspiriert werden willst, sieh dir doch mal mein neues E-Book »Arduino Projekte Volume 1« an!

    • Die beliebtesten Arduino-Projekte von StartHardware
    • Inklusive Schaltplan, Beschreibung und Code
    • Arduino-Schnellstart-Kapitel
    • Kompakter Programmierkurs


    41 Gedanken zu „Motorsteuerung eines Schrittmotors (Stepper Motor)“

    1. Hallo
      Hier ist der Quellcode angezeigt, mit dem man die steps vorher schon bestimmen kann. Hab ich auch verstanden, danke dafür.

      Allerdings will ich ein Touchpanel einbauen, mit dem der Nutzer Geschwindigkeit und steps selber eingeben kann. Wie mache ich das? Ich würde mich sehr über Ideen freuen.

      Liebe Grüße,
      Mimoza

    2. Wie funktioniert die Ansteuerung wenn man einen externen Controller verwendet, also man nur einen Taktausgang benötigt, rechts/links und Start/Stopp?

    3. Lag vermutlich daran, dass bei der Google Bildersuche nach “293d” das erste Bild 12V auf 8 und 16 hat. O_O

    4. Kommentar hier drüber bitte ignorieren. Hatte das irgendwie so in Erinnerung, dass der IP Symetrisch ist und die Versorgung über Enable läuft.

    5. Hallo Stefan (falls du das noch liest),

      müßte bei Bild 2 und 3 nicht Pin 16 des ICs an der externen Spannung, statt an 5V hängen?

    6. Guten Tag, das hier ist eine tolle Seite…

      Ich habe ein Problem ich benötige eine Schrittmotorsteuerung mit Endschalter und Geschwindigkeitsregelung über Poti. Habe schon einiges versucht, nur bin ich leider nicht zu dem Ergebnis gekommen das ich erreichen möchte.
      Wenn mir einer einen Schaltplan inkl. Materialliste und den passenden Code zusenden könnte wäre das echt super. Ich würde Ihn auch für seine mühe entlohnen.
      Mit freundlichen Grüßen
      Marc

    Die Kommentarfunktion ist deaktiviert.