XY Table Icon

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

Opt Isolator BoardSo 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. 

Close up of upper axis driverMy 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

Successful R cut outSo 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.

Close up of the cutting wire   Cutting the R & D shape
 
The final R&D shape


Return to Kurt's Home Page