
|
The XY
Table Rides Again
Kurt Schaefer
So I used to build computer controlled widgets. Then I
noticed that many of those projects would die on the vine. They'd
take their first few steps under computer control, and then I'd loose
interest. It took me a long time to figure out that since I do
software for a living, I had no interest in going home and writing more
software in my free time.
So for a long time those projects collected dust. I went
on to do projects like the electric
scooter, etc. Projects
that didn't require any software. More recently I've discovered
off the shelf software that I can use, and some of those dusty
projects are coming down out of the crawlspace to
finally have their day in the sun.
The XY Table
One of those old projects was the XY Table.
For years I'd been thinking about dusting it off and using it for
cutting foam with a hot wire. Much like an Etch-a-Sketch the XY
Table could move the foam in 2 perpendicular directions, and a
stationary hot
wire could cut the foam. That seemed like the simplest thing
to do since a hot wire has a very fine cut, could cut in any direction,
and produces no sawdust to gum up the mechanism that's driving the
table. Also
since I can do lost foam casting it provided a path to actual metal
parts which seemed pretty interesting. The main sticking point
with this kind of project is that with my 16 month old son I
don't have a lot of free time out in the shop to work on these sorts of
projects. So
I needed to get this thing going in record time.
I cleared some space on my bench for the table, and got it
down from the crawl space. I cleaned it off, and tried stepping
the two axes using a 555 timer chip on a bread board, just to make sure
all the driver electronics was still working, and that is wasn't going
to blow out the parallel port on my laptop. So far so
good. That was easy enough to do in the little dribs and drabs of
time that I had. But when would I find the time to actually make
this puppy tick?
Gentlemen, You Have 10 Hours To Complete Your Build
Then we had a 4th of July that fell on a Tuesday. On Monday my
wife went to work, and our son went to the babysitter, so I had Monday
off! One day of full throttle tinkering time. Could I
manage to get it working in 10 hours? I was going to give it my
best shot!
One problem I often have with projects is that I like to do them
right. I'll put them in nice project boxes, with tidy wiring
harnesses, and thoughtfully placed power switches. Heat shrink
tubing, molex connectors, Fuse holders. I like to make stuff that
lasts. That's not really the idiom for a 10 hour build. A
super compressed build time can be very liberating. A fast and ugly build is all
about
alligator clips, double stick tape, and vice grips. How can I get
it done right now. It's
a very satisfying way of making progress, and making sure your
prototype is going to be worthy of a fancy project box and power supply
before actually spending
the time
building that stuff.
"Free" Computer
So before all this happened I'd managed to get a free laptop. It
belonged to a co-worker, and the power jack had gone belly up.
The jack mounts directly to the motherboard, and repair places were
quoting him outrageous prices to fix it. He had gotten a new
laptop, and he gave me the old one! So I ordered a replacement
jack (which was $15 when you include S&H Ouch!) and one
pretty complicated disassembly/reassembly later I
was in business. So I guess it was a $15 laptop. It was new
enough to have Windows XP, but old enough to still have a parallel
port. Perfect!
Software, What Software?
So I downloaded Mach 3, which
claimed it would run under XP, and control my external device via the
parallel port. The evaluation version is limited to programs of 1000 G
codes or fewer, but that was plenty for me, and for this level of
tinkering it was free. Also for the full version the price was
$150 which was quite reasonable considering how expensive a lot of
machine control software is. I didn't have the time to burn
playing the "installation and configuration game" with Real Time Linux,
and trying to go the EMC
running on it. I'm sure that would have taken more then a day
right there, so Mach 3 was perfect for my one day project.
Mach 3 can convert .dxf files to G codes. So I used a CAD program
called Rhino to produce a few
simple
shapes like a 1 inch square, a 2 inch diameter circle, and a letter
'R'. I export those shapes into dxf, and Mach 3 converts
those into G codes which describe basic machine motions like moving
from one location to another. The goal was to be able to cut
those shapes out of foam. I chose the letter R because it
has a inside as well
as an outside part to it. I had to add some lines in Rhino to
make the R a single path that cut in to the center area of the R, and
then back out again at the same (inconspicuous) place.
Wire, Wire, Please No Fire
So
I started wiring everything up. X and Y axis stepper motor
controls had step and direction inputs, the system needed
5v, and 12v,
and I used my variable current supply to run the cutting wire.
Adjusting the current let me adjust the temp of the cutting wire. I had
to wire up an
E-Stop button which is the name for the big emergency stop button you
should always have
around on these sorts of projects so you can shut it down when things
start to go bad, and they begin tearing themselves apart. There were
motors and fans to wire up,
and basically the whole thing was a mass of alligator clips running
from various supplys to various components, and ground lines. I
loaded up Mach 3, and told it which pins of the parallel port were
going to which motor signals (X Step,
X Direction, Y Step, Y Direction) I also had to
tell it how many steps per inch, etc.
I was having trouble figuring out how to manually "jog" the XY table to
test out the wiring, but some web searching made it clear that the
arrow keys were used to jog the X and Y axis. So I turned
everything on, and hit the arrow keys. Nothing happened. I
hooked up the scope to the step pins (just trying to see if actually
signals were coming out) and it seemed to be working. What was
wrong? Then I realized that the 12v supply (the main driving
voltage for the axis I was trying to run) didn't have it's ground line
hooked up. I
hooked it up, and it ran like a charm. The main axis of my
table has a beefy stepper, and a surplus motor drive. It's noisy
and brutish, but it could jog at a fearsome rate just fine.
My
other axis had a much wimpier driver, and was nearly silent in
operation, but would stop working when I tried to jog it fast. Stepping
too
fast just made the motor sing, but not actually turn. So I had to
figure out how to configure that axis differently in Mach 3.
Luckily that was pretty easy using the motor tuning dialog.
So now both axis were jogging.
Enough Jogging, Lets Cut Something
So it was time to try and cut some foam. I screwed a Jorgenson
clamp to the head of the XY table (to hold the foam) and clamped some
foam in there. I hooked my hot wire cutter up to the power
supply,
held it in place, and clicked on the GO button in Mach 3 to cut out the
circle. Results? Ugly. It was clear that the steps
per inch on my two axis weren't set right. I got a long ellipse, not a
circle. Also the circle had pretty wavy edges. I could see
the upper axis head wobbling with every full rotation of the
ballscrew. With almost no load (just a smallish piece of foam)
the head was kind of loose on it's linear bearings, and
ballscrew. Not good. So I readjusted the steps per
inch, and I clamped two vice grips onto the head of the XY table, to
provide some off center weight to kind of "force" the head to be up
against the bearings, and not quite as wobbly.
Cutting a circle, take two: So I put in some new foam, and hit
go. This time the results were better. The circle was much
more circular (still a little off) and a lot less wavy, however there
was a weird jog in one part of the circle. I realized that the
set screws attaching the lower drive motor shaft to the ball screws
hadn't been tightened since I first built the table. They were
loose, and that axis was slipping under all this pulsing and
shuddering. Time to tighten it up and try again. Also
all this time I'd just been holding the wire cutting rig in place while
the table ran. So this time I screwed it to the wooden bed of the
table. No more shifting around for it.
Cutting a circle, take three: So this time it basically cut the
circle! It was still slightly elliptical. I didn't have the exact
spec for the bottom axis motor driver, so I'd been guessing about steps
per revolution, many are 200 steps per rev, but apparently not
all. Still the results were good enough that I wanted to try
cutting out the R.
R Horror!
So I chucked up some more foam, and loaded up the R in Mach 3. It
didn't manage to import it exactly right. The transition over to
the interior of the R and back wasn't done as one path, so there was
one "rapid traverse" that I had to get out of there. I'm sure if
I were better at Rhino I could have made it do the right thing, but as
it was I just copied a block of G codes to a different location, and
removed the rapid traverse, and I was good to go. I turned
everything back on, jogged to the start location, and went for
it. All was going well. I was feeding pretty slow, so I
wasn't paying that much attention when things started going wrong!
The R was bigger then the circle had been, and the head of the XY table
was coming in contact with the bed of my hot wire cutter. It was
bottoming out! This wouldn't have been a problem except that I
had just screwed the thing down to the bed of the table, so it wasn't
going anywhere. Time to hit that E-Stop button I mentioned
earlier! So my first cut out letter didn't quite come out, but it
was close. Just the bottom of one leg was screwed up, and the XY
table hadn't hurt itself to badly. (Thanks I'm sure to all the
slop, and set screws, etc. Boy what I was I thinking when I built
this thing?)
R Success
So
I finally had a run that was more or less a complete
success. The R cut out fine. I was a little
disappointed that the gap where the cut had to transition over to the
inside of the R and back out was so big. The problem is that when
a hot wire passes by foam melts, and even if you're going through the
same gap, you're basically going to melt some foam, and make the gap
bigger. So the gap had basically twice the kerf that all the
other cutting had. That's ok. I guess one could have a few
wire temperature settings under computer control, and cool the wire
down when it's going back through the gap it cut before, but that
invites wire breakage if there's to much slop, and the wire doesn't go
exactly down the path it did before.
Timed Challenge Results
I managed to cut the nicer circle before my wife arrived home with our
son. Basically a full success! I quickly cut out the two
R's and had something to show off at the 4th of July picnic.
There are still a zillion things left to do of course. Build an
enclosure for the upper axis driver, build in some limit switches so
there's less chance of XY table self destruction. Make a better
hot wire holder so I can use the full range of motion of the table.
More stable upper axis slide so it doesn't shimmy when there's no load.
Better shaft couplings (so there aren't so many set screws to wiggle
loose), etc. Still, not bad for one days frantic cobbling.
Hey I even found time to weed whack hey the orchard before
dinner. All in all the foam cutting robot was a very satisfying
project.


Return to Kurt's Home Page
|
|