Basic Information:
Printer Model: Ender 3 Pro
MCU / Printerboard: SKR mini E3 V3
klippy.log
klippy (2).log (7.0 MB)
Describe your issue: I just upgraded to an Orbitor V2.0 which involved moving my CR Touch mount to the front of my hotend fan and now my bed mesh is not working as it should, when I make a mesh it looks fine but when I start printing the left side of the print the z offset is too high but on the right side it is too low, I have done many screw tilt calibrations and z offset changes but nothing helps, I have dual z axis with 2 stepper motors and I am using a 7 by 7 mesh (was 5 by 5 but I thought 7 by 7 might fix the issue.)
If anyone could help me I would really appreciate it!
…
I will thank you. What is a twisted x axis?
If the extrusion for your x axis is twisted a little it will result in different probe offsets depending on your x coordinate.
More information/explanation can be found here:
opened 08:43PM - 17 Sep 21 UTC
closed 01:55PM - 31 Dec 21 UTC
T: Feature Request
F: Calibration
### Is your feature request related to a problem? Please describe.
On printer… s similar to the Prusa Mk3 that have two separate rails for the X-axis it's a very common problem that these two axis are not 100% parallel to each other.
This slight "twist" in the X-axis causes the probe Z-offset to be different throughout the length of the X-axis.
Generating a bed mesh will effectively produce useless garbage since the mesh will sit at an angle that does not match the actual bed geometry of the printer.
The issue gets worse the further the leveling probe (a BLtouch for example) is offset to the nozzle on the Y-axis.
Unfortunately this makes the automatic mesh bed leveling in it's current state pretty much useless for almost every printer that uses this kind of X-axis assembly (in most cases it even makes the problem worse than it is with just manual 4-point leveling).
Here's a drawing (made by MauroGil66 over at https://github.com/andrivet/ADVi3pp/issues/248) that shows the issue pretty good:
![](https://user-images.githubusercontent.com/32619520/90580766-0863da00-e1a0-11ea-9a2c-b92dd0fbbf06.png)
There have been numerous reports of this in the past already indicating that it is a quite common problem.
https://github.com/MarlinFirmware/Marlin/issues/11234
https://github.com/MarlinFirmware/Marlin/issues/12349
https://github.com/MarlinFirmware/Marlin/issues/15206
https://github.com/MarlinFirmware/Marlin/issues/15753
https://github.com/MarlinFirmware/Marlin/issues/18591
### Are you looking for hardware support?
_No response_
### Describe the feature you want
My request (or idea) would be to introduce some kind of X-axis twist compensation in the firmware.
Fixing the hardware (i.e. untwisting the X-axis) is pretty much impossible on most of the printers that use this type of gantry assembly since there is simply no good or accurate method of measuring how parallel the axis are and on many printers it's not even possible to move the two rails indipendently from each other.
Probably the easiest way to implement such a twist compensation would be by setting two different probe Z-offset values.
One for the X-min position and one for the X-max position. The values in between can then simply be calculated as a linear function.
To generate the bed mesh the compensation value simply has to get subtracted from the measured Z-value.
That way the firmware could compensate for the change in probe height when measuring the bed and actually generate a useful mesh.
Another way would be by setting the X-axis twist as an angle value which would then be used to calculate the Z-offset difference using the provided Y-axis offset for the probe. But (imho) that would be a way too overcomplicated solution for such an easy to solve problem.
Those are just some ideas and since I'm not a very well versed programmer I would leave that to those who know how something like this could be implemented 😃
### Additional context
It seems that something similar was already implemented in the ADVi3pp firmware which is a fork of Marlin
https://github.com/andrivet/ADVi3pp/issues/248
This fixed it thank you so much!
Thank you so much this fixed it!