Machsupport Forum

Mach Discussion => General Mach Discussion => Topic started by: rdpdo on July 30, 2011, 09:29:10 AM

Title: Question about XY compensation under mach3 with formula
Post by: rdpdo on July 30, 2011, 09:29:10 AM
Hi,

I saw somewhere that it is possible to compensate the squarness under mach3 using formula :

Quote
For example, if your Y axis is tilted to the right by 0.003"/inch, you could enter a formula like this:

X = X - (Y * 0.003)
Y = Y

On a "straight" machine, when you tell Mach3 to move from Y0.000 to Y1.000, Y will move 1.000", and X will not move at all.  On this hypothetical crooked machine, that same move will cause Y to move 1.000", but X will also move to the right, off-true, by 0.003", due to the error in the machine.  Entering the above formula un-does this error.  So, now when you command a move from Y0.000 to Y1.000, Mach will actually do a two-axis move, from X0.000, Y0.000 to X-0.003, Y1.000, "un-doing" the error in the machine.

My question is : Does this compensation methode work with all sort of form (circle, ....) or only for rectangular forms ?

Thanks you for your help.
Regards.
Title: Re: Question about XY compensation under mach3 with formula
Post by: ger21 on July 30, 2011, 09:53:35 AM
It should work with any g-code.

However, it doesn't work when jogging, which can cause problems. After a jog, a g-code move will cause the axis to try to instantly move to the calculated position, possible causing lost steps.
Title: Re: Question about XY compensation under mach3 with formula
Post by: rdpdo on July 30, 2011, 10:13:32 AM
Thanks you ;)

Title: Re: Question about XY compensation under mach3 with formula
Post by: Sargon on August 01, 2011, 05:44:09 AM
Also, if the formula causes a large correction, watch the first move of the machine when you start a program. On my router it would hammer the motors at full accel just before executing the first move, not enough to lose steps, it was just quite harsh! I did have a fairly large error on my table at the time, though.

One other caveat is if you rotate the system (G68 or "Rotate Local System") and then feedhold, when you click cycle start again it will attempt to move to where the next co-ordinates would be if the system wasn't rotated. It will not lift Z first - if the bit is down it will rip through your part. To avoid this, i would feedhold, cycle stop, set next line, then I was OK to hit cycle start.

It sucks that such a powerful function is broken... maybe Mach4 will fix it?!?! I eventually squared the table up better, but it would be nice to get rid of the length issue (my table cuts slightly longer towards one end of my Y axis - slight mechanical misalignment of the gantry rails allowing the gantry to pivot a bit - need a double-screw setup!). It's almost square now, so I can get away with it without any further corrections.