TL;DR: I rant about my experiments with tool width measurement. No world-changing outcome yet.
I’ve been trying to figure out how to conveniently mill holes and such on the Nomad while keeping tight tolerances (so that I can get the desired fits on holes). After this thread came up I speculated that my current issue might be the variance in endmill diameter, so I set out to measure it.
First, I did the obvious: milled something and measured to see how far off I was:
I milled 5mm pillars with a 3mm and 6mm endmill and then looked at the actual measurement. The toolpath was a pretty heavy 2D adaptive followed by a very light 2D contour.
For the 3mm endmill, the pillars ended up being 4.88mm, which, if my maths is right, means that the endmill took 0.12mm too much material off, which means the 3mm endmill is actually 3.12mm (or my collet results in more runout than I thought it would). Unfortunately I have no specs so can’t say what it should be.
For the 6mm endmill, the pillars were 5.06mm, which means the endmill is actually 5.94mm, which is theoretically just outside the h10 tolerance (+0/-0.058mm) the manufacturer claims but I’m willing to put that down to inaccuracy in the machine.
So it looks like there is some deviation and measuring tool diameter is worth it. Plowing through stock just to calibrate an endmill isn’t my idea of fun though so I looked at other options.
The way the big boys do this is a touch based probe like Renishaw OTS ($2300) or a laser-based probe like Renishaw NC4 ($4900) but that’s well outside my budget. Even the cheap Chinese clones cost $700.
I briefly thought about using my 3D probe as a tool setter, since that’s basically what a touch probe is but I wasn’t sure how to touch off it without damaging it. I talked to the manufacturer and he said it’s totally doable but you’d need to add a disc. My own thoughts were that such a disc would have to be of a very precisely-known diameter, be wear resistant and be precisely concentric with the probe. I thought that would be too much effort and it was unlikely to be affordable.
But having seen those laser-based probes, I thought how hard could it possibly be?
I did a bit of Googling and came across these things which, it turns out, cost barely more than $10 and have a repeatability of 10µm at worst. So I bought one and hooked it up (in a vise):
First I measured a 6mm h6-ground dowel pin, which I measured with a micrometer to have a diameter of ~5.99mm (maybe 5.995) and used that to calibrate, probing from right to left then left to right (manually, jogging). The difference in trigger points was 5.554mm, so I figured there was a 0.436mm-wide trigger zone.
Then I tried to measure an actual endmill. I put the 3-flute endmill I measured before into the collet, set it spinning at 1k RPM and did the same right to left then left to right probing. At first, it looked waaay off, the light was still on even though the probe was 1mm into the trigger zone. Then I remembered that the thing is spinning at 1000 RPM with 3 flutes, so I should expect the sensor to be triggered 3000 times a minute, or 50 times a second, which I’m unlikely to be able to see with my eyes. So I hooked up an oscilloscope. I found the oscilloscope images interesting:
Very in the trigger zone:
Less in the trigger zone:
Nearly out of the trigger zone:
Out of the trigger zone:
You can see that as I move out of the trigger zone, the peak duration becomes much smaller.
Using the oscilloscope, I was able to see clearly when the sensor was triggered and when it wasn’t. Using that method with my probing method and applying the offset from the dowel pin, I measured the endmill to be 5.934mm in diameter, which is much closer to the 5.94 I measured with my test cuts than it is to the specified 6mm. The difference could even just be due to backlash or microstepping inaccuracy. I think this is not bad at all for a $11 sensor.
I also bought a few other sensors which I’ll try out in the near future.
Of course an oscilloscope doesn’t lend itself well to use on a CNC machine but in the future I’ll hook this up to my machine’s probe input, perhaps with a Teensy or Arduino or something in between to turn a 50Hz signal into binary one. I might also put it in a little automatically opening/closing box or something to keep it safe from chips.
One other thing I’d like to try is measuring runout. Using a wider optical sensor with a deeper “throat”, I should be able to measure the “width” of the tool at the collet holder as well as at the tip and calculate a difference. I don’t know if this will be sensitive enough but maybe.
And the last plan for the near future is calibrating with a better pin. I can get a 6mm gauge pin ground and lapped to ±1.5µm accuracy for 16.20 CHF, so seems like a no-brainer.
Has anyone else tried anything like this before?