docs: Update for latest changs to skew_correction
Signed-off-by: Eric Callahan <arksine.code@gmail.com>
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
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
|
||||
that if your printer is significantly skewed it is strongly recommended to
|
||||
first use mechanical means to get your printer as square as possible prior
|
||||
to applying software based correction.
|
||||
|
||||
@@ -12,8 +12,9 @@ along the plane you want to correct. There is also a
|
||||
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.
|
||||
Make sure that no skew correction is applied during this print. You may
|
||||
do this by either removing the [skew_correction] module from printer.cfg
|
||||
or by issuing a `SET_SKEW CLEAR=1` gcode.
|
||||
|
||||
# Take your measurements
|
||||
The [skew_correcton] module requires 3 measurements for each plane you want
|
||||
@@ -23,18 +24,56 @@ AD do not include the flats on the corners that some test objects provide.
|
||||
|
||||

|
||||
|
||||
# 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:
|
||||
# Configure your skew
|
||||
Make sure [skew_correction] is in printer.cfg. You may now use the `SET_SKEW`
|
||||
gcode to configure skew_correcton. For example, if your measured lengths
|
||||
along XY are as follows:
|
||||
```
|
||||
[skew_correction]
|
||||
xy_ac_length: 140.4
|
||||
xy_bd_length: 142.8
|
||||
xy_ad_length: 99.8
|
||||
Length AC = 140.4
|
||||
Length BD = 142.8
|
||||
Length AD = 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:
|
||||
|
||||
`SET_SKEW` can be used to configure skew correction for the XY plane.
|
||||
|
||||
```
|
||||
SET_SKEW XY=140.4,142.8,99.8
|
||||
```
|
||||
You may also add measurements for XZ and YZ to the gcode:
|
||||
|
||||
```
|
||||
SET_SKEW XY=140.4,142.8,99.8 XZ=141.6,141.4,99.8 YZ=142.4,140.5,99.5
|
||||
```
|
||||
|
||||
The [skew_correction] module also supports profile management in a manner
|
||||
similar to [bed_mesh]. After setting skew using the `SET_SKEW` gcode,
|
||||
you may use the `SKEW_PROFILE` gcode to save it:
|
||||
|
||||
```
|
||||
SKEW_PROFILE SAVE=my_skew_profile
|
||||
```
|
||||
After this command you will be prompted to issue a `SAVE_CONFIG` gcode to
|
||||
save the profile to persistent storage. If no profile is named
|
||||
`my_skew_profile` then a new profile will be created. If the named profile
|
||||
exists it will be overwritten.
|
||||
|
||||
Once you have a saved profile, you may load it:
|
||||
```
|
||||
SKEW_PROFILE LOAD=my_skew_profile
|
||||
```
|
||||
|
||||
It is also possible to remove an old or out of date profile:
|
||||
```
|
||||
SKEW_PROFILE REMOVE=my_skew_profile
|
||||
```
|
||||
After removing a profile you will be prompted to issue a `SAVE_CONFIG` to
|
||||
make this change persist.
|
||||
|
||||
# Verifying your correction
|
||||
After skew_correction has been configured you may reprint the calibration
|
||||
part with correction enabled. Use the following gcode to check your
|
||||
skew on each plane. The results should be lower than those reported via
|
||||
`GET_CURRENT_SKEW`.
|
||||
|
||||
```
|
||||
CALC_MEASURED_SKEW AC=<ac_length> BD=<bd_length> AD=<ad_length>
|
||||
@@ -42,11 +81,13 @@ 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.
|
||||
Due to the nature of skew correction it is recommended to configure skew
|
||||
in your start gcode, after homing and any kind of movement that travels
|
||||
near the edge of the print area such as a purge or nozzle wipe. You may
|
||||
use use the `SET_SKEW` or `SKEW_PROFILE` gcodes to accomplish this. It is
|
||||
also recommended to issue a `SET_SKEW CLEAR=1` in your end gcode.
|
||||
|
||||
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].
|
||||
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].
|
||||
|
||||
Reference in New Issue
Block a user