Zum Hauptinhalt springen

Schnellstart

Um einen Schrittmotor zum Laufen zu bringen, sind drei Dinge erforderlich: eine logische Verbindung zu Ihrer Steuerung, eine separate Stromversorgung für den Motor und eine Strombegrenzung, die auf den vorhandenen Motor abgestimmt ist. Stellen Sie die Strombegrenzung ein, bevor sich der Motor überhaupt dreht, damit die Spulen niemals stärker belastet werden, als sie ausgelegt sind. Die Vorgehensweise finden Sie unter Hardware-Details.

In den hier gezeigten Beispielen wird der NULA DeepSleep ESP32-S3 als Controller verwendet. Jede Platine mit fünf freien digitalen Pins und 3,3-V- oder 5-V-Logik ist geeignet; lediglich die Pin-Nummern ändern sich.

Sie programmieren den an dieses Breakout-Board angeschlossenen Controller. Das Breakout-Board selbst wird nicht geflasht.

1. Schließen Sie das Breakout-Board an​

RESET und SLEEP müssen beide auf High liegen, damit der Treiber läuft, und beide verfügen über interne Pull-Down-Widerstände, sodass ein nicht angeschlossenes Board im Reset- und Schlafmodus bleibt. Die Arduino-Bibliothek greift niemals auf diese Pins zu. Verbinden Sie sie mit 3V3 und lassen Sie sie dort.

ControllerSchrittmotortreiber-Platine DRV8825
GNDGND (das Pad neben FAULT)
3V3RST
3V3SLEEP
IO5STEP
IO4DIR

Die Motorstromversorgung ist separat und erfolgt nicht über den Controller:

MotorstromversorgungSchrittmotortreiber-Platine DRV8825
8,2 V bis 45 VVIN
GNDGND (die Kontaktfläche neben VIN)

Schließen Sie einen Kondensator über die Motorstromversorgung auf der Platine an. Das eigene Beispiel des MicroPython-Moduls weist darauf hin; den Wert entnehmen Sie bitte dem Datenblatt Ihres Motors.

2. Bibliothek installieren​

Installieren Sie die „Soldered Basic Stepper Driver Arduino Library“ über den Bibliotheksmanager der Arduino-IDE oder laden Sie sie von der unten angegebenen Quelle herunter.

🔗Arduino-Bibliothek für einen gelöteten einfachen Schrittmotortreiber

AccelStepper-basierte Arduino-Bibliothek von Soldered

→

Tipp: Herunterladen von GitHub. Klicken Sie auf der GitHub-Seite der Bibliothek auf die grüne Code-Schaltfläche und wählen Sie ZIP herunterladen; fügen Sie die Bibliothek anschließend in der Arduino-IDE über Sketch → Bibliothek einbinden → .ZIP-Bibliothek hinzufügen... hinzu.

3. Das erste Beispiel ausführen​

Dies ist die Datei ConstantSpeed.ino mit einer Änderung: Der mitgelieferte Sketch ist mit der Standardeinstellung FULL4WIRE erstellt, während dieses Board BasicStepper::DRIVER mit Ihren STEP- und DIR-Pins benötigt. Ansonsten gibt es keine Unterschiede.

Select Board
ConstantSpeed.ino
#include <Basic-Stepper-Driver-SOLDERED.h>

#define dirPin 4
#define stepPin 5

BasicStepper stepper(BasicStepper::DRIVER, stepPin, dirPin);

void setup()
{
stepper.setMaxSpeed(1000);
stepper.setSpeed(200);
}

void loop()
{
stepper.runSpeed();
}

4. Überprüfen Sie das Ergebnis​

Der Motor dreht sich kontinuierlich in eine Richtung mit 200 Schritten pro Sekunde, was bei einem 200-Schritt-Motor im Vollschrittbetrieb etwa einer Umdrehung pro Sekunde entspricht. Es gibt keine serielle Ausgabe, beobachten Sie daher die Welle.

Wenn der Motor brummt oder ruckelt, anstatt sich zu drehen, wendet runSpeed() keine Beschleunigung an und der Motor kann unter Last möglicherweise nicht mit dieser Drehzahl anlaufen. Verringern Sie den Wert von setSpeed(), bis er sich dreht, und erhöhen Sie ihn dann wieder schrittweise.

5. Wenn es nicht funktioniert​

Fahren Sie mit Fehlerbehebung fort und wiederholen Sie dieses kleinste Beispiel nach jeder Änderung.