webwinkelkeur logo

4.7 Ø

5139+ Bewertungen
webwinkelkeur logoAlle ansehen

5139+ Bewertungen

5139+ Bewertungen

Bestellen bis 16:00 Uhr für Versand am selben Tag

14 Tage Rückgabe

DE

Privat

Geschäftlich

GPIO-Projekt 7 – Schrittmotor-Einführung

Anfänger
30 Minuten
114,90

In diesem Projekt lernen Sie, wie Sie einen Schrittmotor mit einem Raspberry Pi steuern. Ein Schrittmotor dreht sich in präzisen Schritten und ermöglicht Ihnen so eine genaue Steuerung der Bewegungen. Dieses Projekt verwendet einen 28BYJ-48-Schrittmotor und einen ULN2003-Treiber.

Anschlussplan

  1. Verbinden Sie den Schrittmotor mit dem ULN2003-Treiber:
    • Verbinden Sie den Schrittmotorstecker mit dem Header des ULN2003-Treibers.
  2. Verbinden Sie den ULN2003-Treiber mit dem Raspberry Pi:
    • IN1: Verbinden mit GPIO 17 (Pin 11).
    • IN2: Verbinden mit GPIO 27 (Pin 13).
    • IN3: Verbinden mit GPIO 22 (Pin 15).
    • IN4: Verbinden mit GPIO 23 (Pin 16).
  3. Stromversorgung für den ULN2003-Treiber:
    • VCC: An 5 V (Pin 2) anschließen.
    • GND: Mit GND (Pin 6) verbinden.

Pinout Reference

GPIO

Pin #

Function

Connection

GPIO 17Pin 11IN1ULN2003 driver
GPIO 27Pin 13IN2ULN2003 driver
GPIO 22Pin 15IN3ULN2003 driver
GPIO 23Pin 16IN4ULN2003 driver
5VPin 2NutritionULN2003 driver
GNDPin 6Earth (Ground)ULN2003 driver

Python-code in Thonny

Schritt 1: RPi.GPIO installieren

Überprüfen Sie, ob die Bibliothek RPi.GPIO installiert ist. Dies ist im Raspberry Pi-Betriebssystem normalerweise Standard.

pip install RPi.GPIO

Schritt 2: Schreiben Sie Ihren Code

Öffnen Sie die Thonny Python IDE und geben Sie den folgenden Code ein:

import RPi.GPIO as GPIO
from time import sleep

# GPIO-pinnen koppelen aan ULN2003 IN-pinnen
IN1 = 17
IN2 = 27
IN3 = 22
IN4 = 23

# Pinnen instellen
GPIO.setmode(GPIO.BCM)
GPIO.setup(IN1, GPIO.OUT)
GPIO.setup(IN2, GPIO.OUT)
GPIO.setup(IN3, GPIO.OUT)
GPIO.setup(IN4, GPIO.OUT)

# Stepper motor sequence (4-fase stappen)
step_sequence = [
    [1, 0, 0, 0],
    [1, 1, 0, 0],
    [0, 1, 0, 0],
    [0, 1, 1, 0],
    [0, 0, 1, 0],
    [0, 0, 1, 1],
    [0, 0, 0, 1],
    [1, 0, 0, 1]
]

def set_step(w1, w2, w3, w4):
    """Stel de status van de motorpinnen in."""
    GPIO.output(IN1, w1)
    GPIO.output(IN2, w2)
    GPIO.output(IN3, w3)
    GPIO.output(IN4, w4)

def step_motor(steps, delay, reverse=False):
    """Draai de motor een aantal stappen."""
    if reverse:
        sequence = step_sequence[::-1]  # Keer de sequentie om
    else:
        sequence = step_sequence
    
    for _ in range(abs(steps)):
        for step in sequence:
            # Zorg ervoor dat elke stap 4 waarden bevat
            if len(step) == 4:
                set_step(*step)
            else:
                raise ValueError("Step sequence must contain exactly 4 values")
            sleep(delay)

try:
    print("Stepper motor draait vooruit...")
    step_motor(512, 0.002)  # Draai 512 stappen vooruit
    sleep(1)

    print("Stepper motor draait achteruit...")
    step_motor(512, 0.002, reverse=True)  # Draai 512 stappen achteruit
    sleep(1)

except KeyboardInterrupt:
    print("\nProgramma gestopt.")
finally:
    GPIO.cleanup()  # Reset de GPIO-instellingen

Schritt 3: Speichern Sie die Datei

Klicken Sie auf Datei > Speichern unter und benennen Sie die Datei stepper_motor_intro.py.

Schritt 4: Führen Sie das Skript aus

Klicken Sie oben in der Thonny-Benutzeroberfläche auf die grüne Schaltfläche Ausführen (▶).

 

Wie funktioniert es?

  1. Schrittfolge:
    • Die Engine durchläuft die Sequenzen in der step_sequence -Liste zum Aktivieren.
    • Der Schrittmotor()< span style="background-color:transparent;color:#000000;">Die Funktion prüft, wie viele Schritte der Motor macht und wie schnell die Schritte sind.
  2. Geschwindigkeit anpassen:
    • Passen Sie den Wert von Verzögerung an ein im Schrittmotor()Funktion zum Ändern der Motorgeschwindigkeit.
  3. Richtung anpassen:
    • Verwenden Sie einen negativen Wert für Schritte um den Motor in die andere Richtung zu drehen.

Ergebnis

  • Vorwärtsdrehung: Der Schrittmotor dreht sich 512 Schritte vorwärts (eine volle Drehung).
  • Rückwärtsdrehung: Der Schrittmotor dreht sich 512 Schritte rückwärts.

Experimentieren

  1. Geschwindigkeit anpassen:
    • Ändern Sie den Wert von Verzögerung in Schrittmotor() (zum Beispiel 0,001 für schnellere oder 0,005 für langsamere Geschwindigkeit).
  2. Anzahl der Schritte anpassen:
    • Passen Sie die Anzahl der Schritte an, um eine halbe Drehung (256 Schritte) oder mehrere Drehungen durchzuführen.
  3. Kombinierte Bewegungen:
    • Kombinieren Sie Vorwärts- und Rückwärtsbewegungen mit unterschiedlichen Geschwindigkeiten, um komplexe Bewegungen zu erstellen.