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.
|