Saturday, August 25, 2012


from Javier Zaratiegui Fernandez

Numerical control (NC) refers to the automation of machine tools that are operated by
commands, as opposed to controlled manually . The first NC machines were built in the
1940s and 1950s, based on existing tools that were modified with motors that moved the
controls to follow points fed into the system on punched tape. These early servomechanisms
were rapidly augmented with analog and digital computers, creating the modern
computer numerical control (CNC) machine tools that have revolutionized the machining

In modern CNC systems, end-to-end component design is highly automated using
computer-aided design (CAD) and computer-aided manufacturing (CAM) programs. The
programs produce a computer file (G CODE) that is interpreted to extract the commands
needed to operate a particular machine via a postprocessor, and then loaded into the CNC
machines for production. There are several comercial programs to generate the G CODE
that translate the geometry from the digital models into the necessary movements of the
machine, but I would like to point that, in the last years, also free versions for Linux systems
have appeared. (1)

Many different tools can be attached to a CNC machine. Some examples are router machines,
drilling machines, plasma cutter, etc. The most advanced can change the tool automatically
and perform many different tasks. One of the main topics in these machines is the number of axis in
which they can move and, therefore, work. The size of the working area and the number of axes
are the main criteria, along with the type of work to be done.

The basic one with three axis (X, Y and Z), is the most common, capable of many operations
but without the complex movements that those of five or six axis.

There are several parts in a CNC. First of all is the table. It could be a static table or movable. The most common among home made CNC is the static table. Its size would determine the range of motion and the working area of the machine, so it should be the first decission when choosing or building a CNC. It
contains the X axis along which there will be the rails.

The table will support the material, so it has to be stiff and easy to clamp and heavy enough to minimize vibrations. A set of aluminium profiles would perfom well for many cases.

Rails: several linear motion systems would fit in the machine, such as bearings, but the
smoothness and quality of these will be an important part of the performance, maintenance
and durability.

Motors: a motor per axis is needed (two could be used also, specially for the longest one) to
move the machine. Both, servo motors or stepping motors will do the job. The first ones are
used in the comercial machines as they perform better, but they are more expensive also.
The torque, speed and step should be considered when selecting the motors.

Transmission: There are different options to transmit the movement of the motors into the machine.
Roller chains and gears are able to transform the rotation into steps that would determine the precision
and speed of the machine. A leadscrew or translation screw is a screw designed to translate turning
motion into linear motion. They are classified by the geometry of their thread, and the pitch and lead
would determine the precision. Although there are also other things to consider like the backlash (2),
precision of decimals of milimeter is easy to obtain. Other posibility is using a rack railway in which the
number of teeth on the gear will determine the speed and accuracy.

Couplings are good at making sure your motor shaft fastens to the lead screw. Couplings are simply used to
enable a motor to turn a lead screw, or other type of shaft.

Electronics: a power supply that provides electricity to the motors and controllers. Three motor drivers
that will controll the microstepping of the motors, and one board that will connect all these. It is possible
to make your own boards and drivers. For such, there is information on the internet on how to build your
own printed circuit board. Other cheap solution is arduino boards.

Example of a home made CNC on plywood. The wood requires a treatment against humidity to minimize
any expansion. Wiser choice of the material would be aluminium.

more infos about this on Javiers blog:

DIY (Do it yourself)
Patrick Hood-Daniel and James Floyd Kelly (2009), Build Your Own CNC Machine, Springer,
ISBN-13 (pbk): 978-1-4302-2489-1. Book with detailed information for building a CNC
machine. Author blog posts under CNC label. This has infomation for self building a machine, but they also
sell theirs. As commented, linux open software to control the CNC. Linear rail systems (among other things).
CNC milling
CNC laser cutting
CNC carving
5 axis