skew_correction: add documentation
Signed-Off-By: Eric Callahan <arksine.code@gmail.com>
This commit is contained in:
parent
b37222e3a1
commit
a3b4543c97
|
@ -377,6 +377,28 @@
|
||||||
# if retries are enabled then retry if largest and smallest probed points
|
# if retries are enabled then retry if largest and smallest probed points
|
||||||
# differ more than retry_tolerance
|
# differ more than retry_tolerance
|
||||||
|
|
||||||
|
# Printer Skew Correction. It is possible to use software to correct
|
||||||
|
# printer skew across 3 planes, xy, xz, yz. This is done by printing
|
||||||
|
# a calibration model along a plane and measuring three lengths. See
|
||||||
|
# skew_correction.md in the docs directory for more details.
|
||||||
|
#
|
||||||
|
#[skew_correction]
|
||||||
|
#xy_ac_length:
|
||||||
|
#xy_bd_length:
|
||||||
|
#xy_ad_length:
|
||||||
|
# The measured lengths (in mm) on the xy plane skew calibration print.
|
||||||
|
# If one length is provided all three lengths must be provided. The default
|
||||||
|
# is no measurement, which results in no skew correction along the xy plane.
|
||||||
|
#xz_ac_length:
|
||||||
|
#xz_bd_length:
|
||||||
|
#xz_ad_length:
|
||||||
|
# The same as above, on the xz plane. The default is no skew correction
|
||||||
|
# on the xz plane.
|
||||||
|
#yz_ac_length:
|
||||||
|
#yz_bd_length:
|
||||||
|
#yz_ad_length:
|
||||||
|
# The same as above on the yz plane. The default is no skew correction
|
||||||
|
# on the yz plane.
|
||||||
|
|
||||||
# In a multi-extruder printer add an additional extruder section for
|
# In a multi-extruder printer add an additional extruder section for
|
||||||
# each additional extruder. The additional extruder sections should be
|
# each additional extruder. The additional extruder sections should be
|
||||||
|
|
|
@ -468,3 +468,17 @@ of retraction required.
|
||||||
parameters.
|
parameters.
|
||||||
- `G11`: Unretracts the extruder using the currently configured
|
- `G11`: Unretracts the extruder using the currently configured
|
||||||
parameters.
|
parameters.
|
||||||
|
|
||||||
|
## Skew Correction
|
||||||
|
|
||||||
|
The following commands are available when the "skew_correction" config
|
||||||
|
section is enabled.
|
||||||
|
- `GET_CURRENT_SKEW`: Reports the current printer skew for each plane in
|
||||||
|
both radians and degrees. The skew is calculated based on parameters
|
||||||
|
provided to the [skew_correction] section of printer.cfg.
|
||||||
|
- `CALC_MEASURED_SKEW [AC=<ac_length>] [BD=<bd_length>] [AD=<ad_length>]`:
|
||||||
|
Calculates and reports the skew (in radians and degrees) based on a
|
||||||
|
measured print. This can be useful for determining the printer's current
|
||||||
|
skew after correction has been applied. It may also be useful before
|
||||||
|
correction is applied to determine if skew correction is necessary. See
|
||||||
|
skew_correction.md for details on skew calibration objects and measurements.
|
||||||
|
|
Binary file not shown.
After Width: | Height: | Size: 13 KiB |
|
@ -0,0 +1,52 @@
|
||||||
|
Software based skew correction can help resolve dimensional inaccuracies
|
||||||
|
resulting from a printer assembly that is not perfectly square. Note
|
||||||
|
that if your printer is significantly skewed it is strongy recommended to
|
||||||
|
first use mechanical means to get your printer as square as possible prior
|
||||||
|
to applying software based correction.
|
||||||
|
|
||||||
|
# Print a Calibration Object
|
||||||
|
The first step in correcting skew is to print a
|
||||||
|
[calibration object](https://www.thingiverse.com/thing:2563185/files)
|
||||||
|
along the plane you want to correct. There is also a
|
||||||
|
[calibration object](https://www.thingiverse.com/thing:2972743)
|
||||||
|
that includes all planes in one model. You want the object oriented
|
||||||
|
so that corner A is toward the origin of the plane.
|
||||||
|
|
||||||
|
Make sure that the [skew_correction] module is not enabled in printer.cfg
|
||||||
|
prior to printing the calibration part.
|
||||||
|
|
||||||
|
# Take your measurements
|
||||||
|
The [skew_correcton] module requires 3 measurements for each plane you want
|
||||||
|
to correct; the length from Corner A to Corner C, the length from Corner B
|
||||||
|
to Corner D, and the length from corner A to corner D. When measuring length
|
||||||
|
AD do not include the flats on the corners that some test objects provide.
|
||||||
|
|
||||||
|
![skew_lengths](img/skew_lengths.png)
|
||||||
|
|
||||||
|
# Update printer.cfg
|
||||||
|
Enter your lengths for the calibration print corresponding to the correct
|
||||||
|
plane under the [skew_correction] section in printer.cfg, for example:
|
||||||
|
```
|
||||||
|
[skew_correction]
|
||||||
|
xy_ac_length: 140.4
|
||||||
|
xy_bd_length: 142.8
|
||||||
|
xy_ad_length: 99.8
|
||||||
|
```
|
||||||
|
Restart your printer. If desired, you can reprint the calibration part
|
||||||
|
with skew correction enabled. The following gcode can be used to calculate
|
||||||
|
skew of a single plane and output the results:
|
||||||
|
|
||||||
|
```
|
||||||
|
CALC_MEASURED_SKEW AC=<ac_length> BD=<bd_length> AD=<ad_length>
|
||||||
|
```
|
||||||
|
|
||||||
|
# Caveats
|
||||||
|
|
||||||
|
When using the [skew_correction] module it is suggested to home all axes
|
||||||
|
before attempting a move. Homing a single axis to move could result in a
|
||||||
|
correction along the x and/or y axis, potentially leading to a homing error.
|
||||||
|
|
||||||
|
It is also important to keep in mind that it is possible for [skew_correction]
|
||||||
|
to generate a correction that moves the tool beyond the printer's boundries
|
||||||
|
on the X and/or Y axes. It is recommended to arrange parts away from the
|
||||||
|
edges when using [skew_correction].
|
Loading…
Reference in New Issue