Hello Guest it is August 03, 2020, 11:13:59 PM

Author Topic: Struggling to achieve 4 Decimal Positioning Accuracy for Mach3  (Read 6145 times)

0 Members and 1 Guest are viewing this topic.

I was about to convert a traditional mill into a Mach3 CNC based Drill, very identical to Mach3's User Manual Cover picture. Although I've been successfully operating a plasma cutter with Mach3, plasma cutter does not require 4 decimal accuracy. So I did a simple test, after each G-Code positioning occurs there will be a M990 macro that saves the current X and current Y axis value.

On the G-code side, ive written:

X4.0000 Y4.0000
M990
X104.0000
M990
X204.0000
M990
X304.0000
M990

With the saved values, they all end up as:
X3.9878 Y3.9879
X103.9878 Y3.9878
X203.9878 Y3.9878
X303.9878 Y3.9878

With positioning error of 0.0122 (4-3.9878), how can I achieve the correct positioning accuracy? Are there any special techniques for configuring Mach3 to achieve 4.0000?

Thank you in advance for guidance.

Offline ger21

*
  • *
  •  6,282 6,282
    • View Profile
    • The CNC Woodworker
Re: Struggling to achieve 4 Decimal Positioning Accuracy for Mach3
« Reply #1 on: June 10, 2010, 10:19:40 PM »
What does your M990 look like? I'm guessing it's saving coordinates while Mach is still moving. Also. what is your steps/unit in motor tuning?
Gerry

2010 Screenset
http://www.thecncwoodworker.com/2010.html

JointCAM Dovetail and Box Joint software
http://www.g-forcecnc.com/jointcam.html
Re: Struggling to achieve 4 Decimal Positioning Accuracy for Mach3
« Reply #2 on: June 10, 2010, 10:28:38 PM »
The M990 looks like this:

Dim XPos,YPos,ZPos

Call Sleep(100)

XPos = getOEMDRO(800)
YPos = getOEMDRO(801)

SetUserDRO(1740,XPos)
SetUserDRO(1741,YPos)

End

I'm running it in inches, and I'm running the program in single block mode. So it saves during idle.
Re: Struggling to achieve 4 Decimal Positioning Accuracy for Mach3
« Reply #3 on: June 10, 2010, 10:30:39 PM »
Quick update: Changing the units to mm does not improve. =(

Offline Hood

*
  •  25,846 25,846
  • Carnoustie, Scotland
    • View Profile
Re: Struggling to achieve 4 Decimal Positioning Accuracy for Mach3
« Reply #4 on: June 11, 2010, 04:42:40 AM »
As Ger said, what are your steps per unit?
Hood
Re: Struggling to achieve 4 Decimal Positioning Accuracy for Mach3
« Reply #5 on: June 11, 2010, 08:51:38 AM »
Thank you for the indirect guidance, Ger & Hood! I was using the default Mach3 steps per unit to perform the test. Thank you!
Re: Struggling to achieve 4 Decimal Positioning Accuracy for Mach3
« Reply #6 on: June 11, 2010, 09:07:24 AM »
I was using the default Mach3 steps per unit to perform the test. Thank you!

They mean the settings on the motor tuning page/tab
The Good Thing About Mach3, Is It's very Configurable

The Bad Thing About Mach3, Is It's Too Configurable

Offline stirling

*
  • *
  •  2,188 2,188
  • UK
    • View Profile
    • www.razordance.co.uk
Re: Struggling to achieve 4 Decimal Positioning Accuracy for Mach3
« Reply #7 on: June 11, 2010, 09:22:52 AM »
Hmmmm - I don't think this looks like a non-denominator steps/per issue because the distance travelled in all but the first move is bang on at 100.0000. Looks more like an offset is set whilst looking at machine coords. Probably completely wrong but if steps/per WERE non-denominational (or whatever the word is) then wouldn't we expect the *error* to wander around a bit?

Offline ger21

*
  • *
  •  6,282 6,282
    • View Profile
    • The CNC Woodworker
Re: Struggling to achieve 4 Decimal Positioning Accuracy for Mach3
« Reply #8 on: June 11, 2010, 11:44:10 AM »
I was thinking you need a While IsMoving..Wend in there, possibly??
Gerry

2010 Screenset
http://www.thecncwoodworker.com/2010.html

JointCAM Dovetail and Box Joint software
http://www.g-forcecnc.com/jointcam.html

Offline stirling

*
  • *
  •  2,188 2,188
  • UK
    • View Profile
    • www.razordance.co.uk
Re: Struggling to achieve 4 Decimal Positioning Accuracy for Mach3
« Reply #9 on: June 11, 2010, 02:08:48 PM »
I just re-read this
and I'm running the program in single block mode. So it saves during idle.
So why even have a *recording* macro? - just look at the DROs.