Duet3D Logo Duet3D
    • Tags
    • Documentation
    • Order
    • Register
    • Login

    Help with Steps per mm Calculation

    Scheduled Pinned Locked Moved
    Tuning and tweaking
    6
    18
    8.0k
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • SnowCrashundefined
      SnowCrash
      last edited by SnowCrash

      Hi,

      This subject always get my brain in a twist so I thought I'd ask for some help 🙂

      My steppers are 0.9 degrees (400 steps per revolution).

      I currently have these high-helix lead-screws from Igus installed: DST-LS-10x25-R-ES, which have the following specs:

      Diameter: 10mm
      Pitch: 25mm
      No. of threads: 8

      With micro-stepping set to 256 (x16 with interpolation), this comes down to 256 steps per mm (I know it's right cause it works in reality, but I completely forgot how I got to this value).

      Now I'm considering going with similar lead-screws but with shorter pitch (yet also less threads), in the hope of increasing the resolution.

      The intended lead-screws are also from Igus: DST-LS-10x12-R-ES, and they have the following specs:

      Diameter: 10mm
      Pitch: 12mm
      No. of threads: 4

      Could someone please help me calculate how many steps per mm would this lead-screw yield? and, for my education, how the calculation is done?

      Btw, I'd like to keep the 10mm diameter as my lead-screw nuts and the bearings are all for that size and I'd rather change only the lead screws themselves if I can.

      Many thanks in advance,
      SnowCrash

      1 Reply Last reply Reply Quote 1
      • aidarundefined
        aidar
        last edited by

        Hi.

        You can use this one: https://www.prusaprinters.org/calculator/ (with 0.9 motor, 16x microstep and 12mm pitch gives you 533.33 steps/mm)

        1 Reply Last reply Reply Quote 0
        • Dougal1957undefined
          Dougal1957
          last edited by

          You need too make a distinction between lead and Pitch if they are 25mm pitch with 8 starts then the lead by definition would be 200mm so 1 turn of the motor would move 200mm and I am sure that's not the case!

          1 Reply Last reply Reply Quote 0
          • aidarundefined
            aidar
            last edited by aidar

            Usually 25mm pitch means, that 25mm is between same lead, it doesnt matter how many leads are between them. As OP sayd 256 steps/mm worked on that screw, so i belive 12mm pitch means same and that isnt important if there is 4 or 8 leads.
            Or should i say "thread" instead of "lead"? English isnt my first language, still learning..

            Dougal1957undefined 1 Reply Last reply Reply Quote 0
            • fcwiltundefined
              fcwilt
              last edited by

              Hi,

              One revolution of the lead screw is going to result in 12mm of movement. So you need to determine how many steps are going to cause 1/12 of a revolution.

              In this case it's the steps per revolution of your steppers (400) times the micro-stepping setting (16) divided by the lead screw pitch (12).

              400 x 16 = 6400, then 6400 / 12 = 533 (in whole numbers).

              Frederick

              Printers: a small Utilmaker style, a small CoreXY and a E3D MS/TC setup. Various hotends. Using Duet 3 hardware running 3.4.6

              1 Reply Last reply Reply Quote 2
              • Dougal1957undefined
                Dougal1957 @aidar
                last edited by

                @aidar Actually Pitch is defined by the distance between to adjacent peaks if you like the Lead is the distance between the peak of the same thread Picky I know but that is the engineering definition the lead of an 8 start thread is 8 times the pitch.

                aidarundefined 1 Reply Last reply Reply Quote 0
                • aidarundefined
                  aidar @Dougal1957
                  last edited by

                  @dougal1957 Got it. But i am sure by 25mm and 12 mm OP means lead then, not pitch.

                  Dougal1957undefined 1 Reply Last reply Reply Quote 0
                  • Dougal1957undefined
                    Dougal1957 @aidar
                    last edited by

                    @aidar Yes I agree but it is important to make the distinction as misconceptions can creep in Pedantic I know but that s the engineer in me

                    1 Reply Last reply Reply Quote 0
                    • SnowCrashundefined
                      SnowCrash
                      last edited by SnowCrash

                      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:

                      0_1544991953311_Screen Shot 2018-12-16 at 7.34.34 PM.png

                      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?

                      sigxcpuundefined 1 Reply Last reply Reply Quote 0
                      • aidarundefined
                        aidar
                        last edited by aidar

                        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.

                        1 Reply Last reply Reply Quote 1
                        • sigxcpuundefined
                          sigxcpu @SnowCrash
                          last edited by sigxcpu

                          @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:

                          0_1544998065703_d838ee2d-80b3-4206-859d-6a2c7292f4b3-image.png
                          https://www.igus.com/contentData/wpck/images/global/1_1/dst_spindeln_zg.jpg

                          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).

                          1 Reply Last reply Reply Quote 1
                          • SnowCrashundefined
                            SnowCrash
                            last edited by

                            @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?

                            @sigxcpu,

                            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?

                            fcwiltundefined Phaedruxundefined 2 Replies Last reply Reply Quote 0
                            • fcwiltundefined
                              fcwilt @SnowCrash
                              last edited by

                              @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

                              Printers: a small Utilmaker style, a small CoreXY and a E3D MS/TC setup. Various hotends. Using Duet 3 hardware running 3.4.6

                              SnowCrashundefined 1 Reply Last reply Reply Quote 0
                              • Phaedruxundefined
                                Phaedrux Moderator @SnowCrash
                                last edited by

                                @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?

                                Z-Bot CoreXY Build | Thingiverse Profile

                                SnowCrashundefined 1 Reply Last reply Reply Quote 0
                                • Phaedruxundefined
                                  Phaedrux Moderator
                                  last edited by

                                  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.

                                  Z-Bot CoreXY Build | Thingiverse Profile

                                  1 Reply Last reply Reply Quote 0
                                  • SnowCrashundefined
                                    SnowCrash @fcwilt
                                    last edited by

                                    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.

                                    1 Reply Last reply Reply Quote 0
                                    • SnowCrashundefined
                                      SnowCrash @Phaedrux
                                      last edited by SnowCrash

                                      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?)

                                      1 Reply Last reply Reply Quote 0
                                      • fcwiltundefined
                                        fcwilt
                                        last edited by

                                        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

                                        Printers: a small Utilmaker style, a small CoreXY and a E3D MS/TC setup. Various hotends. Using Duet 3 hardware running 3.4.6

                                        1 Reply Last reply Reply Quote 0
                                        • First post
                                          Last post
                                        Unless otherwise noted, all forum content is licensed under CC-BY-SA