Modified 3Axis machine

I started out with a 3Axis machine from Milford Instruments. This is a kit for a full working 3Axis system including a Stamp based controller card that takes a commands from a serial line and drives 3 stepper motors (one each for X, Y, Z). The supplied machine is shown below:


This was a great starting point but I found that for what I was trying to do it lacked power and accuracy. So I made a few changes! Sorry folks at Milford I know it's not pretty but.....

Basically I moved the stepper motors and switched from the cable drive to threaded rod. I also had to make a few mods to the basic structure not very nice to look at but they do the job. The original machine had a 0.1mm smallest movement. The modified machine has a theoretical minimum movement of 0.00625mm (in reality flex in the machine means it is not this accurate). I used standard steel M8 threaded rod with Acetal resin nuts to drive the tables. The couplings to the steppers are made out of car fuel pipe (the sort that has nylon reinforcing in it). The picture above shows an early experiment milling a PCB board.

You can see from the picture above how I mounted the steppers. This time I'm cutting balsa wood.

One of the first problems I found was that with the improved resolution movements were very slow. I played around with the Basic Stamp firmware and ended up re-writing most of it to improve performance. In the end I switched to a higher speed Basic Stamp (again from Milford) and with the new software and faster processor I now get a movements were very slow. I played around with the Basic Stamp firmware and ended up re-writing most of it to improve performance. In the end I switched to a higher speed Basic Stamp (again from Milford) and with the new software and faster processor I now get a movement speed of about 8" per minute. I'm now driving the steppers as fast as they will go at 12V, I may switch to a higher voltage at some point but for now 8"/min will do.

Having looked around the internet I soon discovered that the real world (including hobby machines) tended to use GCode not the HP plotter codes supported by the software that came with the machine. I also discovered that most of the hobby software on the net expected to driver a stepper controller via a parallel port! Since I need serial port support, I dug out the software tools (C++), had a look at various control programs that could be downloaded from the net and started to roll my own control program.

Control program

The above is a screen shot of the current version. It seems to work reasonably well. I've provided a 3D preview, manual jog control and a basic GCode interpreter. I'm probably going to replace this with something based on the NIST GCode interpreter as used in the EMC control program but for now what I have is just about good enough. As always it's fun learning about this stuff!

Test cuts

So far most of the cutting I've been doing have been simple test cuts to try out the hardware/software and sort out what cutters to use. The following pictures show the machine in action:

Above shows a test PCB cut.

Simple engraving on balsa. I wonder what the word is!

First part!

Here are the steps I used to create the first useful part on the machine. Basically it is the front part of the bridge of a ship I'm thinking of building. I normally hate having to make those rounded windows by had so it was a good choice for cnc. The part is basically cut out of 1mm ABS sheet. The following screen shots show the process of creating the part. All of the tools I used are downloadable free from the internet for home use.

Designing the part in 2D

First step was to lay the part out in 2D using TurboCad. The part was created at actual size no compensation was made at this stage for the width of the cutting tool.

Turning it into a 3D part

Next I turned the part into a full 3D representation using PTC ProDesktop Express. Although not really needed for such a simple part, going to 3D makes it easy to import the part into the tool path planning tool I use.

Tool path planning

Next stage was to plan how to actually cut the part. I used VisualMill Free to do this. This tool automatically took care of allowing for the size of the cutter and generated GCode ready to cut the part.

Cutting the part

Final stage was to actually cut the part on my CNC machine. For this I used my own CNC control software to play back the generated GCode file. The actual cut took about 12 minutes cutting at 4" per minute and making multiple passes to avoid melting the plastic.

The final part

This is the final part. It required virtually no cleanup, just a couple of strands of plastic left at the base of the cuts. Now I just have the rest of the ship to build!



Oh and one final point this machine is loud. I've had to buy some ear defenders!

New tool mount

The play in the bearing of the low voltage tool I was using was just too big when I tried cutting PCBs so it had to go. In its place I have a mains powered tool with much better bearings. To hold this much heavier tool I had to design and build a new mounting. Here are some pictures of this:

The new mounting is also much more rigid than the original which combined with the better bearings and more power from the tool gives much better cutting.

PCB milling

When I first started all of this my main aim was to be able to create prototype PCBs without all the messing around with chemicals. Well below is a close up of the first board I've produced that has been both milled and drilled by the machine:

The cuts may look a little rough but remember that the line of holes down the left hand edge are spaced at 0.1" so I'm actually pleased with the results. Certainly the board can be used.

Copyright 1998-2011 Andy Shaw