How to speed up print with high linear advance.
-
@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.
-
@bot
From the generated .gcodeCreated: 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
-
@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.
-
@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.
-
@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.
-
@bot 600mm Bowden config. No slipping.
-
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.
-
@bot nice and toight. no mechanical faults.
-
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."
-
@deckingman thanks. Did I ever say anything that contradicts that stament? Sorry if I did!
-
@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.
-
@bot No dice mate.
-
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.
-
@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.
-
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.
-
@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.
-
......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.
-
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.0S0.1 is M566 E480 -
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).
-
@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.