Reducing microstepping for rigidity

I just watched this video on a heavily-modified MPCNC, and he shows that there’s a very non-negligible amount of play due to the steppers using 1/16th microstepping by default.

Based on the belts, pulleys, and motor parameters, I compute 1/16th microstepping results in movement resolution of 0.01mm/microstep. Given that microstepping results in dramatically lower torque, I wouldn’t mind experimenting with 1/8th or 1/4th microstepping, which should increase torque about 2x and 4x respectively (*1). Yes it would reduce resolution, but I think even 0.04mm/microstep would be fine for most things. I’d like to experiment with it, at least.

Is this reasonable and feasible? Do I have to update the firmware to change the microstepping (and steps_per_mm)? I’m using the Jackpot board and FluidNC.

(*1) Based on this article: Microstepping Myths and Realities | FAULHABER Tutorial

Short answer: No. This is a common misconception.

Long answer:

2 Likes

Man, I should’ve clicked on more than one link. I have seen this article I linked in so many places before, and it’s always the first hit on Google, I started believing it just by the fact that so many other people seem to believe it.

This looks like it’s not a settled debate, but it’s also clear that it’s not nearly as bad as it’s made out to be. Also holding torque may be different than the smoothed torque over dozens of steps during movement.

I apologize for my spam!

2 Likes

It’s fine, that’s why we are all here and weren’t it for Jeff we’d all still believe that. :smile: I only know because I basically posted that link as well. :sweat_smile:

2 Likes

If you look at your config.yaml for the Jackpot, you will see it is set to microsteps: 8 for all 5 axis.
I’m not sure why its not set for 16. Maybe @jeffeb3 or @Ryan can weigh in on that.

I am fine with a 0.02mm step resolution.

1 Like

I didn’t read his post, but I believe it just because he was confident enough to end it with a mic drop lol

1 Like

This discussion is missing something that I think is absolutely critical for our situation here: It’s ignoring the temperature limits on the stepper.

Full stepping is both coils at max current all the time so resistive loss is relative to 2x Iout^2. Using microstepping means that when one coil is at maximum, the other coil is at or close to 0 current. Because the coil currents are basically just 2 sine waves with a 90 degree phase shift, that means the sum of the squared components is always constant. There’s a bunch of fascinating AC power maths behind that and how it’s basically describing a circle on a plane but regardless, the total resistive loss is 1x Iout^2, so half as much.

That means that if we’re temperature limited in the stepper motors, we would need to run half as much current in the full stepping example as in the micro-stepping example in order to see the same temperature rise in the steppers. I’m not 100% sure on the exact numbers, but I’m pretty confident that this means that in our cases full stepping would technically have less torque than micro-stepping.

I also think the external discussions of the topic are a little misleading in this case because they’re coming at it from the perspective of designing a motion system, not operating an existing one. It’s whether you acquire the target resolution by full-stepping and changing the movement ratio to match or whether you can use a higher movement ratio and partial stepping. Here we already have a motion system so the only option would be to go to full stepping and deal with the lower resolution or to use a smaller pulley/different stepper. At which point, enough things are changing that it starts to raise other questions, in my eyes.

It’s a much longer form of what I was going to post but with actual numbers and examples. It’s a pretty comprehensive explanation of the situation.

1 Like

I think maybe this is technically true but it is easy to misinterpret:

as you increase the number of microsteps per full step, the INCREMENTAL torque per microstep drops off drastically. Resolution increases. However, accuracy will suffer.

There is a certain magnetic springy-ness (erroneously referred to as magnetic backlash in the article) where the torque is proportional to the angular rotation away from the ideal position. This stiffness is pretty high and the deflections are very small, but the stiffness is not infinite. It’s not a problem if it’s less than the other sources of deflection.

This is worth emphasizing: torque is proportional to the deflection away from the ideal position.

With higher resolution microstepping, the torque per unit of angle is unchanged, but the torque per unit of micro-steps seems lower because you’re using smaller units.

If you were to double the microsteps and enlarge the pulley by a factor of two to keep steps per mm the same, then in that case the stiffness would get worse because microstepping doesn’t get you extra torque for free. Keeping the pulley size fixed, you do get extra resolution almost for free, but it is less useful as the units get to be small relative to the overall accuracy of the system.

3 Likes

That’s what I was trying to get at above, yeah. It’s not about adjusting the setting up or down, it’s about the overall design. Nothing actually changes until you start changing pulleys and at that point I think the whole approach needs a more careful consideration as to what the actual goals are…

1 Like

I always have thought that microstepping doesn’t hurt. But you won’t ever get the ideal numbers. 0.01mm isn’t possible for me to measure, generally, and I can measure the error in my cuts. So obviously, the microstepping isn’t the limiting factor.

And yeah, if you are designing the machine, depending on that 0.01mm is a mistake. But once it is built, the drivers and steppers don’t mind the microstepping. The one place it has bit us is in the processor overhead. When we used threaded rod, we were at something like 4500 microsteps per mm on Z and a fast move could hang that old software and boards.

FWIW, TMC drivers interpolate more. They actually step at 1/256th. That is what the motors see. The interface between the drivers and the fluidnc is what is limited to 1/16 or 1/8. And that has nothing to do with current, heat, or torque. It is only the resolution the design is “sampled” and “transmitted”.

2 Likes