Duet3D Logo

    Duet3D

    • Register
    • Login
    • Search
    • Categories
    • Tags
    • Documentation
    • Order

    Microstepping and speed limits

    Tuning and tweaking
    6
    24
    4439
    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.
    • InSanity
      InSanity last edited by

      So setting aside the argument of microstepping holding torque, resolution and quality I'm wondering how microstepping impacts print speeds if at all. I like to print at 80 or sometimes 90 mm/s on my Cartesian printer. If I run 256 micro stepping to reduce stepper noise am I even getting close to the boards limits or could I go much faster without any possible impact on movements?

      Why run 256 instead of 16 with interpolation, because I want that Slight chance of getting a tiny tiny bit more resolution. Even if I only end up with the equivalent of 1/17th microstepping it's still better then 16. On my printer at least I can ever so slightly see the difference going from 1/16th to 1/.32nd microstepping, Your results will vary from printer to printer. I'm also very aware going to 0.9 deg/step motors is a better solution which I have done for my extruders with excellent results.

      So can anyone shed some light on possible speed limits for the board at say 256 microstepping ?

      Thanks,

      Jeff

      Duet WiFi Powered FFCP with E3D legends hotend system. BLTouch grid leveling.

      1 Reply Last reply Reply Quote 0
      • elmoret
        elmoret last edited by

        http://reprap.org/wiki/Step_rates

        Assuming a 20 tooth pulley, 1.8deg stepper, max speed is 187mm/sec at 256x. If you change to 0.9deg steppers, then about 93mm/sec.

        1 Reply Last reply Reply Quote 0
        • bot
          bot last edited by

          Have you seen this video before?

          https://www.youtube.com/watch?v=eyqwLiowZiU

          You should check it out. It basically shows, obviously, why it's impossible for anything beyond about 1/4 microstepping to be accurate.

          *not actually a robot

          1 Reply Last reply Reply Quote 0
          • InSanity
            InSanity last edited by

            I'll watch the video, but keep in mind there is a big difference between resolution and accuracy. You can have a non linear progression somewhat bell curve shaped that still ends up with more resolution, even if it's not at all accurate. This thread is not at all about accuracy, it's about speed.

            Thanks,

            Jeff

            Duet WiFi Powered FFCP with E3D legends hotend system. BLTouch grid leveling.

            1 Reply Last reply Reply Quote 0
            • InSanity
              InSanity last edited by

              @elmoret:

              http://reprap.org/wiki/Step_rates

              Assuming a 20 tooth pulley, 1.8deg stepper, max speed is 187mm/sec at 256x. If you change to 0.9deg steppers, then about 93mm/sec.

              Thanks I'm actually running 1.8 deg motors with a weird 17t pulley setup. So I'm loosing a little speed with a little better resolution. Where did you come up with your value ?

              Jeff

              Duet WiFi Powered FFCP with E3D legends hotend system. BLTouch grid leveling.

              1 Reply Last reply Reply Quote 0
              • elmoret
                elmoret last edited by

                I didn't come up with it, it is explained in the link I posted.

                1 Reply Last reply Reply Quote 0
                • bot
                  bot last edited by

                  Ok, if it's about speed, even more reason NOT to use excessive microstepping. You just talked about using microstepping to gain added resolution (which, granted, you gain) I wanted to point out that it is not accurate. Perhaps you need the added resolution to smooth out the motion. I'd love to see comparison between 1/16 and 1/32 to see the difference you speak of.

                  *not actually a robot

                  1 Reply Last reply Reply Quote 0
                  • dc42
                    dc42 administrators last edited by

                    You should preferably limit the step rate to about 100kHz per motor. For a Cartesian or CoreXY printer, the step rate is your steps/mm multiplied by the travel speed in mm/sec. So here is a table giving maximum recommended speeds when using 20 tooth pulleys, GT2 belts and 1.8deg motors:

                    Microstepping, steps/mm. max speed
                    16x, 80, 1250
                    32x, 160, 625
                    64x, 320, 312
                    128x, 640, 156
                    256x, 1280, 78

                    For 0.9deg motors, divide max speed by 2. For other numbers of pulley teeth, multiply max speed by pulley_teeth/20.

                    On the firmware work list is to implement variable microstepping, so that you can configure 256x but it will be reduced automatically at high speeds.

                    Duet WiFi hardware designer and firmware engineer
                    Please do not ask me for Duet support via PM or email, use the forum
                    http://www.escher3d.com, https://miscsolutions.wordpress.com

                    1 Reply Last reply Reply Quote 0
                    • InSanity
                      InSanity last edited by

                      @elmoret:

                      I didn't come up with it, it is explained in the link I posted.

                      My bad, didn't notice the link. Interesting..very interesting. Looks like 1.8 deg with 16 tooth and 256 stepping I'm looking at 150mm/s perhaps more as I think those charts are for a delta. I'm running 17t as well so yah maybe 150+ mm/s.

                      Thanks,

                      Jeff

                      Duet WiFi Powered FFCP with E3D legends hotend system. BLTouch grid leveling.

                      1 Reply Last reply Reply Quote 0
                      • deckingman
                        deckingman last edited by

                        @(In)Sanity:

                        @elmoret:

                        http://reprap.org/wiki/Step_rates

                        Assuming a 20 tooth pulley, 1.8deg stepper, max speed is 187mm/sec at 256x. If you change to 0.9deg steppers, then about 93mm/sec.

                        Thanks I'm actually running 1.8 deg motors with a weird 17t pulley setup. So I'm loosing a little speed with a little better resolution. Where did you come up with your value ?

                        Jeff

                        May I ask what are your steps/m for X and Y?

                        Ian
                        https://somei3deas.wordpress.com/
                        https://www.youtube.com/@deckingman

                        1 Reply Last reply Reply Quote 0
                        • InSanity
                          InSanity last edited by

                          @dc42:

                          You should limit the step rate to about 100kHz per motor. The step rate is your steps/mm multiplied by the travel speed in mm/sec. So here is a table giving maximum realistic speeds when using 20 tooth pulleys, GT2 belts and 1.8deg motors:

                          Microstepping, steps/mm. max speed
                          16x, 80, 1250
                          32x, 160, 625
                          64x, 320, 312
                          128x, 640, 156
                          256x, 1280, 78

                          For 0.9deg motors, divide max speed by 2. For other numbers of pulley teeth, multiply max speed by pulley_teeth/20.

                          On the firmware work list is to implement variable microstepping, so that you can configure 256x but it will be reduced automatically at high speeds.

                          Thank you sir, looks like I should stick with 64x or 128x , perhaps 128x as I still can hear a little singing with 64x, not too much..but a little bit. 32x just drives me nuts. Hmm, I do once in a while print at 150mm/s when I need junk quickly.

                          Jeff

                          Duet WiFi Powered FFCP with E3D legends hotend system. BLTouch grid leveling.

                          1 Reply Last reply Reply Quote 0
                          • InSanity
                            InSanity last edited by

                            @deckingman:

                            @(In)Sanity:

                            @elmoret:

                            http://reprap.org/wiki/Step_rates

                            Assuming a 20 tooth pulley, 1.8deg stepper, max speed is 187mm/sec at 256x. If you change to 0.9deg steppers, then about 93mm/sec.

                            Thanks I'm actually running 1.8 deg motors with a weird 17t pulley setup. So I'm loosing a little speed with a little better resolution. Where did you come up with your value ?

                            Jeff

                            May I ask what are your steps/m for X and Y?

                            Sure, here is my current setup

                            M92 X94.12 Y94.12 Z400 ; set axis steps/mm
                            M92 E200.7238:200.7238 ; set extruder 0 and 1 steps/mm

                            M350 I1 X64 Y64 Z64 E256:256 ; set microstepping

                            Duet WiFi Powered FFCP with E3D legends hotend system. BLTouch grid leveling.

                            1 Reply Last reply Reply Quote 0
                            • dc42
                              dc42 administrators last edited by

                              Does the 64x sing less if you enable interpolation? The TMC2660 datasheet doesn't make it clear whether interpolation works at microstepping other than 16x.

                              Duet WiFi hardware designer and firmware engineer
                              Please do not ask me for Duet support via PM or email, use the forum
                              http://www.escher3d.com, https://miscsolutions.wordpress.com

                              1 Reply Last reply Reply Quote 0
                              • InSanity
                                InSanity last edited by

                                @dc42:

                                Does the 64x sing less if you enable interpolation? The TMC2660 datasheet doesn't make it clear whether interpolation works at microstepping other than 16x.

                                You know, my mind wants to think so…so I leave it on. I've not done any real serious testing. I'll have to do so.

                                Jeff

                                Duet WiFi Powered FFCP with E3D legends hotend system. BLTouch grid leveling.

                                1 Reply Last reply Reply Quote 0
                                • deckingman
                                  deckingman last edited by

                                  At 94.12 steps/mm 1 step = 0.01062734mm so at 16 micro steps 1 micro step = 0.000664046mm , at 32, one micro step = 0.000332023mm, at 64 it becomes 0.000166011mm and we need to use scientific notation for the higher micro steps.
                                  Just thought I'd point that out.

                                  Ian
                                  https://somei3deas.wordpress.com/
                                  https://www.youtube.com/@deckingman

                                  1 Reply Last reply Reply Quote 0
                                  • InSanity
                                    InSanity last edited by

                                    @deckingman:

                                    At 94.12 steps/mm 1 step = 0.01062734mm so at 16 micro steps 1 micro step = 0.000664046mm , at 32, one micro step = 0.000332023mm, at 64 it becomes 0.000166011mm and we need to use scientific notation for the higher micro steps.
                                    Just thought I'd point that out.

                                    The uneven ratio I know is a bit odd and could produce some possible artifacts, it's what the printer came with and is a bit of work to change out to 16t pulleys. 20t might actually be easier to switch to if they fit. I assume you were talking about the odd ratio, or perhaps just the resolution which of course can't be achieved? I can however notice stuff like the letters on the back of a 3dbenchy looking better at > 16 microstepping. It's subtle, but it exists. Mostly the higher microstepping is about noise level for me. I just can't live with 16x when I have that 1% chance of better results above 16x.

                                    Jeff

                                    Duet WiFi Powered FFCP with E3D legends hotend system. BLTouch grid leveling.

                                    1 Reply Last reply Reply Quote 0
                                    • InSanity
                                      InSanity last edited by

                                      @dc42:

                                      Does the 64x sing less if you enable interpolation? The TMC2660 datasheet doesn't make it clear whether interpolation works at microstepping other than 16x.

                                      It does seam to make a little bit more singing noise with interpolation off. I would say for those who are worried about such a thing to just leave it on, even if it does nothing more than make the end user think it does.

                                      Jeff

                                      Duet WiFi Powered FFCP with E3D legends hotend system. BLTouch grid leveling.

                                      1 Reply Last reply Reply Quote 0
                                      • 3dprinting meathead
                                        3dprinting meathead last edited by

                                        @(In)Sanity:

                                        @dc42:

                                        Does the 64x sing less if you enable interpolation? The TMC2660 datasheet doesn't make it clear whether interpolation works at microstepping other than 16x.

                                        It does seam to make a little bit more singing noise with interpolation off. I would say for those who are worried about such a thing to just leave it on, even if it does nothing more than make the end user think it does.

                                        Jeff

                                        Are you running 12v or 24v?
                                        I heard that the tmc2100s were quieter with 24v, but not sure if it's true, and I'm not sure if it holds true with the tmc2660, which from th little information I could find, is a 2100 with higher amperage(?)

                                        If I can learn it, than anyone can learn it.

                                        1 Reply Last reply Reply Quote 0
                                        • dc42
                                          dc42 administrators last edited by

                                          I've had confirmation from Trinamic that interpolation only works when microstepping is set to 16x.

                                          The 256x interpolation modes in the TMC2100 and TMC2660 are similar, but as well as supporting higher currents the TMC2660 provides an SPI interface to control and monitor the chip, while the TMC2100 just provides some configuration pins instead.

                                          Duet WiFi hardware designer and firmware engineer
                                          Please do not ask me for Duet support via PM or email, use the forum
                                          http://www.escher3d.com, https://miscsolutions.wordpress.com

                                          1 Reply Last reply Reply Quote 0
                                          • InSanity
                                            InSanity last edited by

                                            I'm running 24 volts. So the finding on the interpolation match up with what I've seen, 32x for example is significantly louder then 64x with interpolation on.

                                            So at the moment I'm running in 256x mode and can do travel moves at 200 mm/s and normally print at 80-90 mm/s. I've timed prints with 16x up to 256x and not seen any differences in completion time at all, so how does one know if you are being slowed down by using too high of microstepping values ?

                                            Jeff

                                            Duet WiFi Powered FFCP with E3D legends hotend system. BLTouch grid leveling.

                                            1 Reply Last reply Reply Quote 0
                                            • dc42
                                              dc42 administrators last edited by

                                              To check whether you have the combination of speed * microstepping too high, do some long, high-speed moves. Then run M122 and look at "MaxReps" in the Move section. Try to keep that value below 50, or 100 at most. The value is cleared out after it is displayed.

                                              Duet WiFi hardware designer and firmware engineer
                                              Please do not ask me for Duet support via PM or email, use the forum
                                              http://www.escher3d.com, https://miscsolutions.wordpress.com

                                              1 Reply Last reply Reply Quote 0
                                              • InSanity
                                                InSanity last edited by

                                                @dc42:

                                                To check whether you have the combination of speed * microstepping too high, do some long, high-speed moves. Then run M122 and look at "MaxReps" in the Move section. Try to keep that value below 50, or 100 at most. The value is cleared out after it is displayed.

                                                Ok, in geek speak what does this translate into ?

                                                Thanks,

                                                Jeff

                                                Duet WiFi Powered FFCP with E3D legends hotend system. BLTouch grid leveling.

                                                1 Reply Last reply Reply Quote 0
                                                • dc42
                                                  dc42 administrators last edited by

                                                  MaxReps is the number of times that the ISR loops while generating step pulses, before there are no further steps due yet.

                                                  Duet WiFi hardware designer and firmware engineer
                                                  Please do not ask me for Duet support via PM or email, use the forum
                                                  http://www.escher3d.com, https://miscsolutions.wordpress.com

                                                  1 Reply Last reply Reply Quote 0
                                                  • InSanity
                                                    InSanity last edited by

                                                    @dc42:

                                                    MaxReps is the number of times that the ISR loops while generating step pulses, before there are no further steps due yet.

                                                    Ahh, so kind of like the max length of the FIFO that was hit? I notice I hit 364 on my last print. I've stepped down to 128x and trying the print again.

                                                    Edit: Same print I got 17 now with 128x vs 364 @ 256x. Guess I'll stick with 128x.

                                                    Thanks,

                                                    Jeff

                                                    Duet WiFi Powered FFCP with E3D legends hotend system. BLTouch grid leveling.

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