Search This Blog

Friday 2 August 2019

Choice of CNC control

When designing my CNC setup I had some choices to make.
The software was an initial consideration but that has a direct bearing on what hardware is suitable.

My criteria
The decision process I went through was driven by the end goal I have in mind.

The idea is to modify a Shapecut 3200 Oxy Gas cutter. The setup of the massive, up to 2" thick, plate steel is a manual process.

Image from Mass Cutting Systems
Even on new CNC controlled gas cutters, the gas flame, work alignment and pre-heat, is still done with minimal, if any, software control.

  • Visual display
    I believe it would be easier to setup the steel plate, if there is a view on the screen of the path of the cutter.

Arduino or Not
Many CNC machines are controlled by an embedded Arduino. Nothing wrong with this. There is lots of software aimed at the Grbl code that the Arduino uses for CNC. It is also how most 3D printers work.

I opted not to go with Arduino because I wanted a visual interface to help align the work piece.

All-in-one controllers
I looked at a few of these on the internet. They look tidy but they were either more expensive than buying a used computer and building my own or there was insufficient information to know if it was a good choice.

I opted for a PC based solution but I may revisit the all-in-one controllers in the future when I have more experience.

PC based software
The most popular choices, that I came across, for use on a PC are LinuxCNC, Mach3, Mach4 or UCCNC.
I recently found mention of bCNC but I have not read enough information on that to include it in my list, for now.

My early research established that the problem with Windows, is that it is not a real time operating system. In short, other things going on could easily interrupt the CNC signals and mess up the timing for the CNC control.

PC based CNC machines have traditionally been controlled by using the parallel, printer, port. That is because, it was, up until recently, a real time port closely controlled by the computer to not be interrupted. Modern commercial operating systems don't do that anymore. Linux still does, or can if need be.

Motion controllers
The solution for a Windows PC is to use a Motion Controller. That is a bit of hardware that in one way or another buffers the controls from the computer to ensure the signals, to the CNC drivers, are always on time.

I'll cover off LiuxCNC first. I would like to have tried that but was unable to for several reasons.

LinuxCNC can still use a parallel port and that is what it was designed to do. As I don't have a computer with a parallel port, nor even one large enough to have an expansion slot to fit one, I decided that direct parallel port control was not an option for the future.

There is an Ethernet motion controller, that many people recommend for use with LinuxCNC. That is the Mesa 7i76E. It sounds great but is very hard to get hold of in Europe and comparatively expensive! That stopped that chain of thought.

What is available to me?
There are lots of budget USB parallel port adaptors. These are not recommended because they do not compensate reliably for the non-real time operation of USB.

There is only one, recommended, USB motion controller, that I could find easily available. That is by a company called CNC Drive. They have other products and I prefer Ethernet connections. Ethernet is usually more reliable and has a much longer range. In theory, they can even be controlled via the internet, although I'm not suggesting that is a good idea.

I liked the specification, and the reviews, of the UC400ETH motion controller.

Windows Software
With the motion controller selected, I had a choice of the following Windows software:

Mach 3
This is old and not fully compatible with modern computers, without some tinkering.

Mach 4
I tried the demo but that does not simulate use with the UC400ETH motion controller I have. The demo is too limited.
What really put me off was that I got several screen anomalies, mainly, incorrectly sized fonts and hidden menus. It did not inspire any confidence.

As this is produced by the same company that make the motion controller, the demo included a setup for that board.
The software installed and ran without issue and I found the setup screens immediately obvious.
It is considerably lower price than the alternatives and it is licensed to the serial of the motion controller board. That will be easier to manage in the event of a computer hardware failure. Better still, I can install it on multiple machine and use whichever is handy.

UCCNC with a UC400ETH motion controller are what I have decided to work with.


Shapecut Series:
Part 1 - Magic Eye to CNC
Part 2 - CNC proof of concept design
Part 3 - CNC controller enclosure


No comments :