stands for Computer Numeric Control. Basically, CNC is where a computer
based machine takes a series of instructions and converts these
into motion. A CNC machine can have 1 to several axis, but most
have three, X Y and Z. A tool ( cutting tip, router, plasma cutter,
laser cutter ) is attached to the machine, and throught the computer
controlled movment of this tool, the workpiece is machined until
the final shape is produced.
CNC has been with us for decades, starting an just
NC back in the 1940's. Early NC used hard wired controllers to control
the machine motion, so any change in the program meant a re-wire
of the controller. Later punch cards were used. As computers got
cheaper and easier to use, hand coded G-Code was used to drive the
controllers. Then tape, floppy drives and serial connections were
used to transfer the G-Code files ( also called NC files ) from
the CAD/CAM computer to the CNC controller. These days most CNC
controllers use top end OS's like Windows 2000 or Linux, and are
connected into the workshop network.
The "instructions" read by CNC machines
are usually a human readable format
called G-Code. The machine is set up with a base unit, like Inch
or mm, and a command of G01 X500 Y200 on a metric mm setup tells
the machine it needs to move
500 units on the X axis and 200 units on the Y axis. If I wanted
to make a 20mm by 30mm square, 3mm deep, I would use
The N004 to N011 are line numbers, these are not
ormally needed by the CNC machine. Not shown, but usualy included,
is the header and footer informations. These are a few commands
to do things like turn on/off the router and coolant, set laser
motors, or just "Steppers" are motors that "step"
with each signal pulse. A typical stepper may have 200 steps per
revolution, so to make this motor rotate once, you would need to
send it 200 pulses. Stepper motors are cheap and easy to control,
but there is a problem. The CNC computer never realy knows where
the stepper motor is, its just assumes it knows where it
is because it has sent a number of steps. If the stepper was blocked
or bumped, it may have "lost steps", so where the machine
actualy is and where the CNC computer thinks it is could be two
use a conventional motor, like a DC or AC motor, and a encoder.
The encoder uses a disc with hundreds or thousands of tiny slots,
and a sensor, to count up or down as the motor rotates. There may
be 1000 or more encoder steps per motor revolution. The servo motor
controler, called a "Servo Amp" applies power to the server
motor and counts the encoder steps as they come in. It uses these
counted steps to work out where the motor is, and make adjustments
for acceleration/deceleration. The advantage is the CNC computer
knows exactly where the motor is. The disadvantage is servomotors
and servo amps are much much more expensive than stepper's, and
they require more tuning to get them working correctly.
To convert the motor rotary motion to linear motor
we can use several
different drive types. Screw drive, or threaded rod, is the easiest
suited to the hobby builder, the motors drive a threaded rod, a
nut on the
thread is attached to the axis we want to move. Screw drives also
have a lot
of torque and work well for high load cutting, like routing. Direct
using a toothed belt or chain works well for CNC tables where there
little load against the cutting head, like Oxy or Plasma cutting.
common drive is the rack and pinion.
Y and Z axis shown above the table supporting the material to be
The X axis is the table itself
cutter, stepper motor based and the X axis is the gantry.
Seen to the right is a hand controller where basic movement and
commands are entered.