Extruder stops moving while tuning pressure advance
-
I'm using a script based on the Marlin K-Factor Calibration Pattern, which has the printer vary speeds while printing single lines.
Each line has three different speeds in this order: slow, fast, slow. The pressure advance setting should be correct when the line width remains constant.
Anyway, on the third section, the extruder stops moving entirely, leaving a big blob.
Here's a gcode excerpt:
[[language]] (relative movement for axes and extruders) ..... 1\. M572 D0 S0.30 ; set K-factor 2\. M400 3\. G1 E2.5 4\. G1 X20 Y0 E0.73172 F1200 5\. G1 X40 Y0 E1.46345 F4200 6\. G1 X20 Y0 E0.73172 F1200 7\. G1 E-2.5 8\. G1 X-80 Y5 F12000 ....
The beginning of line 6 is where the blob appears. I can't see the extruder moving at all during line 6, but it does retract as expected at line 7.
Here's a picture: https://imgur.com/a/L5oTI. The lines are printed from left to right, and the pressure advance varies from 0.0 at the bottom line to 1.0 at the top.
The entire script is here: https://pastebin.com/1jD64HgH
I'm running the 1.20beta11 firmware. Is this a firmware issue, or a gcode issue?
-
I'll try out that script. Which firmware version are you using?
-
I'm using the latest beta, 1.20b11.
-
I have run a modified version of your script on 1.20RC1 and I agree, there is a pause that shouldn't be there. I will investigate it.
-
Thanks for your example, it was a bug that needed to be found and fixed. The fix will be in 1.20RC2.
-
I really like the idea of that script - I've been trying to tune Pressure Advance in a much less scientific manner. I look forward to trying it out on RC2's release.
Dave, in your copious free time, would you consider adding that script (or something similar) to the wiki for Pressure Advance?
-
I suggest a change to your script: put the M400 command before the M572 command, not after. That will ensure that the pressure advance is changed at the correct place.
-
Hey DC,
I moved the M400 command as suggested.
I updated to 1.20RC2 and did some more testing. The extruder seems to be moving correctly now, but I'm seeing a bit of blobbing in the same spot that seems to be unaffected by changes in the pressure advance setting.
See this picture: https://imgur.com/a/FBhZ4
The line with S0.55 has a seamless slow-fast transition, but the fast-slow transition still has a bit of over-extrusion at the start. What do you think of that? Did you see that in your testing?
Also, I'm questioning the validity of this type of test. I'm not seeing it translate into better print quality. Any suggestions?
-
Pressure advance isn't perfect, especially when the Bowden tube is very long as I suspect yours is.
If you are using E3D or other quick-release Bowden tube fittings, are you using collet clips at each end to make sure that the collets can't move forward ans back 1 or 2mm at each end?
That test print isn't very realistic because fast-slow transitions like that don't generally occur in normal prints (hence that bug hadn't been spotted before). Another test you could try is printing 3 sides of a square, repeated with different amounts of pressure advance. Pick the pressure advance setting that gives the correct amount of extrusion in the corners.
-
Another suggestion would be to try changing the extruder instantaneous speed (jerk) setting and repeat the tests.
-
Deckingman gave a very good suggestion.
As well, this is an example of a time it could be useful to be able to set two parameters for M572: one to set the pressure advancement factor, and another to set the pressure retardation factor.
-
@bot:
….........
As well, this is an example of a time it could be useful to be able to set two parameters for M572: one to set the pressure advancement factor, and another to set the pressure retardation factor.
I've already requested this :). My thinking is that we get a pressure build up in the nozzle, especially when we start experimenting with long at highish speed moves. Pressure advance reduces this at the end of a move but whacks it back up again at the beginning of the next move. I have a theory about what happens but until I can fit a pressure transducer inside a hot end, I can't prove it or disprove it. I'm thinking that what might be needed is something along the lines of "coasting" which, if I understand it correctly, stops or retards the extruder slightly before the end of a move but there isn't a reciprocal action at the start of the next move.
-
… I'm thinking that what might be needed is something along the lines of "coasting" which, if I understand it correctly, stops or retards the extruder slightly before the end of a move but there isn't a reciprocal action at the start of the next move.
That is guaranteed to result in under-extrusion. So I don't see how it would improve things.
-
I've noticed, even when using a direct drive extruder with a very short distance between hobbed wheel and nozzle, that there is still a difference between the "advance" and "retard" scenarios when using M572. A compromise had to be made, when tuning it, by choosing which end of the spectrum I wanted to be "off." If we could simply adjust by what factor the advancement is made, and by what factor the retardation is made, we could get a closer approximation to "perfect."
eg: M572 D0 S0.5 A1 R0.85
Where A is the advancement factor and R is the retardation factor, giving a 1:0.85 ratio for the two ends of the spectrum.
-
That is guaranteed to result in under-extrusion. So I don't see how it would improve things.
I prefer to think of it compensating for over extrusion due to pressure building up in the hot end during longish moves at high(ish) speed. For sure, the total amount of extruded filament for the entire print might be slightly less than if this strategy was not employed, but let's face it we often adjust the extrusion factor by one or two percentage points.
At the end of longish moves the carriage decelerates as does the extruder, but because of the pressure build up, the filament coming out of the extruder does not itself decelerate or perhaps not as fast, resulting in over extrusion at the end of that long move. As I understand it, pressure advance attempts to deal with this by decelerating the extruder faster, which is fine. The thing that I have a problem with is that the reciprocal action is applied at the start of the next move. I guess this must be based on the assumption that whatever causes the increase in pressure has to have a directly proportional decrease in pressure at the start of a move. What if that assumption is not correct? To the best of my knowledge, the rate of change of pressure at the start and end of print moves has never been measured so we don't know for sure what actually happens.
The only thing I have to go on are my own empirical observations which suggest to me that, when printing at highish speeds there is clear visible evidence of over extrusion at the end of long moves, but very little sign of under extrusion at the beginning of such moves. I have a theory which might explain this but the only way I'm going to prove it is to put a pressure transducer inside a hot end. I have a plan for that but haven't yet found a way that isn't prohibitively expensive for my personal means. It's another of those things that I'd like to do, but as I get no return on the outlay I can't bring myself to shell out the cash.
The other reason I think there might be something in it, is that many slicers have this coasting facility - a quick Google search will show them. Unfortunately, Slic3R isn't one of them so I'm unable to experiment with it.
-
Pressure advance isn't perfect, especially when the Bowden tube is very long as I suspect yours is.
If you are using E3D or other quick-release Bowden tube fittings, are you using collet clips at each end to make sure that the collets can't move forward ans back 1 or 2mm at each end?
That test print isn't very realistic because fast-slow transitions like that don't generally occur in normal prints (hence that bug hadn't been spotted before). Another test you could try is printing 3 sides of a square, repeated with different amounts of pressure advance. Pick the pressure advance setting that gives the correct amount of extrusion in the corners.
Hey DC,
Even if it's not perfect, it still helps out a lot!
I printed some collet clips and applied them, but it didn't seem to reduce the amount of pressure advance needed. I think the amount of movement there was pretty small compared to the filament springiness; I'd estimate it was ~0.2mm, maybe.
I made a new script that prints the squares you suggested next to the speed transition line test. I found that both tests show best results at the same pressure advance setting, so maybe the speed transition lines are a good test for the real world. They are simple to read, too.
Thanks for the help and the firmware fix.
-
@jpwheless To run script, would I just copy it into new textfile, rename as .gcode and run? Would this work I realise post is a while ago and also wondered if you have considered change to script since in regards to the latest updates?
-
@leif a better way to test the effects of pressure advance is to print a small rectangle. Watch the corners and the ends of the solid fill. Adjust the pressure advance value until the bulge at the edges of solid fill are small but not so small that a gap is left between the perimeter wall and the end of the fill line. For corners as long as you have high enough jerk values they should not be bulged out knobs.
The straight line test above doesn't really give a complete picture of pressure advance effects.
-
@phaedrux said in Extruder stops moving while tuning pressure advance:
@leif a better way to test the effects of pressure advance is to print a small rectangle. Watch the corners and the ends of the solid fill. Adjust the pressure advance value until the bulge at the edges of solid fill are small but not so small that a gap is left between the perimeter wall and the end of the fill line. For corners as long as you have high enough jerk values they should not be bulged out knobs.
The straight line test above doesn't really give a complete picture of pressure advance effects.
No offence intended but I respectfully have to disagree. This is something that I have done an awful lot of work on - see this post but there are others too on my blog https://somei3deas.wordpress.com/2018/01/15/an-attempt-to-investigate-pressure-in-the-extrusion-system-with-a-diamond-hot-end/
The problem with printing a cube is that there are other factors that can cause corners to bulge. Also, it takes a bit of time for pressure to build up. Molten filament acts a bit like a sponge and there is some "springiness" in the filament especially with Bowden set ups. So the effect of pressure build up is more pronounced at the end of long moves - and it's speed related too.
If you do print a cube, at least make it as big as possible and print it at the highest speed that you would normally print at. Oh, and temperature has an effect too. In general terms, the hotter the filament, the less viscous it becomes so it flows more readily out of the nozzle, so there is less pressure build up.
-
@deckingman @Phaedrux Thank you both for reply and insights. I will have to tinker around a bit with your input. I am considering also a zesty-nimble for the smarteffector. I see it mentioned on the forum and it has its own adapter published on thingiverse, but am a bit conserned if calibration will work well for it.