Stepper motor
These pages should be merged such that both pages do not attempt to cover the duplicate topics.
Contents
Stepper motors move a known interval for each pulse of power, making them handy devices for repeatable positioning. Generally they come in two flavours: bipolar and unipolar. The Darwin design uses unipolar motors that are converted to bipolar motors.
Wikipedia has tons of information on steppers.
Stepper Motor Requirements
Your RepRap machine will need three (3) stepper motors for the 3 dimensions. In addition, you might use a stepper based extruder.
These are the general requirements so far for a RepRap machine. You could probably get by with less, especially for the lighter X axis, but this is what we recommend. Always choose a high torque motor for the extruder.
Parameter | Specification |
Size | NEMA 23 |
Type | Bipolar |
Shaft | dual-output shaft |
Torque | 100 oz-in or abount 0.71 Nm |
Resistance | about 10 ohms, or 1 to 30 ohms |
If you are using the PIC controller 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.
Bipolar Motors
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 Darwin design. 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
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 some unipolar motors as bipolar motors if you ignore the centre tap wires. Their main beauty though 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.
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.
NEMA 17 Motors
Lin Engineering / 4118S-62-07
File:Cache-stepper-motor-nema17.jpg
This is an awesome little NEMA17 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.5A / phase
- Phase Resistance: 0.6ohm
- Phase inductance: .93mH
- Holding torque: 3240g-cm or about 0.31 Nm
- Shaft diameter: 0.190"
- Shaft length: 0.50"
- Motor depth: 1.34"
NEMA-17 is a standard motor mounting geometry. The outside of the motor housing is 1.7"x1.7".
Name | Color |
A | Red |
B | Blue |
C | Green |
D | Black |
Suppliers
Technical Information
Zapp Automation / SY42STH47-1684B
- 200 steps per revolution (1.8 deg/step)
- Rated Current 1.68A
- Phase Resistance: 1.65ohm
- Phase inductance: 2.8mH
- Holding torque: 4.4Kg-cm
- Shaft diameter: 5mm
- Shaft length: 22mm
- Motor depth: 47mm
Name | Color |
A | Black |
B | Red |
C | Green |
D | Blue
|
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 ohms which means it draws less current. In this mode its ideally matched to our L298 based boards. In this wiring setup it can handle 0.85 amps, which is just right. 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
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. That basically means it will operate much better. However, it will draw about 1.7 amps, which 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
- ST5709S1208-B stepper motor from Farnell
- Nanotec Gmbh - Supplier / Manufacturer
Technical Information
Keling KL23H51-24-08B
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.
Bipolar - Serial
This configuration is suited for our driver boards. It has higher impedance and higher ohms which means it draws less current. In this mode its ideally matched to our L298 based boards. In this wiring setup it can handle 1.5 amps, which is just right. 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. That basically means it will operate much better. 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
- MakerBot Industries
- Keling Inc. - The manufacturer/supplier. #5 on the list.
Technical Information
FL57STH51-2808A (axis extending 1 way) and FL57STH51-3008B (axis 2 ways like the picture)
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
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.
Open Source Stepper Motor Drivers
RepRap Stepper Motor Driver v1.x
The first generation of RepRap stepper motor drivers. Uses the L297/L298 stepper motor driver combo. Half-stepping. Handles up to 2A. All through hole. A nice, solid driver. It uses some old technology, so its not as fancy as the newer stepper drivers, but it gets the job done. Read the documentation page here.
RepRap Stepper Motor Driver v2.x
The second generation of RepRap stepper motor drivers. Uses the Allegro A3982 chip which does a bunch of nice things and makes the board much simpler. It also drops the price by $10 compared to the v1.x series. It can handle up to 2A, does half-stepping. The only downside is that its SMT, which can be a bit scary for people. Its all large SMT parts, so its pretty simple to solder it, especially with the solder paste / hotplate method. Read the documentation page here.
AVRSTMD
AVRSTMD - An open source microstepping driver that uses an atmega168 and current limited h-bridges. Very rad circuit.