-
-
Notifications
You must be signed in to change notification settings - Fork 1.4k
cornering calib
Cornering is a critical aspect of 3D printing that affects print quality and accuracy. It's how the printer handles changes in direction during movement, particularly at corners and curves. Proper cornering settings can reduce artifacts such as ringing, ghosting, and overshooting, resulting in cleaner and more precise prints.
TODO: Jerk calibration not implemented yet.
Junction Deviation is the default method for controlling cornering speed in Marlin firmware (Marlin 2.x).
Higher values allow more aggressive cornering, while lower values produce smoother, more controlled corners.
The default value in Marlin is often 0.08mm
, which may be too high for some printers and may cause ringing. Consider lowering this value to reduce ringing, but avoid setting it too low that could lead to excessively slow cornering speed.
-
Pre-requisites:
- Check if your printer has Junction Deviation enabled. Look for
Junction deviation
in the printer's advanced settings. - In OrcaSlicer, set:
- Acceleration high enough to trigger ringing (e.g., 2000 mm/s²).
- Speed high enough to trigger ringing (e.g., 100 mm/s).
- Use an opaque, high-gloss filament to make ringing more visible.
- Check if your printer has Junction Deviation enabled. Look for
-
You need to print the Junction Deviation test.
- Measure the X and Y heights and read the frequency set at that point in OrcaSlicer.
- You will likely need values lower than
0.08mm
, as in the example. To find a better maximum JD value, print a new calibration tower with a maximum set near the point where corners start losing sharpness. - Print the second Junction Deviation test with the new maximum value.
- Measure the X and Y heights and read the frequency set at that point in OrcaSlicer.
- Measure the X and Y heights and read the frequency set at that point in OrcaSlicer.
-
Save the settings
- Set your Maximum Junction Deviation value in [Printer settings/Motion ability/Jerk limitation].
- Use the following G-code to set the value:
M205 J#JunctionDeviationValue M500
Example
M205 J0.012 M500
-
Recompile your MarlinFW
- In Configuration.h uncomment and set:
#define JUNCTION_DEVIATION_MM 0.012 // (mm) Distance from real junction edge
- Ensure Classic Jerk is disabled (commented out):
//#define CLASSIC_JERK
- Set your Maximum Junction Deviation value in [Printer settings/Motion ability/Jerk limitation].
- Junction Deviation Machine Limit @RF47
- Junction Deviation Calibration @IanAlexis
- Fast tower model @RF47