CHAPTER 1 - Introduction To CNC Machines
CHAPTER 1 - Introduction To CNC Machines
machines
Contents
• What is computer
• Introduction to CNC
• Operations in CNC
• Axis selection
• 5 Axis CNC
2
Computer
A computer is a machine or device that
performs processes, calculations and
operations based on instructions provided
by a software or hardware program. It is
designed to execute applications and
provides a variety of solutions by
combining integrated hardware and
software components.
Compute components
NC
Numerical control (NC) refer to control of a
machine or a process using symbolic codes
consisting of characters and numerals.
The concept of NC was proposed in the late
1940s by John Parsons.
The word CNC came into existence in 70ees
when microprocessors and microcomputers
replaced integrated circuit IC based
controls used for NC machines.
Introduction to CNC
Numerical control (NC) is the automation of machine
tools that are operated by precisely programmed
commands encoded on a storage medium, as opposed
to controlled manually.
6
Advantages:
High Repeatability and Precision e.g. Aircraft parts.
Volume of production is very high.
Complex contours/surfaces can be easily machined.
Flexibility in job change, automatic tool settings, less
scrap.
More safe, higher productivity, better quality.
Less paper work, faster prototype production, reduction
in lead times.
Disadvantages:
Costly setup, skilled operators.
Computer programming knowledge required.
Maintenance is difficult.
Advantages of CNC
CNC machines can be used continuously
Batch production with high accuracy
can be updated by improving the software
Training in the use of CNCs is available
through the use of ‘virtual software’.
Intricate detail machining
no need to make a prototype or a model
One person can supervise many CNC
machines simultaneously
saves time
10
Disadvantages
more expensive than manually operated
machines
11
Investment in CNC machines can lead to
Open Loop Systems
Open loop systems have no access to the real time data about the performance of the
system and therefore no immediate corrective action can be taken in case of system
disturbance.
Input Device
Machine Control Unit
Machine Tool
Driving System
Feedback Devices
Display Unit
Input Devices
This data is decoded and transformed into specific position control and velocity signals.
It also oversees the movement of the control axis or spindle and whenever this does not
match with the programmed values, a corrective action as taken.
Machine Tool
Most are made from high speed steel (HSS), tungsten carbide or ceramics.
Some tools need coolant such as oil to protect the tool and work.
Driving System
The requirement is that the driving system has to response accurately according to the
programmed instructions.
The motor is coupled either directly or through a gear box to the machine lead screw
to moves the machine slide or the spindle.
Motor is a device that converts electrical energy into mechanical energy
DC current is passed to the commutator through carbon brushes, which are connected
to the machine terminals.
D1. DC Servo Motor Continues
The change of the motor speed is by varying the armature voltage and the control of
motor torque is achieved by controlling the motor's armature current.
The speed and position of the motor is notified by the encoder, which can be
incremental or absolute.
3. Stepping Motor
The stepper motor is known by its property to convert a train of input pulses (typically
square wave pulses) into a precisely defined increment in the shaft position.
Each pulse moves the shaft through a fixed angle.
Multiple "toothed" electromagnets arranged around a central gear-shaped piece of iron.
The electromagnets are energized by an external driver circuit or a micro controller. In that
way, the motor can be turned by a precise angle.
What does Stepper means?
To make the motor shaft turn, first, one electromagnet is given power, which
magnetically attracts the gear's teeth.
When the gear's teeth are aligned to the first electromagnet, they are slightly offset
from the next electromagnet.
This means that when the next electromagnet is turned on and the first is turned off,
the gear rotates slightly to align with the next one.
From there the process is repeated. Each of those rotations is called a "step", with
an integer number of steps making a full rotation.
However, stepping motors are not commonly used in machine tools due to the
following drawbacks:
slow speed,
low torque,
low resolution
easy to slip in case of overload.
Open Loop Positioning Systems
Stepper Motor calculations
The actual speed of the motor can be measured in terms of voltage generated from a
tachometer mounted at the end of the motor shaft.
The voltage generated by the DC tachometer is compared with the command voltage
corresponding to the desired speed.
The difference of the voltages is used to actuate the motor to eliminate the error.
Display Unit
1.Linear interpolation
Straight line between two points in space
2. Circular interpolation
Circular arc defined by starting point, end point, centre or radius, and direction.
3. Helical interpolation
Circular plus linear motion
4. Parabolic and cubic interpolation
Free form curves using higher order equations
Circular Interpolation
39
From 3-axis to 5-axis machining
41
ADVANTAGES OF 5 AXIS
CNC
to machine complex shapes in a single setup
reduces the machinist setup time and increases
production rates
By eliminating multiple set-ups, time and errors are
reduced
the feature-to-features accuracy is improved because
the same zero or datum reference frame is used
throughout the manufacturing process
higher spindle/cutting tool speeds may be achieved
while reducing the load on the cutting tool
Shorter and thicker cutters also reduce vibration when
machining deep pockets or contoured features with
three-axis machines.
42
Application
complex three dimensional profiles
for impellers, turbine blades, and plastic
mold tools
43
CNC programming
Important things to know: Programming consists of a series
of instructions in form of letter codes
Coordinate System
•Preparatory Codes:
G codes- Initial machining setup and
Units, incremental or
establishing operating conditions
absolute positioning N codes- specify program line number
to executed by the MCU
Coordinates: X,Y,Z,
RX,RY,RZ •Axis Codes: X,Y,Z
Used to specify motion of the slide along
Feed rate and spindle X, Y, Z direction
speed
•Feed and Speed Codes: F and S
Coolant Control: On/Off, Specify feed and spindle speed
Flood, Mist
•Tool codes: T – specify tool number
Tool Control: Tool and tool
•Miscellaneous codes – M codes
parameters
For coolant control and other activities
CNC programming
Programming consists of a series of instructions in form of
letter codes
Preparatory Codes:
G codes- Initial machining setup and establishing operating
conditions
Individual
Words
Programming Key Letters
O - Program number (Used for program identification)
N - Sequence number (Used for line identification)
G - Preparatory function
X - X axis designation
Y - Y axis designation
Z - Z axis designation
R - Radius designation
F – Feed rate designation
S - Spindle speed designation
H - Tool length offset designation
D - Tool radius offset designation
T - Tool Designation
M - Miscellaneous function
Table of Important G codes
G00 Rapid Transverse
G01 Linear Interpolation
G02 Circular Interpolation, CW
G03 Circular Interpolation, CCW
G17 XY Plane,G18 XZ Plane,G19 YZ Plane
G20/G70 Inch units
G21/G71 Metric Units
G40 Cutter compensation cancel
G41 Cutter compensation left
G42 Cutter compensation right
G43 Tool length compensation (plus)
G43 Tool length compensation (plus)
G44 Tool length compensation (minus)
G49 Tool length compensation cancel
G80 Cancel canned cycles
G81 Drilling cycle
G82 Counter boring cycle
G83 Deep hole drilling cycle
G90 Absolute positioning
G91 Incremental positioning
Table of Important M codes
M00 Program stop
M01 Optional program stop
M02 Program end
M03 Spindle on clockwise
M04 Spindle on counterclockwise
M05 Spindle stop
M06 Tool change
M08 Coolant on
M09 Coolant off
M10 Clamps on
M11 Clamps off
M30 Program stop, reset to start
Programming Key Letters
O - Program number (Used for program identification)
N - Sequence number (Used for line identification)
G - Preparatory function
X - X axis designation
Y - Y axis designation
Z - Z axis designation
R - Radius designation
F – Feed rate designation
S - Spindle speed designation
H - Tool length offset designation
D - Tool radius offset designation
T - Tool Designation
M - Miscellaneous function
Table of Important G codes
G00 Rapid Transverse
G01 Linear Interpolation
G02 Circular Interpolation, CW
G03 Circular Interpolation, CCW
G17 XY Plane,G18 XZ Plane,G19 YZ Plane
G20/G70 Inch units
G21/G71 Metric Units
G40 Cutter compensation cancel
G41 Cutter compensation left
G42 Cutter compensation right
G43 Tool length compensation (plus)
G43 Tool length compensation (plus)
G44 Tool length compensation (minus)
G49 Tool length compensation cancel
G80 Cancel canned cycles
G81 Drilling cycle
G82 Counter boring cycle
G83 Deep hole drilling cycle
G90 Absolute positioning
G91 Incremental positioning
Explanation of commonly used G codes
Block Format
Sample Block
• Restrictions on CNC blocks
• Each may contain only one tool move
• Each may contain any number of non-tool move G-
codes
• Each may contain only one feed rate
• Each may contain only one specified tool or spindle
speed
• The block numbers should be sequential
• Both the program start flag and the program number
must be
independent of all other commands (on separate lines)
APT Programming Example
Cylindrical Part
F 25
Raw Material
70
F 22.5
F 17.5
Finished Part
20
30
APT Programming Example (Cylindrical Part)
O0013
N0005 G53
N0010 T0303
N0020 G57 G00 X26.00 Z0.0 S500 M04
N0030 G01 X-0.20 F100
N0040 G00 Z2.0
N0050 X50.0 Z50.0
N0060 T0404
N0070 G57 G00 X22.50 Z2.0 S500
N0080 G01 Z-30.0 F100
N0090 G00 X23.0 Z2.0 S500
N0100 G84 X17.5 Z-20.0 D0=200 D2=200
D3=650
N0110 G00 Z2.0
N0120 X50.0 Z50.0
N0130 M30
APT Program Interpretation
O0013
Program identification number
APT Program Interpretation
O0013
N0005 G53
To cancel any previous working zero point
APT Program Interpretation
O0013
N0005 G53
N0010 T0303
N0010 Sequence number
T0303 Select tool number 303
APT Program Interpretation
O0013
N0005 G53
N0010 T0404
N0020 G57 G00 X26.0 Z0.0 S500 M04
G57 To set the working zero point as saved
G00 Rapid movement (no cutting)
X26.0 X location (as a diameter; 13 form zero)
Z0.0 Z location
S500 Spindle speed is 500 rpm
M04 Rotate spindle counterclockwise
x
+ve
(0,0) +ve z
APT Program Interpretation
O0013
N0005 G53
N0010 T0404
N0020 G57 G00 X26.00 Z0.0 S500 M04
N0030 G01 X-0.20 F100
G01 Linear interpolation (cutting)
X-0.20 Move only in x direction until you pass
the center by 0.1 mm (facing)
F100 Set feed rate to 100 mm/min.
APT Program Interpretation
O0013
N0005 G53
N0010 T0404
N0020 G57 G00 X26.00 Z0.0 S500 M04
N0030 G01 X-0.20 F100
N0040 G00 Z2.0
G00 Move rapidly away from work piece (no cutting)
Z2.0 the movement is 2 mm away from the face.
APT Program Interpretation
O0013
N0005 G53
N0010 T0404
N0020 G57 G00 X26.00 Z0.0 S500 M04
N0030 G01 X-0.20 F100
N0040 G00 Z2.0
N0050 X50.0 Z50.0
Go to a safe location away from the
workpiece [x = 50 (25 from zero), z = 50] to
change the tool.
APT Program Interpretation
O0013
N0005 G53
N0010 T0404
N0020 G57 G00 X26.00 Z0.0 S500 M04
N0030 G01 X-0.20 F100
N0040 G00 Z2.0
N0050 X50.0 Z50.0
N0060 T0404
T0404 Select tool number 404
APT Program Interpretation
O0013
N0005 G53
N0010 T0404
N0020 G57 G00 X26.00 Z0.0 S500 M04
N0030 G01 X-0.20 F100
N0040 G00 Z2.0
N0050 X50.0 Z50.0
N0060 T0404
N0070 G57 G00 X22.50 Z2.0 S500
G57 PS0
G00 Rapid movement (no cutting)
X22.50 X location (as a diameter; 11.25 form zero)
Z2.0 Z location
S500 Spindle speed is 500 rpm
APT Program Interpretation
O0013
N0005 G53
N0010 T0404
N0020 G57 G00 X26.00 Z0.0 S500 M04
N0030 G01 X-0.20 F100
N0040 G00 Z2.0
N0050 X50.0 Z50.0
N0060 T0404
N0070 G57 G00 X25.00 Z2.0 S500 M04
N0080 G01 Z-30.0 F100
G01 Linear interpolation (cutting)
Z-30 Move only in z direction (external turning)
F100 Set feed rate to 100 mm/min.
APT Program Interpretation
O0013
N0005 G53
N0010 T0404
N0020 G57 G00 X26.00 Z0.0 S500 M04
N0030 G01 X-0.20 F100
N0040 G00 Z2.0
N0050 X50.0 Z50.0
N0060 T0404
N0070 G57 G00 X25.00 Z2.0 S500 M04
N0080 G01 X22.5 Z-70.0 F100
N0090 G00 X23.0 Z2.0 S500
G00 Move rapidly away from work piece (no cutting) to
location x= 23.0 (11.50 from zero) and z = 2.0.
O0013 APT Program Interpretation
N0005 G53
N0010 T0404
N0020 G57 G00 X26.00 Z0.0 S500 M04
N0030 G01 X-0.20 F100
N0040 G00 Z2.0
N0050 X50.0 Z50.0
N0060 T0404
N0070 G57 G00 X25.00 Z2.0 S500 M04
N0080 G01 X22.5 Z-70.0 F100
N0090 G00 X26.0 Z2.0 S500
N0100 G84 X17.5 Z-20.0 D0=200 D2=200 D3=650
G84 Turning cycle for machining the step
X17.5 final diameter
Z-20 length of step is 20 mm
D0=200 Finish allowance in X direction (0.2 mm) D2=200 Finish
allowance in Z direction (0.2 mm)
D3=650 Depth of cut in each pass (0.65 mm)
APT Program Interpretation
O0013
N0005 G53
N0010 T0404
N0020 G57 G00 X26.00 Z0.0 S500 M04
N0030 G01 X-0.20 F100
N0040 G00 Z2.0
N0050 X50.0 Z50.0
N0060 T0404
N0070 G57 G00 X25.00 Z2.0 S500 M04
N0080 G01 X22.5 Z-70.0 F100
N0090 G00 X26.0 Z2.0 S500
N0100 G84 X17.5 Z-20.0 D0=200 D2=200 D3=650
N0110 G00 Z2.0
G00 Move rapidly away from workpiece (no cutting)
Z2.0 the movement is 2 mm away from the face.
APT Program Interpretation
O0013
N0005 G53
N0010 T0404
N0020 G57 G00 X26.00 Z0.0 S500 M04
N0030 G01 X-0.20 F100
N0040 G00 Z2.0
N0050 X50.0 Z50.0
N0060 T0404
N0070 G57 G00 X25.00 Z2.0 S500 M04
N0080 G01 X22.5 Z-70.0 F100
N0090 G00 X26.0 Z2.0 S500
N0100 G84 X17.5 Z-20.0 D0=200 D2=200 D3=650
N0110 G00 Z2.0
N0120 X50.0 Z50.0
X50.0 Z50.0 Move to the tool changing location
APT Program Interpretation
O0013
N0005 G53
N0010 T0404
N0020 G57 G00 X26.00 Z0.0 S500 M04
N0030 G01 X-0.20 F100
N0040 G00 Z2.0
N0050 X50.0 Z50.0
N0060 T0404
N0070 G57 G00 X25.00 Z2.0 S500 M04
N0080 G01 X22.5 Z-70.0 F100
N0090 G00 X26.0 Z2.0 S500
N0100 G84 X17.5 Z-20.0 D0=200 D2=200 D3=650
N0110 G00 Z2.0
N0120 X50.0 Z50.0 T00
N0130 M30
M30 Program End
Programming Example
Programming Example
Tool Change
G55 X200 Y80
Program 2
N001 M06 T2
x N002 M03 rpm 400
N003 G01 X-8 Y0 Z0 XYFeed 150
N004 G01 X20 Y15 Z10 XYFeed 150 ZFeed 150
N005 G01 X20 Y15 Z-10 ZFeed 75
N006 G01 X20 Y15 Z10 ZFeed 150
N007 G01 X50 Y15 Z10 ZFeed 150
N008 G01 X50 Y15 Z-10 ZFeed 75
N009 G01 X50 Y15 Z10 ZFeed 150
N010 G01 X50 Y45 Z10 ZFeed 150
N011 G01 X50 Y45 Z-10 ZFeed 75
N012 G01 X50 Y45 Z10 ZFeed 150
N013 M05
N014 M02
Program Interpretation
G55 X200 Y80
Setting the datum to the lower left corner of the work piece
Program Interpretation
G55 X200 Y80
Program 1
Spindle Off
Program Interpretation
G55 X200 Y80
Program 1
N001 M06 T1
N002 M03 rpm 400
N003 G01 X-8 Y0 Z0 XYFeed 150
N004 G01 X-8 Y0 Z-0.5 ZFeed 150
N005 G01 X70 Y0 Z-0.5 XYFeed 75
N006 G01 X70 Y60 Z-0.5 XYFeed 75
N007 G01 X30 Y60 Z-0.5 XYFeed 75
N008 G01 X0 Y40 Z-0.5 XYFeed 75
N009 G01 X0 Y0 Z-0.5 XYFeed 75
N010 G81 R3 E9 N7 Z-0.5
N011 M05
N012 M02
End Program
Program Interpretation
Tool Change
Tool Change
G55 X200 Y80
Program 2
Tool Change
G55 X200 Y80
Program 2
N001 M06 T2
Tool Change
G55 X200 Y80
Program 2
N001 M06 T2
N002 M03 rpm 400
Tool Change
G55 X200 Y80
Program 2
N001 M06 T2
N002 M03 rpm 400
N003 G01 X-8 Y0 Z0 XYFeed 150
Tool Change
G55 X200 Y80
Program 2
N001 M06 T2
N002 M03 rpm 400
N003 G01 X-8 Y0 Z0 XYFeed 150
N004 G01 X20 Y15 Z10 XYFeed 150 ZFeed 150
Tool Change
G55 X200 Y80
Program 2
N001 M06 T2
N002 M03 rpm 400
N003 G01 X-8 Y0 Z0 XYFeed 150
N004 G01 X20 Y15 Z10 XYFeed 150
ZFeed 150
N005 G01 X20 Y15 Z-10 ZFeed 75
Tool Change
G55 X200 Y80
Program 2
N001 M06 T2
N002 M03 rpm 400
N003 G01 X-8 Y0 Z0 XYFeed 150
N004 G01 X20 Y15 Z10 XYFeed 150 ZFeed 150
N005 G01 X20 Y15 Z-10 ZFeed 75
N006 G01 X20 Y15 Z10 ZFeed 150
Tool Change
G55 X200 Y80
Program 2
N001 M06 T2
N002 M03 rpm 400
N003 G01 X-8 Y0 Z0 XYFeed 150
N004 G01 X20 Y15 Z10 XYFeed 150 ZFeed 150
N005 G01 X20 Y15 Z-10 ZFeed 75
N006 G01 X20 Y15 Z10 ZFeed 150
N007 G01 X50 Y15 Z10 ZFeed 150