Stepper motor

From RepRap
Revision as of 12:13, 22 May 2013 by DavidCary (talk | contribs) (move text about motor driver electronics to motor driver)
Jump to: navigation, search
StepperMotor-reprap-stepper.jpg

Stepper motors are one kind of electric motor used in the robotics industry. Stepper motors move a known interval for each pulse of power. These pulses of power are provided by a stepper motor driver and is referred to as a step. As each step moves the motor a known distance it makes them handy devices for repeatable positioning.

There are two major types of stepper motor known as bipolar and unipolar. Wikipedia has further information on stepper motors. Please see Wikipedia. A good diagram showing a stepper motor's mechanical operation is here.

An editor has suggested splitting this page into smaller sections. (Discuss)

Terms

NEMA
Refers to the frame size of the motor as standardized by the US National Electrical Manufacturers Association in its Publication ICS 16-2001. It specifies the “face” size of the motor but not its length. For example a NEMA 23 stepper has a face of 2.3 x 2.3 inches with screw holes to match. Note: just because a motor is bigger does not mean it is more powerful in terms of torque. It is perfectly possible for a NEMA 14 to “out pull” a NEMA 17 or a NEMA 23.
Bipolar and Unipolar
These terms refers to the internals of the motor. Each type has a different stepper driver circuit board to control them. In theory a RepRap could use either, but in practice most are bipolar.
Micro stepping
A stepper motor always has a fixed number of steps. Microstepping is a way of increasing the number of steps by varying the amount of electricity sent to the coils inside the stepper motor. In most cases, micro stepping allows stepper motors to run smoother and more accurately.

Bipolar Motors

StepperMotor-bipolar stepper sch.png

These motors are the strongest type of stepper motor. You identify them by counting the leads - there should be four or eight. They are also the type of motors we are using in the RepRap Project's Mendel & Darwin designs. They have two coils inside, and stepping the motor round is achieved by energising the coils and changing the direction of the current within those coils. This requires more complex electronics than a unipolar motor, so we use a special driver chip to take care of all that for us. Some designs (the eight-wire ones) split each coil in the middle so you can wire the motor either as bipolar (short the middles) or unipolar (short the middles and treat the link as the centre tap - see below).

Unipolar Motors

StepperMotor-unipolar stepper sch.png

Unipolar motors have two coils, each one has a centre tap. They are readily recognizable because they have 5, 6 or even 8 leads. It is possible to drive 6 or 8 lead unipolar motors as bipolar motors if you ignore the centre tap wires. 5 lead motors have both centre taps connected, so re-wiring them to a 4 lead version requires at least opening the motor, if it can be done at all.

The main beauty of unipolar motors is that you can step them without having to reverse the direction of current in any coil, which makes the electronics simpler. Some early RepRap prototypes used this trick. Because the centre tap is used to energise only half of each coil at a time, unipolar motors generally have less torque than bipolar motors.

Stepping Angle

Most stepper motors used for a Mendel have a step angle of 1.8 degrees. It is sometimes possible to use motors with larger step angles, however for printing to be accurate, they will need to be geared down to reduce the angle moved per step, which may lead to a slower maximum speed.

Micro stepping

Microstepping between pole-positions is made with lower torque than with full-stepping, but has much lower tendency for mechanical oscillation around the step-positions and you can drive with much higher frequencies.

If your motors are near to mechanical limitations and you have high friction or dynamics, microsteps don't give you much more accuracy over half-stepping. When your motors are 'overpowered' and/or you don't have much friction, then microstepping can give you much higher accuracy over half-stepping. You can transfer the higher positioning accuracy to moving accuracy too.

History

Stepper Motor History for Darwin (V1.0 RepRap)

The RepRap Darwin used a NEMA 23 stepper motor. This stepper motor was a unipolar stepper motor which could be configured as a bipolar. This design used 3 stepper motors, one for each axis, and a DC motor for its extruder. Later many people upgraded their extruders to increase their control of the extruder.

Note the Generation 2 electronics supported the first configuration with 3 stepper driver circuit boards for the steppers and a PWM circuit board to control the DC motor.

The Darwin stepper motor requirements were as follows:

Parameter Specification
Size NEMA 23
Type Bipolar
Shaft dual-output shaft
Torque 100 oz-in or about 0.71Nm (71 N-cm)
Resistance about 10 ohms, or 1 to 30 ohms


Note

If you are using the PIC controller (Note: Generation 1 electronics) you need a motor that will use about 1A per winding at 12V - that is, around 10 ohms. The Arduino circuit can be adjusted to accommodate a wider range of steppers, but remember that if you specify a low-resistance one and the Arduino controller has to chop the voltage to limit the current going through it, that will also limit the torque.

Stepper Motor History for Mendel (V2.0 RepRap)

The RepRap Mendel used either NEMA 17 or NEMA 14 bipolar stepper motors. It used four stepper motors: one for each of the three axes and one for the extruder.

Note this configuration of four stepper motors was supported by the 3rd generation electronics.

The Mendel stepper motor requirements were as follows:

Parameter Specification
Size NEMA 17 or 14 (prototype was NEMA 14)
Type Bipolar
Shaft dual-output shaft (need to make knurling the stepper shaft easier, not applicable to recent geared extruders)
Torque 0.137 Nm (13.7N-cm or 19.4 oz-in)
Resistance Must be over 6 ohms (not applicable to recent stepper controllers, see "current" below)

Holding Torque

It is recommended that you get approximately 13.7 N-cm (0.137 Nm or 1400 g-cm or 19.4 ozf-in or 1.21 lbf-in) of holding torque (or more) for axis motors to avoid issues, although one stepper with less has been used successfully (see below). If in doubt, higher is better.

For Wade's Geared Extruder (most widely used one as of 2012) it is suggested to use motor that is capable of creating a holding torque of at least 40 N-cm (0.4Nm).

If you need to convert between different units for the torque you can use the torque unit converter here.

Size

If using the smaller NEMA 14 motors, aim for the high torque option. NEMA 14s are neater, lighter and smaller, but can be hard to obtain with the appropriate holding torque. NEMA 17s are quite easy to get in the specification that Mendel needs, but are bulkier and less neat. NEMA 14s are running near the edge of their envelope: they will get warm. NEMA 17s are well inside what they can do, and will run much cooler.

Note that any Mendel part that goes on to a stepper motor shaft expects the shaft to be roughly Ø5mm. If the shaft is a different size, you will need to make allowances for this in the parts you obtain/make.

Based upon the NEMA 17 specification (from what i can find) the mounting holes are spaced 1.22in or 31mm apart along the edge of the motor. This should help if you are using second hand / salvaged parts.

Wiring

Steppers motors come in several wiring configurations. 4, 6 and 8 wires are all fairly common and work fine with the standard RepRap electronics. 5 wire stepper motors exist but won't work with the standard RepRap electronics, because the 5th wire connects to both coil centers. See stepper wiring for more details.

Heat

Most of the motors specs give the current for two coils that will give an 80 °C rise, i.e. they can run at 100 °C! When using them on plastic brackets you need to under-run them to keep the brackets from melting. With PLA's glass transition temperature between 60-65 °C, you have to seriously under-run them! Fortunately temperature rise is proportional to power, which is in turn proportional to the square of current (P=I^2R), but torque is directly proportional so you can keep temperature under control without losing too much torque. For example, running a stepper at 70% of the rated current would result 70% of the torque and 49% (0.7^2=0.49) of the power dissipation and thermal rise.

Current

All recent stepper controllers use a current-limiting design. Because of this, the resistance (ohms) of the coils doesn't matter, as long as it is low enough for the current to rise fast enough for the current-limiting design to come into play. If the resistance is too high (i.e. 24V steppers) the current doesn't raise fast enough for reliable microstepping. For this reason, stepper motors rated for 3-5V and 1-1.5A are generally recommended, as these motors will perform near their peak torque with a current-limiting stepper controller (such as a Pololu A4988).

Designs which use a separate "extruder controller board" sometimes use H-bridges (which are designed for running a DC motor) instead of a proper current-limiting stepper controller. On these boards, you need to be careful not to turn the current (PWM) too high, especially with low-ohm (low voltage) motors. You run the risk of overheating both the stepper motor and the H-bridge chip.

Suppliers

Below is a list of possible motors and suppliers. Please add to it. Please add only steppers which were tested to actually work on some printer.

NEMA 14 suppliers

Stepper Motors - NEMA 14 (smaller, neater and used on the Mendel prototype)
Manufacturer Model # (link to datasheet) Holding Torque Rated Voltage Shaft Additional notes Vendors (shipping location)
SOYO SY35ST36-1004A 13.7 N-cm 2.7 V Ø 5 mm Used in mendel prototype Pololu (US)

Paoparts (FR)
Zapp (UK)

SOYO SY35ST36-1004B 13.7 N-cm 2.7 V Ø 5 mm same as SY35ST36-1004A, but double shaft Zapp (UK)
Wantai 35BYG304 (also here) 12.3 N-cm 3.5 V Ø 5 mm Less holding torque than recommended, but has apparently been used successfully Active Robots (UK)

NEMA 17 suppliers

Stepper Motors - NEMA 17 (larger and generally heavier but with more room to put a higher torque than a NEMA 14)
Manufacturer Model # (link to datasheet) Holding Torque Rated Voltage Shaft Additional notes Vendors (shipping location)
Kysan 42BYGH4803 (SKU 1124030) 54.0 N-cm 4.2 V Ø 5 mm Kysan (CN)

XYZPrinters (NL)

Kysan 42BYGH4803-DC (SKU 1124090) 54.0 N-cm 4.2 V Ø 5 mm Same as 42BYGH4803, but with flat on the shaft. 3D Maker World (US)

Ultibots (US)

SOYO SY42STH47-1206A 31.1 N-cm 4.0 V Ø 5 mm Pololu (US)

Watterott (DE)
Zapp (UK)

SOYO SY42STH47-1684A 43.1 N-cm 2.8 V Ø 5 mm Some vendors have longer than standard cables. fabberworld.com (CH)

Paoparts (FR)
Zapp (UK)

SOYO SY42STH47-1684B 43.1 N-cm 2.8 V Ø 5 mm Same as SY42STH47-1684A, but double shaft. Mendel-Parts (NL)

Zapp (UK)

Wantai 42BYGH W811 47.0 N-cm 3.1 V Ø 5 mm Variant with flat on the shaft available. Cubic-Print (DE)

electronic-things (DE)
Phidgets (US)
RepRap teile (DE)
ReprapWorld (NL)

Wantai Custom for QU-BD 49.0 N-cm 3.6 V Ø 5 mm QU-BD (US)

Below the old, vendor oriented table. Please move these into the above table.

Stepper Motors - NEMA 17 (larger and generally heavier but with more room to put a higher torque than a NEMA 14)
Vendors (link to product) Shipping location Manufacturer Model # (link to datasheet) Holding Torque Shaft Tested Additional notes
3Distributed UK 3Distributed - 44 N-cm Single 5mm dia. testing Currently testing on printrbot, prusa i3 and mendel 90.
Charlie's 3D Technologies Belgium Longs Motor 17HS8403N 48 N-cm Single 5mm dia. true 2 phase, 1.8 degree/step 5%
RobotDigg China RobotDigg 17HS1011, 17HS3001-20B 28 N-cm, 40 N-cm Single 5mm diameter flat shaft true Supply threaded rod NEMA 17 stepper with Tr8*8 leadscrew for 3D Printers
LDO Motors China LDO Motors LDO-42STH47-1684A 5kg-cm (~50N-cm) Single / double 5mm or 6.35mm dia. true [email protected] Could be flat shaft, shaft length could be customized, welcome OEM.
Thounsands of our motor used on Fabbster 3D printers. http://wiki.fabbster.com/Main_Page
EckerTech Inc. Canada RB Step Motor 17HD2038E 63 oz-in (~45N-cm) Single 5mm dia. true 63 oz-in, 1.5amp, 1.8 degree/step
Interinar Electronics, LLC US Oriental Motors Vexta PX243M-03AA 28 oz-in (~20N-cm) Single ? 0.9deg / 400 steps/revolution
Interinar Electronics, LLC US Oriental Motors PX243M-01AA 15 N-cm Single ? Not strong enough for direct drive extruder, Uses Imperial #4-40 TPI mounting holes instead of M3 metric. (Web page says no longer available -- suggests RepRap builders use PX243M-03AA instead)
Oriental Motor USA US Oriental Motors PKE245DA-L 55 N-cm Single Ø5mm ? made in japan
Alltronics.com US Lin Engineering 417-11-48-02 ~10oz-in (~7N-cm) Ø5mm = 0.2 inches, round(?) ? 6-wire (unipolar?); 10oz-in may be too weak.
Alltronics.com US Lin Engineering 4018X-07-04 ~15oz-in (~10.5N-cm) Ø5mm = 0.2 inches, round(?) ? 1.8 deg per step; 15oz-in may be too weak.
Alltronics.com US Lin Engineering 4118L-25P-07R0 ~68.76 oz-in (~48.5N-cm) Ø5mm = 0.2 inches, round(?) ? 1.8 deg per step
Cool Components
SparkFun
Robot Gear
Australian Robotics
Mindkits
Abra-Electronics
Akiduki Denki Tsusho
UK
US
AU
AU
NZ
CA
JP
Mercury Motor SM-42BYG011-25 23 N-cm Ø5mm true Two phase, 1.8 degree per step (+- 5%). Weight 0.2 kg.
AusXMods AU Rugao Xinhe 17H185H-04A ~43.8 N-cm  ? ? 2.8v,1.68A/phase,1.65ohm/phase, the -04B variant is dual-shaft
MatterHackers US Custom  ? 3.3kg-cm (32.4 N-cm) Ø5mm, 22mm long true 0.9 Degree Step Angle
erbyers on ebay US Applied Motion 4017-871 ~8.47 N-cm Dual, Ø5mm ? One side of shaft is splined ~4.3mm 0.5in from face, other shaft is 5mm; wires 95mm long terminating in 0.1" header; date code from 1984. No longer available?
LulzBot US SOYO SY42STH47-1504A 55 N-cm Ø5mm D-shaped true None
MPJA US  ?  ? 42BYGH404 3.2kg-cm (~31N-cm) Ø5mm ?
Reichelt DE Trinamic QSH4218-51-049 49 N-cm Ø5mm true Tested on MakerBot Cupcake CNC
mechapro DE Nidec Servo KH4248-B95101 48 N-cm Ø5mm ? None
2PrintBeta DE ACT 17HS4417 40 N-cm Ø5mm ? None
Reprap-Austria Austria Reprap Austria 17HS19-1684S 55 N-cm Ø5mm true Custom model, includes 100cm leads and molex plug
Akcesoria-cnc PL SANYO DENKI (japan) KH42KM2R001 45 N-cm Ø5mm  ?

If you have a Shinano Kenshi motor in your hands, you can decode the part number written on it with the SKC Stepping Motor Part Number decoder at Shinano Kenshi: "Stepping Motor Operation & Theory"

Lin Engineering is one of the few manufacturers that make stepper motors in the US. If you have one of their motors in your hands, you can decode the part number written on it with the "Lin part number system" decoder on p.1 and p.2 of the Lin Engineering Catalog.

Unscientific rules of thumb for motor purchases

1) Generally, the longer the motor body, the more torque the motor has.

2) If a motor is rated to more amps or volts than your driver can produce, your motor will not produce the manufacturer's rated torque.

3) A motor can safely exceed its rated voltage with a chopping stepper driver (which is all the RepRap stepper drivers, save only the Gen3 electronics extruder board hack). It cannot exceed its rated current (amps) without severely overheating and dying a quick death.

4) Stepper motors are generally rated for a 50 °C temperature rise at rated current/torque.

5) ABS melts at 105 - 120 °C but softens at 80 °C. Therefore you probably can't run your steppers at their full rated torque without melting your plastic motor mounts.

6) Power is measured in watts (W) and is calculated as volts (V) × current (A).

7) Power made available to a motor will be turned into heat and motion.

8) The more power made available to the motor the higher the amount of heat and motion. Heat is proportional to current squared while motion is proportional to current, so losing a little motion (torque) can lose a lot of heat.

9) Current and torque are related. The more current, the more torque. More current also means more power requirement and more heat on motor and stepper driver.

10) A motor's rated amps, volts, or ohms (if missing from the spec sheet) can be calculated with the other two numbers using Ohm's Law. Or you can cheat and use a calculator.

Driving stepper motors

See motor driver.

Wiring Your Stepper

Pretty much all of our RepRap electronics are designed for Bipolar stepper motors. Every bipolar stepper motor has 4 wires that need to be wired to the driver board. These are labeled A, B, C, and D for lack of better terms. A and B are connected, as well as C and D. You can generally find out which wires are connected using a multimeter to measure the resistance. If you measure a small resistance (1-30 ohm) then they are connected. Generally, they are color coded and we have datasheets available, so things are easy.

On motors with six wires, you'll find 4 pairs with low resistance and two pairs with double the low resistance. These two pairs with high resistance are the ones you want. Ignore the remaining two wires and proceed as if you had four wire steppers. In a datasheet it's the middle wire of each of both coils which has to be ignored.

Shortcut for finding the proper wiring sequence

Reproduced by kind permission of Rustle Laidman at StepperWorld.com [1]

Connect the 4 coil wires to the controller in any pattern. If it doesn't work at first, you only need try these 2 swaps:

Name A B C D
Arbitrary first wiring order 1 2 4 8
Switch end pair 1 2 8 4
switch middle pair 1 8 2 4

You're finished when the motor turns smoothly in either direction. If the motor turns in the opposite direction from desired, reverse the wires so that ABCD would become DCBA.

NOTE: Some Reprap Electronics (such as RAMPS) will be looking for the endstops to be hooked up while testing the motor wiring as noted above. In this case you may see your motor move smoothly in one direction, but not at all in the other (as it thinks the endstop is triggered). If your firmware allows you to disable endstops you should do so for testing motor wiring, or alternatively you can connect the motor to the Extruder stepper motor connector to check that it moves smoothly in each direction.

Another Note: The procedure above doesn't always work in two steps, (e.g, if your setup needs "1" matched with "4"). Swapping the 2nd with the 4th, then the 2nd with the 3rd would be more certain.

NEMA 17 Motors

RobotDigg/ (custom)

RepRap-NEMA-17.jpg

According to the increasing request of building 3D Printers, RobotDigg customized produce two models NEMA 17 Stepper Motor which are very suitable for 3D printers like Makerbot, Reprap to utilize. The nema17 stepper motors with a competitive price for small bulk order.

  • 200 steps per revolution (1.8 deg/step)
  • 2 Phase Bipolar 4 Wires
  • Rated Voltage 4.83V/ 2V DC
  • Rated Current 0.84A/ 1.2A
  • Phase Resistance: 5.75/ 1.7 Ohm ± 10% (20º C)
  • Phase inductance: 9.3/ 4.5 mH ± 20% (1kHz 1 V rms)
  • Holding torque: 0.28/ 0.4 N.m Min.
  • Shaft diameter: 5mm / 0.188" (3/16")
  • Shaft length: 20mm
  • Motor depth: 34mm/40mm

According to the supplier, these two stepper motors are particularly manufactured for 3D printers in a very compact size with long lead wires or plug for prelong request.

Suppliers

LDO Motors / LDO-42STH47-1684A

42STH.jpg

NEMA 17 (42MM) size hybrid stepper motor with followed main performance, widely used in 3D printer / CNC industrial.

  • 200 steps per revolution (1.8 deg/step)
  • 1.68 A/phase
  • Phase resistance: 1.65 ohm
  • Phase inductance: 2.8 mH
  • Holding torque: 5.0 Kg-cm (50N-cm)
  • Shaft diameter: 5 mm or 6.35mm
  • Shaft length: 24 mm or customize
  • Motor body length: 48mm

Suppliers

Technical Information


Lin Engineering / 4118S-62-07

Stepper-motor-nema17.jpg

This is an awesome little NEMA 17 stepper motor. It is the primary motor used on the Cupcake CNC. It has good torque and a small size. Here are some of the specs:

  • 200 steps per revolution (1.8 deg/step)
  • 2.5 A/phase
  • Phase resistance: 0.6 ohm
  • Phase inductance: 0.93 mH
  • Holding torque: 3240 g-cm or about 31 N-cm
  • Shaft diameter: 0.190" [4.83 mm]
  • Shaft length: 0.50" [12.7 mm]
  • Motor depth: 1.34" [34 mm]

NEMA 17 is a standard motor mounting geometry. The outside of the motor housing is 1.7" x 1.7".

Name Pololu pin Color
A 2B Red
B 2A Blue
C 1A Green
D 1B Black

Suppliers

Technical Information


Zapp Automation / SY42STH47-1684B

  • 200 steps per revolution (1.8 deg/step)
  • Rated current: 1.68 A
  • Phase resistance: 1.65 ohm
  • Phase inductance: 2.8 mH
  • Holding torque: 4400 g-cm [43 N-cm]
  • Shaft diameter: 5 mm
  • Shaft length: 22 mm
  • Motor depth: 47 mm
Name Pololu pin Color
A 1B Black
B 1A Green
C 2A Blue
D 2B Red

Suppliers

Technical Information

NEMA 23 Motors

Nanotec ST5709S1208-B

This was the original standard RepRap stepper motor. It has 400 steps to one revolution (0.9o per step). It actually has 4 coils (which means it can be wired as both a bipolar and unipolar), but we join up the wires to turn it into a bipolar motor.

Bipolar - Serial

This configuration is suited for our driver boards. It has higher impedance and higher resistance which means it draws less current. In this mode it can handle 0.85 amps, which is ideally matched to our L298 based boards. We recommend wiring it in this configuration.

Name Color
A Red
B Black
C Green
D Yellow

You will also need to splice the following wires together:

  • Red/White and Black/White
  • Green/White and Yellow/White

Cache-dsc03106.jpg

Bipolar - Parallel

This configuration offers higher performance. It has lower impedance, and lower resistance. That means you can push more electrons through, at a faster rate. However, it will draw about 1.7 amps, which is at the upper end of what the L298 is capable of delivering. We do not recommend wiring it like this.

Keep in mind that two wires make up the start and end of each coil.

Name Color
A Red and Black/White
B Black and Red/White
C Green and Yellow/White
D Yellow and Green/White

Suppliers

Technical Information

Keling KL23H51-24-08B

Cache-2122608287 2c91e1ae6e m.jpg

This is the RepRap stepper motor for the Arduino controller. It has 200 steps to one revolution (1.8o per step). It actually has 4 coils (which means it can be wired as both a bipolar and unipolar), but we join up the wires to turn it into a bipolar motor. It is much cheaper than the Nanotec, and with half-stepping it is almost as accurate. (The Keling KL23H51-24-08B is also used in the Eiffel prototype).

Bipolar - Serial

This configuration is suited for our driver boards. It has higher impedance and higher resistance which means it draws less current. In this mode it can handle 1.5 amps, which is ideally matched to our L298 based boards. We recommend wiring it in this configuration.

Name Color
A Blue
B Green
C Brown
D White

You will also need to splice the following wires together:

  • Red and Yellow
  • Black and Orange

Bipolar - Parallel

This configuration offers higher performance. It has lower impedance, and lower resistance. That means you can push more electrons through, at a faster rate. However, it will draw about 3 amps, which our L298 is just not capable of delivering. We do not recommend wiring it like this.

Keep in mind that two wires make up the start and end of each coil.

Name Color
A Blue and Yellow
B Red and Green
C Brown and Orange
D Black and White

Suppliers

Technical Information


FL57STH51-2808A (axis extending 1 way) and FL57STH51-3008B (axis 2 ways like the picture)

StepperMotor-StepperFL57STH51-2808A.jpg

The stepper motors are provided by Bits From Bytes. They come in two variations. Bought three from Bits From Bytes and I got one with the axis through and extending from both ends, and two with the axis extending one side. Their weight is slightly above 0.6 kg (I measured 619 gram).

To make the unipolar stepper a bipolar one, connect these wires together:

  • Blue and Red/White
  • Green and Black/white
Name Color
A Blue/white
B Red
C Green/white
D Black

Datasheets: FL57STH51-3008B. FL57STH56-2008B


Lin Engineering 5718X-05S

StepperMotor-motor 5704.jpg

The 5718X-05S has the right specification to drive RepRap from the PIC controllers but we haven't tested it yet. It should work with the Arduino electronics too. It has 200 steps per revolution, so you need to set the controller to half-step it to get the resolution needed. Take care to get the model where the output shaft comes out front and back, not just at the front.



Stepper Motors

There is a good article on Wikipedia explaining the technology behind stepper motors. The physical size of stepper motors are usually described via a US-based NEMA standard, which describes the bolt-up pattern and shaft diameter; the RepRap site has an article explaining the standard. In addition to the NEMA size rating, stepper motors also also rated by the depth of the motor in mm, the longer the motor typically the more powerful. Stepper motors also have a step size rating, 4 steps within each cycle. The step size, divided into 360 degrees gives the number of steps per revolution. For example, "1.8 degrees per full step" is a common step size rating, equivalent to "200 steps per revolution".

Some stepper motor controllers generate 'microsteps' by generating a sine/cosine waveform for the stepper coils. The microsteps become less accurate then the full size steps, but allow finer control and smother operation. Also check the motor torque and the current draw to compare stepper motor strengths.


The pages related to building a Mendel has a list of suppliers of stepping motors.

The power of a motor is usually proportional to the physical size of the motor, The Darwin version of RepRap primarily used NEMA 24 motors, whereas the Mendel version is designed to use either NEMA 14 or NEMA 17 motors. The more commonly used size is NEMA 17 as it is easier to find NEMA 17 motors with sufficient torque compared to NEMA 14.

The StepperMotor page has even more details about the most common motors used in a RepRap/RepStrap.

Torque

The Mendel officially requires 13.7 N-cm torque (0.137 N-m or 1400 g-cm or 1.215 lb-in) for each of the X, Y and Z axes. Recent designs for extruders (ExtruderController) almost exclusively require stepper motors as well, but no torque requirements have been given in those designs.

Stepper motors do not offer as much torque or holding force as comparable DC servo motors or DC gear motors. Their advantage over these motors is one of positional control. Whereas DC motors require a closed loop feedback mechanism, as well as support circuitry to drive them, a stepper motor has positional control by its nature of rotation via fractional increments.

Power and current

All stepper motors will have certain specifications for voltage and current (typically 2.8 V and 1.68 A); as long as the stepper driver/controller does current control, you can use any supply voltage greater than the motor's rated voltage. In fact, a large difference is advantageous to the top speed of the motor. If the driver/controller does not do current control, you must use a supply voltage fairly close to the motor voltage (no more than 2x the voltage specified by the manufacturer) or the motor will overheat and burn out its winding insulation or demagnetize its rotor.

The version 2.3 RepRap axis controllers do have current control.

Stepper drivers vs stepper controllers

To run a stepper motor, two things are normally required: a controller to create step and direction signals (at ±5 V normally) and a driver circuit which can generate the necessary current to drive the motor. In some cases, a very small stepper may be driven directly from the controller, or the controller and driver circuits may be combined on to one board.

The stepper controller drives 3 wires -- traditionally labeled "step", "dir", "GND" -- which carry motion information to the stepper driver. (Often these 3 lines are opto-isolated at the front end of a stepper driver). The stepper controller is typically a pure digital logic device, and requires relatively little power.

The stepper driver connects to the 4 thick wires of the stepper motor. It contains the big power transistors, and requires a thick power cable to a DC power supply, because all the power to drive the motors runs through it.

PWM and Stepper Drivers

The vast majority of stepper drivers are connected to some controller with a 3 wire interface: the controller pulses the STEP pin to move the motor one step(*), the controller sets the DIR pin to choose whether a step is a clockwise step or a counterclockwise step, and a common GND pin.

From Wikipedia:[[2]]: Pulse-width modulation (PWM) is a very efficient way of providing intermediate amounts of electrical power between fully on and fully off. A simple power switch with a typical power source provides full power only, when switched on. PWM is a comparatively recent technique, made practical by modern electronic power switches.

Stepper drivers normally work by chopping up a supply voltage using an embedded PWM chip. These chips do require minor support circuitry (which is the primary thing you pay for when you buy a stepper driver). The PWM chips themselves usually have a unit price below 10 USD, depending mostly on their rated current. A chopping driver, aka a current limiting driver, keeps the motor working and the current in the motor at a safe level, even when driving a "3V" motor from a "24V" power supply. All chips listed here have "thermal shutdown".

(*) Many chips also have built-in microstepping. When microstepping is enabled, each pulse on the STEP pin moves the motor one microstep.

Some example chips include:

Chip Verified? Max current Comments
L293D Yes 0.6 A Multiples can be stacked on top of each other to divide up amperage. No current limiting.
A3967 No 0.75 A Slightly underpowered, at only 750 mA/phase
[A4983] Yes 2 A Can get very warm, active cooling is needed
[A4988] Yes 2 A Identical and pin compatible to A4983, but also pullup on M1 and motor short circuit protection
[Allegro 3977] No 2.5 A
[TB6560] No 2.5 - 3 A
ST L6470 No 3 A
DRV8825 No 3 A

Stepper drivers

Sourcing stepper motor drivers can be a bit difficult. The RepRap V2.3 stepper drivers are very hard to purchase pre-assembled. Builders with just a little bit of skill can source parts and assemble the controllers. Those without skills or materials to assemble the boards can buy generic stepper drivers. In Europe it will usually be more cost-effective to get pre-assembled boards than it will be to buy parts and perform a DIY assembly.

Alternative sources for stepper drivers

Manufacturer Verified? Location Max current Microstepping Comments
Stepper Motor Driver 2.3 (A3982) Yes US 2 A 1/2 Listed for comparison.
EasyDriver (A3967) Yes US 0.75 A 1/8 Slightly underpowered compared to other drivers, at only 750 mA/phase. bothacker uses EasyDriver[3], and reports that it has plenty sufficient power for Mendel. Recommended.
Pololu stepper driver board Yes US 2 A 1/16 Can get very warm; active fan cooling or passive small heatsink is needed above ~0.5 A. Recommended.
4 Axis Stepper Motor Driver Controller (A3977) Yes US 2.5 A 1/8 4 stepper drivers on a single board.
DIY CNC No GB 2.5 A 1/8 Can drive 1 stepper; discount when buying several.
Arduino Motor Shield No US 0.6 A ? Requires Arduino as controller. Can drive 2 servos, 4 DC, or 2 (bipolar or unipolar) steppers. Website notes that you can increase the max current by piggy-backing (soldering a chip onto a chip) another L293D chip on top of the first (and another one on top of that)
TB6560AHQ based No GB/PRC 1.5 - 3 A 1, 1/2, 1/8, 1/16 Can drive 3 to 5 steppers depending on model; read more.
Stepper Driver 2.3 Clone by kymberlyaandrus Yes US 2 A 1/2 Same schematic but physically smaller than the original version. The trim pot doesn't have a start/end point so adjusting the current can be more difficult than other boards. The terminal blocks are nice because they don't require making special connectors.
Gecko Drive Yes US 3.5 A 1/10 (only) Can drive 4 steppers
Nanotec SMC11 Yes GER 1.4 A 1/16 with cooling until 2.5 A
LiniStepper by Roman Black no US 3 A 1/18 and "stepless" Open Source: Circuit Diagram, PCB (Board) Layout, and PIC Software all available.
Tri Duino Stepper ??? ??? ??? ??? Open Source
A3979breakout ??? ??? ??? ??? ???
grblshield No US 2.5 1/8 3 axis controller plugs onto Arduino Uno or similar

PMinMo stepper motor driver comparison.

Mid-Band Resonance Compensation

Gecko drivers have a feature called mid-band resonance compensation which keeps stepper motors from stalling due to resonance issues that can occur when the motor is turning in the range of 5-15 RPMs. This can be very useful when controlling the steppers on a Tiag mill, for example. However, the stepper motors in a Mendel never run anywhere near that range, so mid-band resonance compensation provides no benefit to a Mendel build.

Troubleshooting

Pololu Modules

  • Stepper Motor is "jittering"
    • The Pololu modules shut down when they're too hot. Ensure proper cooling.
  • Stepper motor draws too many amps
    • Pololu modules have a small SMD potentiometer for adjusting the current. Connect one stepper at a time and adjust the amperage until you're satisfied with the setting.
    • Adjust so the steppers can still hold the torque but don't get too hot. Personally, I go near the amperage specified per coil.

Further reading

  • Alternative electronics has some design considerations for people designing stepper motor controllers and other reprap electronics.
  • The PMinMO wiki: "Motors" article gives some recommendations for CNC motor selection.
  • The Open Circuits wiki "motor driver" article has a long list of open-source stepper motor drivers, and related information.
  • Some Wikipedia: linear actuator#Electro-mechanical actuators, rather than the motor spinning the lead screw as in most CNC designs, instead the motor spins an internal lead nut, pulling the motor up and down a (non-spinning) lead screw that passes all the way through the motor. The electronics works identically to other stepper motors -- standard stepper motor electronics can drive it. One RepRap researcher points out that this makes the mechanics simpler and, with a few changes to the design, could potentially lower total cost of a RepRap.[4][5][6]
  • Stepper World has a great series of articles about how stepper motors work.
  • CNC Information has some information on how stepper motors work along with many other CNC related categories.