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

    How to speed up print with high linear advance.

    Scheduled Pinned Locked Moved
    Tuning and tweaking
    5
    41
    3.8k
    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 @Turbo
      last edited by

      @Turbo said in How to speed up print with high linear advance.:

      @deckingman correct, however it begins to underextrude/not enough material and lines don't connect.

      15867946996626117362152457791302.jpg

      This is a test with 0-0.5 values. 0.05 stepping. Because 0-2 and 0-1 showed no change, similar to this one. Not the best pic but it wouldn't let me upload a higher quality one.

      OK. Taking a gander at that picture, it looks like the lines are fat at both ends but thin in the middle. What normally happens is that at the start of a move, the carriage accelerates but the melt rate of filament lags behind, so you get under extrusion at the start of a move. Then at the end of a move, the carriage decelerates but because pressure has built up, filament continues to get forced out at a faster rate, so you get over extrusion at the end of a move. PA compensates by advancing the extruder at a faster rate at the start of a move and retarding the extruder so that it slows down more at the end of a move. But as I said, your image seems to show that the lines are thin in the middle, which might indicate that you are simply exceeding the melt rate that the extruder is capable of.

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

      1 Reply Last reply Reply Quote 0
      • Turboundefined
        Turbo @bot
        last edited by

        @bot
        From the generated .gcode

        Created: Mon Apr 13 2020 09:13:37 GMT-0700 (Pacific Daylight Time)
        ;
        ; Settings Printer:
        ; Filament Diameter = 1.75 mm
        ; Nozzle Diameter = 0.4 mm
        ; Nozzle Temperature = 210 °C
        ; Bed Temperature = 60 °C
        ; Retraction Distance = 2.6 mm
        ; Layer Height = 0.2 mm
        ; Z-axis Offset = 0 mm
        ;
        ; Settings Print Bed:
        ; Bed Shape = Rect
        ; Bed Size X = 305 mm
        ; Bed Size Y = 188 mm
        ; Origin Bed Center = false
        ;
        ; Settings Speed:
        ; Slow Printing Speed = 1200 mm/min
        ; Fast Printing Speed = 4200 mm/min
        ; Movement Speed = 7200 mm/min
        ; Retract Speed = 1800 mm/min
        ; Printing Acceleration = 2400 mm/s^2
        ; Jerk X-axis =  firmware default
        ; Jerk Y-axis =  firmware default
        ; Jerk Z-axis =  firmware default
        ; Jerk Extruder =  firmware default
        ;
        ; Settings Pattern:
        ; Linear Advance Version = 1.5
        ; Starting Value Factor = 0
        ; Ending Value Factor = 0.5
        ; Factor Stepping = 0.05
        ; Test Line Spacing = 5 mm
        ; Test Line Length Slow = 20 mm
        ; Test Line Length Fast = 40 mm
        ; Print Pattern = Standard
        ; Print Frame = false
        ; Number Lines = true
        ; Print Size X = 98 mm
        ; Print Size Y = 75 mm
        ; Print Rotation = 0 degree
        ;
        ; Settings Advance:
        ; Nozzle / Line Ratio = 1.2
        ; Bed leveling = G29 ; Level bed
        ; Use FWRETRACT = false
        ; Extrusion Multiplier = 0.97
        ; Prime Nozzle = true
        ; Prime Extrusion Multiplier = 2.5
        ; Prime Speed = 1800
        ; Dwell Time = 2 s
        ;
        ; prepare printing
        

        Cant stop tuning wont stop tuning.
        Dbot, Custom i3, Voron 0&2

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

          @bot said in How to speed up print with high linear advance.:

          @deckingman it's a very simple interaction if you care to think about it.

          A given X/Y feedrate at a specified layer height/extrusion width combo has a nominal E axis movement speed. Typically, this is no greater than 5 mm/s. PA simply applies an advancement or adjustment based on the current instantaneous actual E acceleration happening at the moment. If we imagine that the nominal E speed of the move would be 5 mm/s, and the PA is set such that during acceleration it requires TWICE as much plastic to flow, it will have to jerk to 10 mm/s instantly. If we have our jerk speed set lower than 5 mm/s, it will slow down the XY acceleration of the print move (and therefore the required E acceleration of the print move, because they are coordinated).

          ...........and segmented moves such as circles where PA is no applied to each segment but at the end of a curve?

          But I don't want to continue this because I have my real life experience of empirical testing and what happens in fact, which you don't believe. Therefore, you must think that I am just making this all up for some unknown reason, or that I am a liar. Either way, there is no point in my continuing.

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

          botundefined 1 Reply Last reply Reply Quote 0
          • botundefined
            bot @deckingman
            last edited by bot

            @deckingman at this point, I don't know what you're even talking about.

            But, why would PA only be applied at the end of a curve of a circle? PA is applied any time there is extruder acceleration.

            *not actually a robot

            deckingmanundefined 1 Reply Last reply Reply Quote 0
            • botundefined
              bot @Turbo
              last edited by

              @Turbo is your Titan extruder set up in direct drive?

              One thing to check before you go on is that your extruder idler gear is sufficiently applying pressure to the filament against the hobbed gear. I have had problems in the past where fast extruder moves were lost because the filament slipped on the hobbed gear. Get a flashlight and watch the filament go through the gears if you can, and ensure it's moving. I saw my filament slipping and had to remove a spring from the idler and screw it at a fixed distance.

              *not actually a robot

              Turboundefined 1 Reply Last reply Reply Quote 0
              • Turboundefined
                Turbo @bot
                last edited by

                @bot 600mm Bowden config. No slipping.

                Cant stop tuning wont stop tuning.
                Dbot, Custom i3, Voron 0&2

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

                  Ok, good. Another thing to check is that your bowden couplings are tight and have no free play. You could lose the PA adjustment to the freeplay.

                  *not actually a robot

                  Turboundefined 1 Reply Last reply Reply Quote 0
                  • Turboundefined
                    Turbo @bot
                    last edited by

                    @bot nice and toight. no mechanical faults.

                    Cant stop tuning wont stop tuning.
                    Dbot, Custom i3, Voron 0&2

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

                      @bot

                      https://duet3d.dozuki.com/Wiki/Pressure_advance

                      Penultimate paragraph - Quote

                      "When the extruder acceleration changes, the extruder velocity has to change instantaneously. If the configured extruder jerk is too low to permit this, the extruder acceleration will be restricted so as to honour the maximum configured extruder jerk, and this may in turn limit the printing acceleration. So if enabling pressure advance slows down printing, this may be a sign that the allowed extruder jerk configured in the M566 command is too low. This may prove problematic for remote direct drive extruders like the Zesty Nimble which use a high gear ratio and low jerk values."

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

                      botundefined 1 Reply Last reply Reply Quote 0
                      • botundefined
                        bot @deckingman
                        last edited by

                        @deckingman thanks. Did I ever say anything that contradicts that stament? Sorry if I did!

                        *not actually a robot

                        1 Reply Last reply Reply Quote 0
                        • botundefined
                          bot @Turbo
                          last edited by

                          @Turbo if you can rule out all mechanical issues, that's good!

                          I'm looking at your PA script, and the X/Y (not e) jerk values you seem to be using. I'm wondering if the jerk value being higher than the commanded feedrate of the small move is disallowing PA to take as much effect as it could. I've been playing around with PA and accel/jerk a lot lately, and noticed some time ago that you NEED to have an acceleration phase in the X/Y movement for PA to take any effect. Without acceleration, there is no PA applied. Try lowering your XY jerk rate, try 15 mm/s (900 mm/min) and see if you can notice more of an effect from PA.

                          *not actually a robot

                          Turboundefined 1 Reply Last reply Reply Quote 0
                          • Turboundefined
                            Turbo @bot
                            last edited by

                            @bot No dice mate.

                            Cant stop tuning wont stop tuning.
                            Dbot, Custom i3, Voron 0&2

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

                              Are you ensuring that the test script is actually sending the proper command to the correct drive number? Is the extruder you are using actually D1?

                              Clearly I'm running out of ideas. It seems you were previously noticing results of PA, so something has changed since you adjusted your settings.

                              *not actually a robot

                              Turboundefined 1 Reply Last reply Reply Quote 0
                              • Turboundefined
                                Turbo @bot
                                last edited by

                                @bot almost felt really dumb, but my script files use d0, which is my T0. I tested it again with my previous jerk settings and all is well, but its still slower than I'd like.

                                Cant stop tuning wont stop tuning.
                                Dbot, Custom i3, Voron 0&2

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

                                  To clarify: when using pressure advance time K, the required jerk setting J in mm/sec to support extruder acceleration A is J=KA. So the required extruder jerk setting in M566 is 60K*A. If the extruder jerk setting is lower than that, the acceleration will be limited to J/K (where J is in mm/sec again).

                                  This is why a low extruder jerk setting may restrict the acceleration used during printing moves. Non-printing moves (e.g. retractions) are not affected, because PA is not applied to them.

                                  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

                                  botundefined 1 Reply Last reply Reply Quote 0
                                  • botundefined
                                    bot @dc42
                                    last edited by

                                    @dc42 said in How to speed up print with high linear advance.:

                                    To clarify: when using pressure advance time K, the required jerk setting J in mm/sec to support extruder acceleration A is J=KA. So the required extruder jerk setting in M566 is 60K*A. If the extruder jerk setting is lower than that, the acceleration will be limited to J/K (where J is in mm/sec again).

                                    This is why a low extruder jerk setting may restrict the acceleration used during printing moves. Non-printing moves (e.g. retractions) are not affected, because PA is not applied to them.

                                    To confuse this even further (for anyone else reading): be aware that dc42 said EXTRUDER acceleration. To calculate actual extruder acceleration, we must calculate from toolhead acceleration and layer height/extrusion width. This value is much much much much lower than the toolhead acceleration.

                                    *not actually a robot

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

                                      ......and to confuse things even further, like me the OP found that an extruder jerk setting of 600 slowed down the print. In my case, increasing it to 3600 resolved the problem and in the OP's case, he used 2400 and confirmed (on 13th April @17:20) that it improved his print speed.

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

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

                                        I did some quick math, just to give some context.

                                        With a 0.4 mm nozzle, 1.75 mm filament, doing 0.2 mm layer heights, accelerating the toolhead at 2400 mm/s/s, from 0 to 100 mm/s, the required extruder acceleration is 80 mm/s/s.

                                        Plugging this into the forumla that dc42 gave us, the minimum m566 jerk setting for these parameters to achieve no slowdowns with a PA value of S1.0 S0.1 is M566 E480

                                        *not actually a robot

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

                                          To be honest, I don't really care what the theory or maths state should happen. I only care about what happens in practice. And if I find something that fixes an issue for me, I will continue to recommend other users try it. Maybe there is bug in the code and it isn't working as it should ? - I really have no idea.

                                          I have repeatedly stated that when I use extruder jerk of 600, I see significant and noticeable reduction in print speed. Increasing the extruder jerk to >2400 restores the print speed. It seems the OP had the same issue. These are facts. I have no idea why these facts don't fit the theory. Continuing to state the theory and do mathematical calculations to back that up still doesn't change the fact of what I (and others) have found happens in practice (usual caveats about my machine, etc etc).

                                          This is all very reminiscent of when PA was first introduced and the "official" Wiki recommendation was to use values up to 0.1 or thereabouts. I could never get any satisfactory results using those sort of values and eventually got successful results using values in the order of 0.5. At the time, I was told I was wrong, that value couldn't possibly be right, test it again, try this, try that, etc, etc. If ever I tried to help another user by suggesting that they try a similar value, I got roasted. But despite all the flack I received at the time, I continued to use those values with great success. Since then, I note opinion has changed and that the stated Wiki values have also been changed and are now in line with my early practical test results.

                                          So my advice to other users remains the same. If you try PA and it noticeably slows down the print time, try a (much) higher extruder jerk value (despite the fact that theory might suggest otherwise).

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

                                          botundefined 1 Reply Last reply Reply Quote 0
                                          • botundefined
                                            bot @deckingman
                                            last edited by

                                            @deckingman I'm sorry, I didn't mean to try and disprove your observations, just to put the expected behaviour into perspective for anyone reading.

                                            I made a huge typo in my post above. I meant to say PA value of S0.1 not 1.0. Your observations are completely valid based on the maths, considering you say S0.5 is the value you are referencing.

                                            *not actually a robot

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