When selecting a NEMA17 stepper motor, holding torque alone is insufficient for determining performance; instead, the complete speed-torque curve must be examined, as different motors exhibit varying torque outputs at different speeds, and driver configuration (such as microstepping and voltage) significantly impacts overall performance, with modern drivers like the TMC2209 generally outperforming older drivers like the TB6600 in both torque delivery and maximum speed capabilities.
NEMA17 Stepper Motor Test With Dynamometer: LDO vs STEPPERONLINE
Added:I have five NEMA17 stepper motors, and we're going to test them to find out which one performs the best.
Let's introduce the contenders.
The first two are made by LDO Motors.
They are the Speedy Power and Super Power models.
LDO Motors has an excellent reputation.
They're often used in enthusiast 3D printer builds, and I've seen YouTubers give glowing reviews of their motors.
I needed to find out for myself whether they really are that good.
So I reached out to LDO Motors to purchase them.
Full disclosure, to my surprise, LDO Motors were happy to send me the units for testing, and I gladly accepted.
Next, we have a motor from STEPPERONLINE, another reputable manufacturer.
This is the 17HE19-2004S.
We'll talk about the specifications later.
Next, I found this stepper motor on the Usongshine store, which has a lot of motion control related products.
The model number is 17HS8401, and this is the only motor in our line-up that deviates from the all-black look.
Finally, we have the motor that was featured in the video where I compared the performance of an open loop stepper, closed loop stepper, and my DIY servo.
It's made by JKONGMOTOR, and its model number is JK42HS48-1684-08AF.
As you can tell, these model numbers don't exactly roll off the tongue, so we'll be referring to them by their manufacturer, and in LDO Motor's case, the model names.
Let's have a quick look at the basic specs.
I've sorted the table by current rating, because I'll be starting our tests off with the TMC2209 stepper motor driver.
The TMC2209 is popular among the enthusiast 3D printing community, and can be found built into control boards like the SKR Mini E3 V3.
When running in step/direction mode, the TMC2209's VREF, and therefore, current limit is set using this potentiometer.
But, the TMC2209 is limited to a maximum RMS current of 2A.
In my case, the BTT TMC2209 boards have 110mΩ current sense resistors, which limits the max motor current to between 1.64 and 1.92A.
We can use this formula to calculate the exact current limit, which is 1.77A.
This means, with the TMC2209, we cannot run the motors from STEPPERONLINE and LDO Motors at their rated currents, leaving some performance on the table.
Of course, I do have another driver up my sleeve.
While we're here, let's have a glance at the specified holding torques.
Surprisingly, the LDO Motors Super Power has the lowest holding torque, even though it has the highest current rating.
The Speedy Power is specified with the highest, and the others are actually all pretty similar.
So, what is torque?
You're probably familiar with Newton's second law, F=ma.
That is, force equals mass times acceleration.
There is a rotational equivalent of this equation, and that is τ=Iα, where alpha is angular acceleration, I is moment of inertia, and, you guessed it, tau is torque.
In fact, torque is directly related to force, τ=r×F.
Since F=ma, we get this.
To put it simply: more torque, more acceleration.
Angular or linear.
"Holding torque", as its name implies, refers to the torque when the motor is holding its position, that is, when it's at zero speed.
It's commonly measured by attaching an arm with a known length, then hanging a known weight off the arm until the motor fails to hold its position.
Knowing the holding torque is useful if you're selecting a motor that needs to hold its position under load, for example, in the Z-axis of a 3D printer.
But really, a single number isn't going to tell us everything about the motor's performance.
In fact, once the motor gets moving, its torque output changes, and the motor with the highest holding torque might not be the fastest motor overall.
To make an informed choice of the best stepper motor for our application, we need much more information.
We need the speed-torque curve.
Which means, we need a dynamometer.
According to Wikipedia, a dynamometer "is a device for simultaneously measuring the torque and rotational speed of an engine, motor or other rotating prime mover".
And this is the one I've built.
It's a little more sophisticated than hanging weights off a stick, but the concept is actually simple enough.
The motor being tested spins a shaft which is directly connected to an optical encoder, which measures the position and speed.
A belt drive system connects the shaft to a braking disc, which spins freely on ball bearings.
A separate linear system controls a brake calliper through a brake line.
The calliper gradually clamps down on the braking disc, applying a braking force which is measured with a load cell.
The braking force is increased until the motor stalls, and we now know the maximum torque at that particular speed.
The process is repeated at increasing speeds, until we reach the motor's maximum speed.
I have two power supplies, a smaller one for the brake stepper, and a bigger one for the actual stepper being tested.
All this is controlled by a bunch of electronics on a breadboard.
We have the TMC2209 driving the stepper motor.
It's set to 8 microsteps by default.
The other driver is an A4988, driving the brake's stepper motor.
The load cell is read with an HX711 load cell amplifier module.
And finally, we have a Raspberry Pi Pico tying everything together, and transfers the data to the computer for processing.
If we plot the torque and speed values against time, this is what we get.
For each speed step, the measured torque increases as the brake tightens its grip.
The speed subplot doesn't look like much, but if we zoom in, we can see the target speed, and the actual speed measured with the optical encoder.
What we really want to see, actually, is the plot of torque against speed.
This is a scatter plot of the raw data from one of the tests.
We can see that at each speed step, the motor is made to go through its full range of torque capabilities, until the maximum is reached.
Extracting the peak torque at each speed step leaves us with this line.
The test is performed three times for each motor to make sure we're getting reasonably repeatable results.
That also lets us take the mean of the three lines, giving us this final plot.
Now, we repeat this for every motor.
If you're enjoying this video, please subscribe!
Let's have a look at the results, starting with the Usongshine motor, which has the lowest current rating of 1.5A.
The initial set of tests were all run with the TMC2209 at 12V, to be on the safe side.
This dynamometer needs the motor to be spinning to get any kind of a torque reading, so it isn't able to measure the actual holding torque of the stepper motor.
We make do with the motor barely spinning, at just 2.5 RPM.
At this lowest speed, the Usongshine motor outputs nearly 0.4Nm of torque, which is comparable with the specified 0.48Nm holding torque.
At 12V, the Usongshine motor is able to get up to 1225 RPM.
For context, the X1-Carbon from Bambulab, which is one of the fastest off-the-shelf 3D printers, has a maximum toolhead speed of 500mm/s.
That's fast, but in a typical belt drive system, the motor would only need to spin up to 750 RPM to reach that speed, substantially lower than the maximum speed of the Usongshine motor.
However, the torque output decreases as the motor speeds up.
So if we were planning on getting to 750 RPM using a constant acceleration or torque profile, like many 3D printers do, then we're limiting ourselves to just a fraction of the available torque.
With constant acceleration, the high torque capabilities at low speeds will be lost on us.
We simply wouldn't be putting the pedal to the metal.
Next, we have the motor from JKONGMOTOR.
It's rated for a slightly higher current at 1.68A, and it outperforms the Usongshine motor at almost every speed.
It also has a substantially higher top speed of 1750 RPM.
But otherwise, the shape of the two speed-torque curves are actually remarkably similar.
The STEPPERONLINE motor is rated for yet a higher current at 2A.
In fact, it exceeds the capabilities of the TMC2209 board I have, so it's being tested at the maximum possible setting of 1.77A.
The slightly higher current delivers a slightly better performance.
Here's where things get interesting.
With the TMC2209 maxed out at 1.77A, the LDO Motor's Speedy Power still manages to outperform the other three motors at speeds above 250 RPM.
Below 250 RPM though, the torque output appears to be flatter, which deviates from what we've seen in the other motors.
It's also worth noting that the Speedy Power has the highest maximum speed so far, at 2225 RPM.
And this is at 1.77A, significantly below the rated current of 2.5A.
Finally, we have the LDO Motor's Super Power.
Its current rating is the highest of the lot at 2.8A, and we're still only running at the TMC2209's limit of 1.77A.
As the datasheet suggests, the Super Power does indeed have the lowest torque at low speeds.
But above around 500 RPM, it begins to outperform even the Speedy Power.
Its speed-torque curve is also noticeably flatter, which might mean this motor is more suited for applications that require a lot of movement, in contrast to just position holding.
Going back to the previous example of getting to 750 RPM, with the Super Power, we still give up some of the low speed torque, but we have three times the torque output compared to the Usongshine motor, with only an 18% increase in motor current.
By the way, the Super Power also set the new speed record at 2475 RPM.
Just over double the Usongshine's maximum speed.
After running these tests at 12V, the logical next step is to test at 24V.
So that's what I did.
And I blew up two TMC2209 drivers.
Both died early in the tests without warning and without any visible sign of damage.
I've run out of TMC2209 drivers for now, so it was time to move on to the TB6600 stepper driver.
The TB6600 is an old-school, low-tech stepper driver compared to the TMC2209.
It doesn't have any of the fancy technology that allows the TMC2209 to operate smoothly and quietly.
But it's rated to run at 42V and 3.5A.
Enough to drive all five motors at their limits.
For comparison's sake, I've first set it up with the same settings as the TMC2209: 12V with 8 microsteps.
Here's the previous plot with the Usongshine motor and the TMC2209.
And here's the new plot with the TB6600 with the exact same settings, and, well, the TMC2209 is simply the superior driver.
With the TMC2209, the motor has a higher torque at low speed, and has a higher maximum speed.
The smoother operation of the TMC2209 also seems to produce a less noisy curve.
In fact, this is even more obvious when comparing all the curves at once.
With the TB6600, speeds above 1500 RPM are non-existent.
In fact, looking at the rest of the comparisons, the TMC2209 consistently outperforms the TB6600 in both torque and speed, even when the TB6600 is set to higher currents with the STEPPERONLINE and LDO's motors.
If nothing else, this shows Trinamic's drivers really do perform incredibly well when compared with old-school drivers like the TB6600.
If only there was a way to combine the TMC2209's brains with the TB6600's brawn… The TMC5160 might fit the bill, but I need to write the firmware drivers for it first.
So that's for another video.
Anyway, let's press on with the 24V tests.
The TMC2209's results are still the gold standard at this point, so they'll form the basis for comparison.
Finally, it seems we've managed to get some performance out of the TB6600.
At 24V, the TB6600 is able to achieve a little more speed than the TMC2209 at 12V.
Stepping through all the plots, we find that the TMC2209 still consistently outperforms the TB6600 at low speeds, but the TB6600 is able to produce significantly higher torques at higher speeds.
A quick side note is that some of these motors do get dangerously toasty when running at their maximum rated currents.
In fact, LDO Motors' Super Power nearly reached 100 degrees Celsius during testing at 24V and 2.8A.
Here's a look at the speed-torque curves from all five motors when driven with the TB6600 at 24V.
There doesn't seem to be a clear winner from this plot, but we'll get to the preliminary conclusions in a bit.
There's just one last thing I need to test.
See, in LDO Motors' Super Power datasheet, they included a curiously shaped speed-torque curve.
All the motors, including the Super Power, have shown decreasing torques with increasing speeds.
But this curve shows us the opposite!
The one difference in the test configuration is that this curve was obtained running without microstepping.
OK. TB6600 at 24V, full step, 2.8A.
These are plots from the previous tests, running at 8 microsteps.
And this new line is with the TB6600 at 24V and 2.8A, without microstepping.
Interestingly, both the torque and maximum speed have increased compared to operating with 8 microsteps.
But no, the torque doesn't increase with speed.
I think we can draw some preliminary conclusions from all these tests.
First, the driver configuration matters, a lot.
For example, at 12V, the TMC2209 outperforms the TB6600 in every test, even when the TB6600 is set to a higher current.
The TMC2209 offers higher low speed torques and higher maximum speeds, but is limited to a lower maximum current.
Another interesting result is that, with the TB6600, turning microstepping off resulted in increased torque across the board, as well as a higher top speed.
But let's get back to the motors.
Let's start with the results from the TMC2209 at 12V.
If you're looking for something that will spend a lot of time at extremely low speeds, the Usongshine motor is a reasonable choice.
It's able to hold its own against the other motors despite operating at a lower current.
It is, however, terrible at high speeds.
If you need an all-rounder, the STEPPERONLINE motor does a decent job at both low and medium speeds.
Finally, if you need higher speeds, LDO Motors' Speedy Power and Super Power perform well when combined with the TMC2209.
If you are getting into speeds above 500 RPM or so, the Super Power has a slight edge in torque output.
However, if your application also requires fast, short movements like in a belt driven 3D printer, the Speedy Power offers higher low speed torques that you'll need, and the best overall performance among the five contenders.
If you're using the TB6600 at 24V, the results aren't as obvious.
The Usongshine motor is still great at low speeds, and also still rubbish at high speeds.
Disappointingly, with the TB6600, LDO Motor's Super Power still traded off its low speed torque, but this time for no benefit whatsoever at higher speeds.
The best performers seem to be the STEPPERONLINE motor and LDO Motor's Speedy Power, which appear to perform quite similarly.
It is, however, a little suspicious that STEPPERONLINE and LDO's motors all seem to have the same torque output above 1500 RPM, which doesn't agree with the results using the TMC2209.
Perhaps there's some kind of a performance bottleneck at above 1500 RPM with the TB6600 in this specific configuration.
Either way, we should probably take these results, and conclusions, with a grain of salt.
I've called these conclusions preliminary, because we're missing the 24V tests with a modern stepper driver like the TMC2209 or the TMC5160.
I'm really curious to find out how the TMC5160 will fare against the TMC2209 and TB6600, and whether I can squeeze any more performance out of these motors.
If you are too, subscribe so you don't miss that video when it comes out.
The effect of microstepping on motor performance is another interesting aspect that might be worth investigating.
So watch this space!
That's all I have for today, thank you for watching, and see you next time.
Up Next

Precision 3D-Printed Gearbox with Hall Effect Feedback for NEMA 17 Motors
@Emilostuff
245.7K views•2020-06-09

IFS Therapy Demonstration: Complete Session with Unburdening
@IFSCA
95.9K views•2021-01-13

FastAPI vs Flask vs Django: Choosing the Right Python Web Framework
@TechWithTim
302.5K views•2024-05-26

Game of Thrones Opening Credits: A Cinematic Analysis
@gameofthrones
46.3M views•2011-04-18
Related Study Plans & Knowledge Roadmaps
Structured learning paths in General & Interdisciplinary Studies






































