my PC talk to my machine?
The CNC 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 CNC Breakout Boards and related devices used to deliver
this I/O (Input/Output) capability, including Parallel CNC Breakout Boards,
USB Breakout Boards, keyboard emulators, and motion control boards. Simply put, the CNC 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. In addition, many refer to USB Motion Controllers, such as the Smoothstepper, as "USB Breakout Boards". The role of a Motion Control is to relieve your PC control software from having to do all the work and move some of the most time critical parts of that work to a dedicated hardware device. Since the Motion Controller has no distractions (unlike a PC), and can focus totally on motion control, this enables much higher performance.
CNC Breakout Boards...
CNC Breakout Boards
Parallel CNC 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. For better performance, use a Motion Controller (see below).
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.
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 your computer's expensive motherboard.
Suppliers of parallel
breakout boards include:
I've done business with CNC4PC and Homann, and have actually used the CNC4PC board, and both companies were excellent to deal with.
USB breakout boards come in two varieties. First are full scale Motion Controllers, which we will cover in detail in a moment. Second are boards used to increase the I/O capacity beyond what the parallel port provides. While there are boards that purport to simulate a parallel port with a USB connection, they 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.
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.
Controllers (USB Breakout Boards)
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 a 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 may find it is a little harder to get help. I have a Smoothstepper, which has worked great.
From Left to Right: GRex, Gecko Drives,
and DC Stepper Power Supply for my CNC Lathe project...
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.
Performance of Mach3 with a motion controller is a lot better than with a parallel port 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.
For more on motion controllers, see our 2-part series: Motion Control Boards Take Mach3 from Hobby Class to Industrial Grade.
You may also want to read about how to set up a Smoothstepper for my servo-based mill.
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.
For More on CNC Controllers, Conversions, and Retrofits, Please See:
and Performance: What factors control the accuracy and performance
of my CNC machine?
Debugging CNC Electronics:
Thoughts on debugging CNC electronics.
Looking for ideas for your electronics enclosure?
Backlash Part 1: I'm converting a manual machine or building a new
machine, how do I get rid of backlash? Why should I care?
Backlash Part 2: My machine has all the "right" stuff, but
it still has backlash. How do I get rid of it?
A checklist of everything that goes into a CNC machine project together
with links to appropriate pages here.
Noise Problems: Diagnosing
and fixing noise problems in CNC systems.
Servo & Backlash Simulator: Wherein we explore the perennial debate
over steppers vs servos and the effects of backlash.
Be sure to check out G-Wizard, our Machinist's Software!
Back to CNC Cookbook Home...