Skip to content

Linear Pressure Advance Tower

Thomas Seals edited this page Jan 12, 2024 · 21 revisions

Sample part and Postprocessing script to calibrate Linear/Pressure Advance.

Author : dotdash32

This idea was taken from Klipper's Pressure Advance Tuning Guide Nero3dp's video guide is a good place to start to see the overall idea of the goal of this test.

The goal of this test tower is to examine a much broader range of values than Marlin's generator, and to negate the effects of layers close to the bed (elephant's foot, spreading).

Differences between firmware

Marlin, RepRapFirmware, and Klipper all use different GCodes (and names) to refer to a similar algorithm. You need to select which version your printer runs in the dropdown. As of now, the RRF only supports the first extruder (D0 command)!

Procedure

STL and SCAD file taken from Klipper docs. It has merely been brought in here for ease of use.

Pressure Advance Tower STL Model

SCAD Model Pressure Advance Tower

Pressure Advance Tower

Pressure Advance Tower Cura

Use the SpeedTower.py to easily define the Pressure Advance Tower.

Two options can be used :

       - Marlin Linear Advance (M900 K)

       - RepRap Pressure Advance (M572 D0 S)

Settings Script Pressure Advance Tower

These settings worked well for an Ender 3 with stock bowden tube (gave K0.99). Change the increment as needed for your extruder setup. Direct drive should need much smaller values than Bowden. A good starting incrementation for Bowden systems is 0.02, and 0.005 for direct drive systems Please see your firmware's guidance on appropriate values (units inconsistent across firmware).

Calculating Value

Use calipers to measure up the side of your test print.

For the settings above, (distance/layer_height)*value_increment will give the appropriate Linear/Pressure Advance setting.

Pressure Advance Measuring Result

Note

After the use of the Postprocessing Script, don't forget to remove it for your next project !

printing-conditions

Printing Conditions From Klipper:

Use a high speed (eg, 100mm/s), zero infill, and a coarse layer height (the layer height should be around 75% of the nozzle diameter.. for a 0.4 nozzle you would use a layer height of 0.3). Make sure any “dynamic acceleration control” is disabled in the slicer.

All speeds (except the first layer) should be set to the same value. It is important that outer_wall_speed be set high, since the default Cura settings slow it down. If you don't speed this up, the test won't work properly.

What's worked (personally)

  • Nozzle Size : 0.4
  • Layer Height : 0.3
  • Initial Layer Height : 0.2
  • Line Width : 0.4
  • Wall Line Count : 2
  • Top Thickness : 0.8 mm
  • Bottom Thickness : 0.8 mm
  • Infill Density : 0%
  • Print Speed : 100 mm/s
    • Outer Wall Speed: 100 mm/s
    • Inner Wall Speed: 100 mm/s
  • Initial Layer Speed: (leave it as your profile defaults)
  • Acceleration Control: Disabled
  • Jerk Control: Disabled
  • Coasting: Disabled

Printing Time = 1h 30mn

Clone this wiki locally