How I solved the Tool
Offset Problem
Country Bubba
Strikes Again
In the hobby world, especially with Mill/Drills, we have a
problem with tool length offset. This is especially true with the
use of R8 collets and many times the use of a chuck to hold
drills. Trying to accurately figure and measure length offset and
keep it repeatable is a problem.
My solution was to re-think the process and come up with a
solution that will work for ME! If it helps you, then I am glad to
help you.
Background: My main CNC machine is a RF 31 Mill/Drill which has been modified as
shown on other pages to be CNCd with ball screws, Gecko drives and I use TurboCNC
as the controller. One of the main "gripes" of a round column mill/drill is the lack of
registration when you have to raise/lower the head to accomodate tooling changes.
To handle this problem, I set up a "raised table" for those items that would normally
be clamped to the table (of course the vice will raise it automatically above the table)
and this gives me clearance to change tools. But "calibrating" the length of the tool is
very difficult and not very repetive. I installed limit switches on all three axis, and
then got to thinking (Very dangerous).
First:
Convention "Homes" the Z axis to the upper limit. I changed that and home to the
lower limit. Thus in G53 (machine fixture), the Z axis is first homed to 0 with NO tool
and as such, I know how high I can raise the quill now.
Second:
I added an "auxiliary" home switch for the Z axis that can be set to the part Z=0 and
then using my customized TurboCNC (that can home a single axis under G code), thus
enabling me to not only home T0, but also each tool that is inserted.

The first aux home switch was made using a micro switch and a lever, proved the
concept and was used for a period of time. However, I was afraid the exposed switch
would fail in the coolant and swarf environment as it was close to the "action". This
was replaced with a commercial switch (as shown below), but even though it was
rated at 0.0003" repeatability, it wasn't! Also due to hysterisous I could not reliably
set the micro switch by hand as it has a minimum speed at which it should moving
when setting. Also, this switch (lever rotary type) has a minimum 25 degree rotation
before it would break. Therefore, we now have generation III, an optical switch. Not
only does it give greater repeatibility, but only requires a few thou to activate it.
Now to the how we have done it.
This is a shot showing Gen II, the commercial switch
doing a homing routine with a tool. The verticle rod
is a slide out of a copier and a pre-loaded slide
controlled by a knurled knob on the top. With this
generation, the switch is set by:
1) Finding the part Z=0 and then putting an led on
the switch and raising it until the led goes out and
then back down until it just lights. This will
(hopefully) be at the part Z=0 (See discussion above)

This shot shows the tool at "Home" and while it
doesn't look like it, the bar the tool rests on is
horizontal at z=0 (important for different diameter
tools). However to trip the switch, the lever must go
down 25 degrees (about 1 3/8")

Because of this, we decided to make an optical limit that will only require a few thou
move to trip.
This is a shot of the pieces parts. On
the left is a piece of angle with the
interrupter mounted. The screw at the
bottom is to limit the amount of rotation
up for the flag (on the right). Origionally,
It was thought that we might need a
spring to force the flag down, but it isn't
needed. The flag is on the right and
includes a ball bearing as the pivot. The
notch is to make the assembly
horizontal when it trips.
This show the
assembled switch.
You can see the stop
screw on the left that
is needed to keep
from rotating to far
thus increasing the
travel to trip the
switch.
Here, the center drill is being
homed using the new optical
switch.

There are already some
changes planned. On is to
use a double vertical guid rod
as the all-thread rod is not
perfectly straight and the tip
of the sensor "wobbles" . We
also thinking of modification
to allow the unit to go lower
so we can clamp directly to
the table.
Other ways to help, has been utilize the "Fixture" features of V4.x of TurboCNC.
Basically, we use 3 fixtures for our processes.
The first is G53 (machine coordinates) which sets the table to the lower left corner as
X=0 and Y=0. In all cases (Tool=0), for each fixture.
The second G54 is the part fixture and the origin is set accordingly. In the case of the
vice fixture, the left end of the fixed jaw is set to 0,0 and we process in Quatrant 2.
That is to say that cutting is done in the +X, -Y directions.
The third is G59 which I choose to use as the tool change positon. This fixture is
chosen as a "free spot" within limits of the table that can home the quill (Tool 0) and
have sufficient clear space to allow tool changes (remember this is an R8 quill and
needs at least 4 inches to get the collet out!
By using "fixtures", it is easy to have my cam program (Sheetcam) simply do the
process and then the post is setup to move around as necessary.

If I can help further, please let me know.
a_eckstein at bellsouth dot net

Have a good day, keep smiling AND

God Bless America

In order to set the height of the new
limit switch as there is not enough
drive from the breakout board to
handle another led (it is
opto-isolated), we now use the port
monitor that is built into TurboCNC.

Here, we run the switch up until it
opens (as shown on pin 13 which is
the Z limit) and then back down
until it closes. This will set the Z=0
to the part height.