You are on page 1of 60

Numerical Control

Instructor: Dr Haris Aziz


Contents

1. Fundamentals of NC Technology
2. Computer Numerical Control
3. DNC
4. Applications of NC
5. Engineering Analysis of NC Positioning Systems
6. NC Part Programming
Numerical Control (NC) Defined
Programmable automation in which the mechanical
actions of a machine tool are controlled by a program
containing coded alphanumeric data

The alphanumeric data represent relative positions


between a workhead (e.g., cutting tool) and a workpart

When the current job is completed, a new program can be


entered for the next job
Basic Components of an NC System
1. Program of instructions
Part program in machining
2. Machine control unit
Controls the process
3. Processing equipment Program
Program Machine
Machine
Instructions
Instructions Control
Control Unit
Unit
Performs the process

Processing
Equipment
NC Coordinate System
For flat and prismatic (block-like) parts:
Milling and drilling operations
Conventional Cartesian coordinate system
Rotational axes about each linear axis
Right Hand Rule

For rotational parts:


Turning operations
Only x- and z-axes
Motion Control System
Point-to-Point systems
Also called position systems
System moves to a location and performs
an operation at that location (e.g., drilling)
Also applicable in robotics

Continuous path systems


Also called contouring systems in
machining
System performs an operation during
movement (e.g., milling and turning)
Interpolation Methods
1. Linear interpolation
Straight line between two
points in space
2. Circular interpolation
Circular arc defined by
starting point, end point,
center or radius, and
direction
3. Helical interpolation
Circular plus linear motion
4. Parabolic and cubic
interpolation
Free form curves using
higher order equations
Absolute vs. Incremental Positioning

Absolute positioning
Move is: x = 40, y = 50

Incremental positioning
Move is: x = 20, y = 30.
Computer Numerical Control (CNC)

Storage of more than one part program


Various forms of program input
Program editing at the machine tool
Fixed cycles and programming subroutines
Interpolation
Acceleration and deceleration computations
Communications interface
Diagnostics
Machine Control Unit of CNC
DNC>CNC>DNC
Direct numerical control (DNC) control of
multiple machine tools by a single (mainframe)
computer through direct connection and in real
time
1960s technology
Two way communication
Distributed numerical control (DNC) network
consisting of central computer connected to
machine tool MCUs, which are CNC
Present technology
Two way communication
Direct NC
Distributed NC
NC Applications

Machine tool applications:


Milling, drilling, turning, boring, grinding
Machining centers, turning centers, mill-turn
centers
Punch presses, thermal cutting machines, etc.
OtherNCComponent
applications:
insertion machines in electronics
Drafting machines (x-y plotters)
Coordinate measuring machines
Tape laying machines for polymer composites
Filament winding machines for polymer composites
Common NC Machining Operations

Turning

Drilling

Milling
CNC Horizontal Milling Machine
NC Application Characteristics (Machining)

Where NC is most appropriate:


1. Batch production
2. Repeat orders
3. Complex part geometries
4. Much metal needs to be removed from the starting
workpart
5. Many separate machining operations on the part
6. The part is expensive
Cost-Benefit of NC

Costs
High investment cost
High maintenance effort
Need for skilled programmers
High utilization required

Benefits
Cycle time reduction
Nonproductive time reduction
Greater accuracy and repeatability
Lower scrap rates
Reduced parts inventory and floor space
Operator skill-level reduced
NC Part Programming

1. Manual part programming


2. Manual data input
3. Computer-assisted part programming
4. Part programming using CAD/CAM
Manual Part Programming
Binary Coded Decimal System
Each of the ten digits in decimal system (0-9) is
coded with four-digit binary number
The binary numbers are added to give the value
BCD is compatible with 8 bits across tape
format, the original storage medium for NC
part programs
Eight bits can also be used for letters and
symbols
Creating Instructions for NC
Bit - 0 or 1 = absence or presence of hole in the
tape
Character - row of bits across the tape
Word - sequence of characters (e.g., y-axis
position)
Block - collection of words to form one complete
instruction
Part program - sequence of instructions (blocks)
Block Format
Organization of words within a block in NC part
program
Also known as tape format because the original
formats were designed for punched tape
Word address format - used on all modern CNC
controllers
Uses a letter prefix to identify each type of word
Spaces to separate words within the block
Allows any order of words in a block
Words can be omitted if their values do not change
from the previous block
Types of Words
N - sequence number prefix
G - preparatory words
Example: G00 = PTP rapid traverse move
X, Y, Z - prefixes for x, y, and z-axes
F - feed rate prefix
S - spindle speed
T - tool selection
M - miscellaneous command
Example: M07 = turn cutting fluid on
Example: Word Address Format
N001 G00 X07000 Y03000 M03
N002 Y06000
Cutter Off-Set
Cutter path must be offset
from actual part outline by
a distance equal to the
cutter radius
Issues in Manual Part Programming

Adequate for simple jobs, e.g., PTP drilling


Linear interpolation
G01 G94 X050.0 Y086.5 Z100.0 F40 S800
Circular interpolation
G02 G17 X088.0 Y040.0 R028.0 F30
Cutter offset
G42 G01 X100.0 Y040.0 D05
Computer Assisted Part Programming
Write machine instructions using natural language
type statements
Statements translated into machine code of the MCU
APT (Automatically Programmed Tool) Language

The various tasks in


computer-assisted part
programming are divided
between;
1) The human part programmer
2) The computer

Sequence of activities in computer-assisted part
programming
Part Programmers Job
Two main tasks of the programmer:
1. Define the part geometry
2. Specify the tool path
Defining Part Geometry
Underlying assumption: no matter how complex the part
geometry, it is composed of basic geometric elements and
mathematically defined surfaces
Geometry elements are sometimes defined only for use in
specifying tool path
Examples of part geometry definitions:
P4 = POINT/35,90,0
L1 = LINE/P1,P2
C1 = CIRCLE/CENTER,P8,RADIUS,30
Specifying Tool Path and Operation
Sequence
Tool path consists of a sequence of points or connected
line and arc segments, using previously defined geometry
elements
Point-to-Point command:
GOTO/P0
Continuous path command
GOLFT/L2,TANTO,C1
Other Functions in Computer Assisted
Part Programming
Specifying cutting speeds and feed rates
Designating cutter size (for tool offset calculations)
Specifying tolerances in circular interpolation
Naming the program
Identifying the machine tool
Computer Task in Computer Assisted
Part Programming
1. Input translation - converts the coded instructions in the
part program into computer-usable form
2. Arithmetic and cutter offset computations - performs the
mathematical computations to define the part surface and
generate the tool path, including cutter offset
compensation (CLFILE)
3. Editing - provides readable data on cutter locations and
machine tool operating commands (CLDATA)
4. Postprocessing - converts CLDATA into low-level code
that can be interpreted by the MCU
NC Part Programming Using CAD/CAM
Geometry definition
If the CAD/CAM system was used to define the original
part geometry, no need to recreate that geometry as in
APT
Automatic labeling of geometry elements
If the CAD part data are not available, geometry must
be created, as in APT, but user gets immediate visual
feedback about the created geometry
Tool Path Generation Using CAD/CAM

Basic approach: enter the commands one by one (similar


to APT)
CAD/CAM system provides immediate graphical
verification of the command
Automatic software modules for common machining
cycles
Profile milling
Pocket milling
Drilling bolt circles
NC Part Programming using CAD/CAM
Example of Machining Cycle in Automated
Part Programming Module

Pocket milling

Contour turning
Example of Machining Cycle in Automated
Part Programming Module

Facing and shoulder facing

Threading (external)
Manual Data Input
Machine operator does part
programming at machine
Operator enters program by
responding to prompts and
questions by system
Monitor with graphics verifies tool
path
Usually for relatively simple parts
Ideal for small shop that cannot afford
a part programming staff
To minimize changeover time, system
should allow programming of next job
while current job is running
Analysis of NC positioning
Two types of NC positioning systems:
1. Open-loop - no feedback to verify that the actual
position achieved is the desired position
2. Closed-loop - uses feedback measurements to
confirm that the final position is the specified
position
Precision in NC 1. positioning
Control resolution
- three measures:
2. Accuracy
3. Repeatability
Open loop Motion Control System

Operates without verifying that the actual position


achieved in the move is the desired position
An open loop positioning system typically uses a stepping
motor to rotate the lead screw . The step angle can be
calculated by the help of following relationship
= 360/ ns
= Step Angle
ns = The number of step angles for the motor, which must be
an integer.

The angle through which the motor shaft rotates is given


by
Am = n p
Am= Angle of motor shaft rotation (degrees)
np = Number Of Pulse Received By The Motor
= Step Angle (degrees/pulse)
The motor shaft is connected to the lead screw through a
gear box and the gear ratio must take into account as
follows
A= np / rg
A= Angle of lead screw rotation (degrees)
rg (Gear ratio) = Am /A = Nm /N
Nm = Rotational speed of the motor (rev/min)
N = Rotational speed of the lead screw (rev/min)
The linear movement of the worktable can be calculated as
x=pA/360
x= x-axis position relative to the starting position (mm, inch)
p = pitch of the lead screw (mm/rev, inch/rev)
A/360 = number of lead screw
Number of pulses required to achieve a specified x-position
increment can be calculated as
np = 360xrg/p = nsx rg/p
The rotational speed of the lead screw depends on the frequency of
the pulse train as follows
N= 60fp/ns rg
N= lead screw rotational speed (rev/min)
fp = Pulse train frequency (Hz, pulse/sec)
The table travel speed in the direction of lead screw axis can be
determined as follows
vt = fr = Np
Vt = Table travel speed (mm/min, inch/min)
fr = Table feed rate (mm/min, inch/min)
p = lead screw pitch (mm/rev, inch/rev)
Rearranging to solve for fp
fp = vt ns rg / 60p = ft ns rg / 60p
Example: open loop positioning
The worktable of a positioning system is driven by a leadserew
whose pitch =6.0 mm. The leadscrew is connected to the
output shaft of a stepping motor through a gearbox whose
ratio is 5:1 (5 turns of the motor to one turn of the
leadscrew). The stepping motor has 48 step angles. The
table must move a distance of 250 mm from its present
position at a linear velocity = 500 mm/min Determine (a)
how many pulses are required to move the table the
specified distance and (b) the required motor speed and
pulse rate to achieve the desired table velocity.
(a) the teadscrew rotation angle A corresponding
to a distance x = 250 mm,
(b) The rotational speed of the leadscrew corresponding to
a table speed of 500 mm/min can be determined from
Closed Loop Motion Control System

Uses feedback measurements to confirm that the final


position of the worktable is the location specified in the
program
Optical Encoder

Device for measuring rotational position and speed


Common feedback sensor for closed-loop NC control
The angle between the slots in the disk must satisfy the following
requirement
= 360 / ns
ns = number of slots in the disk (slots/rev)
The number of pulses sensed by the encoder
np = A e /
np = pulse count emitted by the encoder
Ae = angle of rotation 0f the encoder shaft
= angle between slots (degrees/ slot)
The linear x-axis position of the work table can be calculated as
x= pnp /ns rge
rge = gear reduction between the encoder and the lead screw,
defined as the number of turns of the encoder shaft for each single
turn of the lead screw.
rge = Ae / A = Ne/N
Ne = Rotational speed of the encoder shaft (rev/min)
The velocity of the work table can be
obtained from the frequency of the pulse
train as follows
vt = fr = 60 p fp / ns rge
fr = feed rate (mm/min, inch/min)
fp = frequency of the pulse train
emitted by the optical encoder (Hz,
pulse/sec)
Example: Closed Loop
An NC worktable operates by closed-loop positioning. The
system consists of a servomotor, leadscrew, and optical
encoder. The leadscrew has a pitch = 6.0 mm and is coupled
to the motor shaft with a gear ratio of 5:1 (5 turns of the drive
motor for each turn of the leadscrcw). The optical encoder
generates 48 pulses/rev of its output shaft. The encoder
output shaft is coupled to the leadscrew with a 4:1 reduction
(4 turns of the encoder shaft for each turn of the leadscrew).
The table has been programmed to move a distance of 250
mm at a feed rate = 500 mm/min. Determine (a) how many
pulses should be received by the control system to verify that
the table has moved exactly 250 mm, (b) the pulse rate of the
encoder, and (c) the drive motor speed that correspond to the
specified feed rate
a
Precision NC positioning
Three measures of precision:
1. Control resolution - distance separating two adjacent
addressable points in the axis movement
2. Accuracy - maximum possible error that can occur
between the desired target point and the actual position
taken by the system
3. Repeatability - defined as 3 of the mechanical error
distribution associated with the axis
Precision
Example: Control Resolution, Accuraq, and
Repeatability in NC