4th axis rotary with a 3 axis control (and other tricks)
Posted by
ballendo@y...
on 2000-09-05 00:22:49 UTC
Alan wrote (earlier today):
it is.
What if it didn't? Can we do useful 4th axis work with three axes of
control and no rotary control support?
YES.
If we set up a rotary table (commercial,sherline,emco,msc,etc.)with a
stepper motor. Or just use a strong stepper by itself!(prob'ly need
some gearing or belt/pulleys if the work is of any diameter at all.)
Mounted at right angles to the mill table (axis of work aligned with
the X axis, makes it an A(technically, but we're gonna do a work
around).
Say we want to put a part number(or engrave a picture) on a cylinder
mounted as described above. We only have three axes to work with.
Plug the (4th axis) rotary described above into the "Y" axis driver.
Now the rotary gets the "Y" steps, X and Z work as always.The trick,
and its not really a big one, is to set the "Y" steps so that the
rotary (tangential)distance has the same effect as the linear
distance Y had before. Then this will work with any program
previously written for XY on this machine!
We use PI (3.14159) times the DIAMETER of our cylinder to get the
circumference.Then we divide this distance by the number of steps
required to move ONE revolution. This gives us our EFFECTIVE step
size AT THIS DIAMETER.
If this equals the old Y step size(not likely); we're done, mill away!
Otherwise, we can use scaling of the Y axis(if our control supports
it) to get the step size where we want it.
If scaling is not available, just reset the step size in the control
settings/parameters. To what?
We have our effective step size (from above)and we know our machines'
original step size. Simply divide the machine ORIGINAL step size BY
the EFFECTIVE step size to get the scaling factor(needed above).Or
change the machine step size parameter to the EFFECTIVE stepsize.
1st Example:
one inch dia. rod, .0005 Y axis machine step size,400 steps per
revolution rotary (typical stepper in half step mode)
3.14159 times 1= 3.14159 divided by 400= .0078539 EFFECTIVE Step size
Now:
.0005 divided by .0078539 =.06366 Scaling factor for Y axis
And if your control needs steps per inch:
1 divided by .0078539= 127.3252 steps per inch (see why you want to
gear down!)
2nd Example:
three inch dia. stock, .000125(typical sherline,8K SPI), 28,800 steps
per revolution rotary(sherline 4" rotary CNC table)
3.14159 times 3= 9.4248 divided by 28800= .0003272 EFFECTIVE step size
Now:
.000125 divided by .0003272= .382 Scaling factor for Y axis
AND Steps per inch:
1 divided by .0003272= 3056.2347
All the above is to keep your x and y the same as they were and "map"
them onto a (faked)rotary axis for EXISTING programs. You can also
scale the DRAWING in Y BEFORE you create the Gcode. You must re-
figure the numbers for EACH diameter used.
So Ballendo, this is a long post, why do I need this?
1. You don't have a fancy control.
2. You like to push the envelope of your capabilities.
3. Circular interpolation is not generally supported for rotary axes.
This trick lets you use "flat" code on "round" stuff.
Ballendo
P.S. there are rounding errors in this post. Work to the precision
YOU need.
P.S.S. You can do plane selection (G18 and G19) by swapping the axis
driver cables, if your control doesn't support these codes. just feed
the xy to xz or yz. Be sure to check the step size(s)/encoder values!
And Don't EVER change the cables while the power is on!
P.S.S.S. Swapping the x and y cables will rotate the part 90 degrees!
Sometimes this will make something fit on your machine. Nowadays, we
just rotate in cad and repost the output. But what if you've just got
the file. It's a good thing.
>Does Flashcut (my touchstone) support 4th axis?That answer is in an earlier post. I told him I had more to add, here
it is.
What if it didn't? Can we do useful 4th axis work with three axes of
control and no rotary control support?
YES.
If we set up a rotary table (commercial,sherline,emco,msc,etc.)with a
stepper motor. Or just use a strong stepper by itself!(prob'ly need
some gearing or belt/pulleys if the work is of any diameter at all.)
Mounted at right angles to the mill table (axis of work aligned with
the X axis, makes it an A(technically, but we're gonna do a work
around).
Say we want to put a part number(or engrave a picture) on a cylinder
mounted as described above. We only have three axes to work with.
Plug the (4th axis) rotary described above into the "Y" axis driver.
Now the rotary gets the "Y" steps, X and Z work as always.The trick,
and its not really a big one, is to set the "Y" steps so that the
rotary (tangential)distance has the same effect as the linear
distance Y had before. Then this will work with any program
previously written for XY on this machine!
We use PI (3.14159) times the DIAMETER of our cylinder to get the
circumference.Then we divide this distance by the number of steps
required to move ONE revolution. This gives us our EFFECTIVE step
size AT THIS DIAMETER.
If this equals the old Y step size(not likely); we're done, mill away!
Otherwise, we can use scaling of the Y axis(if our control supports
it) to get the step size where we want it.
If scaling is not available, just reset the step size in the control
settings/parameters. To what?
We have our effective step size (from above)and we know our machines'
original step size. Simply divide the machine ORIGINAL step size BY
the EFFECTIVE step size to get the scaling factor(needed above).Or
change the machine step size parameter to the EFFECTIVE stepsize.
1st Example:
one inch dia. rod, .0005 Y axis machine step size,400 steps per
revolution rotary (typical stepper in half step mode)
3.14159 times 1= 3.14159 divided by 400= .0078539 EFFECTIVE Step size
Now:
.0005 divided by .0078539 =.06366 Scaling factor for Y axis
And if your control needs steps per inch:
1 divided by .0078539= 127.3252 steps per inch (see why you want to
gear down!)
2nd Example:
three inch dia. stock, .000125(typical sherline,8K SPI), 28,800 steps
per revolution rotary(sherline 4" rotary CNC table)
3.14159 times 3= 9.4248 divided by 28800= .0003272 EFFECTIVE step size
Now:
.000125 divided by .0003272= .382 Scaling factor for Y axis
AND Steps per inch:
1 divided by .0003272= 3056.2347
All the above is to keep your x and y the same as they were and "map"
them onto a (faked)rotary axis for EXISTING programs. You can also
scale the DRAWING in Y BEFORE you create the Gcode. You must re-
figure the numbers for EACH diameter used.
So Ballendo, this is a long post, why do I need this?
1. You don't have a fancy control.
2. You like to push the envelope of your capabilities.
3. Circular interpolation is not generally supported for rotary axes.
This trick lets you use "flat" code on "round" stuff.
Ballendo
P.S. there are rounding errors in this post. Work to the precision
YOU need.
P.S.S. You can do plane selection (G18 and G19) by swapping the axis
driver cables, if your control doesn't support these codes. just feed
the xy to xz or yz. Be sure to check the step size(s)/encoder values!
And Don't EVER change the cables while the power is on!
P.S.S.S. Swapping the x and y cables will rotate the part 90 degrees!
Sometimes this will make something fit on your machine. Nowadays, we
just rotate in cad and repost the output. But what if you've just got
the file. It's a good thing.