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

    Duet maximum achievable step rates

    Scheduled Pinned Locked Moved
    Duet Hardware and wiring
    12
    47
    6.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.
    • deckingmanundefined
      deckingman @Phaedrux
      last edited by

      @Phaedrux said in Duet maximum achievable step rates:

      @deadwood83 said in Duet maximum achievable step rates:

      128 microstepping

      Such high microstepping is rarely beneficial. x16 with interpolation to x256 is definitely the way to go, especially for a Duet 2.

      There is a usage case where higher micro stepping is desirable, as I have repeatedly pointed out. That is when using a mixing hot end whereby some of the filaments may be moving at single digit percentages of the total and therefore 16x does not give adequate resolution. There are other users who print highly detailed parts, using very small nozzles and layer heights. These users may need higher micro stepping and/or use highly geared extruders. Either way, a high step pulse frequency is required so it has been hugely disappointing to me that Duet3 has had a much lower step pulse frequency than Duet 2. I sincerely hope that the latest firmware will improve that situation but I'll wait until it moves out of the beta stage before I try it.

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

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

        @deckingman yes I had your use case in mind when I said rarely.

        Z-Bot CoreXY Build | Thingiverse Profile

        deckingmanundefined 1 Reply Last reply Reply Quote 0
        • deckingmanundefined
          deckingman @Phaedrux
          last edited by

          @Phaedrux Understood. BTW, with firmware 3.1 and extruders connected to expansion boards, I get extremely high hiccup count using 32X micro stepping. That's with 1.8 degree motors (roughly 400 steps per mm) and in non mixing mode. If I used 0.9 degree motors (800 steps per mm) which is not uncommon, then I would be seeing that high hiccup count using 16X micro stepping. That's how bad the step pulse frequency is with firmware 3.1.

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

          A Former User? 1 Reply Last reply Reply Quote 0
          • A Former User?
            A Former User @deckingman
            last edited by A Former User

            @deckingman
            What board do you use?
            Can you post more details e.g. the motor config section in config.g for others to better understand?

            deckingmanundefined 1 Reply Last reply Reply Quote 0
            • deckingmanundefined
              deckingman @A Former User
              last edited by

              @LB I'm away from home at the moment but the low step pulse frequency is related to expansion boards and firmware version 3.1.1. The extruders are Bondtech BMGs with steps per mm of about 400 with 1.8 degree stepper motors. I can run these at only 16x microstepping and 30mm/sec retraction speed. Hopefully this situation will be improved with the 3.2 firmware but I'll wait for the beta testing phase to be completed before I attempt to install it.

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

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

                Resurecting this old thread because I've finally got around to testing the step pulse frequency on my 3HC expansion boards. Step pulse frequency is important to me because I use mixing hot ends and when one or more filaments are single digit percentages of the whole, the resultant extrusion amount can be less than one micro-step using 16X. Therefore it is necessary to use 128X micro-stepping but there is also a need to retract the filament at a reasonable fast speed.

                Firmware is 3.2.2.

                6 extruders in total, 3 connected to each of two expansion boards. Extruder setting - max speed 9000 mm/min, max instantaneous speed 3600mm/sec, acceleration, 6000 mm/sec^2. Other settings as per spread sheet.

                Test method. No filament loaded. Retract/unretract distance set to 3mm. Run G10 - G11 - G10 - G11 then check hiccups using M122.

                Results

                RRF3.2.2 Expansion board step pulse frequency..ods

                Please check my maths because my results are less than those shown on @dc42's spread sheet using 3.2 beta1 (the only value shown for 3 motors on a 3HC board). If they are correct, then it looks like the maximum "hiccup free" step pulse rate is around 131kHz or a tad higher (but no higher than 136kHz).

                Conclusion. This is now on a par with Duet 2 - maybe a tad better. In any case, it allows me to run my extruders at 128x micro-stepping as is necessary with a mixing hot end, which is acceptable for me personally. So that's one gripe I can cross off my list 🙂

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

                JoergS5undefined 1 Reply Last reply Reply Quote 3
                • Phaedruxundefined
                  Phaedrux Moderator
                  last edited by

                  That's good to hear Ian.

                  Z-Bot CoreXY Build | Thingiverse Profile

                  deckingmanundefined 1 Reply Last reply Reply Quote 0
                  • deckingmanundefined
                    deckingman @Phaedrux
                    last edited by

                    @Phaedrux said in Duet maximum achievable step rates:

                    That's good to hear Ian.

                    I try to be balanced and give positive comments when something gets fixed, as well as hold your (as in the Duet team) feet to the fire when things are broken.

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

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

                      @deckingman I'd expect no less.

                      Z-Bot CoreXY Build | Thingiverse Profile

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

                        The SAME51 processor on the EXP3HC, SAME54 used on Duet 3 Mini and SAM4E used on Duet WiFi/Ethernet are all 120MHz ARM Cortex M4F processors. So it's expected that the maximum step rates should be similar. The SAME51 and SAME54 have more cache memory so they might be a little faster.

                        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
                        • JoergS5undefined
                          JoergS5 @deckingman
                          last edited by JoergS5

                          @deckingman said in Duet maximum achievable step rates:

                          the resultant extrusion amount can be less than one micro-step using 16X. Therefore it is necessary to use 128X micro-stepping but there is also a need to retract the filament at a reasonable fast speed.

                          I wonder why you used 128x, because with high microstepping of steppers you don't gain precision. I expect you need precision for mixing colors. I would expect to use a low microstepping with a high precision gear (1:16 or similar gear ratio). The low microstepping mode must have a high frequency then.

                          engikeneerundefined dc42undefined 2 Replies Last reply Reply Quote 0
                          • engikeneerundefined
                            engikeneer @JoergS5
                            last edited by

                            @JoergS5 because he needs high accuracy not high precision. With a mixing hot end you want to still move the unused filaments forward slowly (Ian has written a lot about it on his blog and YouTube!). With that he needs higher microstepping to actually achieve a very slow, constant movement.

                            Granted, in most 3d printing anything more than 16x (with interpolation) is useless, but this is one of the exceptions

                            E3D TC with D3Mini and Toolboards.
                            Home-built CoreXY, Duet Wifi, Chimera direct drive, 2x BMG, 300x300x300 build volume
                            i3 clone with a bunch of mods

                            JoergS5undefined 1 Reply Last reply Reply Quote 0
                            • JoergS5undefined
                              JoergS5 @engikeneer
                              last edited by

                              @engikeneer thank you for explaining. I'll check Ian's blogs.

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

                                @JoergS5 said in Duet maximum achievable step rates:

                                @deckingman said in Duet maximum achievable step rates:

                                the resultant extrusion amount can be less than one micro-step using 16X. Therefore it is necessary to use 128X micro-stepping but there is also a need to retract the filament at a reasonable fast speed.

                                I wonder why you used 128x, because with high microstepping of steppers you don't gain precision. I expect you need precision for mixing colors. I would expect to use a low microstepping with a high precision gear (1:16 or similar gear ratio). The low microstepping mode must have a high frequency then.

                                I wondered that too, and I suspect that it isn't necessary now. However, it certainly was necessary a number of firmware versions ago, because RRF would throw away any commanded extrusion that was less than one microstep. Later firmware versions remember the amount of accumulated extrusion that has been commanded but not done, and do it when it reaches at least a whole microstep.

                                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

                                deckingmanundefined 1 Reply Last reply Reply Quote 0
                                • deckingmanundefined
                                  deckingman @dc42
                                  last edited by

                                  @dc42 I documented it in my blog years ago. When I get chance, I'll post a link which includes the maths and spread sheets.

                                  In a nutshell, if one or more filaments are moving forward as single digit percentages of the whole, at 400 steps per mm (Bondtech or Titan 3:1) for short segments, that can result in an extruder move which is in the order of 1 tenth (IIRC) of a micro step.

                                  So even with carry over of fractions, one would have a series of moves with no extrusion, followed by one move with around 5 times too much.

                                  If you use a 5 input hot end and happened to be using single digit percentages of mixing on 4 if those inputs, the overall under/over extrusion amount can be a significant proportion of the whole.

                                  I did a later blog post, accompanied by a video which clearly showed the improvement that 128x micro stepping gives under those conditions (and that was with carry over of the fractions due to rounding).

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

                                  dc42undefined A Former User? 2 Replies Last reply Reply Quote 0
                                  • dc42undefined
                                    dc42 administrators @deckingman
                                    last edited by

                                    Thanks Ian, I'll accept your word that it does make a difference. I am surprised though, because my expectation was that stiction in the extruder mechanism, gearing and Bowden tube would cause the filament to move in small jerks rather than continuously.

                                    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

                                    deckingmanundefined 1 Reply Last reply Reply Quote 0
                                    • JoergS5undefined
                                      JoergS5
                                      last edited by JoergS5

                                      Another thought was, the 6HC and 3HC boards run firmware separately, linked by CAN. A kind of a server farm. Communication through CAN becomes a bottleneck for high step rates. By implementing a common RTC (to sync the boards without the need to communicate it by CAN), it would be possible to use lower interrupt times and higher step rates to dedicated boards, decoupling the timers of the boards. E.g. sending one board compressed instructions how to generate signals for mixed extrusion. 3HC could make the movements and 6HC at high step rates produce the extrusions. Maybe something to think about for RRF4+.

                                      1 Reply Last reply Reply Quote 0
                                      • deckingmanundefined
                                        deckingman @dc42
                                        last edited by deckingman

                                        @dc42, @JoergS5, @engikeneer Here is a link to the blog post I did back in June 2018.
                                        https://somei3deas.wordpress.com/2018/06/08/why-16x-micro-stepping-is-a-bad-idea-with-mixing-hot-end/

                                        To save you reading the entire thing and pouring over the data, here is an extract from my conclusions quote .....

                                        "..............to summarise the spread sheet data, using anything up to 5% mixing ratio at 16x micro-stepping will result in no movement from that extruder. The net result would 10% under extrusion (for a small segment of length 0.5mm) using a 3 input mixing hot end because two extruders wouldn’t move. For a 5 input mixing hot end, 4 of the extruders would remain stationary so the error would be a whopping 20%."

                                        At that time, carry over of fractions didn't happen so the overall effect would be under extrusion. Now that carry over of fractions is applied, that effect is mitigated to some degree. There are many "bad case" scenarios but taking the example shown, potentially one could end up with 20% under extrusion on one segment, followed by 20% over extrusion on the next. Admittedly, by the time those filament moves have gone through the hot end, there would be some mechanical damping effect which would serve to even out the overall flow rate at the nozzle tip. But this rapid segment to segment variation in extruder amount seems to play havoc with pressure advance.

                                        Another bad case scenario is where the extruder amount is 1/10th of a micro step. This can happen with mixing ratios of 2% or less. Taking a 5 input mixing hot end at 92:02:02:02:02 (admittedly that's an unlikely setting) one could end up with 92% overall extrusion for 5 moves (because 4 extruders would be 1 tenth of a micro step), followed by a jump to circa 120% for the next step, followed by another 5 moves at 92% overall extrusion amount (edit, that's assuming step sizes 0.5> are rounded up to one whole step. If it's only fractions that get carried over, then there would be 9 moves at 92% followed by a single move at something much higher).

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

                                        JoergS5undefined A Former User? 2 Replies Last reply Reply Quote 0
                                        • JoergS5undefined
                                          JoergS5 @deckingman
                                          last edited by JoergS5

                                          @deckingman thanks for your link, I understand that the main problem is the rounding to/from integer values. I know a similar problem to/from motor positions of the steppers for calculations of rotary actuators. The error can be diminished by finer steps, but the error remains, it's imho a fundamental mathematical problem (loosing information by rounding values / quantization to integer values).

                                          deckingmanundefined zaptaundefined 2 Replies Last reply Reply Quote 0
                                          • deckingmanundefined
                                            deckingman @JoergS5
                                            last edited by deckingman

                                            @JoergS5 said in Duet maximum achievable step rates:

                                            ................. it's imho a fundamental mathematical problem (loosing information by rounding values).

                                            Yes that pretty much sums it up. It's only problem with mixing hot ends where individual extruders can be required to make single digit percentages of what would otherwise be considered "normal" moves. I guess a similar problem might be encountered if one used a very small diameter nozzle and very low layer heights, but in such a case, I would use a highly geared extruder (say 10:1 or more).

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

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