- Einführung
Der Raspberry Pi ist ein beliebter Einplatinencomputer, der häufig in Hobby- und Industrieprojekten eingesetzt wird. Es handelt sich im Wesentlichen um einen kleinen Computer in der Größe einer Kreditkarte. Er wird in verschiedenen Projekten häufig verwendet, darunter auch die Steuerung von Schrittmotoren – eine gängige Aufgabe in Bewegungssteuerungsanwendungen. In diesem Artikel erfahren Sie, wie Sie mit der Programmiersprache Python und der Bibliothek RPi.GPIO einen Schrittmotor steuern können, einschließlich der entsprechenden Verdrahtungsanweisungen.
- Benötigte Materialien
- Raspberry Pi (Raspberry Pi 3B+ oder neuer empfohlen)
- Schrittmotor (z. B. NEMA 17)
- Schrittmotor-Treibermodul (z. B. DRV8825 oder A4988)
- Steckbrücken (DuPont-Steckverbinder)
- 12V DC-Netzteil
- Steckbrett (optional)
- Entkopplungskondensator (z. B. 100 µF Elektrolytkondensator)
- Verdrahtungsanweisungen
Sicherheitshinweis: Schließen Sie immer zuerst die Motor- und Treiberverdrahtung an, bevor Sie die Stromversorgung einschalten. Überprüfen Sie alle Verbindungen doppelt, um Schäden am Raspberry Pi oder am Treibermodul zu vermeiden.
- Verbinden Sie die vier Drähte des Schrittmotors mit den Pins A1, A2, B1 und B2 des Motortreibermoduls.
- Verbinden Sie den Pluspol des 12V-Netzteils mit dem VMOT-Pin des Treibermoduls und den Minuspol mit dem GND-Pin. Platzieren Sie einen Entkopplungskondensator (z. B. 100 µF Elektrolytkondensator) zwischen VMOT und GND, so nah wie möglich am Treibermodul, um Spannungsspitzen zu unterdrücken.
- Verbinden Sie den 5V-Stromversorgungs-Pin (physischer Pin 2 oder Pin 4) des Raspberry Pi mit dem VCC-Pin des Treibermoduls und verbinden Sie einen GND-Pin (z. B. physischer Pin 6) mit dem GND-Pin des Treibermoduls.
- Verbinden Sie die folgenden BCM-GPIO-Pins des Raspberry Pi mit den entsprechenden Pins des Treibermoduls:
| Raspberry Pi GPIO (BCM) | Physischer Pin | Treibermodul-Pin |
|---|---|---|
| GPIO 17 | Pin 11 | DIR |
| GPIO 18 | Pin 12 | STEP |
| GPIO 27 | Pin 13 | MS1 |
| GPIO 22 | Pin 15 | MS2 |
| GPIO 23 | Pin 16 | ENABLE |
Tipp: Der ENABLE-Pin der meisten A4988/DRV8825-Module ist aktiv-niedrig. Durch Ziehen auf LOW wird der Treiberausgang aktiviert.
- Python-Code-Implementierung
Installieren Sie zunächst die Bibliothek RPi.GPIO. Geben Sie die folgenden Befehle im Terminal ein:
sudo apt-get update
sudo apt-get install python3-rpi.gpio
Erstellen Sie als Nächstes eine Python-Datei mit dem Namen stepper_motor.py und geben Sie den folgenden Code ein:
import time
import RPi.GPIO as GPIO
# Define pins (BCM numbering)
DIR = 17
STEP = 18
MS1 = 27
MS2 = 22
ENABLE = 23
# Set GPIO mode
GPIO.setmode(GPIO.BCM)
GPIO.setup(DIR, GPIO.OUT)
GPIO.setup(STEP, GPIO.OUT)
GPIO.setup(MS1, GPIO.OUT)
GPIO.setup(MS2, GPIO.OUT)
GPIO.setup(ENABLE, GPIO.OUT)
# Enable driver and set direction
GPIO.output(ENABLE, GPIO.LOW) # Enable driver (active-low)
GPIO.output(DIR, GPIO.HIGH) # Clockwise direction
# Set stepping mode based on driver model (e.g., A4988)
GPIO.output(MS1, GPIO.HIGH) # 1/4 step
GPIO.output(MS2, GPIO.LOW)
# Control motor rotation
steps = 200
delay = 0.001 # Shorter delay for faster speed
for _ in range(steps):
GPIO.output(STEP, GPIO.HIGH)
time.sleep(delay)
GPIO.output(STEP, GPIO.LOW)
time.sleep(delay)
# Clean up GPIO
GPIO.cleanup()
Speichern Sie abschließend die Datei und führen Sie sie im Terminal aus:
python3 stepper_motor.py
- Zusammenfassung
Dieser Artikel hat vorgestellt, wie man einen Raspberry Pi zur Steuerung eines Schrittmotors verwendet, einschließlich Verdrahtungsanweisungen und Python-Code unter Verwendung der Bibliothek RPi.GPIO. Sie können die Motorsteuerung einfach durch Befolgen dieser Schritte erreichen. Passen Sie die Parameter im Code (wie Schrittanzahl, Verzögerung und Mikroschritt-Einstellungen) entsprechend Ihren Projektanforderungen an.