Checking your CNC for squareness and accuracy
Cheap and easy
Assuming you have a touch-probe, there is an easy and inexpensive way to check your XYZ CNC for squareness and accuracy — a ball-bar check. Yes, I know it may be overkill, but it’s easy and CHEAP!
Now then, to explain and remove uncertainty, there two types of ball-bar checks, one is a bar that is attached to the spindle of a machine and a fixed point, the second uses a simple bar with a ball at each end and a touch-probe. They do different accuracy checks in different ways.
The first ball bar system measures the distance between the spindle and a fixed point while the spindle moves in a circle around the fixed point (or the reverse) and gives you an accurate graph of the errors in the circle. I’ve used one of these. This requires a special bar (with balls on the ends and cups (usually magnetic) that the balls sit in) that can accurately measure the distance variation between the moving and the fixed point — read expensive and complex. I don’t really want one and certainly don’t want to pay for one.
The second ball bar check uses a simple bar with a ball mounted at each end, usually at about a 45° angle — a ball bar.
You use a touch-probe to measure a series of points on each ball, compute the center of the ball (very complex math, don’t ask me, I cribbed
this part from the internet and that took a while to find) and figure the distance between the center of the balls (simple geometry, even I can do it! Well, ok, so I used to be able to do it.). Then you move the ball bar and do it again. If you start with the ball bar at a 45 degree angle to two axes and swap the bar around (it’s just like measuring from corner to corner) you get a much more accurate squareness check than you could (or at least than I can) with a tape measure and it’s cheap (inexpen$ive, I like that part, too!). Plus, assuming you know the length of the bar and the size (the fancy math can do this, too) of the balls, you get an accuracy check with your squareness check. This system is still used on modern CMM inspection machines — I know as I saw it being done last week — although they use other accuracy checks as well. This is the one I’ll be making. I realize that I’m may have to worry about repeatability and backlash.
The bar should have as low a temperature COE (Coefficient Of Expansion) as possible, I’d have used a diamond bar (COE of about 1 X 10-6) but couldn’t find one long enough, so I’ll use a piece of steel (COE of about 33 X 10-6) that’s what was/is used in industry — although they’ve started using invar, carbon fiber and ceramic, the snobs. Actually, I seriously considered glass at COE 9 X 10-6 — especially borosilicate glass with a COE of 3.3 X 10-6 — and, being glass, it’d be very stiff — especially since I have some 1” X 60” glass rods.
I got 5 1” grade25 chrome steel balls, total less than $20, from eBay; grade 25 is pretty good and will be good enough for anything I do; grade 25 means sphericity 0.000025”, nominal ball diameter +/- 0.0001” — grade 5 balls (uh, spheres) are the standard used for checking CMMs, with grade 2.5 for checking laboratory machines. Applying calibration methods, that means I can check 1” accuracy to about 5 ten-thousandths or 0.05%. I can also use them to check the size of the probe tips on my touch-probe, although that may be like the pot checking the kettle for black, I’d really need a real probe characterizing sphere to do this properly, but that’s a lot more than we need anyway.
The bar can be anything a bit shorter (80% is common) than the axes being tested and the ends smaller around than the balls; it’d be nice to have a short 45 degree angle bit at each end to super-glue the balls on. I got a piece of square tubing at Home Depot, 1 X 1 X 72”, about $20. Ok, I’ll make two, one short (for Z and whatever) and one long. I’ll rough turn a piece of ¼” to have a small pin on one end and put on the end of the tubing at 45° to make a mount for the ball, cut (this will be the hard part, very hard steel, I am planing on a diamond engraving bit) a shaft in the balls for the pin, glue them on and, wonder of wonders, have two very accurate standards for checking my CNC for less than $50! The exact distance between the balls is much less important than the being the same each time it’s measured, so if I end up with them, say, 31.6345” on center instead of, say, 30.0000, it’s still ok.
I found an old DEA Renishaw TF6 touchfinger probe on eBay, cleaned it (the lubricant polymerizes to become a very hard insulator and, yes, they are lubricated) and now have a very good quality touch-probe (with 5 different tips, 2 & 4mm) that works the exactly the same way as the ones you may have seen around here.
I found some math (on the internet, where else?) to compute the center and radius of a sphere from four points and made an Excel spreadsheet (man, was that interesting, as in the Chinese curse! See attached Excel file) that does the math; from four points on each ball it tells the radius of each ball, the coordinates of their centers, the distance between them and the difference between two sets of measurements as well as the differences in the sizes of the balls.
Since I can tell the system the size of the ball and touch probe tip, I figure that I can set the probe near the top center of one of the balls and tell it to go and it will:
1. Move Z down to probe the top, stop and record it’s X, Y & Z coordinates.
2. Move Z up a little — I don’t want to drag the probe.
3. Move to the X side a little more (I’ll not be exactly at the top-center) than half an inch (plus half the size of the probe 2mm/0.07874) to clear the side of the ball.
4. Move Z down half an inch plus half the size of the probe and the little it moved in step 2; I’m looking for the plane of the equator.
5. Move X back towards the ball, stop and record it’s X, Y & Z coordinates.
6. Record another two points on the equator.
This are the same moves that I saw a CMM inspection machine to for the ball bar check last week, except it did five points each and I can’t find math for more than four points — that I can understand enough to make a spreadsheet of it. After I do this four times, having moved the bar once, I’ll go to the spreadsheet (which, hopefully, I will be able to make read the touch-probe data file so I won’t have to transfer all 16 sets of data points manually) and it will tell me the squareness and accuracy of the machine on two axes. The length of the bar and the size of the balls should always measure the same. For the accuracy, I am going to make a, possibly unwarranted, assumption that, if the ball bar measures the same length on all three axes and the ball sizes are all correct, that they are accurate as I would be surprised to find them all exactly the same amount wrong, especially if the ball sizes are correct.
As I said in the beginning, it may be way overkill for our needs, but it’s easy and cheap if you have a touch-probe.