Hi guys,
Could someone help me with setting X and Y axis to the right angle? I have been using my i3 Pro B for a long time and for majority of printed parts it seemed fine. However, recently I've noticed that X and Y axes are not set to exactly 90° to each other. There's small deviation of may be 0.5-1°
This results in the fact that for example a long box and a lid don't match each other if printed in different orientations (along X axis and along Y axis respectively). Also, because of that round objects are printed in elliptic shape. Visually it's impossible to recognize, it looks round, but when measured has deviation of ~1mm in diameter. That for example makes printing any gears impossible cause they won't work as part of one well tuned mechanism
The motor steps are tuned fine - narrow sticks printed along X and Y axes have exact length, so that tuning is not a problem. All symptoms say that X and Y axes are not aligned to 90° angle.
However I can't find where exactly I could assemble it incorrectly or which nuts/bolts are responsible for that.
So the main question is: How to tune angle between X and Y axes and what is the best way to measure it?
X-Y axes right angle adjustment
Re: X-Y axes right angle adjustment
Use skew correction in the Marlin firmware
From configuration.h
These are my settings for my printer. I've compensated for X-Y axis, and it's possible to compensate X-Z and Y-Z also.
You can find my whole firmware here.
Also check out the README.
/jon
From configuration.h
Code: Select all
* Marlin automatically computes skew factors from these measurements.
* Skew factors may also be computed and set manually:
*
* - Compute AB : SQRT(2*AC*AC+2*BD*BD-4*AD*AD)/2
* - XY_SKEW_FACTOR : TAN(PI/2-ACOS((AC*AC-AB*AB-AD*AD)/(2*AB*AD)))
*
* If desired, follow the same procedure for XZ and YZ.
* Use these diagrams for reference:
*
* Y Z Z
* ^ B-------C ^ B-------C ^ B-------C
* | / / | / / | / /
* | / / | / / | / /
* | A-------D | A-------D | A-------D
* +-------------->X +-------------->X +-------------->Y
* XY_SKEW_FACTOR XZ_SKEW_FACTOR YZ_SKEW_FACTOR
*/
#define SKEW_CORRECTION
#if ENABLED(SKEW_CORRECTION)
// Input all length measurements here:
#define XY_DIAG_AC 143.55 //142.90 // should be 143.754808615 //282.8427124746
#define XY_DIAG_BD 143.95 //143.10 //282.8427124746
#define XY_SIDE_AD 101.65 //200
// Or, set the default skew factors directly here
// to override the above measurements:
//#define XY_SKEW_FACTOR 0.0
//#define SKEW_CORRECTION_FOR_Z
#if ENABLED(SKEW_CORRECTION_FOR_Z)
#define XZ_DIAG_AC 282.8427124746
#define XZ_DIAG_BD 282.8427124746
#define YZ_DIAG_AC 282.8427124746
#define YZ_DIAG_BD 282.8427124746
#define YZ_SIDE_AD 200
#define XZ_SKEW_FACTOR 0.0
#define YZ_SKEW_FACTOR 0.0
#endif
// Enable this option for M852 to set skew at runtime
#define SKEW_CORRECTION_GCODE
#endif
You can find my whole firmware here.
Also check out the README.
/jon
Re: X-Y axes right angle adjustment
Thanks a lot! That really helped Although, for some reason my printer didn't want to use neither calculated nor provided skew factor (I fail to understand why), but I was able to give the number via M852 S-0.016016 command and then save using M500. So a test square was printed with correct sides and diagonals
Re: X-Y axes right angle adjustment
Great!
Did you do as per my instructions in the README?
First you compile and upload firmware with
and do a test print
Then enter your measurements in the code and
and compile and upload again.
/jon
Did you do as per my instructions in the README?
First you compile and upload firmware with
Code: Select all
#define XY_SKEW_FACTOR 0.0
Then enter your measurements in the code and
Code: Select all
//#define XY_SKEW_FACTOR 0.0
and compile and upload again.
/jon
Re: X-Y axes right angle adjustment
aah, right. Sorry, my bad. First doing, then reading manual as usual... Well, it seems to work with GCode-provided and stored settings, so I'll leave it there for now
However, your README is very nice, as it lists many useful options as well, thanks! I'll bookmark it
However, your README is very nice, as it lists many useful options as well, thanks! I'll bookmark it
Re: X-Y axes right angle adjustment
That's the way I do it also.
You're welcome!
/jon
You're welcome!
/jon