Pressure Advance Calibration
-
I've done some tests now and I think I found the right PA value.
First question:
The with python generated GCode "works" during the test without retraction?That would mean I can Set it in the Slicer to 0, if I write the determined PA value directly into the config.g?
-
I feel like i´ve missed something obvious, but when i try the script it doesnt really extrude anything. It just pivots around the same length of filament.
I´ve looked in the code and compared it to a normal other code and the command to reset extrusion length is totally absent (G92 E0).
So it makes sense that it is just going up and down on the extruder axis.
What do you have to do? Use M82 instead of M83 to use absolute extruder coordinates? -
Ok nevermind, i overlooked the fact that my starting script had a M82 in it. I changed that and it works.
The top one is a variation between Pressure advance 0 and 0.2, the second is a taller version for the PA of 0 to 0.5 and lastly the bottom one is between a PA of 0 and 1.
I´m using a super short "bowden" of around 120 mm, see picture.
BMG clone, genuine capricorn tube and e3d Volcano copper block, 0.4mm nozzle. Printing Tiertime ABS filament @260°C and 70°C Chamber temperature.
My Jerk is set to X500/Y600/E200. Acceleration is set to X1000/Y1000/E1000.
Looking at the results i need a PA of 0.55. Can this be? It seems a little excessive for a more or less direct drive extruder. Is it because of the volcano and the ABS filament?
Also, in the long segment the centers seem to bulge up, even at the part that had a maximum of 0.5 PA which is close to the needed value. I never get a consistent extrusion throughout like the other pictures posted.
!What is the culprit of that? What do i need to change to have the extrusion in the fast segment even?
I have checked nonlinear extrusion but have not configured it since my extrusion stays consistently at 100% up until 7mm/s, at 8mm/s it is at 98.8% and at 10mm/s it is at 96.8%. If i configured nonlinear extrusion, the square fitment nature would mess up my extrusion below 7mm/s. It may need more variables.
@DigitalVision Thanks for the script, it works perfectly!
-
I am running pressure advance calibration as per
http://www.sternwolken.de/tmpup/3dprint/pressureadvance2.py
The code seems to want to print out the current pressure advance setting (ie a print statement). Where would that end up ?
I am running this code on a Duet WiFi via the web panel.
Running on an Ubuntu system. -
I don't see any print out commands (MM117, M291)
-
@OBELIKS, I only looked at the python script .... Dooohhhh
Turns out the print commands put comments into the g_code output file where they are doing precious little unless you can see the codes as they are run.Thanks! Mystery solved
-
Haha, yeah different code
-
Hello
If I run the python file and generate the PA test gcode file, I see that it contains G1 Xxxxx Yyyyy Eeeee commands whose E values are very large, e.g.:
G1 X-47.400 Y3.200 E15.7653
whereas if I look into any gcode file generated by Cura, I only see very small E values in the G1 commands, e.g.:
G1 X9.063 Y1.1 E0.16886
Why does this happen, and how can I safely run/print the generated PA test gcode file ? (i.e., won't my extruder/hotend be blown up because of such enormous E values in the G1 commands ?)
Regards
Mihai -
These are all long printing moves, as the models usually have small ones.
You can always check in gcode.ws -
Is pressure advance supposed to change with different extrusion thickness ? I was always under the impression it was relatively constant at least with the same filament.
I had run calibration for PLA 0.8 mm nozzle and 0.2 mm layer thickness and got a number of 0.45.
I subsequently printed out a model at 0.4 mm layer thickness and ran into some odd issues that looked a lot like pressure advance issues but dismissed that because I had just calibrated that.
I ran another pressure advance calibration but this time with 0.4 mm layer thickness and got a figure closer to 0.2 for pressure advance.
Does this mean that in order to run a long bowden tube (where pressure advance is most critical) I have to calibrate every combination of filament, nozzle size, layer thickness and possibly nozzle temperature ?
If so then the case for a direct extruder setup got a lot stronger .... -
@jens55 I must confess that although I've played around with various parameters in relation to pressure advance, layer height vs nozzle diameter isn't one of them. I'd say that it's eminently possible that using a layer height of 20% of the nozzle diameter could offer a restriction to the filament flow as it exits the nozzle (because the nozzle tip is closer to the part being printed). Which would of course affect the pressure in the hot end, making it higher than if the layer height was greater.
That being the case, then I'd expect the same problem to manifest itself, regardless of whether the extruder is direct drive or Bowden (because the cause of the pressure increase is downstream of the extruder).
-
@deckingman said in Pressure Advance Calibration:
That being the case, then I'd expect the same problem to manifest itself, regardless of whether the extruder is direct drive or Bowden (because the cause of the pressure increase is downstream of the extruder).
All I have ever read about pressure advance seems to indicate that a direct extruder only uses minimum amounts ... or put into other words, just a smidgen to optimize things.
Going from 0.45 to 0.2 in a bowden setup becomes the difference between a good print and a failed print. The print I have been dealing with recently ended up with holes in the outer wall layer (still testing this finding) at the point where a layer started.
I would very much like to have confirmation if my understanding of this is correct before I contemplate a major printer configuration change ! -
@jens55 Common perception is that pressure build up happens mostly in the Bowden tube, due to the filament buckling and twisting, which is why direct extruders are less prone to it's effects. Nobody really knows for sure but it seems a reasonable hypothesis. I was just surmising that if you are seeing a big difference between layers heights, then it might be because the filament flow as it exits the nozzle is being restricted with small layer heights. In which case, the cause of the pressure might be something other than the filament buckling and twisting. So if that is the case, then a direct extruder may exhibit the same behaviour. It's just conjecture on my part.........
-
@deckingman , thanks for your input. I agree with your thinking.
I am hoping that somebody with first hand experience might chime in as we are both guessing. -
Hi All
I've been using this python script to fine tune my pressure advance on my zesty nimble extruder. It has been a massive help in this process.
Just one suggestion - I don't know if it is possible - however, I would like to see what pressure advance setting it is currently at during the print. Preferably to be displayed like a pop, similar to how the Report PA macro works in https://forum.duet3d.com/topic/6181/tuning-macros-menus-accel-jerk-retraction-pressure-advance. Is it possible to add something to this python script to report current pressure advance? It would make fine tuning the pressure advance just a little easier by taking a chunk of the guess work out of it.
Thanks,
Vince -
@Munce31 You could manually add
M117 <current PA value>
into the GCode file after every change of PA. -
@wilriker said in Pressure Advance Calibration:
@Munce31 You could manually add
M117 <current PA value>
into the GCode file after every change of PA.Yeah I figured I could do that as well, but that potentially could be quite laborious. I was thinking more along the lines of something like M117 <current PA value> being added directly into the python script so that it can be automated.
-
The Report PA Value macro just sends the command for pressure advance without any parameters so that the current value gets echoed back. Doing a find and replace in the gcode file shouldn't be too hard to add it.
-
-
@OBELIKS said in Pressure Advance Calibration:
@Munce31 If you are using the script @jens55 posted, you can add
print("M117 %.3f" % pressure_advance)
after
print("M572 D0 S%.3f" % pressure_advance)
Hi @OBELIKS thanks for providing that. It'll make it easier to watch the test print and see what pressure advance it current is running at.