Arduino Nano - DRV8825-Schrittmotor-Treiber

In diesem Leitfaden werden wir den DRV8825-Schrittmotortreiber erkunden und lernen, wie man ihn mit dem Arduino Nano betreibt, um den Schrittmotor zu steuern. Wir werden Folgendes behandeln:

Arduino Nano DRV8825-Modul

Erforderliche Hardware

1×Official Arduino Nano
1×Alternativ: DIYables ATMEGA328P Nano Development Board
1×USB-A-zu-Mini-B-Kabel
1×Stepper Motor Nema 17
1×DRV8825 Stepper Motor Driver
1×Expansion Board for DRV8825 Motor Driver
1×12V Netzteil
1×DC-Stromanschluss
1×Verbindungskabel
1×(Empfohlen) Schraubklemmen-Erweiterungsboard für Arduino Nano
1×(Empfohlen) Breakout-Erweiterungsboard für Arduino Nano
1×(Empfohlen) Stromverteiler für Arduino Nano

Oder Sie können die folgenden Kits kaufen:

1×DIYables Sensor-Kit (30 Sensoren/Displays)
1×DIYables Sensor-Kit (18 Sensoren/Displays)
Offenlegung: Einige der in diesem Abschnitt bereitgestellten Links sind Amazon-Affiliate-Links. Wir können eine Provision für Käufe erhalten, die über diese Links getätigt werden, ohne zusätzliche Kosten für Sie. Wir schätzen Ihre Unterstützung.

Über DRV8825-Schrittmotor-Treiber

Der DRV8825 ist ein beliebtes Modul zur Ansteuerung bipolarer Schrittmotoren, das häufig in CNC-Maschinen, 3D-Druckern und Robotern eingesetzt wird. Es bietet eine einstellbare Stromregelung, Temperaturschutzfunktionen und mehrere Mikroschrittoptionen wie Vollschritt, 1/2, 1/4, 1/8, 1/16 und 1/32. Dieses Modul unterstützt bis zu 2,2 A pro Spule bei ausreichender Kühlung und arbeitet in einem Spannungsbereich von 8,2 V bis 45 V, um verschiedene Schrittmotoren zu betreiben.

Um die Grundlagen von Schrittmotoren wie Vollschritt, Mikroschritte, unipolarer Schrittmotor und bipolarer Schrittmotor zu verstehen, schauen Sie sich den Arduino Nano - Stepper Motor Anleitung an.

Es ist erstaunlich, dass die Steuerung der Geschwindigkeit und der Richtung eines einfachen Schrittmotors wie dem NEMA 17 nur zwei Pins des Arduino Nano benötigt.

DRV8825-Schrittmotor-Treiber Pinbelegung

DRV8825-Modul Pinbelegung

Der DRV8825-Schrittmotortreiber hat 16 Pins. Hier ist ein gängiges Layout für die DRV8825-Schrittmotortreiberplatine. Beachten Sie, dass einige Versionen der Platine die Pins möglicherweise etwas anders benennen, aber ihre Funktionen sind dieselben.

Pin Name Description
VMOT Motor power supply (8.2 V to 45 V). This powers the stepper motor.
GND (for Motor) Ground reference for the motor power supply. Connect this pin to the GND of the motor power supply
2B, 2A Outputs to Coil B of the stepper motor.
1A, 1B Outputs to Coil A of the stepper motor.
FAULT Fault Detection Pin. This is an output pin that drives LOW whenever the H-bridge FETs are disabled as the result of over-current protection or thermal shutdown.
GND (for Logic) Ground reference for the logic signals. Connect this pin to the GND of Arduino Nano
ENABLE Active-Low pin to enable/disable the motor outputs. LOW = Enabled, HIGH = Disabled.
M1, M2, M3 Microstepping resolution selector pins (see table below).
RESET Active-Low reset pin - pulling this pin LOW resets the driver.
SLEEP Active-Low sleep pin - pulling this pin LOW puts the driver into low-power sleep mode.
STEP Step input - a rising edge on this pin advances the motor by one step (or one microstep, depending on microstepping setting).
DIR Direction input - sets the rotation direction of the stepper motor.

Außerdem gibt es einen winzigen eingebauten Drehknopf, mit dem man die Strombegrenzung einstellen kann, um zu verhindern, dass der Schrittmotor und der Treiber zu heiß werden.

Kurz gesagt, werden diese 16 Pins basierend auf ihrer Funktion in die folgenden Typen eingeteilt:

  • Pins, die mit dem Schrittmotor verbunden sind: 1A, 1B, 2A, 2B.
  • Pins, die mit dem Arduino Nano verbunden sind, um den Treiber zu steuern: ENABLE, M1, M2, M3, RESET, SLEEP.
  • Pins, die mit dem Arduino Nano verbunden sind, um die Drehrichtung und Geschwindigkeit des Motors zu steuern: DIR, STEP.
  • Pin zur Rückmeldung an den Arduino Nano: FAULT.
  • Pins, die mit der Stromversorgung des Motors verbunden sind: VMOT, GND (Motormasse).
  • Pin, der mit der Masse des Arduino Nano verbunden ist: GND (Logikmasse).

Das DRV8825-Modul benötigt keine Stromversorgung vom Arduino Nano für seine Logik, da es aus der Stromversorgung des Motors über seinen integrierten 3,3-V-Spannungsregler mit Strom versorgt wird. Trotzdem ist es entscheidend, die Masse des Arduino Nano mit dem GND (Logik)-Pin am DRV8825-Modul zu verbinden, um sicherzustellen, dass es ordnungsgemäß funktioniert und eine gemeinsame Masse teilt.

Mikroschritt-Konfiguration

Der DRV8825-Treiber ermöglicht Mikroschritte, indem jeder Schritt in kleinere Teile unterteilt wird. Dies geschieht, indem unterschiedliche Stromstärken an die Motorspulen gesendet werden.

Zum Beispiel ein NEMA-17-Motor mit einem Schrittwinkel von 1,8° (200 Schritte pro Umdrehung):

  • Vollschrittmodus: 200 Schritte pro Umdrehung
  • Halbschrittmodus: 400 Schritte pro Umdrehung
  • Viertelschrittmodus: 800 Schritte pro Umdrehung
  • Achtelschrittmodus: 1600 Schritte pro Umdrehung
  • Sechzehntelschrittmodus: 3200 Schritte pro Umdrehung
  • Zweiunddreißigstelsschrittmodus: 6400 Schritte pro Umdrehung

Wenn Sie die Mikroschrittauflösung erhöhen, läuft der Motor glatter und genauer, aber er benötigt mehr Schritte für eine vollständige Umdrehung. Wenn Sie dieselbe Frequenz der Schrittimpulse beibehalten (Impulse pro Sekunde), wird jede vollständige Umdrehung mehr Zeit in Anspruch nehmen, wodurch der Motor langsamer wird.

Wenn dein Mikrocontroller Impulse schnell genug senden kann, um die höhere Schrittzahl zu erreichen, kannst du die Geschwindigkeit beibehalten oder sogar erhöhen. Die eigentliche Grenze hängt davon ab, wie schnell sowohl der Treiber als auch dein Mikrocontroller diese Impulse verarbeiten können, ohne Schritte zu verpassen.

DRV8825 Mikroschritt-Auswahlpins

Der DRV8825 verfügt über drei Eingänge zur Auswahl der Mikro-Schrittauflösung: die Pins M0, M1 und M2. Durch das Festlegen dieser Pins auf bestimmte Logikpegel können Sie aus sechs verschiedenen Mikro-Schrittauflösungen wählen:

M0 Pin M1 Pi M2 Pi Microstep Resolution
Low Low Low Full step
High Low Low Half step
Low High Low 1/4 step
High High Low 1/8 step
Low Low High 1/16 step
High Low High 1/32 step
Low High High 1/32 step
High High High 1/32 step

Diese winzigen Auswahlpins verfügen über integrierte Widerstände, die sie auf LOW-Pegel ziehen und sie damit normalerweise im LOW-Zustand halten. Wenn sie nicht verbunden sind, arbeitet der Motor im Vollschrittmodus.

Wie es funktioniert

Um einen Schrittmotor mit dem DRV8825-Modul zu betreiben, benötigen Sie mindestens zwei Pins des Arduino Nano: Einen für den DIR-Pin und einen weiteren für den STEP-Pin. Der DRV8825 decodiert diese Signale vom Arduino Nano, um den Schrittmotor präzise zu bewegen.

  • STEP-Pin: Jeder Puls am STEP-Pin bewegt den Motor um einen Mikroschritt oder einen Vollschritt, abhängig von Ihrer Konfiguration.
  • DIR-Pin: Legt fest, in welche Richtung der Motor dreht.

Der Treiber verwendet diese Signale und seine Einstellungen, um Steuerbefehle an den Motor über die Pins 1A, 1B, 2A und 2B zu senden.

Sie können auch zusätzliche Pins am DRV8825-Modul (ENABLE, M1, M2, M3, RESET, SLEEP) auf drei Arten einrichten:

  • Trenne sie, damit der Treiber mit Basiseinstellungen arbeitet.
  • Schließe sie direkt an GND oder VCC an, um einen stabilen Modus zu erreichen.
  • Verbinde sie mit den Pins des Arduino Nano, um diese Funktionen aktiv in deiner Programmierung zu steuern.

Verdrahtungsdiagramm zwischen Arduino Nano, DRV8825-Modul und Schrittmotor

Das Diagramm unten zeigt die grundlegenden Verbindungen, die zwischen dem Arduino Nano, dem DRV8825-Modul und dem Schrittmotor erforderlich sind. Mit dieser Konfiguration arbeitet der DRV8825-Treiber im Standardmodus (Vollschritt).

Arduino Nano DRV8825-Schrittmotor-Treiber-Verdrahtungsdiagramm

Dieses Bild wurde mit Fritzing erstellt. Klicken Sie, um das Bild zu vergrößern.

Siehe Der beste Weg, den Arduino Nano und andere Komponenten mit Strom zu versorgen.

Im Detail:

  • VMOT: Anschließen an die Stromquelle des Motors (z. B. 12 V).
  • GND (für Motor): Mit dem Masseanschluss der Stromversorgung des Motors verbinden.
  • 1A, 1B, 2A, 2B: Diese mit den Spulen des Schrittmotors verbinden.
  • STEP: Mit dem digitalen Pin D4 des Arduino Nano verbinden.
  • DIR: Mit dem digitalen Pin D3 des Arduino Nano verbinden.
  • GND (für Logik): Mit dem GND-Pin des Arduino Nano verbinden.
  • Andere Pins: Nicht verbinden.

Arduino Nano Quellcode

/* * Dieser Arduino Nano Code wurde von newbiely.de entwickelt * Dieser Arduino Nano Code wird der Öffentlichkeit ohne jegliche Einschränkung zur Verfügung gestellt. * Für vollständige Anleitungen und Schaltpläne besuchen Sie bitte: * https://newbiely.de/tutorials/arduino-nano/arduino-nano-drv8825-stepper-motor-driver */ // Include the AccelStepper Library #include <AccelStepper.h> // Define the Arduino Nano pin connections #define STEP_PIN 4 #define DIR_PIN 3 // Creates an instance AccelStepper stepper(AccelStepper::DRIVER, STEP_PIN, DIR_PIN); void setup() { // set the maximum speed, acceleration factor, // initial speed and the target position stepper.setMaxSpeed(1000); stepper.setAcceleration(200); stepper.setSpeed(200); stepper.moveTo(200); } void loop() { // Change direction once the motor reaches target position if (stepper.distanceToGo() == 0) stepper.moveTo(-stepper.currentPosition()); stepper.run(); // Move the motor one step }

Schnelle Schritte

  • Kopieren Sie den Code und starten Sie die Arduino-IDE.
  • Gehen Sie zum Bibliotheken-Abschnitt im linken Menü der Arduino-IDE.
  • Suchen Sie nach „AccelStepper“ und finden Sie die AccelStepper-Bibliothek von Mike McCauley.
  • Drücken Sie die Installieren-Schaltfläche, um die AccelStepper-Bibliothek hinzuzufügen.
Arduino Nano AccelStepper-Bibliothek
  • Kopieren Sie den Code und öffnen Sie ihn in der Arduino IDE
  • Klicken Sie im Arduino IDE auf die Hochladen-Schaltfläche, um den Code auf den Arduino Nano hochzuladen
  • Sie werden sehen, wie sich der Motor hin und her bewegt

Wenn du den Motor im Vollschrittbetrieb betreibst, ist seine Bewegung möglicherweise nicht besonders gleichmäßig, was normal ist. Für eine sanftere Bewegung schalte den Mikro-Schrittbetrieb ein, indem du die Pins M1, M2 und M3 setzt.

Video Tutorial

Wir erwägen die Erstellung von Video-Tutorials. Wenn Sie Video-Tutorials für wichtig halten, abonnieren Sie bitte unseren YouTube-Kanal , um uns zu motivieren, die Videos zu erstellen.

※ UNSERE NACHRICHTEN

  • Sie können gerne den Link zu diesem Tutorial teilen. Bitte verwenden Sie jedoch unsere Inhalte nicht auf anderen Websites. Wir haben viel Mühe und Zeit in die Erstellung der Inhalte investiert, bitte respektieren Sie unsere Arbeit!