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

    Movement is stuttering. Appears to slow printing down

    Scheduled Pinned Locked Moved
    Tuning and tweaking
    7
    46
    5.7k
    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.
    • Asdasd1234undefined
      Asdasd1234
      last edited by

      No prob, thanks for spending time looking into it.
      Is there any other free slicer you would recommend that might play nicer with my duet?

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

        @burtoogle said in Movement is stuttering. Appears to slow printing down:

        Thanks @asdasd1234 for the comprehensive report and photo. The results are pretty much what I was expecting.

        So, the problem is that Cura is generating a mishmash of line segment lengths for the inner walls. The Duet's pressure advance doesn't like that and the result is poor print quality and slowness.

        Unfortunately, I do not have a fix for the non-uniform line segment lengths yet but will continue to work on it and will come back to this topic if I make any progress. Fingers crossed.

        Having different line segment lengths shouldn't cause a problem for pressure advance, provided that the angles between adjacent segments are small enough to be handled by the allowed XY jerk. What pressure advance has a hard time with is small segments with speed changes or extrusion rate changes from one to the next.

        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

        Asdasd1234undefined burtoogleundefined 2 Replies Last reply Reply Quote 0
        • Asdasd1234undefined
          Asdasd1234 @dc42
          last edited by Asdasd1234

          @dc42 said in Movement is stuttering. Appears to slow printing down:

          Having different line segment lengths shouldn't cause a problem for pressure advance, provided that the angles between adjacent segments are small enough to be handled by the allowed XY jerk. What pressure advance has a hard time with is small segments with speed changes or extrusion rate changes from one to the next.

          The XY jerk should be sufficient since just turning off pressure advance allows it to print without stuttering? I'd assume the xy jerk to cause issues in both cases if it were too low?

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

            @asdasd1234 said in Movement is stuttering. Appears to slow printing down:

            The XY jerk should be sufficient since just turning off pressure advance allows it to print without stuttering? I'd assume the xy jerk to cause issues in both cases if it were too low?

            Yes, that's correct.

            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
            • burtoogleundefined
              burtoogle @dc42
              last edited by

              @dc42 said in Movement is stuttering. Appears to slow printing down:

              @burtoogle said in Movement is stuttering. Appears to slow printing down:

              Thanks @asdasd1234 for the comprehensive report and photo. The results are pretty much what I was expecting.

              So, the problem is that Cura is generating a mishmash of line segment lengths for the inner walls. The Duet's pressure advance doesn't like that and the result is poor print quality and slowness.

              Unfortunately, I do not have a fix for the non-uniform line segment lengths yet but will continue to work on it and will come back to this topic if I make any progress. Fingers crossed.

              Having different line segment lengths shouldn't cause a problem for pressure advance, provided that the angles between adjacent segments are small enough to be handled by the allowed XY jerk. What pressure advance has a hard time with is small segments with speed changes or extrusion rate changes from one to the next.

              Thanks for that info.

              Looking at the gcode, I can see that the short lines do not diverge noticeably from the expected path but because the extrusion amounts are so small, I think there is scope for significant error in the extrusion rate calculation when it is converted into steps/mm.

              Sorry, I am not familiar with how RRF handles changes in extrusion rate so this may be a silly question but does it compare the extrusion rates for adjacent line segments after conversion to extruder stepper steps or before? What I'm thinking is that the extrusion rate (mm of filament for mm of travel) could be fairly accurately determined even for very short line segments but after conversion to steps a lot of accuracy could be lost? So the Duet is detecting a bigger change in extrusion rate than is actually being commanded by the gcode?

              Here's an example line segment that is very short and so requires a weeny extrusion but the gcode viewer is still reporting the same extrusion rate as the longer line segments that precede and follow the tiddler. So if the gcode viewer can still calculate an accurate mm/mm, can't the Duet do the same for the purposes of deciding whether the rate has changed or not?

              0_1541251512276_Screenshot_2018-11-03_13-23-04.png

              That line segment is 0.039 mm long and and the E value is 0.0013 which is most likely going to be less than a extruder step but the rate is still calculable at 0.033 mm/mm.

              1 Reply Last reply Reply Quote 0
              • burtoogleundefined
                burtoogle
                last edited by

                So, can't the pressure advance calculation use the more accurate extrusion rate value rather than the extruder steps value (if that's what it does now)?

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

                  @burtoogle said in Movement is stuttering. Appears to slow printing down:

                  So, can't the pressure advance calculation use the more accurate extrusion rate value rather than the extruder steps value (if that's what it does now)?

                  I am 99% sure that the pressure advance calculation does use the commanded speeds and extrusion amount, before converting the extrusion amount to steps. Except that if the commanded extrusion is less than 1 microstep then it might be treated as a non printing move. Likewise if the commanded X and Y movements are both less than 1 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

                  burtoogleundefined 1 Reply Last reply Reply Quote 0
                  • burtoogleundefined
                    burtoogle @dc42
                    last edited by

                    @dc42 said in Movement is stuttering. Appears to slow printing down:

                    @burtoogle said in Movement is stuttering. Appears to slow printing down:

                    So, can't the pressure advance calculation use the more accurate extrusion rate value rather than the extruder steps value (if that's what it does now)?

                    I am 99% sure that the pressure advance calculation does use the commanded speeds and extrusion amount, before converting the extrusion amount to steps. Except that if the commanded extrusion is less than 1 microstep then it might be treated as a non printing move. Likewise if the commanded X and Y movements are both less than 1 microstep.

                    Understood. In that case, is there a benefit to distinguishing between "real" non-printing moves and those that are non-printing because the extruder steps has come out at zero even though the commanded extrusion rate is > 0?

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

                      I'll review the code when I am back in the office.

                      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

                      Asdasd1234undefined 1 Reply Last reply Reply Quote 0
                      • Asdasd1234undefined
                        Asdasd1234
                        last edited by

                        Thanks for looking into it. But do you know of any workaround I can do to mitigate this issue for the time being. I'e, export my model a different way that would avoid whichever triggers are causing it?

                        burtoogleundefined 1 Reply Last reply Reply Quote 0
                        • burtoogleundefined
                          burtoogle @Asdasd1234
                          last edited by

                          @asdasd1234 said in Movement is stuttering. Appears to slow printing down:

                          Thanks for looking into it. But do you know of any workaround I can do to mitigate this issue for the time being. I'e, export my model a different way that would avoid whichever triggers are causing it?

                          At this time, I don't have a fix for Cura producing those short line segments so the only workaround I think you have is to disable the pressure advance. Personally, I don't use pressure advance and, generally, don't get ugly layer changes so perhaps there are some other settings you can tweak?

                          1 Reply Last reply Reply Quote 0
                          • Asdasd1234undefined
                            Asdasd1234
                            last edited by Asdasd1234

                            Fair enough. The layer changes are most likely just an adjustment to do with retraction priming that I'm sure I can sort easily. I'll turn it off on this model, but I'd like to use it for other models where tolerances are more crucial.

                            Fingers crossed it get's solved in a future update then 🙂

                            1 Reply Last reply Reply Quote 0
                            • Asdasd1234undefined
                              Asdasd1234 @dc42
                              last edited by

                              @dc42 said in Movement is stuttering. Appears to slow printing down:

                              I'll review the code when I am back in the office.

                              Hi,

                              Did anything come of this in the end? And would increasing the microstepping on my extruder give me a higher upper-speed-limit before hitting this issue since it seems linked to the distance of a single step?
                              Printing at high speed without pressure advance adds way to much inaccuracy to tolerances for me print without it. I feel like I'm missing out on printing at double the speed at the moment 😞

                              Many thanks

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

                                It's still on my list for review before I release 2.02RC4. i think there is probably an issue with the code, but whether it is connected with extruder movements less than one microstep, I can't yet say. The code does make allowances for extruding moves sometimes resulting in no actual extruder movement, but I am not sure it allows for that everywhere it needs to.

                                Meanwhile, I suggest you try increasing extruder microstepping. The only downside is that if you increase it too much, the retraction speed that can be achieved may be reduced.

                                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
                                • Asdasd1234undefined
                                  Asdasd1234
                                  last edited by Asdasd1234

                                  No problem, I've been experimenting yesterday with increasing the microstepping and sticking a larger nema17 motor on my extruder to provide the extra torque for the time being, and I've lucked out finding a setting that's quite a bit faster, and although it still stutters like mad, it at least does the outer wall without stuttering on this particular print, so that'll keep me occupied for now 🙂

                                  Many thanks

                                  nopheadundefined 1 Reply Last reply Reply Quote 0
                                  • nopheadundefined
                                    nophead @Asdasd1234
                                    last edited by

                                    @asdasd1234 Do you have control over the number of line segments in the STL file? I have noticed with Cura it will generate ridiculously short segments if the model has them. As I model in OpenSCAD I can simply set $fs to half my extrusion width and then I don't get any segments shorter than 0.25mm. There really isn't any point in printing shorter segments. Skeinforge combines segments that are too small, not sure about other slicers.

                                    burtoogleundefined Asdasd1234undefined 2 Replies Last reply Reply Quote 1
                                    • burtoogleundefined
                                      burtoogle @nophead
                                      last edited by

                                      @nophead said in Movement is stuttering. Appears to slow printing down:

                                      @asdasd1234 Do you have control over the number of line segments in the STL file? I have noticed with Cura it will generate ridiculously short segments if the model has them. As I model in OpenSCAD I can simply set $fs to half my extrusion width and then I don't get any segments shorter than 0.25mm. There really isn't any point in printing shorter segments. Skeinforge combines segments that are too small, not sure about other slicers.

                                      I have looked at the line segments being produced by Cura for the model discussed above and what is happening is that the outer wall does not contain short line segments but the inner wall does. The inner wall is created from the outer wall by using a clipper library routine. It is that routine that is creating the short line segments. It's really beyond my capabilities to be fixing something like that so I can't really help there, sorry.

                                      Cura does provide a setting that specifies a resolution for the original model but that is not applied to the inner walls. I tried doing that and the results were not satisfactory. More work required.

                                      However, I am waiting with interest to see if David can make any changes that help RRF cope with short line segments when pressure advance is in use.

                                      nopheadundefined 1 Reply Last reply Reply Quote 0
                                      • nopheadundefined
                                        nophead @burtoogle
                                        last edited by

                                        @burtoogle Interesting. It is probably a bug in the way Cura is using clipper as offsetting inwards shouldn't generate more line segments in a circle. I never print with more than one wall so I hadn't noticed this.

                                        burtoogleundefined 1 Reply Last reply Reply Quote 0
                                        • burtoogleundefined
                                          burtoogle @nophead
                                          last edited by

                                          @nophead , I'll take another look in case I can find any obvious problem...

                                          1 Reply Last reply Reply Quote 0
                                          • Asdasd1234undefined
                                            Asdasd1234 @nophead
                                            last edited by

                                            @nophead said in Movement is stuttering. Appears to slow printing down:

                                            @asdasd1234 Do you have control over the number of line segments in the STL file? I have noticed with Cura it will generate ridiculously short segments if the model has them. As I model in OpenSCAD I can simply set $fs to half my extrusion width and then I don't get any segments shorter than 0.25mm. There really isn't any point in printing shorter segments. Skeinforge combines segments that are too small, not sure about other slicers.

                                            Not that I'm aware of. I use fusion 360 for all my parts. The options I get are on this link (https://i.imgur.com/iWAnnjO.png) . All the refinement option does is change the normal/surface deviations.

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