aboutsummaryrefslogtreecommitdiffstats
path: root/docs
diff options
context:
space:
mode:
authorArksine <arksine.code@gmail.com>2019-06-12 20:26:58 -0400
committerKevinOConnor <kevin@koconnor.net>2019-06-26 20:16:35 -0400
commita3b4543c978f3fe6cdcdf1fc96af61750b186646 (patch)
tree71bc0ba3727ef12fe88b0cb31dec5d0e92d296a5 /docs
parentb37222e3a1ef1401d8f4fa5854c78d961740cb7c (diff)
downloadkutter-a3b4543c978f3fe6cdcdf1fc96af61750b186646.tar.gz
kutter-a3b4543c978f3fe6cdcdf1fc96af61750b186646.tar.xz
kutter-a3b4543c978f3fe6cdcdf1fc96af61750b186646.zip
skew_correction: add documentation
Signed-Off-By: Eric Callahan <arksine.code@gmail.com>
Diffstat (limited to 'docs')
-rw-r--r--docs/G-Codes.md14
-rw-r--r--docs/img/skew_lengths.pngbin0 -> 13354 bytes
-rw-r--r--docs/skew_correction.md52
3 files changed, 66 insertions, 0 deletions
diff --git a/docs/G-Codes.md b/docs/G-Codes.md
index 3fcdd88e..12b43fb4 100644
--- a/docs/G-Codes.md
+++ b/docs/G-Codes.md
@@ -468,3 +468,17 @@ of retraction required.
parameters.
- `G11`: Unretracts the extruder using the currently configured
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.
diff --git a/docs/img/skew_lengths.png b/docs/img/skew_lengths.png
new file mode 100644
index 00000000..3c646b0f
--- /dev/null
+++ b/docs/img/skew_lengths.png
Binary files differ
diff --git a/docs/skew_correction.md b/docs/skew_correction.md
new file mode 100644
index 00000000..f6b7822e
--- /dev/null
+++ b/docs/skew_correction.md
@@ -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].