The ultimate guide to buy the perfect stepper motor
The ultimate guide to buy the perfect stepper motor
“This article is an adaptation and translation of the guide written by a friend of mine Javier Loureiro in Spanish which can be found at the wonderful StaticBoards blog: https://www.cloudraymotor.com
I am not a native English speaker, and I translated this article as a personal exercise to learn more about steppers motors, and it’s specific vocabulary.“
I have many ideas and I am really looking forward to convert this blog into the reference guide for the Spanish maker community.
Therefore, I’ve been thinking for a while which content is really a must to be here.
Due the RAMPS 1.4 SB topic, i normally receive lots of feedback related to drivers and stepper motors. “Which one do I buy? Have you read about this one? What about the DRV8825 or the A4988, are they really compatible?, and so on…”
Following that feedback, I decided to put together a strong guide on drivers and I started writing about stepper motors.
Soon I realized that the post was completely out of control having more than 2000 words and growing. After a sanity check I opted to focus only over the stepper motors, and leave the drivers topic and the popular discussion about DRV8825 vs A4988 for a later article.
I am certain you are thinking… another massive article about “how the stepper motors work”
That’s exactly the reason why i decided to give this article more of a practical view, trying to write something more useful.
I will give you a trick list and real advice, which will help you understand the best stepper motor to buy, figure out which motor that old printer has, or how to connect those motors when your wonderful manual is in Chinese.
- Stepper motors, what are they and why do i need one.
- What is inside of a stepper motor.
- Stepper motors advantages.
- Position control
- Speed control
- Fixed position (check translation)
- Maximum torque at low speeds
- Common problems with stepper motors
- Low efficiency
- Slow movement
- Very low torque at high speeds
- Types of Stepper Motors to buy
- Unipolar Stepper motors
- Bipolar Stepper motors
- Main specifications
- Number of steps per revolution
- Angle per step
- Micro stepping
- Holding torque
- Dimentions and Standard NEMA
- Shaft types
- Simple guide to identify which stepper motor you’ve got.
- Connecting stepper motors
- Longer version
- If you own a multi-meter
- Final conclusions
Stepper motors, what are they and why do i need one.
Surely you already know what stepper motor is, you probably have heard about them hundreds of times and you probably already own one. And no doubt if you have built a 3D printer you own a few.
Anyway, i will start from the very beginning.
- Why do i want to use a stepper motor?
Those are the means that will allow you to have precision and control of movement.
That is the main reason that robots, precision machines or 3D printers use them. Stepper motors are present in most of the robotics projects.
With stepper motors you can obtain a precise control over the movement using an Arduino or a PC. You can also instruct the machine to move exactlya number of centimeters.
Lets understand how do they move so we can take advantage of their capabilities.
Vamos a ver cómo funcionan para que podamos aprovechar mejor sus ventajas.
Stepper motors are composed of two parts.
The first part is the Stator (very cool word which i love and i had to throw in here!).
The stator is where the stator coils are hosted, and it is the static part. It has notches on top which will be magnetized when the current flows over the coils.
The rotor is obviously the part that rotates, and it is formed by magnets which alternate between the north and south poles. There are as many magnets as notches at the stator.
The basic idea is that when the coils get magnetized, the magnets will be attracted by the notches.
Here are a few screen captures of a very detailed and well done video where the full inside process is perfectly explained.
When the coil is magnetized in the north pole direction, the south pole magnetized teeth of the stator will get attracted, therefore the motor will be fixed firmly in its position.
When the coil is magnetized to the south pole, the magnetized teeth oriented in the south of the stator will repel, therefore the motor will turn a step.
You can find a video here where this guy explains very well using the animation where the screen captures are from.
Advantages of the stepper motors
Lets enumerate the most important advantages which you will have to consider in your project if you are going to use stepper motors.
The stepper motors require a digital circuit to move. Usually an Arduino board, or a more advance controller. But there is no way of creating a simplecircuit to control a stepper motor.
That is the reason why they are very well adapted to robotics. Our program sends exactly the amount of steps required, and we know exactly the angle the motor will turn.
Since our digital controller electronics possess the simultaneous control with precision of several motors, we can create any movement we can imagine, from circles, to draw a logotype. There are endless possibilities.
In theory with this, we will know at any point the position of our robot. Although we cannot be 100% certain.
We will not know if the robot is trapped on something, or if it did step into an obstacle. For that we require an external device to provide feedback about those events.
In a different scenario. If the robot is in a controlled environment, like a 3D printer, we can assume with confidence that everything will work correctly and trust our programming.
Not everything is about the position. Our program can control also the transmitted pulses speed.
Therefore, we can accelerate or reduce our speed in a controller manner at any point. We can control the inertia and the breaking, to achieve slow and fluid movement.
If you would like to learn more about how to manage the acceleration in a professional manner, you should not skip “The ultimate guide to the GRBL firmware”
A very important characteristic of the stepper motor is that they can remain fixed in a position. If we apply current to the coils, the motor will stay on the current position without any advanced mechanical means.
For example, this will allow us to lift a door or a weight and have it fixed in middle air.
Maximum torque at low speed
The stepper motors behave opposite to the common electric motors. They are stronger when their movement starts from a resting position, than when they are up to full speed.
Due this fact, they are an excelent option for your project which requires low speed but lots of torque (like a metal milling machine, for example).
Which problems do the stepper motors have
Not everything can be an advantage, stepper motors also have quite a few important disadvantages, lets go through them.
Very low efficiency
Yes, the stepper motors waste a lot of energy, compared to the traditional electric motors. Therefore, they consume more current than common motors.
They also consume their maximum when in rest, so they tend to reach high temperatures.
They are slow
To turn a full revolution, the motor has to step 200 steps, one step at a time. Therefore a common electric motor will always go faster. If you need speed, you have to invest in a servo motor (which are more expensive), or get your hands on a motor with an encoder.
What is an encoder?
An encoder is a device which allows you to know the real current position of a motor.
Low torque at high speeds
If on rest they are very strong, just the opposite happens at high speeds. They suffer the same problem as I do when I go for a run, I run out of steam really fast.
They don’t provide feedback.
Unlike servo motors, the stepper motors do not know their position at any given time, and they cannot adjust themselves. Your only option is to build a system by yourself to measure and correct their position.
What types of stepper motors are available to buy ?
Not every stepper motor is the same, therefore, not every driver is the same, either is compatible. The key difference is in the coils that the motor has.
For that reason, you have to be really certain on they type of motor you have before buying a driver.
To the point, these are the two types of motors that you will encounter in the wild.
Internally they have two pairs of coils. Each pair is obviously composed by two coils. One magnetized to the north pole and the second one to the south pole.
Those are the easiest to program motors.
At the first moment, the driver will let current to go through the coil which magnetizes north pole, and then will turn on the south pole one.
This way, the driver will only need to turn on and off each coil. This is the most important feature of the unipolar motors. The driver doesn’t understand about north or south, it only turns on and off coils.
The unipolar motors are usually the cheapest and less powerful ones.
The unipolar motors are uber simple, just a transistor matrix, therefore the cheapest and simpler.
The disadvantage of being that simple is that they don’t manage power sent to the motor.
The most known driver for those types of motors is the ULN2803, which is really simple inside.
Why would i buy an unipolar motor?
If you are looking for something cheap in the few dollars range, and without too much torque requirements, that is the right motor for you.
A bipolar motor is simpler inside than an unipolar motor, since it only has two coils.
The complexity of those motors is on the driver. That’s because not only it has to let current pass through the coil, it also has to swap the current polarity.
Thus on the first stage, the current travels in one direction creating a magnetic field north/south, and on a second stage the current direction is inverted, creating a magnetic field south/north.
The name bipolar motor comes from the fact that the coils are designed to swap polarity during movement.
There are a vast amount of drivers for stepper motors. The most known in the 3D printing world and robotics are mainly based on the Allegro A4988chip, and the Texas Instruments DRV8825.
For bigger motors, which require more torque, more powerful drivers are used. The most known and expensive are the Gecko. Those drivers can be found inside CNC machines.
Why will I buy a bipolar motor?
Overall the bipolar motors are more powerful, and are used inside 3D printers, CNC, cutters, etc. Besides, since the drivers are more advanced, they manage better power and include more advance features, like microsteps and so on.
Let’s enumerate the general specs which you will find when looking into stepper motors to buy.
Number of steps per revolution
The stepper motors don’t have a continuous motion, therefore they cannot position themselves in every angle.
They work like the seconds in an analog watch, which they only have 60 unique positions.
As expected, the more steps the motor has, the better resolution we could achieve but with a reduced speed.
The common motors used inside machines and robotics use to have 200 steps per revolution. That is 360º/200 = 1.8º per step.
Angle per step
That is a different view over the number of turns per revolution. It is the equivalent way to give you number of steps or angle per step. 200 steps per turn is equivalent to 1.8º per step.
This is a topic which generates lots of questions. Specially since the RAMPS boards contain jumpers to select the number of microsteps.
The idea behind this technique is based on not sending 100% of the power to the magnets, thereby the motor will not complete 100% of the step.
The microstepping designed drivers send energy using a sinusoidal wave.
Using this technique, in theory, we lose torque and power, but we gain resolution and fluidity.
Con esta técnica, en teoría perdemos torque y fuerza, pero ganamos resolución y fluidez.
And you can really see it. If you deactivate the microstepping (just remove the jumpers on the RAMPS), the movement becomes abrupt. Personally, every machine i put together i always set them to the maximum setting.
If the motor is connected to a gear and the gear to another gear we obtain a gearbox.
If the second gear is bigger, we will apply more torque while trading speed.
If the gear is smaller, we will go faster while trading torque.
It is very common to use gearboxes, and there are motors which have then integrated, saving us the installation problems.
Gearboxes are specified in ratios. And it is very common to see number of teeth per gear.
An example, 32:8 means that we will go from a 32 teeth gear to one of 8. For each 32 revolutions, the second gear will turn 8, therefore the relationship is 32/8 = 4 times.
The use of gearboxes depends on the machine and the torque and speed required.
I have to admit that i had to search Google for the term. I’ve been always seen it referred as simply torque.
In lame terms, it is the measurement of the torque that a motor can apply to hold a fixed weight.
To measure it, imagine you have a 1 meter long staff, and on its tip we set a 1 kg weight.
Now we have to lift that staff with one hand only. Many people will not be able to do it.
Now imagine that instead of 1 Kg, we have 2 Kg. It makes things worst!
What about having a 5 meters staff and 500 grams?. Although there is less weight , to lift half a kilo at 5 meters distance with only one had is quite difficult.
That is why, we measure the torque in Newtons per meter, since it depends on the weight and distance to the motor shaft.
3D printers usually require a lot of torque at the extruder in order to push filament, especially the ones trying to print with a 3mm diameter.
To give you an idea, the traditional extruder Wade (the most known extruder for Prusas) is able to produce a torque of 40 Newtons per cm.
However a laser engraver it almost doesn’t require torque, since it doesn’t have to push anything.
The stepper motors usually have less torque than DC motors. But instead, it is easier to hold them in place.
To keep a DC motor standstill, it is required to re-calculate the position in a constant feedback loop.
Size and NEMA standard
You will constantly be hearing about NEMA16, NEMA23…
NEMA is the acronym for National Electrical Manufacturers Association.
When it says national, it really means USA. It is quite a paradox that every NEMA you buy uses the ‘national’ standard, but they are Made in China.
The number will indicate the size of the motor. To be more precise it will specify the front face, where the screws are located. NEMA17 means it’s dimensions will be 1.7x1.7 inches.
It’s implied that usually the bigger the more torque will provide. Although it doesn’t have to be like that. It is totally feasible for a NEMA14 to over-match a NEMA17. It depends on the manufacturer and the specs of the motor design.
If the motor will be in a dynamic part of the machine, like the head or an extruder, then the size will really matter. The bigger the more weight, that will generate more momentum.
The NEMA14 are very light, but they are difficult to obtain with the necessary torque. The NEMA17 are the easiest to find and the most common ones for Arduino projects.
Which motor to buy?
Álvaro Rey, from MakerGal: If you are in doubt about which NEMA17 to choose, always buy the biggest. If you are afraid of not having enough torque get one of big 70oz.
Bear in mind that motors tend to get into quite a temperature. If they work at top of their specs, it is not uncommon for them to get to 80º degree Celsius. And if you happen to use PLA plastic for your machine…
You might end in big trouble!
As an example, let’s imagine we find a NEMA14 motor which works with the required torque, but we want to get it to its limits, it is going to overheat a lot. In that case, if we try to hold it in place using PLA parts, we have to take into account that fact or use a NEMA17 which will not reach as much temperature.
One of the motor characteristics is the internal resistance. How this influence us?
On one side it is the heat released. Due having more resistance, the motor will heat more.
And on the other side, being a high resistance could lead to not getting enough current for the motor to turn (this is the most serious problem when using motors with higher voltage like 24v or 36v). Anyway, I’ve never encountered this problem before.
This value also generates lots of confusion. It is very common for the motor to have a value like 3.6V, but we obviously have a 12V power supply. What can we do?
The motor is just a copper coil, the value of the voltage is a way of telling you amperage. Since the resistance is a constant, and by Ohms law with constant resistance amperes are proportional to voltage.
Alright, in simple motors, as the unipolar, where drivers only let current through, it is key to not let too much voltage in, otherwise the motor will overheat.
But for bidirectional motors, it is very common to use advanced drivers, which manage correctly power consumption and they have a maximum power limitation. The driver will measure how much current is passing through and will cut power when we cross the limit.
That’s why the voltage is not what is relevant to us in those cases, we will manage the power by calibrating the driver.
Motor Voltage and the power supply
It totally different the maximum motor voltage than the driver voltage.
It is important to check the shaft diameter and the length.
Make sure you are going to use the gears correctly and to secure the setscrews firmly.
Also, make sure the gear will fit in the motor and the shaft to not be too long.
I am quite pedantic over it since it is not the first time I suffered that problem, or that i have to short the length of a shaft.
There are 3 types
- Round shaft. The most common one.
- Flatted section shaft. It is round but it has a flat section. Therefore we can use them with a setscrew easily.
- Threaded shaft. Since it is also very common to attach a threaded shaft to the motor, there are motors which already come with a threaded shaft installed to be used with a nut. It is even possible to order them to specs.
A Simple guide to identify the stepper motor you have.
You’ve got your stepper motor from Ebay, the manual is in Chinese and you don’t have a clue if the motor is unipolar or bipolar.
If 8 wires, it will probably be unipolar, 4 per coil.
If 6 wires, probably unipolar, 3 for one coil and another 3 for the other. This means each coil has its own ground.
If 5 wires, probably also unipolar. 2 for one coil, 2 for the other and a common ground for both coils.
If 4 wires, probably a bipolar motor, 2 cables per coil.
I’ve also found this video which can help you differentiate the motor type you’ve got:
Wiring the stepper motors.
This will be a guide to connect the most common stepper motors for 3D printers. They usually mount NEMA17 with 4 wires.
If the motor comes with coloured wires, the typical colours are Red/Blue/Green/Black
Issues: It is not guaranteed to be like this! Who knows where the motors come from, how are they wired, etc. I’ve known many people who were not able to make them work and at the end, they realized the problem was in the wiring.
The most common drivers which the 3D printers and home machines use are bipolar. The most known drivers for bipolar motors are pololus a4988and DRV8825.
The motor will have 4 wires. 2 per coil, therefore what we have to figure out is which ones are the coils.
Figure out the coils
If we are going to wire a stepper motor, we have to figure out which wires belong to which coil.
We can name them coil A and coil B, or coil 1 and coil 2.
Luckily, the drivers designers decided to use both systems (/ironic)
If you read the driver’s label, the DRV8825 specifies A2 A1 B1 B2 and the A4988 specifies 1B 1A 2A 2B.
Just read it several times, and make sure you understand it is exactly the same.
If you have a multimeter
Very simple. Test the resistance between two wires. If there is a bit of resistance (less than 150ohm), then you have found a coil!.
If the resistance is infinite (0L), it means that the cables do not touch and then they are from different coils.
If you don’t own a multimeter, you can use a more entertaining way of finding out using LEDs with legs.
Connect one wire to one leg and the other wire to another leg.
Then you rotate the shaft generating current.
If the LED turns on, then you have found the coil!
It is quite important to rotate the motor in one direction and also in the other one. The LED will only turn on in one direction (when you generate current from the anode to the cathode). If it doesn’t turn on in any direction, then those wires belong to different coils.
My God! If you are here is because you are really worried about which stepper motor you need for your project.
The stepper motors are a fundamental part of electronics. It is the main component of many projects and it is quite important to know them well.
I hope this article helped you to get into your own conclusions. Or at least to learn more about how they worn inside and understand better how can you use them.
That is why I invite you to share here the project you are creating. If you are thinking about a 3D printer or a laser cutting CNC machine, or a robotics project using Arduino.
Also, if you liked it, please share it in social media so other people has access to this information and can be useful to them.
Cloudray stepper motor series are widely used in medical instruments, robotics, 3D printers, extruders, laser cutters, engraving machine, textile equipment, packaging machinery, CNC machines, etc.
Low vibration,Low heating, No loss of step
Fast Response,Better Acceleration Performance
Thanks to a robust design they can be selected for the harshest environments. Precise, open-loop, speed and position control can be achieved with the application of full step, half step, or microstepping electronics.
Stepping angle is adjustable( rang in 18°±5%）， 0.9 °stepper motor's stepping angle is smaller, fineness is higher and positioning is more accurate.Avoiding vibration,runs more smoothly and gets lower noise.
Sample Block Quote
Praesent vestibulum congue tellus at fringilla. Curabitur vitae semper sem, eu convallis est. Cras felis nunc commodo loremous convallis vitae interdum non nisl. Maecenas ac est sit amet augue pharetra convallis nec danos.
Sample Paragraph Text
Praesent vestibulum congue tellus at fringilla. Curabitur vitae semper sem, eu convallis est. Cras felis nunc commodo eu convallis vitae interdum non nisl. Maecenas ac est sit amet augue pharetra convallis nec danos dui.
Cras suscipit quam et turpis eleifend vitae malesuada magna congue. Damus id ullamcorper neque. Sed vitae mi a mi pretium aliquet ac sed elitos. Pellentesque nulla eros accumsan quis justo at tincidunt lobortis denimes loremous. Suspendisse vestibulum lectus in lectus volutpat, ut dapibus purus pulvinar. Vestibulum sit amet auctor ipsum.