Modified from Marlin generator src https://marlinfw.org/tools/lin_advance/k-factor.html
The stock values are set for abs and a core xy machine with higher accel ability. I have found that we no longer need to run low accel values like with other tests. This in turn lets us tune for real life results and it is working much better i have actually been tuning my printers at 4k accel which is still not aggressive for klipper and my gantry upgrade where i can now print at 15k to 25k accel.
Pressure Advance Calibration Pattern
This will generate code for klipper
Use this form to generate G-code that you can use to calibrate your Pressure Advance. Default values apply to standard PLA with a 0.4mm nozzle.
Generate G-code button followed by
Download as file to save the result.
|Diameter of the used filament (mm)|
|Diameter of the nozzle (mm)|
|Nozzle Temperature (°C)|
|Bed Temperature (°C)|
|Retraction distance (mm)|
|Layer Height (mm)|
|Extruder Index (0 to ?)|
|Fan Speed (%)|
|Rectangular or round bed. Round beds will activate Origin Bed Center|
|Size (mm) of the bed in X|
|Size (mm) of the bed in Y|
|Set the origin position (X0 Y0) to bed center instead of front-left corner|
|Use mm/s instead of mm/m|
|Slow printing speed|
|Fast printing speed. This should differ noticeably from Slow Speed|
|Retract Speed of the extruder|
|Unretract Speed of the extruder|
|Set printing acceleration (mm/s^2)|
|Set the Jerk for the X-axis. -1 to use firmware default|
|Set the Jerk for the Y-axis. -1 to use firmware default|
|Set the Jerk for the Z-axis. -1 to use firmware default|
|Set the Jerk for the Extruder. -1 to use firmware default|
|Select standard or alternate pattern|
|Starting value for the Pressure Advance|
|Ending value of the Pressure Advance|
|Stepping of the Pressure Advance in the test pattern. Needs to be an exact divisor of the Pressure Advance Range (End – Start)|
|Length of the Slow Speed test-line (mm)|
|Length of the Fast Speed test-line (mm)|
|Distance between the test lines. This will impact print size|
|Adds a frame around the start and end points of the test lines. May improve adhesion|
|Rotates the print in 45° steps|
|Prints the K-value besides every second test line|
|Ratio between extruded line width and nozzle diameter. Should be between 1.05 and 1.2|
|Offset the Z-axis for manual Layer adjustment|
|Level bed or load a saved mesh (i.e. for UBL) before printing. Bed leveling has to be activated in Configuration.h! Loading a mesh requires UBL to be activated!|
|Use Firmware Retract. Needs to be activated in Marlin|
|Prime the nozzle before starting the test pattern|
|The default of 2.5 results in roughly 1mm of filament for 10mm line length|
|Speed of the prime move|
|Inserts a pause of x seconds before starting the test pattern to bleed off any residual nozzle pressure|
Notes on the settings:
Fast Printing Speedand
Slow Printing Speedshould be significantly different or the Pressure Advance effect will barely be visible.
Use Bed Levelingrequires a probe.
- For round beds the option
Origin Bed Centeris automatically activated.
- The overall width (X-direction) of the print depends on the
Fast Speed Lengthand
Slow Speed Lengthsettings plus 5mm for the priming line. The length (Y-direction) depends on the Pressure Advance Settings and
- The script checks to make sure the print fits on the bed. Verify it using a host software like Printrun or Repetier Host.
End Valuefor the Pressure Advance determines the range that the test pattern will cover. For example a
Start Valueof 50 and an
End Valueof 150 will test a range of 100.
Pressure Advance Steppingdetermines how many test lines are printed for the above range. For example, a Stepping of 10 and a range of 100 results in 10 test lines. A stepping of 3 would not work in this example as 100 cannot be exactly divided by 3. The script will throw an error message if an exact division is not possible. In this case either the range or the stepping needs to be adjusted.
Alternate Patternhas a second line of
Fast Printing Speedto test 0 to
Fast Printing Speedand back to 0 conditions. Best used with an increased
Test Line Spacingand reduced Pressure Advance range.
- The proper Pressure Advance depends on the filament, nozzle size, nozzle geometry and printing temperature. If any of these values change, the calibration might need to be repeated.
The following screen-shots show some examples of the test patterns
- Blue Lines are Slow Printing Speeds
- Red Lines are Fast Printing Speed
- Light blue lines are movements