Intro to CNC

My little introduction to CNC machinery:

Now let's start with something important. What on Earth is a CNC machine?

Imagine that you have a workshop full of large-ish tools (Lathe, mill, table saw, drill, surface grinder, etc... doesn't matter) and you use them all to make your projects. You take your material, shape it in one way with the mill, then carve the round bits on the lathe, then plane the surfaces down on the surface grinder, then drill and tap any holes with a drill. That's a lot of messing about moving from one machine to another, and this requires manual controls of every machine.

That's how things were done for the two centuries or so after the industrial revolution.

Now imagine that you condense all the abilities of those tools into one device, but making it a much more versatile tool... but it's now much more complicated to use well... so you now need a way to give it precise instructions both accurately and efficiently. Humans aren't built like that. So we have to automate it... which means, detailed instructions and a way to store/read them.


Now, imagine you have a step-by-step recipe of every action you need to do to make a part the right shape and size... down to 1/40th of a millimetre (1/1000th of an inch).... and beyond. Then you simply load that set of instructions into the machine, install the material, calibrate the positioning, and let it do it's work... run it once, or run it a million times....

This is what a CNC machine does. Computer Numerical Control (CNC) is the basis of most modern-day automatic industrial and robotic manufacturing processes like 2D and 3D printing, milling, 2D/3D carving, drag knife/laser/waterjet/plasma cutting, casting concrete, shaping ceramics and plastics with injection moulding.. (by carving the moulds) and "pick and place" robots (that pack and manipulate objects for further processing). Obviously, such technologies can lead to a whole host of other robotic applications in many industries.

But what language should a precision machine use? Numbers and geometry. Interestingly, numerical control has been around longer than the computers we'd use today. I fact, we used analogue techniques to write and store instructions on physical media.

Numerical Control (NC without computers) used punch cards and paper tape in much the same way as a pianola worked, or Jacquard's loom. Instructions were stored using specifically positioned holes in the paper tape/cards to form rows of "on's" and "offs" that correspond with particular actions, the program/tape/card "readers" were pretty much analogue all the way to the 1950s.

Like all technology, it was great until it didn't work.

While NC was a huge leap forward from manual techniques, there were lots of problems. The paper tape tore, the cards would wear down at the edges after repeated use, so the alignment was lost. It doesn't sound bad until you realise that if all the holes were in the wrong spots, the wrong actions would be performed at times it might not be safe to do so... rendering huge risks for machine damage and personal injury. Most importantly, with "holey paper/cards", the subtle differences in hole placement was basically illegible to human readers, and of course, you couldn't make changes to the program at all without going back to the original instruction documentation set, and re-punching the cards/tape from scratch.

Here's a video showing what an NC system in 1960 could do, and of course, you might be surprised that NC machines had many features that you can find on higher end modern machines today.



Ah, sweet nostalgia. But wait, isn't this NC machine shown at a time when CNCs were available?


It wasn't until digital (albeit "tube and/or relay based") computers were developed in the 1940s that software controls were realised, but it took quite some time for it to be adopted, but even then each manufacturer had their own proprietary language/system. In light of this predicament, and a host of other factors, a somewhat standard instruction code was developed. (G & M Code, also known as "gcode" but it's official names are ISO 6983 also RS-274), and with that key step general Computer Numerical Control was born. Although, like all good transitions, the wide spread adoption and improvement of transistor based computers in the 1960s and beyond allowed CNC to become what it is today.

Now when I say somewhat standard, I mean that there are machines which can interpret the codes slightly differently, or incorporate features that are "in addition to" the standard gcode language. Although the basic code is common across the majority of CNC devices.

CNCs aren't as simple as your typical household printer though. (Although every year they become easier to use). When things go wrong with industrial sized-machines.. you get industrial-sized problems too. Some of them extremely dangerous.

In short, it replaces the need to do repetitive tasks by human hands, but requires you to shift roles from a manual "maker" to an effective "machine operator". It's not going to "just do all the work for you".... and certainly not for free either. There's a ton of consumables like lubricants, coolant, cutting fluids, end mills, and that's not even the materials being shaped yet. Add things like service technicians, insane power requirements, and a solid understanding of the operating and emergency procedures.