Possible Source of Error: G-code: Seems OK
Looking at the G-code with NCViewer.com. I see what looks to me like an accurate delta Y value (219.752 - 216.102 = 3.65, 3.65 + 6.35 = 10). This makes me think the G-code is good.
N130 X-3.067 Y-219.752
N275 X53.867 Y-216.102
Possible Source of Error: Endmill: Seems OK
I measured the diameter of my endmill with two different calipers and got 6.32 and 6.34. In the worst case this could cause 0.06 mm ([6.32 - 6.35] x 2) of error. Still an order of magnitude less than what I’m measuring in the actual cut, with the same calipers.
Possible Source of Error: Onefinity: How to Test?
Not sure how to test this other than measuring the resulting cut.
I would first verify that there is no movement in your Z assembly or in the spindle/router mount. Then maybe test cut same pocket in Y direction and some circles and rectangles to narrow it down more.
My first cuts were circles for dog holes. There were all undersized. To debug the problem I moved to simple slots. For me that g-code was easier to analyze. After your post I tried some squares. The squares are off by 0.3 mm in both X and Y. I’ve also tried down grading Masso to 5.07, results are the same. I was running 5.09.
To measure Z movement I put a dial indicator against the collet nut and push and pulled fairly hard on the bit, the max change was 0.12 mm. This was with the spindle lowered to near the depth of cut I’m testing. Since I’m cutting MDF I’m assume the forces on the bit are low, but maybe I’m wrong.
Next I tried changing my G-code from climb cutting to conventional cutting. This rescued the error by >0.1 mm. From what I’ve read conventional cutting is better for less rigid machines, so maybe I’m putting more force on the bit that I assumed and I am getting close to the max deflection I measured.
The consistency of error in both x and y would suggest to me that perhaps your steps per revolution needs adjustment. I wonder - if you start the machine and home and then run x and y to their opposite stops, does your controller indicate max travel significantly different from the machine’s stated capacity? That would also point to steps/rev.
When moving to the max for X and Y I get the following
X: 815.999 mm (32.12594")
Y: 815.993 mm (32.12571")
I thought the machine travel was 32 1/8" or 815.975 mm. My values seem pretty good to me. Should I worry about the 0.003 mm difference between X and Y?
Did you do a double check to see if you accidentally left stock in your program? that would be the easiest to check, probably most common as well. then i would check to see if your Z slide in tight. might be kicking under pressure. to me that would be the most common or obvious ones to check first.
You are right about leaving stock being a common mistake, and I did make that mistake a few times, but I’m sure I didn’t in the cases I’m seeing.
I ran into this while setting up my spoil board. For now I compensated for the difference by accepting that the design value and the actual value are different. Once my spoil board is done I’m going to dig in to this some more.
I would suggest buy or borrow a cheap plunge dial indicator, 1-2-ish" stroke. Put it on the spindle and jog the machine and check if the DRO movement matches the indicator; do this a few times in different table positions.
And if you have the dial indicator as @jrecup mentioned, you might check your spindle for runout. And your bit.
I had an ER20 collet that was out for some reason; bits mounted in it were off center enough that they would have easily caused as big of an error as you’re seeing, if not more.
And if you’re not already, try running a 2nd “finishing” aka “spring” pass to account for any bit deflection. You can also explore climb vs conventional cut. Conventional is more likely to undercut bore size and climb cut more likely to bite and cut oversize. (Or maybe I have that reversed, its opposite on inside vs outside cuts)
But if you’re trying to reduce carve time for dogholes, I’d just compensate for the physical fit you want with the stock to leave values on a few test holes.
Finish pass usually works, but only if the issue you are having is because the size is too small. What I’ve found with less rigid machines is slowing way down, doing conventional vs climb cutting, and using a brand new end mill helps. I would do one change each time and see which one has the most effect. Slowing down and using conventional cutting generally means you have a rigidity problem with the machine – either your set up or the design of machine itself.
I have recently noticed my machine produces outcomes not quite at the standards I’d expect, so I’m wondering if I have some wear that I need to address. Doing the Elite upgrade soon so will check all the parts then. Hopefully everything will be in spec after the upgrade.
Have you got a V-bit you could run tests with, e.g., caliper some squares, to separate out deflection, bit geometry and machine flex from axis scale calibration?