-
-
Notifications
You must be signed in to change notification settings - Fork 365
Linear Advance (LA)
In order to use linear advance with the Professional firmware you must to install a pre-build binary with LA enabled such as the ones provide at: https://github.com/mriscoc/Special_Configurations/releases/tag/LinearAdvance or compile a custom build with the LA feature activated in the Configurator.
Linear advance (LA) is a feature that improves the quality and speed of 3D printing by adjusting the extrusion rate according to the print speed and material viscosity. It helps to reduce over-extrusion at the end of each move and under-extrusion at the start of each move, resulting in sharper corners and smoother surfaces. Linear advance also allows for higher printing speeds without compromising print quality, as long as the extruder can handle the rapid speed changes.
To use LA, you need to enable it in your printer’s firmware and calibrate it for your specific filament type and temperature. You also need to activate it in your slicing software by adding a G-code command that sets the linear advance factor (K) for your filament. The K factor is a measure of how much the filament compresses or expands when extruded at different speeds. A higher K factor means more compression or expansion, and a lower K factor means less. The optimal K factor depends on various factors, such as the nozzle size, layer height, print speed, and filament material.
You can find more information about linear advance and how to set it up in your printer and slicer in these web pages:
- How to Set Up Linear Advance in Marlin | All3DP
- Linear Advance | Marlin Firmware
- What is “Linear Advance” and its effect on your 3D printing process.
- What Is Linear Advance 3D Printing - Art Candidate
- Linear Advance in Prusa3D
This feature works even for stepper drivers in standalone mode (Creality 4.2.2, 4.2.7, F1, F4), there was an old problem with the configurations of the drivers that Creality uses on its boards, but some time ago, that was resolved by this: https://github.com/MarlinFirmware/Marlin/pull/24533. The precompiled binaries for LA have Classic Jerk and S-Curve Acceleration disabled and Junction Deviation enabled.
Under default conditions, extruder axis movement is treated in the same way as the XYZ linear axes. The extruder motor moves in linear proportion to all the other motors, maintaining exactly the same acceleration profile and start/stop points. But an extruder is not a linear system, so this approach leads, most obviously, to extra material being extruded at the end of each linear movement.
Take the common test-cube as an example. Even with the best tuning the corners are usually not sharp, but bleed out. The top solid infill displays roughness where the print direction changes on perimeters. These problems are minor or even imperceptible at low printing speeds, but they become more noticeable and problematic as print speeds increase.
Tuning the flow can help, but this may lead to under-extrusion when starting new lines. Some slicers include an option to end extrusion early in each move, but this adds more complexity to the G-code and has to be re-tuned for different temperatures and materials.
Since the root cause is pressure, LIN_ADVANCE de-couples extrusion from the other axes to produce the correct pressure inside the nozzle, adapting to the printing speed. Once Linear Advance is properly tuned, bleeding edges and rough solid infill should be nearly eliminated.
From Prusa site. Calibration G-code printed with PLA at 215 °C. Most consistent line achieved with K-value 0.05 (green square).
- Better dimensional precision due to reduced bleeding edges.
- Higher printing speeds are possible without any loss of print quality - as long as your extruder can handle the needed speed changes.
- Visible and tangible print quality is increased even at lower printing speeds.
- No need for high acceleration and jerk values to get sharp edges.
- Some slicers have options to control the nozzle pressure. Common names are: Pressure advance, Coast at end, extra restart length after retract. Disable these options as they will interfere with Linear Advance.
- Also disable options like wipe while retract or combing. There should be almost no ooze, once the proper K-Factor is found.
- Recheck retraction distance, once Linear Advance is calibrated and working well. It may even be as low as 0, since pressure control reduces the material pressure at the end of a line to nearly zero.
- Don't forget to do the Calibration
The transition between Slow Printing Speed phases and Fast Printing Speed phases are the points of interest to determine the best matching K-Factor. Following illustration shows a magnified view of a line where the K-Factor is too low:
Thank you for your support, I receive donations through Patreon and Paypal
This Wiki and the included images were created under the Creative Commons License CC BY-NC-SA
Get the latest firmware here: https://github.com/mriscoc/Ender3V2S1/releases/latest