Help with Steps per mm Calculation
-
Thanks for everyone who replied!
That's a really interesting discussion and I think it illustrates perfectly why it tends to get my brain twisted up with all the terms, partly because...
@aidar said in Help with Steps per mm Calculation:
@dougal1957 Got it. But i am sure by 25mm and 12 mm OP means lead then, not pitch.
Actually, I did mean 'pitch' rather than 'lead' - and I'm not going by what I know here (as I know close to nothing on this), but by the documentation.
Also, notice that I didn't use the term 'lead', but rather 'number of threads', as this is what Igus use in their listing, although I do believe they mean the same thing in this context (looking at the current lead-screw, it does look it has 8 'starts', but that seems to be cancelled out by how the nut is made so the travel distance for 1 rotation is indeed 25mm).
Check out the link I provided to the products' page on Igus and see what it says there, or if you prefer, here's a snapshot of the 2 relevant rows in the listing:
One thing that still puzzles me is that the above calculations all seem to use 16, rather than 256, for the micro-stepping value - can anyone explain this please?
Also, assuming @fcwilt is correct (which looks to be the case - thanks, @fcwilt!), any thoughts on the potential increase of resolution (from 256 to 533 steps/mm vs losing the round numbers for steps and having slower movement overall?
-
Above calculations use 16 microstepping because you wrote you use 16 interpolated. This may looks like 256 , but it isnt. Calculations for steps per distance are made in processor, so it use this 16 value, interpolation is made after in driver by splitting each microstep to 16 more steps again. Or something like that. Anyway, if you use 16x interpolated or 256x its kind of same for motor, but not same for processor calculations. I hope it make sence, howevwr i have to say sorry for my bad english once again.
-
@snowcrash said in Help with Steps per mm Calculation:
Thanks for everyone who replied!
That's a really interesting discussion and I think it illustrates perfectly why it tends to get my brain twisted up with all the terms, partly because...
@aidar said in Help with Steps per mm Calculation:
@dougal1957 Got it. But i am sure by 25mm and 12 mm OP means lead then, not pitch.
Actually, I did mean 'pitch' rather than 'lead' - and I'm not going by what I know here (as I know close to nothing on this), but by the documentation.
Check out the link I provided to the products' page on Igus and see what it says there, or if you prefer, here's a snapshot of the 2 relevant rows in the listing:
Actually that is "lead". I find it amazing that Igus confuses "lead" and "pitch".
Check their drawing before the table:
https://www.igus.com/contentData/wpck/images/global/1_1/dst_spindeln_zg.jpgThat
P
is clearly "lead", not "pitch". The pitch is the axial distance between adjacent threads. They measure the "pitch" as distance between the ridges of the same thread, which actually is the "lead" - axial advance after you turn the screw 360 degrees (1 turn). -
@aidar said in Help with Steps per mm Calculation:
Above calculations use 16 microstepping because you wrote you use 16 interpolated. This may looks like 256 , but it isnt. Calculations for steps per distance are made in processor, so it use this 16 value, interpolation is made after in driver by splitting each microstep to 16 more steps again. Or something like that. Anyway, if you use 16x interpolated or 256x its kind of same for motor, but not same for processor calculations. I hope it make sence, howevwr i have to say sorry for my bad english once again.
Thanks @aidar, that definitely helps.
Am I correct in understanding that this way - i.e. x16 microstepping with interpolation (giving 256 in total) - is the right way to do it with the Duet? That is, the best way to get max resolution from the steppers?
Actually that is "lead". I find it amazing that Igus confuses "lead" and "pitch" ... That
P
is clearly "lead", not "pitch". The pitch is the axial distance between adjacent threads. They measure the "pitch" as distance between the ridges of the same thread, which actually is the "lead" - axial advance after you turn the screw 360 degrees (1 turn).Thanks for the clarification! makes me feel a bit better about having such a hard time getting my head around this
And, last but not lease, I'm still looking for advice on the above open question so any comments would be welcome:
any thoughts on the potential increase of resolution (from 256 to 533 steps/mm vs losing the round numbers for steps and having slower movement overall?
-
@snowcrash said in Help with Steps per mm Calculation:
And, last but not lease, I'm still looking for advice on the above open question so any comments would be welcome:
any thoughts on the potential increase of resolution (from 256 to 533 steps/mm vs losing the round numbers for steps and having slower movement overall?
You need to follow the calculation as the goal is to determine the number of stepper motor steps needed to move a known distance.
Of course after you set the number of steps you then should verify that a command to move say 100mm does in fact result in 100mm of movement.
Frederick
-
@snowcrash x16 interpolated to 256 is probably the best way to go. Microstepping above that doesn't get you much more reliable resolution and the impact on CPU performance becomes an issue if you start to exceed the max step rate. Better off going with 0.9 degree steppers. (which you already are) The extruder may be an exception to this in some cases where a higher steps per mm value could be desirable to avoid missed steps on very short extruder moves. Microstepping of 64 or 128 is usually enough, but does limit max retraction speed a bit.
As for the fractional steps per mm value, it's not likely to be much of an issue, people seem to do it all the time and the accumulated error over time would possibly be lost in the noise of the overall system. Personally I would want to stick to whole numbers because eventually that fraction will get dropped somewhere, since the electronics either produce a step pulse, or it doesn't.
If you're set on using those 12mm pitch lead screws I don't think 533.3 steps per mm will be very detrimental to you. Is that the only pitch option available in that diameter?
-
I forgot to address your question about increased resolution between the 12mm pitch and 25mm pitch lead screws. The difference for a Z axis would mean different amounts of travel per step.
Using
Z_steps_per_mm = (motor_steps_per_rev * driver_microstep) / thread_pitch
motor_steps_per_rev 400 driver_microstep 16 thread_pitch 25 Z_steps_per_mm 256.000000 travel_per_step 0.003906250
Versus
motor_steps_per_rev 400 driver_microstep 16 thread_pitch 12 Z_steps_per_mm 533.333333 travel_per_step 0.001875000
Those are both really odd layer heights. I personally wouldn't use either lead screw for a Z axis, but if they are for other axis, it would matter a lot less.
-
Thanks for the comment, @fcwilt, but that's not what I meant by my question. I was referring to the pro's and con's of switching from 10x25 lead-screws to 10x12 ones.
-
Thank you, @phaedrux! as always, an excellent comment & very useful info
@phaedrux said in Help with Steps per mm Calculation:
If you're set on using those 12mm pitch lead screws I don't think 533.3 steps per mm will be very detrimental to you. Is that the only pitch option available in that diameter?
I'm currently undecided as I'm not sure the gains in resolution would be worth the expense.
As for lead-screws with other pitches, those are the only ones (apart from the 10x25 I have) with a 10mm diameter I could find on Igus. I tried looking in other places, but so far haven't found anything suitable.
And as I mentioned above, I'd rather stick with the 10mm diameter to avoid the need to replace a whole set of bearings.
So if anyone has a recommendation for good quality lead-screws at a decent price with 10mm diameter, I'd be very interested to hear it.
@phaedrux said in Help with Steps per mm Calculation:
I forgot to address your question about increased resolution between the 12mm pitch and 25mm pitch lead screws. The difference for a Z axis would mean different amounts of travel per step.
Using
Z_steps_per_mm = (motor_steps_per_rev * driver_microstep) / thread_pitch
motor_steps_per_rev 400 driver_microstep 16 thread_pitch 25 Z_steps_per_mm 256.000000 travel_per_step 0.003906250
Versus
motor_steps_per_rev 400 driver_microstep 16 thread_pitch 12 Z_steps_per_mm 533.333333 travel_per_step 0.001875000
Those are both really odd layer heights. I personally wouldn't use either lead screw for a Z axis, but if they are for other axis, it would matter a lot less.
At the risk of sounding incredibly foolish, I thought that with 400 steps per revolution on the side of the steppers, and 25mm per revolution on the lead-screw & nut side, my minimum layer height is 25/400 = 0.0625mm. Am I totally wrong on this? (btw, Is it relevant that my printer is a Delta type in this context?)
-
Hi,
Well my understanding is that you want to be able to achieve common layer heights (multiples of 0.05) with a integer number of stepper steps.
When you do the math with a 8mm lead you get (400 x 16) / 8 which yields 800.000 for 1mm of travel as opposed to the 533.333 steps with a 12mm lead.
So with the 8mm lead 0.05mm layers need 40 steps. A 4mm lead would need 80 steps.
If it were my printer I would go ahead and change out the hardware to use an 4mm or 8mm lead.
Frederick