Skip to content

Technik Blog

Programmieren | Arduino | ESP32 | MicroPython | Python | Raspberry Pi | Raspberry Pi Pico

Menu
  • Smarthome
  • Gartenautomation
  • Arduino
  • ESP32 & Co.
  • Raspberry Pi & Pico
  • Solo Mining
  • Deutsch
  • English
Menu

Praxisbericht: Wie man den Nema 17 Schrittmotor mit dem DM420 Treiber und Arduino zum Laufen bringt

Posted on 22. September 202310. März 2024 by Stefan Draeger

In Vorbereitung auf ein aufregendes Kundenprojekt, bei dem der leistungsstarke Mikrocontroller ESP32 zum Einsatz kommen soll, habe ich mich zunächst dafür entschieden, meine Erfahrungen mit dem Arduino zu vertiefen. Insbesondere interessierte mich die Ansteuerung des Nema 17 Schrittmotors, und hierbei erwies sich der DM420 Schrittmotortreiber als ideale Wahl. In diesem Beitrag teile ich meine Erkenntnisse und Praxiserfahrungen, wie man den Nema 17 Schrittmotor erfolgreich mit dem DM420 Treiber am Arduino einsetzt. Diese ersten Schritte ermöglichten es mir, eine solide Grundlage zu schaffen, bevor ich mich auf das eigentliche Kundenprojekt mit dem ESP32 vorbereite.

Bitte beachte, dass ich aufgrund von Vertraulichkeitsvereinbarungen zum aktuellen Kundenprojekt keine weiteren Informationen oder Einzelheiten preisgeben kann. Der Fokus dieses Beitrags liegt daher ausschließlich auf meinen persönlichen Erfahrungen und Erkenntnissen bei der Verwendung des Nema 17 Schrittmotors mit dem DM420 Schrittmotortreiber am Arduino. Ich bitte um Verständnis dafür, dass ich vorerst keine weiteren Informationen zum eigentlichen Projekt offenlegen kann.

Inhaltsverzeichnis

  • Erforderliche Komponenten: Nema 17, DM420, Arduino
  • Vorsicht beim Wiederverwenden eines Mikrocontrollers aus alten Projekten!
  • Schritt für Schritt: Anschließen von Nema 17, DM420 und Arduino
    • Anschluss des Schrittmotors Nema 17 an DM420
    • Spannungsversorgung für den Motor Nema 17
    • DIP Switch Einstellungen
  • Programmieren in der Arduino IDE
  • Quellenangabe

Erforderliche Komponenten: Nema 17, DM420, Arduino

Bevor wir die Schaltung am Arduino UNO R3 aufbauen können, stellen wir sicher, dass alle erforderlichen Komponenten bereitstehen:

  • eine Arduino UNO R3*,
  • ein USB-Datenkabel*,
  • ein Schrittmotor Nema 17*,
  • ein Schrittmotortreiber DM420*,
  • ein Netzteil mit 12V* (mit min. 1,7 A Leistung),
  • diverse Breadboardkabel*, männlich – männlich

Hinweis von mir: Die mit einem Sternchen (*) markierten Links sind Affiliate-Links. Wenn du über diese Links einkaufst, erhalte ich eine kleine Provision, die dazu beiträgt, diesen Blog zu unterstützen. Der Preis für dich bleibt dabei unverändert. Vielen Dank für deine Unterstützung!

Vorsicht beim Wiederverwenden eines Mikrocontrollers aus alten Projekten!

Wenn du wie ich deine Mikrocontroller in mehreren Projekten verwendest, dann solltest du bevor du die Schaltung aufbaust, den Speicher des Mikrocontrollers leeren.

Das geht am einfachsten, indem du ein leerer Sketch / Programm auf diesen mit deiner Entwicklungsumgebung aufspielst.

void setup() {
  // put your setup code here, to run once:

}

void loop() {
  // put your main code here, to run repeatedly:

}

Schritt für Schritt: Anschließen von Nema 17, DM420 und Arduino

Nachdem wir alle erforderlichen Komponenten zusammengestellt haben, bauen wir die Schaltung auf.

Scvhaltung - Nema 17 Schrittmotor am Arduino UNO R3 mit Schrittmotortreiber DM420
Scvhaltung – Nema 17 Schrittmotor am Arduino UNO R3 mit Schrittmotortreiber DM420
BauteilArduino UNO R3
DM420
PULdigitaler Pin D5
DIRdigitaler Pin D4
+5V5V
ENBLdigitaler Pin D3
Taster – rechts
Pin 1GND
Pin 2digitaler Pin D6
Taster – links
Pin 1GND
Pin 2digitaler Pin D7

Anschluss des Schrittmotors Nema 17 an DM420

Der Schrittmotor Nema 17 verfügt über vier Kabel, welche an den Motortreiber DM420 wie folgt angeschlossen werden:

Schrittmotor Nema 17Motortreiber DM420
schwarzA+
grünA-
rotB+
blauB-

Spannungsversorgung für den Motor Nema 17

Der Nema 17 benötigt eine 12V DC (Gleichstrom) Spannung, welche an die Pins DC+ & DC- angeschlossen werden.

DIP Switch Einstellungen

Am Schrittmotortreiber findest du sieben DIP Switches welches je nach verwendeten Schrittmotor eingestellt werden muss. Bei den Konfigurationseinstellungen (SW5=OFF, SW6=ON, SW7=ON) des DM420 Schrittmotortreibers sind 400 Impulse (durch das PUL-Eingangssignal) erforderlich, um eine vollständige Umdrehung des Motors zu erreichen.

Schrittmotortreiber DM420, Einstellungen für Nema 17 Schrittmotor
Schrittmotortreiber DM420, Einstellungen für Nema 17 Schrittmotor

Programmieren in der Arduino IDE

Das nachfolgende Programm habe ich von einer Seite entnommen (sie Abschnitt Quellenangabe) und modifiziert.

#define PUL 5   // PUL > D5
#define DIR 4   // DIR > D4 (Drehrichtung)
#define ENBL 3  // ENBL > D3 (Freigabe)

#define tasterRechts 6  // D6 (Taster grün)
#define tasterLinks 7   // D7 (Taster blau)

#define drehpoti A0 //Drehpotentiometer am analogen Pin A0

const int PULSLAENGE = 500;
//wird über den Drehpoti gesetzt
int geschwindigkeit = 0;

void setup() {
  pinMode(PUL, OUTPUT);
  pinMode(DIR, OUTPUT);
  pinMode(ENBL, OUTPUT);
  pinMode(tasterRechts, INPUT_PULLUP);
  pinMode(tasterLinks, INPUT_PULLUP);
  digitalWrite(ENBL, HIGH);
}

void schrittBewegen(int drehrichtung) {
  //Drehrichtung
  //HIGH == links
  //LOW == rechts
  digitalWrite(DIR, drehrichtung);

  digitalWrite(PUL, HIGH);
  delayMicroseconds(PULSLAENGE);
  digitalWrite(PUL, LOW);
  delayMicroseconds(geschwindigkeit);
}

void loop() {
  //lesen des Drehpotentiometers für die Geschwindigkeit
  int drehpotiValue = analogRead(drehpoti);
  geschwindigkeit = drehpotiValue * 15 + 500;
  // nach rechts drehen
  if (digitalRead(tasterRechts) == LOW) {
    schrittBewegen(HIGH);
  }
  // nach links drehen
  if (digitalRead(tasterLinks) == LOW) {
    schrittBewegen(LOW);
  }
}
Beispiel zum steuern eines Nema 17 am Arduino UNO R3 mit zwei TasterHerunterladen

Der Code bewirkt das, wenn wir den grünen Taster betätigen, der Schrittmotor nach rechts dreht und beim blauen Taster der Schrittmotor nach links dreht. Über den Drehpotentiometer kann man die Geschwindigkeit des Motors einstellen (diese erkennt man, wenn man den Taster gedrückt hält).

steuern eines Nema 17 Schrittmotors mit DM420 Motortreiber am Arduino UNO R3
Dieses Video auf YouTube ansehen.

Quellenangabe

Für diesen Beitrag habe ich den Beitrag der Seite ACT Schrittmotor mit DM420 Treiber verwendet. Dort wird zusätzlich noch das Programm mit einem automatischen Lauf gezeigt, welchen ich hier jedoch nicht benötige.

Schreibe einen Kommentar Antworten abbrechen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Fragen oder Feedback?

Du hast eine Idee, brauchst Hilfe oder möchtest Feedback loswerden?
Support-Ticket erstellen

Newsletter abonnieren

Bleib auf dem Laufenden: Erhalte regelmäßig Updates zu neuen Projekten, Tutorials und Tipps rund um Arduino, ESP32 und mehr – direkt in dein Postfach.

Jetzt Newsletter abonnieren

Unterstütze meinen Blog

Wenn dir meine Inhalte gefallen, freue ich mich über deine Unterstützung auf Tipeee.
So hilfst du mit, den Blog am Leben zu halten und neue Beiträge zu ermöglichen.

draeger-it.blog auf Tipeee unterstützen

Vielen Dank für deinen Support!
– Stefan Draeger

Kategorien

Tools

  • Unix-Zeitstempel-Rechner
  • ASCII Tabelle
  • Spannung, Strom, Widerstand und Leistung berechnen
  • Widerstandsrechner
  • 8×8 LED Matrix Tool
  • 8×16 LED Matrix Modul von Keyestudio
  • 16×16 LED Matrix – Generator

Links

Blogverzeichnis Bloggerei.de TopBlogs.de das Original - Blogverzeichnis | Blog Top Liste Blogverzeichnis trusted-blogs.com

Stefan Draeger
Königsberger Str. 13
38364 Schöningen

Tel.: 01778501273
E-Mail: info@draeger-it.blog

Folge mir auf

  • Impressum
  • Datenschutzerklärung
  • Disclaimer
  • Cookie-Richtlinie (EU)
©2025 Technik Blog | Built using WordPress and Responsive Blogily theme by Superb
Cookie-Zustimmung verwalten
Wir verwenden Technologien wie Cookies, um Geräteinformationen zu speichern und/oder darauf zuzugreifen. Wir tun dies, um das Surferlebnis zu verbessern und um personalisierte Werbung anzuzeigen. Wenn Sie diesen Technologien zustimmen, können wir Daten wie das Surfverhalten oder eindeutige IDs auf dieser Website verarbeiten. Wenn Sie Ihre Zustimmung nicht erteilen oder zurückziehen, können bestimmte Funktionen beeinträchtigt werden.
Funktional Immer aktiv
Die technische Speicherung oder der Zugang ist unbedingt erforderlich für den rechtmäßigen Zweck, die Nutzung eines bestimmten Dienstes zu ermöglichen, der vom Teilnehmer oder Nutzer ausdrücklich gewünscht wird, oder für den alleinigen Zweck, die Übertragung einer Nachricht über ein elektronisches Kommunikationsnetz durchzuführen.
Vorlieben
Die technische Speicherung oder der Zugriff ist für den rechtmäßigen Zweck der Speicherung von Präferenzen erforderlich, die nicht vom Abonnenten oder Benutzer angefordert wurden.
Statistiken
Die technische Speicherung oder der Zugriff, der ausschließlich zu statistischen Zwecken erfolgt. Die technische Speicherung oder der Zugriff, der ausschließlich zu anonymen statistischen Zwecken verwendet wird. Ohne eine Vorladung, die freiwillige Zustimmung deines Internetdienstanbieters oder zusätzliche Aufzeichnungen von Dritten können die zu diesem Zweck gespeicherten oder abgerufenen Informationen allein in der Regel nicht dazu verwendet werden, dich zu identifizieren.
Marketing
Die technische Speicherung oder der Zugriff ist erforderlich, um Nutzerprofile zu erstellen, um Werbung zu versenden oder um den Nutzer auf einer Website oder über mehrere Websites hinweg zu ähnlichen Marketingzwecken zu verfolgen.
Optionen verwalten Dienste verwalten Verwalten von {vendor_count}-Lieferanten Lese mehr über diese Zwecke
Einstellungen anzeigen
{title} {title} {title}