Skip to main content

Site Navigation

Your Account

Choose Language

Help

Revision to Choosing and connecting stepper motors

Tony

'''Nema 17''' motors come in various lengths, ranging from 20mm long "pancake" motors to 60mm long motors. As a general rule, the longer a motor is, the greater its holding torque at rated current. Longer stepper motors also have greater rotor inertia.
 
'''Nema 23''' motors offer higher torque than Nema 17 motors. The Duet WiFi2 (WiFi and Duet EthernetEthernet) can drive them if you choose them carefully, in particular in respect of rated current. Look for a rated current of around 2.8A. You should use 24V power.
'''Nema 23''' motors offer higher torque than Nema 17 motors. The Duet WiFi2 (WiFi and Duet EthernetEthernet) can drive them if you choose them carefully, in particular in respect of rated current. Look for a rated current of around 2.8A. You should use 24V power.
 
=== Step angle ===
* However, to produce a given torque, the lag angle needed by a 0.9deg motor is slightly more than half the lag angle of a similar 1.8deg motor. Or to put it another way, at small lag angles a 0.9deg motor has nearly twice as much torque as a 1.8deg motor for the same lag angle.
* At a given rotation speed, a 0.9deg motor produces twice as much inductive back emf as a 1.8deg motor. So you generally need to use 24V power to achieve high speeds with 0.9deg motors.
* 0.9deg motors need step pulses to be delivered to the drivers at twice the rate of 1.8deg motors. If you use high microstepping then the speed could be limited by the rate at which the electronics can generate step pulses. The interpolation mode of the TMC2660 drivers on the Duet WiFi2s can be used to overcome this issue.
* 0.9deg motors need step pulses to be delivered to the drivers at twice the rate of 1.8deg motors. If you use high microstepping then the speed could be limited by the rate at which the electronics can generate step pulses. The interpolation mode of the TMC2660 drivers on the Duet WiFi2s can be used to overcome this issue.
 
=== Inductance ===
In practice the torque will drop off sooner than this because of the back emf caused by motion, and because the above doesn't allow for the winding resistance. Low inductance motors also have low back emf due to rotation.
 
What this means is that if we want to achieve high speeds, we need low inductance motors and high supply voltage. The maximum recommended supply voltage for the Duet 2(Duet WiFi2(Wifi or Duet Ethernet) is 25V.
What this means is that if we want to achieve high speeds, we need low inductance motors and high supply voltage. The maximum recommended supply voltage for the Duet 2(Duet WiFi2(Wifi or Duet Ethernet) is 25V.
 
=== Resistance and rated voltage ===
Example: consider a 200 step motor driving a carriage via a 20 tooth pulley and GT2 belt. That's 40mm movement per rev. To achieve a speed of 200mm/sec we need 5 revs/sec. If we use a motor with 0.55Nm holding torque when both phases are driven at 1.68A, the peak back emf due to rotation is 1.414 * 3.142 * 0.55 * 5/1.68 = 7.3V.
 
How accurate is this formula? dc42)dc42 measured and then calculated the back emf for two types of motor:
How accurate is this formula? dc42)dc42 measured and then calculated the back emf for two types of motor:
 
* 17HS19-1684S: measured 24V, calculated 24.24V assuming holding torque is specified with both phases energised at rated current.
=== General recommendations ===
 
* Unless you will be using external stepper motor drivers, choose motors with rated current of at least 1.2A, and at most 2.0A for the Duet 0.6 and Duet 0.8.5, or 3A for the Duet WiFi or Duet Ethernet2.
* Unless you will be using external stepper motor drivers, choose motors with rated current of at least 1.2A, and at most 2.0A for the Duet 0.6 and Duet 0.8.5, or 3A for the Duet WiFi or Duet Ethernet2.
* Plan to run each stepper motor at between 50% and 85% of its rated current.
* Size: Nema 17 is the most popular size used in 3D printers. Nema 14 is an alternative in a highly-geared extruder. Use Nema 23 motors if you cannot get sufficient torque from long Nema 17 motors.
=== Using the internal drivers ===
 
The Duet WiFi2 WiFi, Ethernet and Duet 0.8.5Maestro all have five stepper drivers5 on board. The Duet 0.6 has fourboard stepper drivers.
The Duet WiFi2 WiFi, Ethernet and Duet 0.8.5Maestro all have five stepper drivers5 on board. The Duet 0.6 has fourboard stepper drivers.
 
To connect stepper motors to the internal drivers, refer to the wiring diagram at [[Duet WiFi and Ethernet wiring diagramsWiring Diagrams]] or [[Duet 2 Maestro Wiring Diagram]]. The pinout of each stepper motor connector is the same as for other popular 3D printer electronics.
To connect stepper motors to the internal drivers, refer to the wiring diagram at [[Duet WiFi and Ethernet wiring diagramsWiring Diagrams]] or [[Duet 2 Maestro Wiring Diagram]]. The pinout of each stepper motor connector is the same as for other popular 3D printer electronics.
 
Note: '''it is highly recommended that the stepper motor casings be grounded''', especially in belt-driven printers. Otherwise, motion of the belts causes static charge to build up, which eventually arcs over to the windings. If the motors are screwed to a metal frame, grounding the frame is sufficient.
[image|443]
 
==== Duet 2 (Duet WiFiWiFi, Ethernet and Duet EthernetMaaestro) ====
==== Duet 2 (Duet WiFiWiFi, Ethernet and Duet EthernetMaaestro) ====
 
If you have two Z stepper motors, connect them to the ZA and ZB connectors. These connectors are wired in series, which is better than wiring them in parallel for most types of stepper motor used in 3D printers.
 
If you have only one Z stepper motor, plug it in to the ZA connector, and plug two jumpers into the ZB connector. Duet WiFi2 boards are normally supplied with these jumpers already fitted.
If you have only one Z stepper motor, plug it in to the ZA connector, and plug two jumpers into the ZB connector. Duet WiFi2 boards are normally supplied with these jumpers already fitted.
 
==== Duet 0.6 and 0.8.5 ====
See [[Using external stepper motor drivers|the using external drivers page]] for more details
 
If your motors are rated above about 2.8A and you are using the Duet WiFi2 (Wifi or Ethernet), or above about 2A and you are using the Duet 2 Maestro, or obsolete Duet 0.6 or 0.8.5, or if they need higher voltage than the Duet can provide, then you need external stepper motor drivers. These generally have optically isolated step/dir/enable inputs. For example, stepper motor drivers rated at up to 5A using the TB6600 stepper driver chip are widely available on eBay.
If your motors are rated above about 2.8A and you are using the Duet WiFi2 (Wifi or Ethernet), or above about 2A and you are using the Duet 2 Maestro, or obsolete Duet 0.6 or 0.8.5, or if they need higher voltage than the Duet can provide, then you need external stepper motor drivers. These generally have optically isolated step/dir/enable inputs. For example, stepper motor drivers rated at up to 5A using the TB6600 stepper driver chip are widely available on eBay.
 
If the drivers require no more than about 2mA @ 3V on the step, dir and enable inputs, then you can drive them directly from the expansion connector of the Duet. See the [[Duet WiFi and Ethernet wiring diagramsWiring Diagrams]] for the expansion connector pinouts. Otherwise, you should use 3.3V to 5V level shifting ICs such as 74HCT04 to boost the signal level to 5V and drive them. You can use the Duet [[expansion breakout board]] for this purpose.
If the drivers require no more than about 2mA @ 3V on the step, dir and enable inputs, then you can drive them directly from the expansion connector of the Duet. See the [[Duet WiFi and Ethernet wiring diagramsWiring Diagrams]] for the expansion connector pinouts. Otherwise, you should use 3.3V to 5V level shifting ICs such as 74HCT04 to boost the signal level to 5V and drive them. You can use the Duet [[expansion breakout board]] for this purpose.
 
To remap the X, Y or Z motors to external drivers in RepRapFirmware 1,14 or later, use the M584 command (see [[Gcode#Section_M584_Set_drive_mapping|M584 Gcode]]). The Enable signals on the expansion connector are active low by default but you can change this using the M569 command (see [[Gcode#Section_M569_Set_motor_driver_direction_enable_polarity_and_step_pulse_timing|M569 Gcode]]). You can also set a minimum step pulse width in the M569 command (try 1us or 2us when using external drivers), and configure the direction.

To undo the changes made by this version, click 'Revert Changes.' This will automatically restore the previous version of this guide.

Revert Changes