cornering calib - gingeradditive/OrcaSlicer GitHub Wiki
Cornering is a critical aspect of 3D printing that affects the quality and accuracy of prints. It refers to how the printer handles changes in direction during movement, particularly at corners and curves. Proper cornering settings can help reduce artifacts like ringing, ghosting, and overshooting, leading to cleaner and more precise prints.
WIP... TODO: Jerk calibration not implemented yet.
Junction Deviation is the default method for controlling cornering speed in MarlinFW (Marlin2) printers. Higher values result in more aggressive cornering speeds, while lower values produce smoother, more controlled cornering. The default value in Marlin is typically set to 0.08mm, which may be too high for some printers, potentially causing ringing. Consider lowering this value to reduce ringing, but avoid setting it too low, as this could lead to excessively slow cornering speeds.
-
Pre-requisites:
- Check if your printer has Junction Deviation enabled. You can do this by sending the command
M503
to your printer and looking for the lineJunction deviation: 0.25
. - 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 the ringing more visible.
- Check if your printer has Junction Deviation enabled. You can do this by sending the command
-
You need to print the Junction Deviation test.
- Measure the X and Y heights and read the frequency set at that point in Orca Slicer.
- It’s very likely that you’ll need to set values lower than 0.08 mm, as shown in the previous example. To determine a more accurate maximum JD value, you can print a new calibration tower with a maximum value set at the point where the 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 Orca Slicer.
-
Save the settings
- Set your Maximun Junction Deviation value in [Printer settings/Motion ability/Jerk limitation].
- Use the following G-code to set the mm:
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
- Check Classic Jerk is disabled (commented).
//#define CLASSIC_JERK