XY axis calibration fail

Hi guys!

I finished my 900x900mm MPCNC machine and after solving my inicial problems with the right belt tightness and the z rod lubrification, it started printing like a charm.
But now there’s this last detail that I haven’t yet solved which is the calibration of the XY axis.

Geometrically it’s printing perfecly, making perfect squares having diametrical measures exactly the same, but the sides are having a systematic error, where when I make a 50x50mm square, it really makes a 47x47mm square.
I’ve printed and bought all parts exactly as the original specs, 16 teeth pulleys, belts, bolts and nuts, everything so I’m surprised with this 3mm error. I guess that this will be solved by changing the original parameters for X and Y at DEFAULT_AXIS_STEPS_PER_UNIT, but first I’ve got to find out what might be doing wrong.

I hope you guys can help.

Generally that type of repeatable inaccuracy would only be caused by either incorrect steps/mm in the firmware, or incorrect belt/pulleys. Easy fix, though, regardless. Just update the steps. Using the 50mm giving 47mm in your example -

New Steps = Old Steps * (Expected / Actual)
New Steps = Old Steps * (50 /47)

Hey thank you Vincent!

Your solution worked like a charm! Now I get 50 for 50mm!
And having a systematic error the solution couldn’t be simpler, and this case is closed.
But I’m just wondering what did I do wrong for having caused this difference, since I tried to be as true as possible with the original plans.

Soon I’ll post pics of my build in the right section of the forum.

Cheers

You sure you have 16t pulleys, maybe not using gt2 belt?

I can’t think of a reason to be off by 3mm, it doesn;t seem to be any of the usual suspects.

Hi Allted.

Firstly I thought that the seller sent me the wrong pulleys but I’ve counted the teeth and they are correct.
And the belt seems to me to be legit too, being 6mm wide.
The conduits are obivously right too, being my machine the F version of 25mm diameter.
The stepper motors are the same too as in the specs.
Knowing this, I don’t know too what else might have caused that systematic error.

Oh, and by the way, I remember that when I first tried to upload your firmware, I was having an error, with the Arduino IDE indicating me that there was two functions in the whole firmware that were repeating, and after a quick search on the web the sugestion that worked for me was simply renaming one of those conflicting functions.
The solution for that problem was found here:
https://github.com/MarlinFirmware/Marlin/issues/1083
I don’t know if that occured just with me or with anyone else.