Klipper Pressure Advance Tuning - How to Guide
Introduction
Pressure Advance in Klipper is designed to compensate for the side effects of instant speed changes that occur during fast print speeds. It reduces stringing, gives your prints sharp corners, and delivers a high print quality even at speeds above 100 mm/s.
But tuning pressure advance in Klipper and understanding its functioning can be puzzling to new Klipper users. So, in this article, we’ve gathered all the information you need to know about Pressure advance and set it up in Klipper. It’ll help you understand the benefits of this feature and how you can use it to sharpen up your 3D prints.
Let’s Advance!
Why do you need Pressure Advance in Klipper?
The way Klipper functions, it uses a Raspberry Pi board to deliver fast print speeds while trying to maintain decent print quality. But, printing at fast speeds is challenging, and sudden changes in the print speeds can lead to stringing blobs and bulging print corners.
The primary reason behind these issues is the erratic flow of filament at high speeds. By design, the filament flow in a 3D printer is mainly dependent on the pressure within a nozzle. The nozzle must reach a certain pressure level before the filament can exit its orifice.
You can experience this in real-time without printing any object. Heat your hot end to the filament’s melting point, and try to manually push the material out of the nozzle using the extruder.
You’ll notice a slight delay between your push action and the filament exiting the nozzle. Similarly, once you stop rotating the extruder gear, there’s still a tiny quantity of filament that continues to flow out the nozzle. Now try to visualize this during a printing process.
The extruder suddenly accelerates and tries to push the filament out of the nozzle. But, due to insufficient pressure build-up within the nozzle, less filament exits the nozzle, thus leading to under extrusion.
In contrast, when the extruder decelerates instantly, there’s already a pressure build-up within the nozzle. This excess pressure will push out the filament, even when it’s not needed, to balance the system. This is why you’ll notice blobs and bulging corners in your prints.
So, to ensure high-quality prints, we need to stabilize the pressure within the nozzle throughout the printing process. And it’s where Pressure Advance steps in.
Pressure Advance in Klipper
Pressure Advance lets the Klipper firmware control filament flow in the nozzle during the acceleration and deceleration moves. This fine control results in improved corners, reduced stringing, and blobs on the print, which can be typically more pronounced when printing at high speeds.
The way Klipper controls this flow is it approximates ‘pressure in advance’ during a particular print move. So, Klipper will increase the filament flow slightly prior to an acceleration move to compensate for any under extrusion.
Further, it’ll decrease the filament flowing into the nozzle just before the printer decelerates. This mechanism will adjust for the excess pressure within a nozzle and reduce the chances of blobs in prints.
It seems simple in theory, but a lot of math is involved in computing the exact pressure needed within a nozzle. You can find detailed information about this on Klipper’s Kinematics page.
Now that we’ve understood the basics of Pressure advance tuning let’s begin with the calibration process.
How to tune Pressure Advance in Klipper?
Klipper uses a pressure advance co-efficient to compute the nozzle pressure. Your goal is to find this coefficient and set it up in Klipper firmware. Let’s begin with the process.
Configure Slicer Settings
We’re using PrusaSlicer for this guide, but you can use these steps with any other 3D printing slicer.
- Open your Slicer and set the layer height to 75% of your nozzle size. We’ve set it to 0.3 mm as we’re using a 0.4 mm nozzle.
- Set the infill value to 0%.
- Set all the speed settings to 100 mm/s. It will help the printer to better replicate the effects of instant speed changes at high values.
- Disable any acceleration settings or set it to zero.
- Turn off the auto-cooling parameter. It might slow down the print speeds, skewing the end results.
- Disable any machine limits or Auto-Speed settings in your slicer.