Microstepping (interpolation)



  • Hi guys, just wondering if there is an actual benefit going from the x16 to x32 or x64? Obviously it would seem more is better so I want to try but anyone here that has done it and can comment on any improvements in their prints??



  • @PeterA More is not necessarily better as high microstepping can put excessive load on the CPU which could result in missed steps. Microstepping does nothing to improve positional accuracy - it just makes the machine run quieter. The one exception to that is if you use a mixing hot end where one or more filaments might be fed at single digit percentages of the whole. This can lead to extremely small moves which might be less than 1 microstep at 16x. But the jury is still out on whether a single 64 or 128x microstep would actually translate to any physical movement of an extruder. The general consensus is that 16x with interpolation is best (the driver chip does the interpolation rather than the CPU).



  • @deckingman Much appreciated. Looks like i will stick to the 16. 👍



  • @deckingman I see a lot of people using 128 microsteps (with interpolation) on XY in corexy. I don't know if it's because some extensive testing or it's just psychological 🙂

    I guess it's all down to how good the driver is at interpolating...



  • @matt3o said in Microstepping (interpolation):

    @deckingman I see a lot of people using 128 microsteps (with interpolation) on XY in corexy. I don't know if it's because some extensive testing or it's just psychological 🙂

    I guess it's all down to how good the driver is at interpolating...

    As a general rule, 16x micro stepping with a 20 tooth pulley will give 80 steps per mm for X and Y on a CoreXY. So in theory, that's a resolution of 1/80th mm per micro-step. There are many reasons why producing something by squirting molten filament out of a nozzle will lead to size variances much greater than that. Also, the positional accuracy of a stepper motor is generally +_ 5% of a full step. That doesn't change with micro-stepping. Whether one divides a full step into 16 smaller steps or 128 smaller steps the positional accuracy will still be +_5% of a FULL step. So if 16x micro-stepping isn't the limiting factor, why increase it when all it will do is potentially over load the CPU which will either limit the maximum print speed, or lead to hiccups and missed steps?

    I think it's just a "more must be better" syndrome without a full understanding of the implications. Just like most people think that a super lightweight hot end will be better than moderately heavy hot end, even though the higher mass of the heavier hot end is not the limiting factor on how fast one can print.


  • administrators

    As @deckingman says, we recommend using x16 microstepping with interpolation enabled; except that in some situations (particularly un-geared extruders with low steps/mm), increasing extruder microstepping improves print quality.



  • Thanks for the feed back. Very helpful



  • Noise is the biggest thing for me.

    Would you guys expect much of a noise difference between 16x with interpolation and 256x assuming the CPU can keep up? I'm on a Duet2 running 0.9 degree steppers and rapid movements get limited when I go to 256x. For whatever it's worth, I feel like the Prusa mk3 machines are quieter than mine for rapids, but I realize there are a lot of other variables as well.



  • @owlfab said in Microstepping (interpolation):

    .................... Would you guys expect much of a noise difference between 16x with interpolation and 256x assuming the CPU can keep up? .....................

    No. Because 16X micro-steps interpolated (by the driver chip) into 16 smaller steps each = 16x16 = 256. So what gets sent to the motor is the same in either case.



  • @owlfab you may try enabling stealthChop but with my motors it doesn't make much of a difference



  • @owlfab said in Microstepping (interpolation):

    I feel like the Prusa mk3 machines are quieter than mine for rapids

    duet 2 does not have stealthchop. the prusa does. that makes a lot of difference for the noise.



  • @Veti ah right duet2... sorry, missed that. Not that on the duet3 I hear any difference, but could be my moons motors



  • @PeterA

    keep in mind that the more microsteps you introduce the more you divide your overall-torque into smaller incremental-torque. So basically this certainly gives you resolution but only maybe gives you accuracy. Of course if money is no objective to you, you can increase the microstepping endlessly and just buy a "stronger" stepper to have your "old" incremental-torque matched even with more microsteps 🙂 Calculation-formulas for that are provided e.g. here https://www.faulhaber.com/fileadmin/user_upload_global/support/MC_Support/Motors/AppNotes/Faulhaber_AN015_EN.pdf



  • @LB said in Microstepping (interpolation):

    @PeterA

    keep in mind that the more microsteps you introduce the more you divide your overall-torque into smaller incremental-torque. So basically this certainly gives you resolution but only maybe gives you accuracy. Of course if money is no objective to you, you can increase the microstepping endlessly and just buy a "stronger" stepper to have your "old" incremental-torque matched even with more microsteps 🙂 Calculation-formulas for that are provided e.g. here https://www.faulhaber.com/fileadmin/user_upload_global/support/MC_Support/Motors/AppNotes/Faulhaber_AN015_EN.pdf

    Isn't this a little misleading if you're in interpolation mode? The driver is essentially running at 256x. The microprocessor is only generating 16x of them, but the driver is dividing those out into 256, so essentially the torque will be the same, the only difference is the computational load on the microprocessor increases on higher step rates right?


  • administrators

    Microstep interpolation doesn't increase resolution or accuracy, because the MCU still commands the driver to 1/16 microstep positions; but it does make the motors quieter.



  • @ctilley79

    It is totally misleading 😉 Because in reality there is also: Friction, acceleration, jerk, driver-behaviour etc. pp. so the paper from faulhaber only gives you a hint of a ballpark where you end up if you use 1/16th microsteps as "possible-stop-positions" (versus the "interpolation/microply to 256" which is basically "smoothness" as dc42 pointed out, so basically quiteness but the stepper can not "stop"/"hold" on those positions. Basically as I understand it, the "interpolation"/"microplyer" is only that you set your voltage and ampere not in one step to the next 1/16 step, but go there via "quasi-sinusoidal" micro-interpolation LookUpTable for Voltage/Ampere so that it doesn´t shake that much)

    I would roughly calc with the values in the paper and keep a safe 10-25% distance to it, because of all the other effects not yet in the whole-calculation

    I usually use as little "possible-stop-position" hard-microsteps but of course use always the interpolation/microplyer microsteps for smoothnes - less workload for the cpu for the step-calculation, because the interpolation happens in the driver-chip. Also there are theories that it might be beneficial for accuracy if you use only full-&halfsteps as possible-stop-steps. Of course then your kinematics has to be adjusted to that

    Hey - please share your thoughts, experiments and conclusions, might be of help for all of us 😉 we wouldn´t be here if there isn´t anything we wanna learn


Log in to reply