|
Adapting
HomeshopCNC Servos to the IH Mill CNC Kit
This page describes what I
had to do to adapt a set of HomeshopCNC servos to my IH Mill CNC Kit.
I bought a "mechanicals only" kit that did not include servos.
I'm not sure Gene and Tommy are even offering that option any more, but
I got mine on sale when Aaron Moss owned the business.
I've written this in reverse
chronological order (most recent is at the top) because its been unfolding
for a while and I didn't start out with a dedicated page for it.
Mounting
Timing Pulleys on the Servo
I'm going to use 1/8"
roll pins to mount the timing pulleys to the servos. This is the method
Gene told me is used by Industrial Hobbies on their turnkey systems, and
it will provide a very solid mounting--much more so than a couple of set
screws.
First, I did some careful measuring
with my surface plate and height gage:

The gage block lets me set the pulley where it needs to
be on the shaft easily to take measurements...
Here is where the hole needs
to go on the X and Y axes when the timing pulley is oriented properly
to mesh up with the pulley on the ballscrew:

I can use the
shoulder of the pulley and the end of the motor shaft as my datum reference
points. I need an identical offset of 0.220" from either point to
locate the hole in the shaft and the pulley.
The next order
of business was workholding. I needed a solution to accurately position
and support both the pulley and the motor shaft. I settled on using my
Spindexer with 5C collets. First tep was dialing in the spindexer so it
was trammed true to the mill. I used a 1/2" drill blank (accurate
and pretty cheap standard to have on hand) and my Indicol on the mill
spindle. Just stick the blank into a collet and tram accordingly. Very
similar to tramming a vise.

After tramming
the Spindexer, I lined up the tip of the 1/8" drill bit with the
tip of my "positioning spud". It's not dead accurate, but if
you use a magnifier its pretty good and it's really fast to do. Now I
know the center of the bit is on the centerline of the spindexer axis.

I hold the shoulder
of the pulley in the collet and touch off the inside of the rim with an
electronic edge finder. Then I crank the correct amount on the X-axis
to position the bit in the right place along the axis.

Drilling was easy.
One thing to note: drill all the way through both sides of the pulley
even though your roll pin won't be that long. It gives you a way to drive
the pin back out if you need to later!
Next step was
to drill the hole in the motor shaft. The collets work fine here too,
although I could only grip about 0.100" with the hole out near the
end of the shaft. In the photo below, I am using the edge finder to reference
the plate on the motor flange to find the exact spot along the axis to
locate the hole.
BTW, edgefinders
like this one make it easy to account for backlash when changing direction.
Move one direction until the edge finder lights. Reverse direction and
as soon as the edgefinder goes dark you've taken up the backlash and you're
at "0" for your next move.

The motor was
supported on 1-2-3 blocks. No need to clamp the motor as the shaft is
held firmly. Just make sure you have everything lined up properly. That
collet won't "pull" the shaft into alignment because there is
too much leverage from the motor.

Having drilled
the first hole, I measured the distance from flange to spindexer plate
so make it easy to position the second motor exactly where the first one
was. I never tear down a setup until I've made sure to get everything
I can from it!


Y-Axis is all
mounted and working good!

X-axis is mounted
too!
Aside from machining
the pulleys and shafts, I had to do two other things to make this conversion
work. First, a little slotting of the mounting plates really helps. I'd
say I put on 1/4" of slotting or less on the holes. Of course that
meant I couldn't use the threaded holes, so I have socket head cap screws
with nylocks and washers holding the motors. Second, the spacers between
the plates were a tad too long. I shaved 0.200" of of each one on
both X and Y.
Next comes the
Z-axis:

. I used my
height gage to take some measurements...

Then I whipped
up a quick little adapter.coupler on the lathe...

In the interest
of expediency (I'm impatient!) I'm using set screws, so I cut a flat on
the adapter...
And there is
the servo mounted with belt...
It's not quite
running true, and makes a funny noise as the belt teeth engage. It's close,
but I will likely have to machine a new adapter. But I'm going to cut
a few chips with it first!
Soldered
the Cables on the Servo Motors
The servo motors come from
Homeshopcnc with just a short tail on them, so you'll need to attach a
longer cable back to you electronics cabinet. I decided to use IES-style
power cords for mine. These are the same power cables a PC uses. I chose
them becaues they're cheap, the servo only has 3 conductors like a power
cord, and they're designed to carry current. My one reservation would
be that they're not shielded, so the noise from the servos will escape.
That means I need to take care the rest of the cables, for example the
limit switch and encoder cables, are properly shielded for noise and the
shields are grounded.

I put 10 foot
power cords from CableWholesale
on the motors...
Homeshopcnc
Servo Encoder Pinout
Got a note back from my query
to Homeshopcnc on pinout for the encoders. They say the 5 pins on the
encoder correspond to the top 5 pins on the DB connector. According
to US Digital, that pinout would be:

Also worth noting is that I
have specified 500 CPR encoders on these servos. With quadrature, that
means 2000 steps per revolution.
Timing Belts
I discovered some time back
that the 72 tooth timing belts I ordered for the X and Y axes were too
small. Doh! Turns out I made a minor miscalculation in the geometry involved.
I was very concerned I would discover the timing pulleys I had ordered
were also not going to work as you can only get belts in certain sizes.
Fortunately, luck shined on me and I found that a 75 tooth belt works
fine.
Ordered Timing
Belts and Pulleys From SDP-SI and Musings About Encoders and Accuracy
The stock timing pulleys for
the IH CNC kit are HTD series (semi-circular teeth), 5mm pitch, and 15mm
wide. But, the pulleys that came with the kit have a tiny little 8mm bore
designed for the servos IH sells. As I am using HomeShopCNC servos that
have a 1/2" bore, they just won't work. There isn't enough meat on
them to bore out that much. So, I had to figure out a new plan. After
some fooling around to measure the shaft center distance on the bracket
(it doesn't adjust, so you had better get it right!), I came up with a
distance of 3.769". I plugged this into a Rhino3D drawing as a sanity
check along with pulley diameters and actually drew up the stock arrangement.
I came up with the small pulley having 12 teeth and the bigger one having
48 teeth for a 4:1 reduction ratio.

Measuring shaft
to shaft with my 850 oz in HomeShopCNC servos. I knew there was a reason
I had those big giant calipers!
Okay, so what's the closest
pulley for the motor that will fit my shaft and work with an off-the-shelf
timing belt without having to change the shaft to shaft distance or modify
the bracket? Turns out SDP-SI has a
nifty little calculator for this purpose. It didn't take too much
fooling around before I figured out that a 72 tooth belt (instead of the
stock 70 tooth belts) and a 17 tooth motor pulley would do the job. I
ordered these from SDP-SI at a total cost of about $40. Not cheap, but
the belts were half that and making 2 timing pulleys would consume a lot
of time that I could not spend elsewhere.
Note after the fact (10/30/08):
The 72 tooth belts don't fit but a 75 tooth works great with this pulley
combination.
My reduction ratio on the X
and Y axis will now be 48/17 or about 2.824:1 instead of 4:1. The stock
IH kit comes with 410 oz/in servos but I'm running 850 oz/in, so I doubt
I'll run short of torque. I'm running the 500 resolution encoders, but
they're on the motor instead of on the ballscrew like the IH kit. So,
IH gears down 4000 cpr encoders (I deduce given their 50 millionths resolution
figure, hmmm) by 4:1 getting a resolution of 4000/4 = 1000 counts per
motor revolution and 4000 counts per ballscrew resolution. Here
is a thing about this 50 millionths figure from IH: none of the likely
encoders from US
Digital come anywhere near 4000 counts per revolution. 1000 was the
highest I could find. How can they get to the 50 millionths figure then?
The answer is not so hard, we use quadrature inputs which give us 4x the
resolution for the encoder. So, if IH uses an expensive 1000 count per
revolution encoder in quadrature mode, they get 4000 counts per revolution.
Let's assume I run my 500 count
encoders in quadrature mode. I'm running the equivalent of 2000 * 2.824
= 2824 counts per ballscrew revolution and 2000 counts per motor revolution.
So I appear to have about 70% of the resolution of the IH kit. Instead
of 50 millionths, I'll be at 0.7 of a tenth. That's still pretty good!
And note that this is actual resolution an encoder can see and a servo
drive can do something about.
Steppers, by comparison, are
commanded to move a step and have to just assume the proper motion occured.
For comparison, let's
look at the Tormach, which uses stepper motors instead of servos. I'm
not claiming one mill is more accurate than the other, I'm just taking
a look at how the numbers work out.
Tormach claims resolution of
a tenth. That is defined as, "The minimum discrete position move
is 0.0001", this is the resolution of motion."
What can this mean if we investigate
closely? Given their definition, it means that 0.0001" corresponds
to one step on their stepper motor. A typical stepper has 200 steps in
a rotation, so that implies the gear train from step to table motion is
1.000" / (200 * 0.0001") = 50:1. That's a very big reduction,
in fact it sounds too big. The IH reduction is 4:1 via pulleys and another
5:1 via the ballscrew, or 20:1
Tormach says their rapids speed
is 65 ipm. Let's plug these numbers backwards and see what we get:
65 inches / 0.0001" =
650,000 ten thousandths = 650,000 steps per minute
650,000 steps per minute /
200 steps per revolution = 3250 rpm
Maybe they can rapid the machine
while running the stepper motors at 3250 rpm, but that seems really fast
for a stepper motor. Most of them in this kind of size range have a torque
peak much lower than that. Tormach's
Design Analysis talks about torque falling off rapidly in just a few
hundred rpm. My assumption would be that the 0.0001" resolution is
not realizable in practice and is based on something such as microstepping
(the Tordrive has 10x microstepping, for example which would mean divide
everything by 10 if we're talking microsteps). If I am right about the
microstepping, the real resolution is more like 0.001", which is
fine, and completely in keeping with the mill's stated performance.
Why doesn't microstepping count?
Because you can't maintain full torque on a microstep unless it corresponds
to a full step. They're largely about smoother acceleration and motion
more than they are about accuracy.
I like the Tormach mill, BTW,
I was just curious to work through the figures and see what I could learn.
Update on Tormach
I confirmed a few things from
some
Tormach owners on CNCZone. The Tormach direct drives the ballscrews
with no reduction, and the lead on the ballscrews is the same as IH: 5
turns to the inch. So, at full rapids, the Tormach is doing 325 rpm as
suspected. And also as suspected, you have to assume 10x microstepping
to get to the 50 millionths resolution. My understanding was that you
shouldn't count on microsteps for increased resolution because the torque
was very low. That turns out to have been wrong. There is a
great series of posts by Mariss F. on CNCZone that lay it all out.
The long and the short of it is that you can take advantage of up to 10x
microstepping and still have about 70% of the torque and full positional
accuracy. Therefore Tormachs 50 millionths resolution claim is quite defensible.
Now of course there are other
issues that prevent the machine from being that accurate in general, but
Tormach only claims about 0.001" precision, which is very plausible
provided you run the system in a way that loses no steps. A servo system
still have the potential to be more accurate because it can get back on
track after the fact. Whether that's acceptible or not to your application
is a whole other question I won't delve into here.
It was gratifying to see that
my math all worked out properly with the real data on the Tormach that
I didn't have access to!
Bought a
Set of Servos and Gecko Drives from HomeShopCNC
After reading
a note sent to me by Peter
Tsukamoto, I got inspired to take a step of some kind on the mill
to move this conversion forward. Peter started with a Unimat lathe 30
years ago and today he owns a full machine shop in Hawaii. Guys like that
are always an inspiration to me, so I try to listen carefully when they
have some advice for me. In Peter's words:
See if you can
get your CNC mill going as a priority. It will open up new vistas in a
way you cannot believe. It will accelerate any project you work on. Make
them way more enjoyable too.
He makes a lot
of sense there. Every time I perform a manual machining operation on my
lathe or mill I think about what the CNC equivalent would be. In almost
every case I could do the job much faster, more easily, and often better
with CNC. There's a reason it took the industry by storm years ago!
A couple things
have been holding up my progress. First, I've been spending a ton of time
lately on a Steam Engine Team Build that
has involved creating some tooling and a number of other things. The other
problem that was distressing me was that I had misplaced the Industrial
Hobbies CNC conversion kit somewhere in my house. I'd been looking
for it off and on for days, and the number of places it could be was dwindling.
After spending 45 minutes in the garage shifting things around and checking
every last possible hiding place underneath all the junk, real panic set
in. Paraphrasing Conan Doyle's Sherlock Holmes, when you've eliminated
all the possibles, you have to start considering the impossibles. Eventually
I discovered that my kids had pressed the two boxes into service to create
a stand for their Karaoke machine. They were hidden underneath a black
table cloth to make it even harder. I heaved a mighty sigh of relief after
making that discovery!
So, having located
the components, I decided to take another step and ordered up a set of
servos and drives from HomeShopCNC.
I also looked at Keling as another
source. HomeShopCNC was just slightly cheaper on Gecko drives, and I liked
the nifty anodized housings for the encoders:

I like the nifty
anodized housing for the encoder...
These are 850
oz in servos, and Keling had a bigger model at a whopping 1125 oz in.
Why not just buy the bigger-is-better plan? Well, because there are trade
offs. It's worth noting that the standard IH CNC kit comes with 410 oz
in on the X/Y axes and 648 on the Z--that mill head is heavy! Their heavy
duty kit looks to me like is substitutes the bigger Z servo on the X/Y
axes. Either way, I should be fine with 850 oz in. Now here is the rub.
The big Kelling 1125 oz in servo peaks out at 3200 rpm whereas the 850's
I got are spec'd for 4200 rpm. I don't know if I'll ever get to use the
extra rpm to increase my rapids or not, but bigger servos are often slower
and the same is true of stepper motors. I think these 850's will be a
decent compromise and they'll give me some room to experiment on my feeds
and speeds. If the Z gives me any trouble I figure I can build a counterweighting
system with some gas springs and radically reduce the force needed there
too.
While I'm talking
about alternatives, I should mention that I did some serious looking around
for an alternative to the Gecko drives. Why? Customer Service. That's
got to come as a surprise because Gecko has some of the best customer
service reputation in the industry. The trouble is, I ran afoul of one
of the counter examples of that. My GRex for my CNC
lathe project has been a disaster. The good news: it was very easy
to get it working, and I like the idea of not relying on the parallel
port. In theory, it could save me a lot of trouble, especially since I
had envisioned a fancy control panel for it. The reality? The device has
never lived up to its original promises. It has had teething troubles
since the beginning, and most of it has never gotten fixed. There are
problems with 3D profiling on the mill that make it a questionable solution
there, and the device doesn't support spindle indexing on the lathe, which
is a requirement for threading. What good is a lathe that can't thread?
Many promises were made over time about this being fixed, and we're talking
a span of years. Unfortunately, it has never panned out. Gecko blames
it on the firmware and says it isn't their fault. I think that's silly,
and it certainly was not the story at the outset. I sent Mariss a note
offering to trade my perfectly good GRex for a set of 3 of his cheapest
servo drives (which combined were less than the GRex cost), and explained
my problem with the GRex. I never even got a response back from Gecko.
That's just not good customer service in my book, despite their stellar
reputation.
So how did I wind
up buying another set of Gecko drives anyway? Here's the rub--who else
is there? Rutex is in an odd state. The parent is Australian, and the
designer has gone missing there last I heard. Reports vary on whether
the boards can be gotten here though the US distributor says yes. Last
thing I want to deal with is another strange situation with one of these
boards though the Rutex has a lot of advantages over the Geckos on paper,
and there are certainly those who swear by them. I also looked at the
UHU
family of servo drives. These look to be excellent, but so far they
are either awfully expensive if you buy one already built, or you deal
with cobbling together a kit. Frankly, I was tempted to go the kit route
anyway, just to avoid Gecko. I enjoy building electronics and I'm pretty
good at it. The trouble is, Peter's words kept nagging at me. How much
would it set back my conversion to have to build and debug 3 servo controller
boards? So I got the Geckos. They were cheap when bought with the servos
anyway.
Still, it wouldn't
have taken much to get me to buy something from someone else. I guess
that's the power of customer service. Given his reputation, I can't understand
why Mariss wouldn't do something for me. Oh well, I sure hope these new
drivers are flawless or I will build the UHU boards.
I'm going to update
my To Do list for the mill to a finer
level of detail, finish that Team Build, and then try to see how much
progress I can make on the mill conversion.

Be sure to check out G-Wizard, our Machinist's Software!
|