How to speed up print with high linear advance.
-
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.