# CNC Screw Accuracy



## benster (Jun 17, 2019)

I have a converted G0704 mill using grade c7 ballscrews with double nuts. I have matched AC bearings and oldham couplers on the x and y axis. Prior to installing the screws I straightened them with a setup on my bridgeport table. Afterwards I turned the bearing ends and threads in one operation to ensure concentricity. All of this in an effort to reduce backlash and binding. The results were very good. I have zero backlash in the x and y axis, videos below.

After making test cuts I have found that due to the zero backlash, I have a very precise machine. It cuts repeatably. However, my accuracy is off in the x axis due to the screws (I believe). In the y axis, at least in the area I was machining. I machined an octagon and was hitting the 2.750" dimensions in y. In the x axis I am hitting 2.756". The 45 degree sides are at ~2.754" across flats. After running a contour spring pass several times those dimensions did not change, and barely any cutting was noticed. 

In order to improve the accuracy in the x axis I was thinking the next step would be mapping the screw? I have an iGaging linear encoder, however the accuracy was limited to .001" increments. I mapped the screw using it and it was off about .000" to .002" from 0-18" in .100" increments. However, I feel like this level of accuracy will actually hurt the current results. I'm more inclined to purchase a glass encoder and use it to map the x and y axis. I actually have one on my bridgeport but am hesitant to remove it.

Alternatively, is there anyway to use wear compensation to account for dimensional issues in only one axis? If it were consistent in both x and y I could just modify the effective diameter of the tool, however, the y axis is dead nuts on.

View attachment Y Axis.mp4

View attachment X Axis.mp4


----------



## benster (Jun 17, 2019)

Right after posting this I spoke to a friend, and he suggested tweaking the steps/rev on the control. This would fix the error locally on the screw, but would make it more inaccurate on the extremes of the axis. I will try it this evening and post results. Since the bulk of my "precision" machining would be in this local area it would probably suffice.


----------



## bakrch (Jun 17, 2019)

Subbed. 

This has been an ongoing compromise for me. I find that when my backlash is nearly perfect the gibs are too loose. Have you tried pulling/rocking the table with an indicator on it? This may reveal the source of inaccuracy that you are measuring.

When I feel the gibs are set to perfection I get a bit of stick-slip, which I then compensate for in the backlash settings (generally .003 or so for X,Y).  Different parts of the table seem to bind .001-.0015 more (or less) than my calibration point, but the part sizes have been pretty good ... just need some slight handwork to take away the evidence.

Curious to hear how others are addressing this with their machines.


----------



## markba633csi (Jun 17, 2019)

I guess the lesson here is spend what it takes to get accurately made screws, and/or build an accurate test fixture to check them before using?
M


----------



## benster (Jun 17, 2019)

Is that really the lesson? I could have spent $600+ on accurate (USED) screws - but is that really worth it on a $1400 machine? Weighing the performance vs cost, it made much more sense to use the screws I did. For $50 each, new, with zero backlash, they have more than fulfilled their job in my opinion. If it was just about spending the extra money, we would all go buy Tormachs or even Haas Minimills.

Even then, someone would say "Tormachs are toys, go get a real machine like a Haas." And then the production machinist would say "Haas's are junk, go get a real machine like a Mori".

I'm more than aware that this is a light duty, cheap mill. For most work this would be more than enough accuracy. I'm just eeking all the performance I can out of budget parts - that's part of the fun. Anyone can solve a problem by throwing enough money at it.

I don't want this to be an argument about the "philosophy" of DIY CNC, however. So please - provide constructive advice or feedback.


----------



## RJSakowski (Jun 17, 2019)

bakrch said:


> Subbed.
> 
> This has been an ongoing compromise for me. I find that when my backlash is nearly perfect the gibs are too loose. Have you tried pulling/rocking the table with an indicator on it? This may reveal the source of inaccuracy that you are measuring.
> 
> ...


Tormach has a technical bulletin is adjusting gibs.  Basically, it involves loosening the gib and measuring backlash/lost motion.  Slowly tighten the gib measuring lost motion as you make adjustments.  When you see the lost motion begin to rise, back the adjustment off slightly to the point at which the increase just starts.  This should be your optimum point of adjustment.  I personally take it slightly past that point to where I am seeing about .0001" increase.  

For leadscrew calibration/assessment purposes, I would approach my reference from the same direction.  If you clamp a stop to the table and place a stack of known blocks between, you can zero to the stop  and to the assortment of stacked blocks  between to determine the accuracy of your move.  This removes backlash from the picture.


----------



## JimDawson (Jun 17, 2019)

It seems odd that you would get that much error in 2.75 inches with a new setup.  Are you sure your screws are the same lead?  There is not a heck of a lot of difference between a 5mm lead (0.197) and a 0.200 lead, very easy to confuse them.  I used to have a machine that had mixed screws, metric on the Y and Imperial on the X.

On my mill I had a similar problem and found the X axis thrust bearing was a bit loose and was causing me some problems, shimming it solved the error.

For mapping the screw my preference would be 1 micron magnetic scales.


----------



## benster (Jun 17, 2019)

The different lead is an interesting thought. I think my error would be much higher than the 6 thou if that was the case. It could be a combination of gib adjustment and thrust bearing retainers. They might have worked loose since I started running it.  I'll check it all again this evening. I might try just doing a coarse map at several points using RJ's method. If none of that improves it I'll map it with the glass scales from my other mill. Will need to rig up an analog input. Last time I recorded the 180 points manually...


----------



## benster (Jun 19, 2019)

I tried tweaking the gibs. Any tighter than they were and the stick slip started. Bearing retainers were tight. Will try mapping the scale in the near future.


----------



## macardoso (Jun 19, 2019)

Hi Benster, fellow G0704 CNC owner here. Interesting issue you're seeing. It sounds like the screw on your X axis might be the culprit of your problems, however lets check off some other unlikely issues:

Lost steps on X-Axis, either in electrical wiring or motor problems. Probably not since you'd end up drifting along the axis rather that seeing dimensional issues.
Loose thrust bearings, bad coupling, or sloppy nuts. This one is a real contender, however you should be able to measure backlash to show this. It is possible it is compliant under heavier loads but this wouldn't show up on spring passes
Loose gibs in Y! If the Y axis can shift side to side under load, then you might get errors in X. Again unlikely and you'd hear it as chatter.
Wrong steps per inch. Also a contender, but you should be measuring cumulative error as you move across the 18" of travel.
So finally we come to the screw. Screw mapping is your best bet to correct the errors, however you could also try buying another screw. This might not be worthwhile after the effort you put into straightening and machining it. 

Keep us updated!


----------



## macardoso (Jun 19, 2019)

Also I'm very impressed by the zero backlash. Could you share the source of your screws? Mine are Roton and have a ton of backlash from the factory. I've repacked them, but it is a bandaid.


----------



## spumco (Jun 22, 2019)

benster said:


> Alternatively, is there anyway to use wear compensation to account for dimensional issues in only one axis? If it were consistent in both x and y I could just modify the effective diameter of the tool, however, the y axis is dead nuts on



No. Cutter comp doesn't work this way.  It'll add/subtract the comp amount and result in an offset move in both x and y.

If you haven't already sorted this out or bought the glass scales, I have a suggestion for mapping which may help narrow down the culprit.

What you're going to do is use your DTI and a 1-2-3 block or gauge blocks to measure actual distance and compare to the commanded distance.  Forgive me in advance if you already know how to do this...

1. Set table in middle of travel with indicator on head.
2. Set a 1-2-3 (or stack of gauge blocks) on the table lengthwise and parallel to the table travel under your indicator.  Set another block on edge behind it relative to the X travel direction, and lightly clamp the rear block so the two blocks don't move.  You are basically creating two vertical surfaces exactly 3" apart.
3. Adjust the blocks and indicator so the tip is touching the edge of the lower block, zero the indicator and X-axis offset in your controller.
4. Jog up in Z to clear the indicator tip and jog X until the indicator is zeroed on the other block.  Check the machine DRO and write down the difference between the reading and your block dimension.
5. Just repeat the process along the X axis over the whole travel every inch or so - just shift the two blocks.  You can write the numbers down right on the table in sharpie.

Once you have a bunch of numbers down on the table you shoudl be able to see pretty quickly if the issue is:
1. Ballscrew lead distance varies over the length
2. Ballscrew lead is constant, but not to spec
3. Ballscrew is fine, but your steps per unit of measurement is off.
4. Some other voodoo, like a warped axis or other mechanical gremlin.

If it's #2 or #3 you can compensate in the software.  If it's #1, you can average it out in software or write a macro which scales the X axis at various machine coordinate locations.

If it's #4, let us know and we'll try to find a tame priest for you.

-Ralph


----------



## benster (Jul 5, 2019)

macardoso said:


> Also I'm very impressed by the zero backlash. Could you share the source of your screws? Mine are Roton and have a ton of backlash from the factory. I've repacked them, but it is a bandaid.



They are the double ballnut versions Chai sells. I think I just got lucky. The first set of screws I ordered from him in 2016 had more backlash. The preload spacer on this new set seems a little tighter. I couldn't be sure on the 2016 set since I had lost some of the balls during assembly and had to repack with new balls, potentially affecting the preload. They were very bent but I was able to work most of it out. With the first set of screws I also didn't have a way to machine the ends accurately so ordered them machined. This go around I was able to machine them myself for a perfect press fit for the bearings and better thread fit on the lock nuts.

Ralph,

I still need to do this. I've been busy on another project but want to use the cnc for a portion of it. Hopefully I'll get to it this weekend. The warped axis is a thought. Even though I've straightened it the x screw is ~26" long. Its supported on both ends and could be getting warped when I clamp the x nut to the saddle. I try to tighten the bearing and nut mounts in such a way to avoid this but its definitely possible. The worst warpage would be at the center of travel (where this error is) since its the farthest supported distance from either end.


----------



## spumco (Jul 5, 2019)

benster said:


> Even though I've straightened it the x screw is ~26" long. Its supported on both ends and could be getting warped when I clamp the x nut to the saddle.


A warped ballscrew might do it, but if the nut mount plane is far enough out from the screw mount plane(s) it would bind near the ends badly.  If you dont' have binding at the travel limits I don't think the screw is causing the travel distance issue.  Shimming the nut or screw mounts wouldn't hurt, of course.

I was actually thinking of the table, Y-saddle, or machine base being warped or influenced by however you've mounted it.  Or all three.

Once you do the 1-2-3 block tests and map out everything in both (or all three) axis, if you can't adjust for it in software reliably, check out a good video on mill straightness.  This is a good starting point for chasing down strange geometry problems:






Cliff has some excellent videos and this one in particular is good for understanding mill geometry.

-Ralph


----------

