Produktbilder dienen ausschließlich zu Informationszwecken und können je nach Charge und Lieferant geringfügige Unterschiede aufweisen. Produktspezifikationen und Preise können ohne vorherige Ankündigung geändert werden. Wir tun unser Bestes, um der Produktseite möglichst genaue und richtige Spezifikationen hinzuzufügen, es ist jedoch möglich, dass diese nicht ganz korrekt sind. Sollten Sie einen solchen Fall feststellen, melden Sie ihn uns bitte.
Das Produkt ist für Fachleute bestimmt und erfordert qualifiziertes und autorisiertes Personal. Dem Produkt liegt keine Montage-/Gebrauchsanleitung bei . Die Inbetriebnahme des Produktes durch nicht qualifizierte Personen führt zum Verlust der Garantie gemäß den AGB auf der Seite.
Die angegebenen technischen Spezifikationen (Strom, Leistung usw.) stellen maximale zulässige Werte unter idealen Betriebsbedingungen dar. Für einen sicheren Betrieb und eine optimale Lebensdauer wird empfohlen, das Produkt im Dauerbetrieb mit höchstens 50 % der angegebenen Maximalwerte zu verwenden.
Schrittmotor, NEMA17, 1,7 A, 1,8°, 42 x 42 x 40 mm, bipolar
Schrittmotor für präzise Achsensteuerung in 3D-Druckern und CNC-Fräsen, kompatibel mit den Treibern A4988 und DRV8825. Bietet eine Schrittweite von 1,8° für Feinsteuerung, 1,7 A Strom pro Phase (2 Phasen) für stabiles Drehmoment, 40N.cm Haltekraft für sichere Positionierung und ein kompaktes Format von 42 x 42 x 40 mm, geeignet für die Integration in Standardbaugruppen.
Shipping by Donnerstag 22 Oktober
Mit dem Kauf dieses Produkts erhalten Sie 2,90 RON an Treuepunkten.
International fast shipping within EU. Free Shipping for orders above 100 EUR in most EU countries.
We ship from our stock within 24H
Sie erhalten bei jeder Bestellung Punkte im Wert von 5 %.
Der Schrittmotor NEMA 17 JK42HS40-1704 ist ein bipolarer Hybridmotor mit 2 Phasen. Er wird für die Bewegung von Achsen bei 3D-Druckern, CNC-Fräsen, Lasergravurmaschinen und anderen linearen Positioniersystemen verwendet. Er hat einen Schrittwinkel von 1.8 Grad, also 200 Schritte pro Umdrehung, und ein Haltemoment von 4.2kg.cm (ca. 41N.cm). Dadurch bietet er präzise und wiederholbare Bewegungen ohne Positionssensoren.
Der Körper hat eine Länge von 39.5mm und eine standardmäßige NEMA-17-Flanschgröße von 42.3 x 42.3mm. Der Flansch hat 4 M3-Gewindebohrungen mit 31mm Abstand und einen Zentrierbund von 22mm, sodass der Motor zu den meisten Halterungen und Teilen für 3D-Drucker und CNC-Maschinen passt. Die Welle hat einen Durchmesser von 5mm und eine Länge von 24mm. Er eignet sich für GT2-Riemenscheiben, flexible Kupplungen 5 x 8mm für T8-Gewindestangen oder Extrudermechanismen. Der Motor hat 4 UL1007 AWG26-Leitungen mit einer Mindestlänge von 500mm.
Der Nennstrom beträgt 1.7A pro Phase, und der Spulenwiderstand ist gering (1.5Ω). Daher wird der Motor mit stromgeregelten Treibern wie A4988, DRV8825, TMC2208 oder TMC2209 verwendet, die mit 12 - 24VDC betrieben werden. Er ist kompatibel mit Arduino Uno mit CNC Shield V3 und Arduino Mega mit RAMPS 1.4. Er funktioniert auch mit 3D-Druckerboards mit Marlin- oder Klipper-Firmware, mit GRBL-Controllern und mit ESP32-, STM32- oder Raspberry-Pi-Plattformen über einen Treiber.
Technische Daten:
Modell: JK42HS40-1704
Motortyp: bipolarer Hybrid, 2 Phasen
Schrittwinkel: 1.8 Grad (200 Schritte/Umdrehung)
Nennstrom Phase: 1.7A
Nennspannung Phase: 2.55V
Phasenwiderstand: 1.5Ω ±10% (bei 20°C)
Phaseninduktivität: 2.3mH ±20% (1kHz, 1V RMS)
Haltemoment: 4.2kg.cm (ca. 41N.cm)
Isolationsklasse: B (130°C)
Temperaturanstieg: max. 80K bei Nennstrom
Anzahl der Leitungen: 4 (UL1007 AWG26)
Leitungslänge: min. 500mm
Empfohlene Treiberversorgungsspannung: 12 - 24VDC
Abmessungen des Gehäuses: 42.3 x 42.3 x 39.5mm
Welle: Ø5mm x 24mm, mit Abflachung, D-Form
Zentrierbund: Ø22mm x 2mm
Befestigungsbohrungen: 4 x M3 x 0.5, min. Tiefe 4.5mm, Abstand 31mm
Gewicht: 0.24kg
Pinbelegung:
| Draht | Farbe | Funktion | A4988-Pin | DRV8825-Pin |
|---|---|---|---|---|
| A | Schwarz | Spule 1 (A+) | 1A | A1 |
| C | Grün | Spule 1 (A-) | 1B | A2 |
| B | Rot | Spule 2 (B+) | 2A | B1 |
| D | Blau | Spule 2 (B-) | 2B | B2 |
Schrittfolge:
Steuersequenz im Vollschritt, von der Flanschseite aus gesehen. Schritte 1 bis 4 ergeben eine Drehung im Uhrzeigersinn (CW), Schritte 4 bis 1 gegen den Uhrzeigersinn (CCW).
| Schritt | A | B | C | D |
|---|---|---|---|---|
| 1 | + | + | - | - |
| 2 | - | + | + | - |
| 3 | - | - | + | + |
| 4 | + | - | - | + |
Abmessungen:

Verwendung:
Montieren Sie den Motor mit 4 M3-Schrauben auf eine Halterung. Wählen Sie die Schraubenlänge so, dass sie nicht mehr als 4.5mm in das Motorgehäuse eindringen.
Befestigen Sie das GT2-Rad, die Kupplung oder das Ritzel des Extruders auf der Welle und ziehen Sie die Klemmschraube fest an.
Identifizieren Sie die Spulenpaare. Die schwarzen und grünen Leitungen bilden Spule 1, die roten und blauen Leitungen bilden Spule 2. Wenn Sie Zweifel haben, messen Sie mit dem Multimeter: Zwischen den Enden derselben Spule sollten Sie ca. 1.5Ω messen.
Verbinden Sie Spule 1 mit den Ausgängen 1A und 1B (A4988) oder A1 und A2 (DRV8825). Verbinden Sie Spule 2 mit 2A und 2B (A4988) oder B1 und B2 (DRV8825).
Stellen Sie die Strombegrenzung des Treibers vor dem ersten Einschalten mit dem Potentiometer ein. Beim DRV8825 wird die Formel Vref = I / 2 verwendet. Beim A4988 lautet die Formel Vref = I x 8 x Rs, also ergibt sich bei Rs = 0.1Ω (Kennzeichnung R100) Vref = I x 0.8. Für den Dauerbetrieb werden 1.2 - 1.5A empfohlen, ohne 1.7A zu überschreiten.
Versorgen Sie den Treiber mit 12 - 24VDC von einer Stromquelle, die den für alle Motoren benötigten Strom liefern kann. Montieren Sie einen Kondensator von min. 100uF an der Versorgung des Treibers.
Verbinden Sie die STEP-, DIR- und EN-Pins des Treibers mit der Steuerplatine (Arduino, ESP32, STM32 oder 3D-Druckerplatine).
Stellen Sie in der Firmware die Anzahl der Schritte pro Umdrehung ein: 200 im Vollschritt, 3200 bei 1/16-Mikroschritt (A4988) oder 6400 bei 1/32-Mikroschritt (DRV8825).
Schließen Sie den Motor nicht an und trennen Sie ihn nicht, solange der Treiber unter Spannung steht, da der Treiber beschädigt werden kann.
Wenn sich der Motor in die falsche Richtung dreht, vertauschen Sie die Leitungen einer Spule oder ändern Sie die Richtung in der Firmware. Wenn der Motor vibriert, sich aber nicht dreht, überprüfen Sie die Spulenpaare.
Es ist normal, dass sich der Motor im Betrieb erwärmt; seine Temperatur kann um bis zu 80 Grad über die Umgebungstemperatur steigen. Sorgen Sie für eine gute Belüftung und reduzieren Sie den Strom, wenn der Motor zu heiß wird.
- Nennstrom
- 1.7 A
Produs destinat utilizarii in proiecte electronice, automatizari, prototipare, educatie si cercetare.
Produsul trebuie utilizat numai conform specificatiilor tehnice mentionate in descriere si/sau in documentatia produsului.
Avertismente generale de siguranta:
Nu utilizati produsul la tensiuni, curenti sau temperaturi peste valorile specificate.
Montajul si conectarea trebuie realizate de persoane cu cunostinte tehnice minime in domeniul electric/electronic.
Evitati scurtcircuitele, inversarea polaritatii si conectarea gresita a alimentarii.
Nu lasati produsul alimentat nesupravegheat in timpul testelor.
Produsul nu este jucarie si nu este destinat copiilor.
Pentru modulele electronice, se recomanda utilizarea in carcase, panouri sau montaje protejate, dupa caz.
Identificare produs:
Denumirea produsului, codul/SKU-ul si caracteristicile tehnice sunt mentionate in pagina produsului si/sau pe eticheta ambalajului.
Producator / Importator / Distribuitor:
Sigmanortec S.R.L.
Calea Bucuresti nr. 9, Targu Jiu, Gorj, Romania
E-mail: [email protected]
Website: www.sigmanortec.ro
Persoana responsabila in UE:
Sigmanortec S.R.L.
Calea Bucuresti nr. 9, Targu Jiu, Gorj, Romania
E-mail: [email protected]
Documentatie si siguranta:
Pentru informatii suplimentare, fise tehnice, declaratii de conformitate sau instructiuni, ne puteti contacta la [email protected].
/*
Board: Arduino Uno (Arduino AVR Boards)
Driver: A4988 Stepper Motor Driver
Motor under test: NEMA17 stepper motor JK42HS40-1704, bipolar, 1.8 deg/step (200 steps/rev)
Wiring:
A4988 STEP -> Arduino D3
A4988 DIR -> Arduino D2
A4988 ENABLE -> Arduino D4
A4988 VDD -> Arduino 5V
A4988 GND (logic) -> Arduino GND
A4988 1A / 1B -> Motor coil A (black / green)
A4988 2A / 2B -> Motor coil B (red / blue)
A4988 VMOT -> External 12-24V power supply (+)
A4988 GND (power) -> External power supply GND
Libraries: none required, uses only the built in digitalWrite and delayMicroseconds functions
This sketch is a quick functional test: it steps the motor slowly for one
revolution in each direction while printing a step counter, then disables
the driver outputs briefly so you can check that the shaft turns freely
(confirming the driver is really releasing the coils) before re-enabling it.
*/
const int stepPin = 3;
const int dirPin = 2;
const int enablePin = 4;
const int stepsPerRevolution = 200;
const int testStepDelayMicros = 2000;
void doStep() {
digitalWrite(stepPin, HIGH);
delayMicroseconds(testStepDelayMicros);
digitalWrite(stepPin, LOW);
delayMicroseconds(testStepDelayMicros);
}
void setup() {
Serial.begin(9600);
pinMode(stepPin, OUTPUT);
pinMode(dirPin, OUTPUT);
pinMode(enablePin, OUTPUT);
digitalWrite(enablePin, LOW);
Serial.println("A4988 + NEMA17 test start");
}
void loop() {
Serial.println("Test: one revolution clockwise, slow speed");
digitalWrite(dirPin, HIGH);
for (int i = 1; i <= stepsPerRevolution; i++) {
doStep();
if (i % 50 == 0) {
Serial.print("Step count: ");
Serial.println(i);
}
}
Serial.println("Test: one revolution counterclockwise, slow speed");
digitalWrite(dirPin, LOW);
for (int i = 1; i <= stepsPerRevolution; i++) {
doStep();
if (i % 50 == 0) {
Serial.print("Step count: ");
Serial.println(i);
}
}
Serial.println("Disabling driver outputs for 2 seconds, shaft should turn freely by hand");
digitalWrite(enablePin, HIGH);
delay(2000);
digitalWrite(enablePin, LOW);
Serial.println("Driver re-enabled, holding torque restored");
delay(1000);
}
Der Schrittmotor NEMA17 JK42HS40-1704 ist ein bipolarer Hybrid-Schrittmotor mit 4 Drähten, der für die Achsbewegung bei 3D-Druckern, CNC-Routern, Lasergravierern und anderen Systemen zur linearen Positionierung eingesetzt wird, bei denen eine präzise, schrittweise Rotation ohne Positionssensor benötigt wird.
Zum Betrieb benötigt er zwingend einen Treiber mit Stromregelung, zum Beispiel A4988, sowie einen Mikrocontroller, der die Schrittimpulse erzeugt. In diesem Tutorial verwenden wir ein Arduino Uno R3 Board und einen A4988 Treiber, die am häufigsten verwendete Kombination für diesen Motortyp bei 3D-Druck- und CNC-Projekten.

Funktionsweise:
Der Motor hat einen Schrittwinkel von 1.8 Grad, das heisst 360 geteilt durch 1.8 ergibt 200 Schritte pro vollständiger Umdrehung bei Vollschrittbetrieb. Jeder Impuls am STEP-Pin des Treibers lässt die Spulen in eine andere Polaritätskombination umschalten, wodurch sich der Rotor um einen einzigen Schritt weiterbewegt.
Die Drehgeschwindigkeit wird durch die Frequenz der STEP-Impulse bestimmt. Die Formel lautet Frequenz in Hz gleich Drehzahl in RPM multipliziert mit der Anzahl der Schritte pro Umdrehung, das Ganze geteilt durch 60. Zum Beispiel ergibt sich bei 60 RPM im Vollschrittbetrieb 60 x 200 geteilt durch 60, also 200 Hz, das heisst ein STEP-Impuls alle 5 ms.
Der A4988 Treiber ermöglicht auch Microstepping, das heisst jeder Vollschritt wird in Teilschritte unterteilt, zum Beispiel ergibt 1/16 Microstep 200 x 16, also 3200 Schritte pro Umdrehung, für eine feinere und leisere Bewegung.
Der Strom durch die Spulen wird über das Potentiometer am Treiber begrenzt, nach der Formel Vref gleich gewünschter Strom multipliziert mit 8 und mit dem Shunt-Widerstand Rs. Bei einem Rs von 0.1 Ohm, auf den meisten A4988 Platinen mit R100 gekennzeichnet, wird die Formel zu Vref gleich Strom multipliziert mit 0.8. Für diesen Motor mit einem Nennstrom von 1.7 A wird ein Grenzwert von 1.2 bis 1.5 A für Dauerbetrieb empfohlen, also ein Vref zwischen 0.96 und 1.2 V.
Was Sie benötigen:
- 1 x Schrittmotor NEMA17 1.7A 1.8 Grad 42x42x40mm Bipolar
- 1 x Entwicklungsboard Uno R3 mit Wifi ESP8266, kompatibel mit Arduino
- 1 x Schrittmotortreiber A4988 + Kühlkörper
- 1 x Netzteil 12V, 2A
- 1 x Elektrolytkondensator 100uF
- 1 x 40 Dupont-Kabel 10cm, Buchse-Buchse
- 1 x Breadboard 830 Punkte MB-102
Anschluss:
Der Motor wird an die Spulenausgänge des A4988 Treibers angeschlossen, und der Treiber wird zum einen für die Steuersignale mit dem Arduino verbunden und zum anderen separat an eine externe Spannungsquelle von 12 - 24 VDC für die Stromversorgung des Motors angeschlossen.
| Pin des Produkts | Wird angeschlossen an | Funktion |
|---|---|---|
| A (schwarz) | A4988 1A | Spule 1, Anschluss + |
| C (grün) | A4988 1B | Spule 1, Anschluss - |
| B (rot) | A4988 2A | Spule 2, Anschluss + |
| D (blau) | A4988 2B | Spule 2, Anschluss - |
Der Treiber wird separat über VMOT und GND mit 12 - 24 VDC von einer externen Quelle versorgt, nicht vom Arduino, während VDD und logisches GND an 5V und GND des Arduino angeschlossen werden. STEP wird an D3 angeschlossen, DIR an D2, und ENABLE an D4. Die Versorgungskabel des Motors arbeiten mit einer Spannung über 5V, daher dürfen sie niemals direkt mit den Arduino-Pins verbunden werden. Montieren Sie einen Elektrolytkondensator von mindestens 100 uF zwischen VMOT und GND, so nah wie möglich am Treiber.

Board und Bibliotheken:
Wählen Sie in der Arduino IDE das Board Arduino Uno aus dem Paket Arduino AVR Boards aus, das standardmässig in der Arduino IDE enthalten ist und keine zusätzliche Adresse in den Preferences benötigt. Das Programm verwendet nur die Standardfunktionen digitalWrite und delayMicroseconds, daher müssen Sie keine zusätzliche Bibliothek installieren.
Der Code:
Der Code dreht den Motor eine vollständige Umdrehung im Uhrzeigersinn, dann eine vollständige Umdrehung gegen den Uhrzeigersinn, wiederholt den Zyklus und zeigt im seriellen Monitor jede Etappe an.
/*
Board: Arduino Uno (Arduino AVR Boards)
Driver: A4988 Stepper Motor Driver
Motor: NEMA17 stepper motor JK42HS40-1704, bipolar, 1.8 deg/step (200 steps/rev)
Wiring:
A4988 STEP -> Arduino D3
A4988 DIR -> Arduino D2
A4988 ENABLE -> Arduino D4
A4988 VDD -> Arduino 5V
A4988 GND (logic) -> Arduino GND
A4988 1A / 1B -> Motor coil A (black / green)
A4988 2A / 2B -> Motor coil B (red / blue)
A4988 VMOT -> External 12-24V power supply (+)
A4988 GND (power) -> External power supply GND
Libraries: none required, uses only the built in digitalWrite and delayMicroseconds functions
*/
const int stepPin = 3;
const int dirPin = 2;
const int enablePin = 4;
const int stepsPerRevolution = 200;
int stepDelayMicros = 1000;
void rotateSteps(int steps, bool clockwise) {
digitalWrite(dirPin, clockwise ? HIGH : LOW);
for (int i = 0; i < steps; i++) {
digitalWrite(stepPin, HIGH);
delayMicroseconds(stepDelayMicros);
digitalWrite(stepPin, LOW);
delayMicroseconds(stepDelayMicros);
}
}
void setup() {
Serial.begin(9600);
pinMode(stepPin, OUTPUT);
pinMode(dirPin, OUTPUT);
pinMode(enablePin, OUTPUT);
digitalWrite(enablePin, LOW);
Serial.println("NEMA17 stepper motor ready");
}
void loop() {
Serial.println("Rotating one full turn clockwise");
rotateSteps(stepsPerRevolution, true);
delay(1000);
Serial.println("Rotating one full turn counterclockwise");
rotateSteps(stepsPerRevolution, false);
delay(1000);
}
Wie der Code funktioniert:
Am Anfang des Programms werden die Pins stepPin, dirPin und enablePin definiert, die Anzahl der Schritte pro Umdrehung stepsPerRevolution sowie die Variable stepDelayMicros, die die Geschwindigkeit steuert, wobei eine kleinere Verzögerung eine höhere Geschwindigkeit bedeutet.
In der Funktion setup werden die Pins als Ausgänge konfiguriert und der Treiber wird mit digitalWrite am enablePin auf LOW aktiviert, da der A4988 eine invertierte Aktivierungslogik hat, und die serielle Kommunikation startet mit 9600 Baud.
Die Funktion rotateSteps erhält die Anzahl der Schritte und die Richtung, setzt den dirPin entsprechend der gewünschten Drehrichtung und sendet dann Impulse am stepPin, wobei jeder Impuls aus einer steigenden HIGH-Flanke gefolgt von einer fallenden LOW-Flanke besteht, die durch das Intervall stepDelayMicros getrennt sind.
In der Funktion loop wird rotateSteps für eine vollständige Umdrehung im Uhrzeigersinn aufgerufen, dann wird eine Sekunde gewartet, anschliessend wird es erneut für eine vollständige Umdrehung gegen den Uhrzeigersinn aufgerufen, wobei sich der Zyklus unendlich wiederholt.
Ergebnis:
Öffnen Sie den seriellen Monitor mit 9600 Baud. Sie werden die Statusmeldungen sehen, und der Motor wird sichtbar jeweils eine vollständige Umdrehung in jede Richtung ausführen, mit einer Pause von einer Sekunde dazwischen.
NEMA17 stepper motor ready
Rotating one full turn clockwise
Rotating one full turn counterclockwise
Rotating one full turn clockwise
Rotating one full turn counterclockwise
Rotating one full turn clockwise
Rotating one full turn counterclockwise
Häufige Probleme:
Der Motor vibriert, dreht sich aber nicht: eines der Spulenpaare ist falsch angeschlossen. Prüfen Sie mit dem Multimeter, dass die schwarzen und grünen Drähte eine Spule bilden und rot und blau die andere Spule, und dass jedes Paar mit demselben Ausgang des Treibers verbunden ist (1A/1B bzw. 2A/2B).
Der Motor bewegt sich überhaupt nicht: prüfen Sie, dass der Treiber über VMOT mit 12 - 24 VDC versorgt wird, dass der ENABLE-Pin auf LOW liegt und dass der GND-Draht der externen Quelle mit dem GND des Arduino gemeinsam ist.
Der Motor verliert Schritte oder überspringt Bewegungen bei hoher Geschwindigkeit: die Stromgrenze Vref ist für die Last zu niedrig, oder die geforderte Geschwindigkeit ist für das verfügbare Drehmoment zu hoch. Erhöhen Sie Vref leicht, im Rahmen von 1.5 A, oder reduzieren Sie die Geschwindigkeit durch Verringern des Wertes stepDelayMicros.
Der Treiber oder der Motor werden stark heiss: der Strom ist zu nah an 1.7 A eingestellt, ohne ausreichende Kühlung. Montieren Sie einen Kühlkörper auf dem A4988 und reduzieren Sie Vref auf etwa 1.2 A für Dauerbetrieb.
Der Motor dreht sich in die entgegengesetzte Richtung zu der erwarteten: vertauschen Sie die Drähte einer einzelnen Spule, zum Beispiel schwarz mit grün, oder ändern Sie den an dirPin gesendeten Wert im Code.
Einschränkungen und Hinweise:
Die Steuerung erfolgt in einer offenen Regelschleife, ohne Positions-Feedback, das heisst bei einer zu grossen mechanischen Last kann der Motor Schritte verlieren, ohne dass der Treiber oder das Programm dies bemerken. Das verfügbare Drehmoment nimmt mit steigender Drehgeschwindigkeit ab, daher ist bei schnellen Anwendungen ein Kompromiss zwischen Geschwindigkeit und benötigtem Drehmoment erforderlich. Für eine leisere und feinere Bewegung können Sie den A4988 durch einen Treiber mit feinerem Microstepping ersetzen, zum Beispiel TMC2208 oder TMC2209. Stellen Sie sicher, dass das externe Netzteil den erforderlichen Strom für alle gleichzeitig angeschlossenen Motoren in einem System mit mehreren Achsen liefern kann.