diff options
author | Yifei Ding <dingyifeiair@gmail.com> | 2021-11-20 23:23:56 -0800 |
---|---|---|
committer | Kevin O'Connor <kevin@koconnor.net> | 2021-11-22 21:03:32 -0500 |
commit | a1af78cb83eb91c20126d02012ad8a20405470b4 (patch) | |
tree | cd2507ce1f81a80d1dcb9387e65f629eed4d1c47 /docs/Skew_Correction.md | |
parent | 85667649d1422e4b88f9137ffeae58898f66ea50 (diff) | |
download | kutter-a1af78cb83eb91c20126d02012ad8a20405470b4.tar.gz kutter-a1af78cb83eb91c20126d02012ad8a20405470b4.tar.xz kutter-a1af78cb83eb91c20126d02012ad8a20405470b4.zip |
docs: Rename Documents
Signed-off-by: Yifei Ding <yifeiding@protonmail.com>
Diffstat (limited to 'docs/Skew_Correction.md')
-rw-r--r-- | docs/Skew_Correction.md | 100 |
1 files changed, 100 insertions, 0 deletions
diff --git a/docs/Skew_Correction.md b/docs/Skew_Correction.md new file mode 100644 index 00000000..0475de89 --- /dev/null +++ b/docs/Skew_Correction.md @@ -0,0 +1,100 @@ +# Skew correction + +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 strongly 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 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 +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. + + + +## 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: + +``` +Length AC = 140.4 +Length BD = 142.8 +Length AD = 99.8 +``` + +`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> +``` + +## Caveats + +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. + +Keep in mind that it is possible for `[skew_correction]` to generate a correction +that moves the tool beyond the printer's boundaries on the X and/or Y axes. It +is recommended to arrange parts away from the edges when using +`[skew_correction]`. |