Pressure Advance Calibration
-
How do I read this result?
-
@gnydick I would say that the range of PA values you used is still too low because it looks like none of the layers is continuously one thickness.
-
@wilriker ok, thanks. Strange I need so much. I have a direct extruder with zero slack.
-
How do you run the pressure advance test file? I see it's in python..Does it work similar to the linear advance website Marlin has where we can change the settings and it creates a .gcode file?
-
It's nearly identical. Instead of building up vertically, the linear advance creates a single extrusion on the bed for each setting and labels it.
You have to run the python program to generate the output.
-
@gnydick I just figured out how to run it. I changed the filament settings in the file before running it which I expect has to be done. I guess just edit the gcode to set the print temperature and turn on relative extrusion?
-
Will ask again... How should I choose min and max speed for calibration script? Max speed is the overal speed(70mm/s for me) or outline speed? (42mm/s). Min speed correlates with jerk speed or ..? Thanks!
-
@briskspirit I'd simply go with minimum and maximum speed that I'd ever use on the printer. It's not so much about speed as pressure management in extruder. I ran the script at 60-120 first and 30-200 later once basic kinks were ironed out. The speed difference should be enough to cause significant pressure differences.
-
Hi, I've been reading this thread for a long time and I noticed that a lot of people, like me, are having problems to identify the best PA in their tests. So I tried to create a similar script that tries to give clearer results. I am no sure if I achieved my goal , but I decided to share it anyway: https://www.thingiverse.com/thing:3442071
All the instructions are in the Thingverse link.
Here is one of my prints using PA from 0 to 3. Yeah, I need to use really high values. I didn't completely understood why but my Capricorn (original) bowden tube is big, so maybe I need to shorten it.
-
i tried to print this, and nothing came out...
-
I want to share some of my experience tuning pressure advance. It was mentioned that you will need to recalibrate retraction.
I'm using a bowden tube setup and at higher speeds (100mm/s) I was missing material at the start of extrusion. Increasing prime amount would fix the higher speed problems but leave blobs at lower speeds (25mm/s). To resolve this I had to reduce the retraction distance. I ended up with retractions similar to a direct drive and no extra prime amount. I ended up with the following retract and pressure advance settings:
M207 S2.0 R0.0 F3600 T600
M572 D0 S0.3This is with the following setup:
E3D Volcano, 0.4mm nozzle
550mm Capricorn XS Bowden tube
Bondtech QR Extruder
1.75mm Amazon Basics PETGExtruder config settings per request: (these are not necessarily limits of the extruder)
M350 E32:32 ;microstepping
M92 E953:953 ;steps/mm
M906 E900:900 ;motor currents
M201 E1000:1000 ;accelerations
M203 E3600:3600 ;maximum speed
M566 E900:900 ;maximum jerk speedBefore Tuning these settings I was printing slower (50mm/s) with 6.5mm retraction distance.
-
@rs4race said in Pressure Advance Calibration:
I want to share some of my experience tuning pressure advance. It was mentioned that you will need to recalibrate retraction.
I'm using a bowden tube setup and at higher speeds (100mm/s) I was missing material at the start of extrusion. Increasing prime amount would fix the higher speed problems but leave blobs at lower speeds (25mm/s). To resolve this I had to reduce the retraction distance. I ended up with retractions similar to a direct drive and no extra prime amount. I ended up with the following retract and pressure advance settings:
M207 S2.0 R0.0 F3600 T600
M572 D0 S0.3This is with the following setup:
E3D Volcano, 0.4mm nozzle
550mm Capricorn XS Bowden tube
Bondtech QR Extruder
1.75mm Amazon Basics PETGBefore Tuning these settings I was printing slower (50mm/s) with 6.5mm retraction distance.
Thanks for sharing this.
-
@rs4race Could you also post your speed, jerk and accelleration settings for the extruder?
-
When running the python script changing the center of bed to 110,110
This is a little snippet of the code it produces. Obviously X is off the charts. What am I doing wrong. Using python 3.7
G1 X3853.750 Y126.800 E0.2910 F4200
G1 X3858.750 Y126.800 E0.1663 F300
G1 X3867.500 Y126.800 E0.2910 F4200
G1 X3876.250 Y126.800 E0.2910 F4200
G1 X3881.250 Y126.800 E0.1663 F300
G1 X3890.000 Y126.800 E0.2910 F4200
G1 X3898.750 Y126.800 E0.2910 F4200
G1 X3903.750 Y126.800 E0.1663 F300
G1 X3912.500 Y126.800 E0.2910 F4200
G1 X3921.250 Y126.800 E0.2910 F4200
G1 X3926.250 Y126.800 E0.1663 F300
G1 X3935.000 Y126.800 E0.2910 F4200
G1 X3935.000 Y127.200 E0.0133 F4200I should note that python is giving me Indentation errors.
-
Im still quite a newbie in this realm and i guess the amount of variables are getting to me
Backstory is I have a zesty nimble, which worked amazing but had 2 issues I cannot solve
- Ripples in the surface finish - Company is still working on a fix
- blobs at the end of a layer creating terrible Z seam scars
Tried all the ideas such as coast and wipe, but they have their own issues such as only available in some slicers, cannot be used with firmware retraction, etc.
Pressure advance by the sounds of it should eliminate the blobs at end of layer, but any attempt to use PA with a nimble due to its required low jerk values caused my prints to slow to about 3x the time. Was painful to watch.
Although, with the nimble I was able to get a great calibration part from the above enclosed script.With the nimble, the calibration part has easily discernible reversing thick areas, and one can find the "best" setting of 0.12, but pressure advance was unusable for me in combination with the nimble.
So I order a Bondtech BMG and use a capricorn bowden tube of about 650mm paired with an E3D 0.9 degree stepper.
Now i get the Esteps all setup at E808, run some retraction calibration parts, and i still get blobs due to pressure at the end of a layer.
Run the above scripts on a Pressure Advance test and..... The results do not make sense to me.Before the extruded line ever gets to an optimal state, the extrusion is messed up. It gets to the point where nothing is coming out of the nozzle at all. I was at 5-100 print speed so ran again at 20-80 which is the speeds I actually print at (E3D volcano, 0.6mm X nozzle)
And again the part never gets to the optimal PA value without the PA settings making the filament retract so much it doesn't print.What am i doing wrong? Any suggestions?
Duet Wifi, Smart Effector, newest firmware, Delta printer based smilar to DC42's large kossel
Config is as follows :
M350 X16 Y16 Z16 E16 I1 ; Configure microstepping with interpolation
M92 X200 Y200 Z200 E808; Set steps per mm original
M566 X1200 Y1200 Z1200 E2000 ; Set maximum instantaneous speed changes (mm/min)
M203 X18000 Y18000 Z18000 E3600 ; Set maximum speeds (mm/min)
M201 X1000 Y1000 Z1000 E3000 ; Set accelerations (mm/s^2)
M906 X1000 Y1000 Z1000 E900 I30 ; Set motor currents (mA) and motor idle factor in per cent -
@jarery said in Pressure Advance Calibration:
E2000
Hi @Jarery
I don't know if I can still help you, you asked that question way back in April. But I would try to decrease your extruder jerk dramatically. I got mine around 4-5mm/s, and because the values are in mm/min that translates to 240-300. Your extruder jerk is at 2000, meaning that your extruder doesn't try to accelerate in most cases and could loose steps easily, which seems plausible concerning your shown print results.
And at all, and of course @DigitalVision I tried to improve your python script a little. Added some comments, a cooling fan speed parameter, start and end gcodes kind of parameters, and some small tweaks. If you want you can merge it to your script or link this one in your first post.
For all the windows-python newbies:
- Install python3 or newer (or python2.7, also called python27, but it's getting unsupported by the end of the year, so install python3)
- navigate to the downloaded pressureadvance2.py script in your explorer
- open the file with a good editor (no not editor.exe! I mean a good one) and change the parameters to fit your printer. Be careful not overshooting the dimensions and bed center!
- hold down shif key and right click on and empty spot in the file list of the windows explorer
- choose "open terminal here" or "open command line here" or similar
- type in: python pressureadvance2.py > output.gcode
the shell command simply means "use [python] with script [ pressureadvance2.py ] and redirect output [>] to the file [output.gcode]"
- Use calipers to measure the position of the best layer. Mine was at around 7mm of 20mm total height for having the parameters set to pressureadvance_min = 0.0 and pressureadvance_max = 0.2. Meaning you get a gradient from 0 to 0.2... Now simply use math to calculate your pressure advance value for your printed calibration wall. It's a good idea to reprint a version with refined parameters around your determined sweet spot. I reprinted one in 0.05 to 0.10 for my roughly measured 0.07 of my first version, finally sticked with 0.068
For my direct extruder with hobb goblin ID 5mm with e3d volcano and 0.8mm nozzle I got round about 0.068
Tests with my 0.4mm Volcano is up next.Have fun guys!
-
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.