|
CNC
Breakout Boards
How does
my PC talk to my machine?
The breakout board is used
to interface between your PC and the various motor controls, relays, and
other devices you want to control on a CNC machine. There are several
different types of breakout boards and related devices used to deliver
this I/O (Input/Output) capability, including parallel breakout boards,
usb breakout boards, keyboard emulators, and motion control boards. Simply put, the breakout board has two functions:
1. Translate the signals used to run a CNC machine to and from the signals a PC expects.
2. Isolate the PC Motherboard from electrical problems that would otherwise fry the Motherboard.
These are both very important functions.
Parallel
Breakout Boards
Parallel breakout
boards connect to your PC's parallel port and convert those signals to
screw terminals which you may then use in point-to-point wiring to connect
up the rest of your system. These are the most commonly used type of breakout
board. They're simple, and relatively inexpensive. They have a few drawbacks.
First, the parallel port itself is a bit of a throwback to the early days
of the PC. There are limitations on its performance, particularly when
used with Windows software, such as with Mach 3. You will be limited in
how quickly you can send and receive the signals from the board, which
may in turn limit the performance of your CNC. For most low end applications,
this is not a problem.
The second limitation
is that of compatibility. PC manufacturers are gradually phasing out parallel
ports altogether in favor of USB, and in the meantime, they are sharply
controlling the power consumption of these interfaces. As a result, many
later model PC's use 3.3 volt signals instead of 5 volts. Some breakout
boards work fine with this while others have problems. Be sure to check
whether the board you are looking at will be compatible with your PC.
Laptops are a particular source of this kind of problem.
Lastly, parallel
ports have relatively few I/O channels. Boards typically support 11 or
fewer outputs and only 5 inputs. As you can imagine, these go quickly,
especially if you are trying to connect an elaborate
control panel to your machine. For this reason, you either have a
choice to "keep it simple", or you will need to add one or more
additional boards to get the job done.
It should be noted
that you can add a second parallel port to most computers using a PCI
card. Obviously this won't work with a laptop, because they have no PCI
slots. In addition, some card/PC combinations can be finicky when used
with Mach 3. Be sure to check with others to see if they have been successful
with the particular combination you'd like to try.
Lastly, it is
important to purchase a board that incorporates opto-isolation (you can
look it up in the CNC Dictionary if
you are curious). This feature isolates your PC's motherboard from any
bad connections, noise, or power surges that may occur in the rest of
your circuitry. If you directly connect the parallel port without opto-isolation,
you run the risk of destroying the expensive motherboard.
Suppliers of parallel
breakout boards include:
Campbell
Designs
CAndCNC
CNC4PC
PMDX
Rogers
Machine
USB
Breakout Boards
USB breakout boards
are used to increase the I/O capacity beyond what the parallel port provides. While there are boards the purport to simulate a parallel port with a USB connection, most of them don't work for CNC applications. The reason is that they are not high enough performance to maintain the exact timing relationships needed to produce a clean pulse train to control multiple servos or steppers. Unfortunately, while USB is the preferred replacement for the parallel port, and it has many advantages, it isn't clear applications like CNC were considered for either the parallel or serial ports when they were first designed. It takes some very clever coding indeed for software like Mach3 to work on a parallel port, and each new release of Windows seems to make it a little harder.
As I write this,
the only USB Breakout Board I am aware of intended solely to increase I/O capacity is one called ModIO that was developed
by an Australian company called Homann
Designs. This board is capable of adding 8 inputs, 8 outputs,
as well as 3 analog inputs, so it is quite powerful. This board is very well supported by the CNC community, so if you need the extra I/O, I would highly recommend it. I've dealt with Peter Homann on occasion and he is extremely helpful and works hard to give what he can to the CNC community.
There are USB boards (the Smoothstepper is one) that can actually generate step and direction pulses suitable for CNC, but these are more properly motion controllers than breakout boards. See the section below for more.
Keyboard
Emulators
Keyboard emulators
are another approach to extending the basic I/O provided by a parallel
breakout card. They do this by converting on/off input signals to simulated
key sequences. For example, you could connect a switch labeled "Flood
Coolant On" to an input on a keyboard emulator and when the switch
closed, it would forward a key sequence to Mach 3 which could be interpreted
to turn on the coolant. Keyboard emulators are simple to hook up: they
typically accept your keyboard's plug and you use a keyboard extension
cable to go from the emulator to the PC's normal keyboard input socket.
There are a number of keyboard
emulators out there, but I believe the most popular are Pokeys and the iPac, which
is sold Ultimarc.
The basic iPac provides an additional 28 inputs, which is substantial.
There is an enhanced version that allows 56 inputs. Pokeys is a 55 I/O channel device.
The thing about Keyboard Emulators is
that since they're just sending key sequences, they have a pretty slow
response time. You wouldn't want to use one for any application that required
rapid responses or a good sense of "touch" or "feel".
For example, I would tend to avoid using them with joysticks. But they
are a good way to pick up all the extra buttons on your control panel.
Motion
Controllers
At the high end
of the breakout board spectrum are the motion controllers. They are so
high their makers probably object to comparing them to breakout boards.
I only do so because they replace the breakout board. Mach3 works with several, including the Smoothstepper (probably the most popular as I write this), the Galil, and others.
These boards offer
a tremendous performance upgrade over parallel boards and the like. Their
primary disadvantage is they're often a much less mature technology. Since they
haven't been with us for long, and since most of the Mach community is using parallel ports rather than motion controllers, you are more likely to run into a problem
or discover a limitation. For example, I had a Gecko GRex, which was a great device, but it was never finished. It never got the firmware for lathe threading, for example, and ultimately was discontinued. Gecko graciously allowed me to trade my GRex for an equivalent dollar value worth of servo drives. I also have a Smoothstepper, which has worked great, but again, it never seems to get finished. It has no backlash compensation, despite it having been promised for literally years.

From Left to Right: GRex, Gecko Drives,
and DC Stepper Power Supply for my CNC Lathe project...
Before taking
any final steps on a motion controller for your own project, I highly recommend
you spend a lot of time getting acquainted with the various online communities associated with your controller software and the motion board in question. Find out what the board's current limitations are, decide whether they matter to you, and get a sense of how often the board and its software are updated and how happy the user community is.
Despite the lack of backlash comp for the Smoothstepper, I really like the device a lot and have no regrets about selecting it over the parallel board. Performance is a lot better and Mach3 is much less prone to the finicky problems that some report even though I'm running on a totally antiquated boat anchor of a laptop.
I just have this nagging worry that I'll wake up one day to find it is no longer supported at all. A little more vigorous support would go a long way towards allaying that concern.
Other Black Boxes
Suppose you have an older CNC machine, or perhaps some surplus servo drivers, and you want to run them with Mach 3, but the controllers expect analog rather than step + direction? You could junk the controllers and buy new Gecko or Rutex Step/Dir servo drivers, but that is an expensive proposition if you believe the drivers you have are working. This is especially true for the higher powered servos on a larger machine.
There are boards out there that will do this conversion.
What about spindle speed control? In most cases, VFD's and other speed controllers want a voltage that is proportional to the desired spindle speed. Mach 3, on the other hand, puts out digital pulses, so you need a board to convert from the digital world of Mach 3 on one output pin to the analog realm expected by the VFD. Hopefully the board will isolate the sensitive digital electronics from any potential for line voltages to get back into the digital side as well. Homann
Designs comes to the rescue once again with a couple of boards to perform this function. CNC4PC and others also make boards to do this.
(Updated 5/8/11)

Be sure to check out G-Wizard, our Machinist's Software!
Back to CNC Cookbook Home...
|