You are on page 1of 225

CAM

COMPUTER AIDED
MANUFACTURING

Course Instructor:
Dr. Maaz Akhtar
CAD/CAM
1. CAD/CAM is a term which means computer-aided design and
computer-aided manufacturing.

2. It is the technology concerned with the use of digital computers to


perform certain functions in design and production.

3. It is a bridge between design and manufacturing.

Definition-CAM
Computer-aided manufacturing (CAM) can be defined as the use of
computer systems to plan, manage, and control the operations of a
manufacturing plant through either direct or indirect computer interface
with the plant’s production resources.
COMPUTER PROCESS MONITORING:
(DIRECT INTERFACE)
These are the direct applications in which the computer is connected
directly to the manufacturing process for the purpose of monitoring or
controlling the process.

 Computer process monitoring involves a direct computer interface

with the manufacturing process for the purpose of observing the


process and associated equipment and collecting data from the
process.
COMPUTER PROCESS CONTROL:
(DIRECT INTERFACE)
 Computer process control goes one step further than monitoring by

not only observing the process but also controlling it based on the
observations. Signals are transmitted from the process to the
computer, just as in the case of computer monitoring. In addition, the
computer issues command signals directly to the manufacturing
process based on the control algorithm contained in its software.
COMPUTER MONITORING AND CONTROL:
(DIRECT INTERFACE)
1. Shop floor control (detailed management of activities and the flow
of materials inside the plant - including the workers, materials,
machines and time).
2. Quality Control
3. Inventory Control
PLANNING AND MANAGING (MANUFACTURING
SUPPORT APPLICATIONS): (INDIRECT INTERFACE)

These are the indirect applications in which the computer is used in


support of the production operations in the plant, but there is no direct
interface between the computer and the manufacturing process.
PLANNING AND MANAGING (MANUFACTURING
SUPPORT APPLICATIONS): (INDIRECT INTERFACE)
Some examples of CAM for manufacturing support are

1. Numerical control part programming by computers


2. Computer-automated process planning
3. Computerized machinability data system.
4. Computer-generated work standard
5. Production scheduling
6. Material requirement planning
7. Computer aided line balancing
THE PRODUCT CYCLE AND CAD/CAM
 Product Cycle: Various activities and functions that must be
accomplished in the design and manufacture of a product is termed
as the product cycle.

Product Design
Drafting
Concept Engineering

Customers Process
& Market Planning

Quality Production
Production
Control Scheduling

Figure-1 Product Cycle without CAD/CAM


Figure-1 Product Cycle without CAD/CAM
Computer-automated
Computer-aided
drafting &
design
documentation

Product Design
Drafting
Concept Engineering

Customers Process Computer-aided


& Market Planning process planning

Quality Production
Production
Control Scheduling

Computer- Computerized
Computer controlled
aided scheduling, MRP,
robots, machines, etc.
quality control shop floor control

Figure-1 Product Cycle with CAD/CAM


Product Cycle with CAD/CAM
CONVENTIONAL NUMERICAL CONTROL
Definition
Programmable automation in which the mechanical actions of a
‘machine tool’ are controlled by a program containing coded
alphanumeric data that represents relative positions between a work
head (e.g., cutting tool) and a work part.
CONVENTIONAL NUMERICAL CONTROL
Motivation
 To manufacture complex curved geometries in 2D or 3D was
extremely expensive by mechanical means (which usually would
require complex jigs to control the cutter motions)
 Machining components with repeatable accuracy
 Unmanned machining operations

NC technology has been applied to a wide variety of operations,


including machining, assembly, inspection, sheet metal press-
working, and spot welding.
CONVENTIONAL NUMERICAL CONTROL
History
 Late 1940s
John T. Parsons (contractor of USAF) introduced a method of using punched card
containing coordinate points of complex three dimensional profiles to control a
machine tool. The machine was directed to move in small increments, thus
generating the desire surface of a helicopter blade.
 1948
Parsons demonstrated his first concept to the U.S. Air Force.
 1951
MIT was involved in the project.
 1952
MIT demonstrated first prototype of vertical NC milling machine (punched tape
input).
 1955
After refinements commercially available NC machines were displayed at National
Machine Tool Show
BASIC COMPONENTS OF AN NC SYSTEM

A typical NC system consists of the following three elements


1. Program of instruction
2. Machine control unit (MCU)
3. Machine tool or other controlled process
BASIC COMPONENTS OF AN NC SYSTEM

Program of Instruction:
 The program of instructions is the detailed step-by-step set of
directions which tell the machine tool what to do.
 It is coded in alphanumerical and symbolic form on some type of
input medium that can be interpreted by the controller unit. The
most common input medium today is 1-inch wide punched tape.
BASIC COMPONENTS OF AN NC SYSTEM
There are two other methods of input to the NC system:
1. Manual data input (MDI)
2. Direct link with the computer (DNC)

Controller Unit

The second basic component of the NC system is the controller unit.


This consists of the electronics and hardware that read and interpret
the program of instructions and convert it into mechanical actions of
the machine.
BASIC COMPONENTS OF AN NC SYSTEM
Typical elements of a conventional NC controller unit
 Tape reader
 Data Buffer
 Signal output channels to the machine tool
 Feed-back channels from the machine tool
 Sequence controls

Machine tool
The third basic component of an NC system is the machine tool.
THE NC PROCEDURE
 Process Planning
 Part Programming
1. Manual Part programming
2. Computer-assisted part programming
 Tape preparation
 Tape verification
 Production
NC COORDINATE SYSTEM
In order for the part programmer to plan the sequence of positions and
movements of the cutting tool relative to the work-piece, it is necessary to
establish a standard axis system.

 All the machine tools make use of Cartesian coordinate system for the
sake of simplicity.
 The familiar right hand coordinate system is used for designating the
axes
 In addition to the three linear axes, milling machine may have the
capacity to control one or more rotational axes.
FIXED ZERO AND FLOATING ZERO
 The Programmer must determine the position of the tool relative to
the origin (zero point) of the coordinate system.
 NC machines have two methods for specifying the zero point.
 Fixed zero
 Floating zero

Fixed zero
The origin is always located at the same position on the machine table.
Usually, the position is the lower left-hand corner of the table and all
tool locations are defined by positive x & y coordinates.
FIXED ZERO AND FLOATING ZERO

Floating zero
This is more common feature on modern NC machines, which allows
the machine operator to set the zero point at any position on the
machine table.
 The part programmer decides the location of zero point
 The decision is based on part programmer’s convenience
 The location of zero point is communicated to the machine operator
 At the beginning of the job, the operator moves the tool manually to
the target point
 The target point is some convenient place for the operator (corner
point, pre drilled hole etc.)
FIXED ZERO AND FLOATING ZERO
 The target point has been referenced to the zero point by the
programmer.
 When the tool has been positioned at the target point, the machine
operator presses a “zero” button to define the origin point.

t
poin
o
Zer

Target point

M/C coordinate system


NC MOTION CONTROL SYSTEM
There are four basic types of motion control systems.

Point-to-point NC
Sometimes it is also called a positioning system. The objective of
machine tool control system is to move the cutting tool to a
predefined location.

Straight-cut NC
Straight cut control systems are capable of moving the cutting
tool parallel to one of the major axis at a controlled rate suitable
for machining.
NC MOTION CONTROL SYSTEM

2-Axis Contouring NC
Contouring is the most complex, the most flexible, and the most
expensive type of machine tool control. It is capable of
performing both PTP and Straight-cut operations. It has
simultaneous control of more than one axis movement of the
machine tool.

3-Axis Contouring NC
It can control three axis simultaneously. Suitable for machining
3D complex profiles encountered in industrial practice such as
aerospace components, mould and dies etc.
INTERPOLATION METHODS
 The selection of appropriate interpolation method is important for 2 and 3
axis contouring jobs.
 The paths that a contouring-type NC system is required to machine often
consist of circular arcs and other smooth nonlinear shapes.
 Some of these shapes can be defined mathematically by relatively simple
geometric formulas.
 Whereas others cannot be mathematically defined except by
approximation.
 In any case, a fundamental problem in generating these shapes using NC
equipment is that these shapes are continuous, whereas NC is digital.
 To solve this problem the path (circle or any other free form curve) must
be divided into a series of straight line segments that approximate the path.
INTERPOLATION METHODS
 The tool is commanded to machine each line segment in succession so that
the machined path closely matches the desired path.
 The maximum error between the nominal (desired) surface and the actual
(machined) surface can be controlled by the lengths of the individual line
segments,
INTERPOLATION METHODS
 If the programmer were required to specify the endpoints for each of the
line segments (to machine along a curve), the programming task would be
extremely laborious and likely to errors. Also, the part program would be
extremely long because of the large number of points.
 To ease the burden, interpolation routines have been developed that
calculate the intermediate points to be followed by the cutter to generate a
particular mathematically defined or approximated path.
 A number of interpolation methods are available to deal with smooth
continuous path in contouring.
1. Linear interpolation

2. Circular interpolation

3. Helical interpolation

4. Parabolic interpolation

5. Cubic interpolation
INTERPOLATION METHODS
 Linear interpolation:
This is the most basic and used method when a straight line path is to be
generated in continuous path NC. The programmer specifies the beginning
point and end point of the straight line and the feed rate to be used along
the straight line. The interpolator computes the feed rates for each of the
two (or three) axes to achieve the specified feed rate.
 Circular interpolation:
This method permits programming of a circular arc by specifying the
following parameters: (1) the coordinates of the starting point, (2) the
coordinates of the endpoint, (3) either the center or radius of the arc. The
generated tool path consists of a series of small straight line segments
calculated by the interpolation module.
INTERPOLATION METHODS
 Helical interpolation:
This method combines the circular interpolation scheme for two axes
described above with linear movement of a third axis. This permits the
definition of a helical path in three-dimensional space. Applications
Include the machining of large Internal threads.
 Parabolic and cubic interpolation:
These routines provide approximations of free form curves using higher
order equations. Most applications are in the aerospace and automotive
Industries for free form designs that cannot accurately and conveniently be
approximated by combining linear and circular interpolations
ABSOLUTE AND INCREMENTAL POSITIONING
Another option sometimes available to the part programmer is to use either
an absolute system of tool positioning or an incremental system.

Absolute system
It is always defined with respect to
the zero point.

Incremental system
It is defined with reference to the
previous tool location.
NC PART PROGRAMMING
CHAP # 8
THE PUNCHED TAPE IN NC
TAPE CODING AND FORMAT

NC tape coding
 There are eight regular columns of holes.
 There is also a ninth column of holes between the 3rd and
4th regular columns used as sprocket holes.
 The coding of the tape is provided by either the presence or
absence of a hole, hence it becomes the binary code.
 It uses the base 2 number system, which can represent any
number in the decimal system.
 Besides numbers, alphabetical letters and other symbols can
also be coded.
 Eight columns provide more than enough binary digits to
define any of the required symbols.
TAPE CODING AND FORMAT

How Instructions are formed


 A complete row makes a character, which represents a letter,
number, or other symbol.
 A word is a collection of characters
 A block is a collection of words.
 A block of words is a complete NC instruction.
 To separate blocks, an end-of-block (EOB) symbol is used.
 The tape reader feeds the data from the tape into the buffer in
blocks.
TAPE CODING AND FORMAT

NC words
 Sequence number (n-word): N10, N20, N100.
 Preparatory word (g-word): g00, g01, g02.
 Coordinates (x-,y-, and z-words): x+9.4625, y-23.6845
 Feed rate (f-word): f30.
 Cutting speed (s-word): s2000
 Tool selection (t-word): t05
 Miscellaneous function (m-word): m03 (start spindle).
MANUAL PART PROGRAMMING
 To prepare a part program using the manual method, the
programmer writes the machining instructions on a special
form called a part programming manuscript.
 Manuscripts come in various forms, depending on the
machine tool and tape format to be used.
 The manuscript is a listing of the relative tool and work-piece
positions.
 It also include other type of data, such as miscellaneous
instructions, and speed/feed specifications.
 Except for complex parts with many holes, manual
programming is ideally suited for PTP applications.
 On the other side, except for the simple jobs, manual
programming become quite time consuming for contouring
jobs.
EXAMPLE
Suppose that the part to be programmed is a drilling job. The engineering
drawings for the part is presented in the figure. Three holes are to be drilled
at a diameter of 0.484-in. The close hole size tolerance requires reaming to
0.5-in dia. Recommended parameters are as follows:

Speed (rpm) Feed (in/min)


0.484-in dia. drill 592 3.55
0.5-in dia. reamer 382 3.82

Drill bits are manually changed by the machine operator. The machine has the
floating-zero feature and absolute positioning.
EXAMPLE-1:Write an NC program (G & M codes) using
SIMCO-Edit software.
EXAMPLE-1:Write an NC program (G & M codes) using
SIMCO-Edit software.

(Workpiece Size: X4, Y3, Z1)


(Tool: Tool #2, 1/4" Slot Drill)
(Tool Start Position: X0, Y0, Z1)
N2 G90 G80 G40 G54 G20 G17 G50 G94 G64 (safety block)
N5 G90 G20
N10 M06 T2 G43 H2
N15 M03 S1200
N20 G00 X1 Y1
N25 Z0.1
N30 G01 Z-0.1 F5
N35 G02 X2 Y2 I1 J0 F20 (Arc feed CW, radius I1,J0 at 20 ipm)
N40 G01 X3.5
N45 G02 X3 Y0.5 R2 (Arc feed CW, radius 2)
N50 X1 Y1 R2 (Arc feed CW, radius 2)
N55 G00 Z0.1
N60 X2 Y1.5
N65 G01 Z-0.25
N70 G02 X2 Y1.5 I0.25 J-0.25 (Full circle arc feed move CW)
N75 G00 Z1
N80 X0 Y0
N85 M05
N90 M30
EXAMPLE-1:Write an NC program (G & M codes) using
SIMCO-Edit software.

Y
30 40

P3 L3
C1
L2 R20
135
P2

L4
L1
80

20 C2
R20

P1 L5 P4
20

P0 X
EXAMPLE-2:Write an NC program (G & M codes) using
SIMCO-Edit software.
G93/92 (PROGRAMMABLE ABSOLUTE ZERO POINT
SHIFT)

N_ G93 X_ Y_ Z_

 G92 makes the current point have the coordinates you want to
assign (without motion)
 When G92 is executed, the origins of all coordinate systems move.
They move such that the value of the current controlled point, in the
currently active coordinate system, becomes the specified value.
 G92 X__ Y__ Z__;
G93 (PROGRAMMABLE ABSOLUTE ZERO POINT SHIFT)
2.0
N2 G90 G54 G20 G17 (safety block)
N5 G90 G20
N10 M06 T2 G43 H2
N15 M03 S1200
2.0 N20 G00 X1 Y1
N21 G01 X3
1.0 N21 Y3
N22 X1
N23 Y1
1.0 N24 G92 X2 Y2
1.0 1.0 N25 X3
N26 Y3
N27 X2
N28 Y2
G93 (PROGRAMMABLE ABSOLUTE ZERO POINT SHIFT)
2.0
N2 G90 G54 G20 G17 (safety block)
N5 G90 G20
N10 M06 T2 G43 H2
N15 M03 S1200
2.0 N20 G00 X1 Y1
N21 G01 X3
1.0 N21 Y3
N22 X1
N23 Y1
1.0 N24 G92 X0 Y0
1.0 1.0 N25 X1
N26 Y1
N27 X0
N28 Y0
G93 (PROGRAMMABLE ZERO POINT SHIFT)
G92/G93 (PROGRAMMABLE ZERO POINT SHIFT)
%
O1000
(DATE: 7/11/2012 11:02:08 AM)
(PROGRAMMER: TEACHER)
N5 G00 G40 G49 G80 G90
N6 T1 M06
N7 S4000 M03
N8 G00 X0.0 Y0.0
N9 G00 G43 H1 Z0.0
N10 G01 x100
N12 Y80
N13 x0
N14 y0
N15 G01x25y20
N16 G93x25y20
N17 x50
N18 y40
N19 x0
N20 y0
G-28 (REFERENCE POINT RETURN)
 The reference point is a fixed position on the machine, to which
the tool can be moved.
 A G28 code instructs the tool to automatically move to this
reference point.
 The return to reference point is often used to move the part
forward so you can remove chips from the part and inspect the
part.
 A G28 code instructs the tool to automatically move to this
reference point.
 A G28 command is written in the following format :
 G9Ø G28 X _ _ _ _ Y _ _ _ _ Z _ _ _ _ ; OR
 G91 G28 X _ _ _ _ Y _ _ _ _ Z _ _ _ _ ;
G-28 (REFERENCE POINT RETURN)
 Where X, Y and Z can be used to indicate an intermediate point,
through which the tool will pass, before continuing to the reference
point.
G-28 (WITH INTERMEDIATE POINT)
 The diagram below shows how the tool could collide with
the billet when moving towards the reference point.
G-28 (WITH INTERMEDIATE POINT)
 To avoid this collision, the tool is sent on a path which includes
the additional, or intermediate, point P2.

 The above tool-path can be programmed as follows (In absolute


mode, G9Ø):
G9Ø G28 X6Ø Z6Ø ; OR G91 G28 XØ Z3Ø ;
G-28 (WITHOUT INTERMEDIATE POINT)
 In the diagram below, the tool is in a position (P1) where no
collision is possible. The intermediate point, in this case, is not
required.
 Therefore, the block can be written as follows (In incremental
mode, G91):

G91 G28 XØ YØ ZØ ;

Note:
The intermediate point co-
ordinates are still stated, but their
values are set to zero (using
G91), means no axis movement
towards intermediate point.
TOOL RADIUS COMPENSATION
 If cutter compensation is not used, you must take into
account the cutter’s radius in your program.
 Once compensation is on, ignore the cutter’s size and
program as if the cutter has 0 diameter. This usually
simplifies programming, especially arc programming.
TOOL RADIUS COMPENSATION
 The operation instructing a machine to switch to cutter
compensation mode is called the start-up block, or ramping on
block.
 The start-up block should satisfy the following points:
 A G41 or G42 code must be contained in the block, or specified
in the previous block.
 A GØ1 X, Y, or X and Y move is specified in the block and the
distance of the linear move must be greater than the tool radius.
 The tool radius value, "R", entered into the tool offsets table must
not be ØØ.
 A GØ2 or GØ3 circular interpolation command cannot be specified in
the start-up block.
TOOL RADIUS COMPENSATION
 In cutter compensation start-up, two blocks are read into the
machine controller. The first block is performed and the second
block is entered and held in memory.
 This is because cutter compensation always needs to know what
happens in the move following the one being currently
performed.
2D EXAMPLE
2D EXAMPLE
G43/G49 TOOL LENGTH COMPENSATION

The G43 command compensates for tool length in a positive


direction.

G43 H____

where the H number is the desired index in the tool table.

It is strongly advised to put the G43 command on the same


line (block) as the T~ and the M06.

To use no tool length offset, use G49.


COMPLETE CNC PROGRAM

(Sample Program M00EX1:)


(Workpiece Size: X4, Y3, Z1)
(Tool: Tool #2, 1/4" Slot Drill)
(Tool Start Position: X0, Y0, Z1)

N2 G90 G80 G40 G54 G20 G17 G94 (safety block)


N10 M06 T2 G43 H2
N15 M03 S1200
N20 G00 X1 Y1
N25 Z0.1
N30 G01 Z-0.125 F5
N35 M00 (Program stop invoked)
N40 G01 X3
N45 G00 Z1
N50 X0 Y0
N55 M05
N60 M30
CANCEL/ACTIVATE ZERO POINT SHIFT
G53/G54---G59
CANCEL/ACTIVATE ZERO POINT SHIFT
G53/G54---G59
CANCEL/ACTIVATE ZERO POINT SHIFT
G53/G54---G59

Zero point shift offsets the part zero point to a new position. The
coordinate values of which are stored in the zero point memory
(under the relevant number).
CANCEL/ACTIVATE ZERO POINT SHIFT
G53/G54---G59
CANCEL/ACTIVATE ZERO POINT SHIFT
G53/G54---G59
COMPUTER-ASSISTED PART
PROGRAMMING
 In the more complicated PTP jobs and in contouring applications,
manual part programming becomes an extremely tedious task
and subject to errors.
 In these instances it is much more appropriate to use the high-
speed digital computer to assist in the part programming process.
 Many part programming language systems have been developed
to perform automatically most of the calculations.
 In computer assisted part programming the machining
instructions are written English-like statements of the NC
programming language.
 These statements are processed by the computer to prepare the
tape.
 The computer automatically punches the tape in the proper tape
format for the particular machine.
THE PART PROGRAMMER’S JOB
The part programmer’s responsibility in computer-assisted part
programming consists of two basic steps:
 Defining the work-part geometry
 Specifying the operation sequence and tool path
DEFINING THE WORK-PART GEOMETRY
 No matter how complicated the work-part may appear, it is
composed of basic geometric elements, points, straight lines,
planes, circles, cylinders, and other mathematically defined
surfaces.
 It is the part programmer’s task to identify the elements out
of which the part is composed.
 Each geometric element must be identified and the
dimensions and location of the element explicitly defined.
SPECIFYING THE OPERATION SEQUENCE AND
TOOL PATH
 After defining the work-part geometry, the programmer must
next construct the path that the cutter will follow to machine
the part.
 It involves a detailed step-by-step sequence of cutter moves.
 The moves are made along the geometry elements, which
have already been defined.
 The programmer can use the various motion commands to
create these movements.
THE COMPUTER’S JOB
 The computer’s job in computer-assisted part programming
consists of the following
1. Input translation
2. Arithmetic calculations
3. Cutter offset computation
4. Postprocessor
THE COMPUTER’S JOB
Input Translation
 The part programmer enters the program written in APT or
other language
 The input translation component converts the coded
instructions into computer-usable form for further processing.

1. Syntax check of the input code to identify errors in format,


punctuation, spelling etc.
2. Assigning sequence number to each APT statement.
3. Converting geometry elements into suitable form for
computer processing
4. Generating intermediate file called PROFIL that is utilized in
subsequent arithmetic calculations
THE COMPUTER’S JOB
Arithmetic Calculations
 It is a set of subroutines for solving the mathematics required
to generate the part surface and generate tool-path.
 The arithmetic calculations are performed on the PROFIL file.
 It frees the programmer from the time-consuming and error-
prone geometry and trigonometry calculations.
 The output of this module is CLFILE.

Cutter offset computation


 The second task of the part programmer is to construct the
tool path. However, the actual tool path is different from the
part outline.
 The actual tool path is achieved by offsetting the path from the
desired part surface equal to the radius of the cutter.
THE COMPUTER’S JOB
Post-Processor
 NC machine systems are different, they have different features
and capabilities
 High-level programming languages are not intended for only
one machine tool type. They are designed to be general
purpose.
 The final task of the computer in computer-assisted part
programming is post-processing, in which the CLFILE file is
converted into low-level code that can be interpreted by the NC
controller.
 The output of post-processing is a part program consisting of
G-codes, x-, y-, and z-coordinates, S,F,M, and other functions in
word address format.
 A unique post-processor must be written fro each machine tool
system.
NC PART PROGRAMMING LANGUAGES
 APT (Automatically Programmed Tool)
 ADAPT (Adaption of APT)
 EXAPT (Extended subset of APT)
 UNIAPT
 SPLIT (Sundstrand Processing Language Internally Translated)
 COMPACT II
 PROMPT
 CINTURN II

The most widely used NC part programming language is APT.


APT LANGUAGES
 APT is a three dimensional system that can be used to control
up to 5-axes.
 Our discussion is limited to the more familiar axes, x, y, and z,
and excluding the rotational coordinates.
 APT can be used to control a variety of different machining
operations, but we will cover only drilling and milling
applications.
 There are four types of statements in APT language:

1. Geometric Statements
2. Motion Statements
3. Post-processor statements
4. Auxiliary Statements
GEOMETRIC STATEMENTS
 These define the geometric elements that comprise the work-part.
 The general form of an APT geometry statement is

Symbol = geometry type / descriptive data

Symbol: To identify the geometric element


Geometry type: To identify the type of geometric element (should be
APT vocabulary word)
Descriptive data: To define the geometric element precisely

Example:

P1 = POINT / 5.0, 4.0, 0.0


 L3 = LINE / P3, P4

 L4 = LINE / P5, PARLEL, L3

 PL1 = PLANE / P1, P4, P5

 PL2 = PLANE / P2, PARLEL, PL1

 C1 = CIRCLE / CENTER, P1, RADIUS, 5.0


EXAMPLE
 P0 = POINT / 0, -1.0, 0
 P1 = POINT / 6.0, 1.125, 0
 P2 = POINT / 0, 0, 0
 P3 = POINT / 6.0, 0, 0
 P4 = POINT / 1.75, 4.5, 0
 L1 = LINE / P2, P3
 C1 = CIRCLE / CENTER, P1, RADIUS, 1.125
 L2 = LINE / P4, LEFT, TANTO, C1
 L3 = LINE / P2, P4
 PL1 = PLANE / P2, P3, P4
MOTION STATEMENTS
 The general form of motion statement is

motion command/ descriptive data

Example:

GOTO/P1
 At the beginning of the motion statements, the tool must be given a
starting point.
 The part programmer keys into this starting position with the
following statement

FROM/TARG
POINT-TO-POINT MOTIONS
 There are only two basic PTP motion commands:
1. GOTO
2. GODLTA

 The GOTO statement instructs the tool to go to a particular point


location.
GOTO/2.0, 7.0, 0.0
 The GODLTA command specifies an incremental move for the tool.

Example: GODLTA/ 2.0, 7.0, 0.0

 GODLTA command is useful in drilling and related operations


EXAMPLE

P1=POINT/1.0, 2.0, 0
P2 = POINT/1.0, 1.0, 0
P3 = POINT/3.5, 1.5, 0
P0 = POINT/-1.0, 3.0, 2.0
FROM/P0
GOTO/P1 GOTO/P3
GODLTA/0, 0, -1.0 GODLTA/0, 0, -1.0
GODLTA/0, 0, +1.0 GODLTA/0, 0, +1.0
GOTO/P2 GOTO/P0
GODLTA/0, 0, -1.0
GODLTA/0, 0, +1.0
NC PROGRAMMING WITH INTERACTIVE
GRAPHICS

There are several innovations in NC part programming during the


1980s.
1. Use of CAD/CAM
2. Voice programming
3. Manual data input (MDI)
USE OF CAD/CAM
 The use of interactive graphics in NC programming is an excellent
example of the integration of computer-aided design and computer-
aided manufacturing.
 Using the same geometric data which defined the part during the
computer-aided design process, the programmer constructs the
tool-path using high-level commands to the system.
 In many cases the tool path is automatically generated by the
software of the CAD/CAM system.
 The output resulting from the procedure is a listing of the APT
program, which can be post processed to generate the NC punched
tape.
 All of the major CAD/CAM system vendors offer part programming
packages.
PROCEDURE

 The CAD/CAM procedure for NC programming begins with the


geometric definition of the part.
 A significant benefit of using a CAD/CAM system is realized when
these geometric data have already been created during design.
 The CAD/CAM systems accomplish the labeling of various surfaces
and elements of the geometry in response to a few simple
commands by the programmer.
 After labeling is completed, the APT geometry statements can be
generated automatically by the system.
 In addition to this facility, the part can be displayed at various
angles, magnifications, and cross sections to examine potential
problem areas in machining.
PROCEDURE

 Also, with the part defined in the computer, the programmer


overlay the outline of the raw work-part to consider the number of
passes required to complete the machining.
 Alternative methods of fixing the part can be explored using the
graphic terminal.
 Tool selection is the next step in the procedure. The CAD/CAM
system typically have a tool library. The part programmer could
either select one of these tools or create a new tool design by
specifying the parameters.
 At this point, the programmer has a geometric model of the work
part and the tools needed to machine the part. The next step is to
create the cutter path.
PROCEDURE

 The currently available commercial CAD/CAM systems use an


interactive approach, with certain common machining routines
being done automatically by the system (e.g. profile milling around
the part outline, end milling pocket, point-to-point, and surface
contouring).
 As the tool is being moved on the CRT screen, the corresponding
APT motion commands are automatically prepared by the
CAD/CAM system.
 At this stage the postprocessor statements (e.g. feed rate, speed,
and the control of the cutting fluid) can also be inserted.
 The use of color graphics is also very helpful to the programmer.
The part can be displayed in one color, while the tool path would be
shown in a different color.
PROCEDURE

 Another feature which aides visualization of the machining sequence


is dynamic tool path simulation on the screen.
 The simulated tool motion can be displayed in any of several modes:

1. High speed motion, which reduces the time to verify the tool path.

2. Actual speed, which shows the tool feed at the commanded rate.

3. Freeze mode, which stops the tool motion for close inspection.

4. Stepping mode, which displays the tool path in discrete steps.


ADVANTAGES OF CAD/CAM IN PROGRAMMING
 See from the book page # 206.
VOICE PROGRAMMING

 Voice programming of NC machines (VNC) involves vocal


communication of the machining procedure to a voice-input
NC tape-preparation system.
 VNC allows the programmer to avoid steps such as writing
the program by hand, keypunching or typing, and manual
verification.
 To perform the part programming process with VNC, the
operator speaks into a microphone designed to reduce
background noise.
 Communication of the programming instructions is in shop
language with such terms as, turn, thread, and mill line,
together with numbers to provide dimensional and
coordinate data.
VOICE PROGRAMMING

 The entire vocabulary for the Threshold system contains


about 100 words.
 Most NC programming jobs can be completed by using
about 30 of these vocabulary words.
 In talking to the system, the programmer must isolate each
word by pausing before and after the word.
 The pause must be only 1/10 of a second or longer.
 Typical word input rates under this restriction are claimed
to be about 70/min.
 As the words are spoken, a CRT terminal in front of the
operator verifies each command and prompt for the next
command.
EXAMPLE
 A typical dialogue between the VNC system (printing on the
CRT screen) and the programmer (speaking) might go as
follows for defining a circle.
Programmer: “Define”
System: DEFINITION TYPE
Programmer: “Circle”
System: CIRCLE # =
Programmer: “Three”
System: CIRCLE PT X =
Programmer: “Five decimal three one, Go”
System: Y=
Programmer: “Two decimal four seven five, Go”
System: RADIUS =
Programmer: “One decimal five, Go”
System: CW/CCW
Programmer: “Counterclockwise”
VOICE PROGRAMMING

 When all the programming instructions have been entered


and verified, the system prepares the punched tape for the
job.
 ADVANTAGES

1. Saving in the programming time up to 50%

2. Improvement in accuracy

3. Lower computer-skill requirement for the programmer.


MANUAL DATA INPUT (MDI)

 Manual data input involves the entry of part programming


data through a CRT display at the machine site; hence the
use of punched tape is avoided.
 The programming procedure is usually carried out by the
machine operator (not the part programmer).
 NC systems equiped with MDI capability possess a
computer.
 MDI systems are designed to facilitate the part
programming process by using an interactive mode to assist
the operator through the programming steps.
 It queries the operator about the details of the machining
job so that the operator types in the program responding to
the sequence of questions.
MANUAL DATA INPUT (MDI)

 MDI units use shop language rather than alphanumeric


codes.
 This removes some of the ambiguity, usually surrounding
the programming activity.
 The programmer just needs to be able to read an
engineering drawing and familiar with the machining
process.
 No extensive training is required in NC part programming.
 The great advantage of MDI is its simplicity.
 Since, no punched tape is employed with MDI, the shop is
spared the expense of tape punching equipment normally
associated with NC.
MANUAL DATA INPUT (MDI)

 The limitation on MDI is that the programs should be


relatively short and simple.
 The reasons for this limitation are

1. Since there is no paper copy of the program, there is a limit on the


length and complexity of the program that the operator is capable
of visualization.

2. The CRT can display a total of 22 or 25 lines, which adds to the


operator’s visualization problem.
 One of the biggest disadvantages of MDI is that the machine
tool itself is not productive while programming is being
accomplished.
MANUAL DATA INPUT (MDI)

 The more complicated the program, the more time is taken


when the machine is not cutting metal.
 One way of overcoming this problem, is for the machine to
be operated in a background mode.
 The particular features of MDI make it suitable for work-
parts which are simpler than usual NC jobs.
CHAPTER-9
COMPUTER CONTROL IN NC
 The evolution of numerical control technology has been
closely related to and dependent on the development of
computer technology.
 In previous sessions we examined the use of computers in
NC part programming.
 Use of digital computer has also permitted substantial
improvements to be made in the control for NC.
 In this chapter we discuss three NC-related control topics:

1. Computer numerical control

2. Direct numerical control

3. Adaptive control
PROBLEMS WITH CONVENTIONAL NC
 Before describing the three types of control systems, it is
appropriate to examine some of the problems related to the
use of conventional numerical control which have
influenced the changeover to computer control.

1. Part programming mistakes

2. Non-optimal speeds and feeds

3. Punched tape

4. Tape reader

5. Controller
COMPUTER NUMERICAL CONTROL
 Computer numerical control is an NC system that utilizes a
dedicated small computer (mini or micro computer) to perform
some or all of the basic NC functions by programs stored in
its memory.
 The external appearance of a CNC machine is very similar
to that of a conventional NC machine.
 Part programs are entered once and then stored in the
computer memory for every part in the batch.
 Compared to regular NC, CNC offers additional flexibility
and computational capability. New system options can be
incorporated into the CNC controller simply by
programming the unit
 Because of this programming capacity, CNC is often
referred as “soft-wired” NC.
Tape
Computer-
reader Minicomputer or microcomputer
hardware
for initial (Software functions and NC part program
interface and
program storage)
servo system
entry

General configuration of computer numerical control (CNC) system.


FUNCTIONS OF CNC
 The principal functions of CNC are:

1. Machine tool control

2. In-process compensations

3. Improved programming and operating features

4. Diagnostics
MACHINE TOOL CONTROL
 The primary function of the CNC system is the control of
machine tool.
 This involves the conversion of the part program
instructions into machine tool motions through the
computer interface and servo system.
IN-PROCESS COMPENSATIONS
 A function closely related to machine tool control is in-
process compensation.
 This involves the dynamic correction of the machine tool
motions for changes or errors which occur during
machining. Some examples are:

1. Adjustments for errors sensed by in-process inspection


probes and gauges.

2. Re-computation of axis positions when an inspection


probe is used to locate a datum reference on a part.

3. Offset adjustments for tool radius and length

4. Adaptive control adjustments to speed and/or feed.

5. Computation of predicted tool life and selection of


alternative tooling when indicated.
IMPROVED PROGRAMMING AND OPERATING
FEATURES
CNC permits many convenient programming and operating
features
 Editing of part programs at the machine.
 Graphic display of tool path to verify the tape.
 Various types of interpolation: circular, parabolic, and
spline interpolation.
 MDI.
 Use of specially written subroutines.
 Local storage of more than one part program.
DIAGNOSTIC
 The NC machine tools are complex and expensive systems.

1. The complexity increases the risk of component failures


which lead to increased system downtime.

2. It also requires that the maintenance people be trained


to a higher level of proficiency in order to make repairs.
 The higher cost of NC provides the motivation to avoid
downtime as much as possible.
 Therefore CNC machines are often equipped with a
diagnostic capability to assist in maintaining and repairing
the system.
 This diagnostic feature has following functions:
DIAGNOSTIC
1. To identify the reason for a downtime occurrence, so that
the maintenance people can make repair more quickly.

2. To predict the failure of a component in anticipation, so


that the part can be replaced during a scheduled
downtime.

3. To contain certain amount of redundancy of components


which are considered unreliable.
ADVANTAGES OF CNC
 The part program tape and tape reader are used only once.
 Tape editing at the machine site
 Unit conversion
 Greater flexibility: It provides the opportunity to introduce new
control options (e.g. new interpolation scheme) with relative ease at
low cost.
 User-written program: This involves the generation of specialized
programs by the user. These program generally take the form of
MACRO subroutines stored in CNC memory which can be called by
the part program to execute frequently used cutting operations.
DIRECT NUMERICAL CONTROL
Direct numerical control can be defined as a manufacturing system in
which a number of machines are controlled by a computer through direct
connection and in real time.
 Tape reader is omitted in DNC.
 The part program is transmitted to the machine tool directly from
the computer memory.
 One large computer can control more than 100 separate machines.
 Instructions are provided to each machine on demand immediately.
 DNC can collect and process data from the machine tool.
COMPONENTS OF A DNC SYSTEM
A DNC system consists of four basic components
 Central computer The remarkable feature of
the DNC system is that the
 Bulk memory computer is servicing a
large number of separate
 Telecommunication lines machine tools, all in real
time.
 Machine tools
Bulk
Central
memory NC
Telecommunication Computer
Programs
Lines
Machine Tools
USE OF SATELLITE MINICOMPUTERS
Depending on the number of machines and the computational
requirements, it is sometimes necessary to make use of satellite
computers.

Telecommunication Bulk
Central
Lines memory NC
Computer
Programs

Satellite Memory Satellite Memory Satellite Memory


minicomputer buffer minicomputer buffer minicomputer buffer
Machine Tools
USE OF SATELLITE MINICOMPUTERS
 These satellites are minicomputers, and they serve to take some of
the burden off the central computer.
 Each satellite controls several machines.
 Group of part program instructions are received from the central
computer and stored in buffers.
 They are then dispensed to individual machines as required.
 Feedback data from machines are also stored in the satellite’s buffer
before being collected at the central computer.
FUNCTIONS OF DNC
The principal functions of DNC are:

1. NC without punched tape

2. NC part program storage

3. Data collection, processing, and reporting

4. Communication
NC WITHOUT PUNCHED TAPE
Several of the problems with conventional NC are related to the use of
punched tape

1. The relatively unreliable punched tape reader

2. The fragile nature of paper tape

3. The difficulties in making corrections and changes in the


program contained on punched tape.

4. There is also the expense associated with the equipment that


produces the punched tape.
NC PART PROGRAMMING STORAGE
A second important function of the DNC system is concerned with
storing the part programs.

The program storage subsystem must be structured to satisfy following


purposes:

1. The program must be made available for downloading to the NC


machine tools

2. The subsystem must allow for new programs to be entered, old


program to be deleted, and existing programs to be edited.

3. It must perform the post-processing function.


DATA COLLECTION, PROCESSING, AND
REPORTING
The basic purpose behind the data collection, processing, and reporting
function is to monitor production in the factory. Data are collected for

1. Total number of pieces produced

2. Tool usage

3. Machine utilization

4. Other factors that measure performance in the shop

These data is processed by DNC computer, and reports are generated to


provide management with information necessary for running the plant.
COMMUNICATION
First, the communication network is required to accomplish the
previous three functions of DNC.

The essential communication link in DNC are between the following


components of the system:

1. Central computer and machine tool

2. Central computer and NC part programming terminals

3. Central computer and bulk memory, which stores the NC programs

Optional links are:

4. CAD system

5. Shop floor control system

6. Remote maintenance diagnostic system

7. Other computer-automated systems in the plant


ADVANTAGES OF DNC
 Elimination of punched tape and tape reader
 Greater computational capability and flexibility
 Convenient storage of NC part program in computer files
 Program stored as CLFILE
 Reporting of shop performance
 Establishes the framework for the evolution of the future computer
automated factory.
ADAPTIVE CONTROL MACHINING
SYSTEM
For a machining operation the term adaptive control denotes a control
system that measures certain output process variables and uses these to
control speed and/or feed.

Some of the process variables are:


 Spindle deflection or force
 Torque
 Cutting temperature
 Vibration amplitude
 Horsepower

The motivation for developing an adaptive machining system lies in


trying to operate the process more efficiently.
WHERE TO USE ADAPTIVE CONTROL
One of the principle reasons for using numerical control (including
DNC and CNC) is that it reduces the nonproductive time in machining
operation.

These nonproductive activities are:

1. Work piece handling time

2. Setup of the job

3. Tool change

4. Other sources of operator and machine delay

Because these nonproductive elements are reduced, a large proportion


of the time is spent in actually machining the work part.

Although NC has reduced the downtime, it can do relatively little to


reduce the in-process time.
WHERE TO USE ADAPTIVE CONTROL
Whereas NC guides the sequence of tool positions or the path of the
tool during machining, adaptive control determines the proper speeds
and and/or feeds during machining as a function of variations in
such factors as:

1. Work-material hardness

2. Width or depth of cut

3. Air gaps in the part geometry


WHERE TO USE ADAPTIVE CONTROL
Following characteristics can be used to identify situations where
adaptive control can be beneficially applied:

1. The in-process time consumes a significant portion of the


machining cycle time.

2. There are significant sources of variability in the job for which AC


can compensate.

3. The cost of operating the machine tool is high.

4. The typical materials are; steel, titanium, and high-strength alloys.


These materials are generally difficult to machine.
SOURCES OF VARIABILITY IN MACHINING
The following are the typical sources of variability in machining where
AC can be most advantageously applied:
 Variable geometry of cut in the form of changing depth or width of
cut
 Variable work piece hardness and variable machinability
 Variable work piece rigidity
 Tool wear
 Air gaps during cutting
NC POSITIONING SYSTEM
 The NC positioning system converts the coordinate axis values in the
NC part program into relative positions of the tool and work-part
during processing.

Typical motor and lead-screw arrangement in an NC positioning


system for one linear axis
NC POSITIONING SYSTEM
 The table moves linearly by means of a rotating lead-screw, which is
driven by a stepping motor or servomotor.
 The lead-screw has a certain pitch p (in/thread, mm/thread).
 The table moves a distance in each revolution equal to the pitch.
 The velocity of the table (which corresponds to the feed rate in a
machining operation) is determined by the rotational speed of the
lead-screw.
ENGINEERING ANALYSIS OF NC POSITIONING
SYSTEM
 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
OPEN-LOOP MOTION CONTROL SYSTEM
 Open-loop systems cost less than closed-loop control.
 Appropriate when the force resisting the actuating motion is
minimal.
 Usually, a stepping motor is used to rotate the lead-screw.
 A stepping motor is driven by a series of electrical pulses, generated
by the MCU.
OPEN-LOOP MOTION CONTROL SYSTEM
 Each pulse causes the motor to rotate a fraction of one revolution,
called the step angle

α = 360/ns
ns = the number of step angles for the motor.
α = step angle/pulse.

 The angle through which the motor shaft rotates is

Am = np.α
Am = angle of motor shaft rotation.
np = number of pulses received by the motor.
OPEN-LOOP MOTION CONTROL SYSTEM
 The motor shaft is generally connected to the lead-screw through a
gear box, which reduces the angular rotation of the lead-screw.

A = np.α/rg
A = Angle of lead-screw rotation.
rg = gear ratio.

rg = Nm/N
Nm = Motor rpm.
N = Lead-screw rpm.

 The linear movement of the table is

x = pA/360 = p.np/ns.rg p = pitch of the lead-


screw
OPEN-LOOP MOTION CONTROL SYSTEM
 The number of pulses required to achieve a specified x-position
increment can be found as:

np= x.ns.rg/p

 The rotational speed of the lead-screw depends on the frequency of


the pulse train:

fp = ns(pulses/rev)N(rev/min)/60 => N = 60.fp/ns.rg


 The table feed rate:

fr = N.p
 The required pulse train frequency to derive the table at a specified
feed rate:

fp = fr.ns.rg/60p
OPEN-LOOP MOTION CONTROL SYSTEM
The step angle of a certain stepper motor = 1.8. The application of interest
is to rotate the motor shaft through 15 complete revolutions at an angular
velocity of 25 rad/sec. Determine (a) the required number of pulses and (b)
the pulse frequency to achieve the specified rotation.
OPEN-LOOP MOTION CONTROL SYSTEM
Solution:
 = 1.8 ns = 360/1.8 = 200 step angles

(a) To rotate 15 revolutions,


Am = 15(360) = 5400
np = 5400/1.8 = 3000 pulses

(b) To rotate at 25 rad/sec,


ns N 1 rev.  2 radians
fp 
60

fp = 25(200) / 2 = 795.8 Hz
OPEN-LOOP MOTION CONTROL SYSTEM
A stepper motor has a step angle = 7.5. (a) How many pulses are required
for the motor to rotate through five complete revolutions? (b) What pulse
frequency is required for the motor to rotate at a speed of 200 rev/min?
OPEN-LOOP MOTION CONTROL SYSTEM
Solution:

 = 7.5 ns = 360/7.5 = 48 step angles

(a) To rotate 5 revolutions,


Am = 5(360) = 1800
np = 1800/7.5 = 240 pulses

(b) To rotate at 200 rev/min,


fp = Nns/60 = 200(48) / 60 = 160 Hz
OPEN-LOOP MOTION CONTROL SYSTEM
The table of a positioning system is driven by a lead-screw whose pitch
= 6.0 mm. The lead-screw is connected to the output shaft of a stepping
motor through a gearbox whose ratio is 5:1. 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

b) The required motor speed and pulse rate to achieve the desired
table velocity
OPEN-LOOP MOTION CONTROL SYSTEM
(a)
360 x 360  250
A   15,0000
p 6.0
360
  7.50
48
360 xrg Arg 15,000  5
np     10,000 pulses
p  7.5
(b)
f r 500
f r  Np  N    83.33rpm
p 6
N m  rg N  5  83.333  416.667rpm
f r ns rg 500  48  5
fp    333.333H z
60 p 60  6
CLOSED-LOOP MOTION CONTROL SYSTEM
A closed-loop NC system, uses servomotor and feedback
measurements to ensure that the table is moved to the desired
position.
CLOSED-LOOP MOTION CONTROL SYSTEM
A common feedback sensor is the optical encoder.

The disk of the encoder is connected, either directly or through gear


box, to a rotating shaft whose angular position and velocity are to be
measured.
CLOSED-LOOP MOTION CONTROL SYSTEM
 The angle b/w slots in the disk:

α = 360/ns

ns = the number of slots in the disk


α = angle b/w slots

 For a certain angular rotation of the encoder shaft Ae, the number of
pulses np sensed by the encoder is

np = Ae/α

 np can be used to determine the linear x-axis position of the table.

x = p.np/ns.rge
where rge = Ne/N
CLOSED-LOOP MOTION CONTROL SYSTEM
 As,

N = 60.fp/ns.rge => ns = 60.fp/N.rge

 Since,

x = p.np/ns.rge => np = xns.rge/p


np = x.60.fp/pN
 As,

fr = pN
 Therefore,

np = x.60.fp/fr
CLOSED-LOOP MOTION CONTROL SYSTEM
 Now,

x = p.np/ns.rge

 Put the value of np in the above equation


 The velocity fr of the table is calculated as:

fr = 60p fp /ns.rge

fp = frequency of the pulse train emitted by the optical encoder

 The pulse train generated by the encoder is compared with the


coordinate positions and feed rate specified in the part program, and
the difference is used by the MCU to drive a servomotor, which in
turn drives the table.
CLOSED-LOOP MOTION CONTROL SYSTEM

An NC worktable operates by closed-loop positioning. The system consists


of a servomotor, lead-screw, and optical encoder. The lead-screw has a
pitch = 6.0 mm and is coupled to the motor shaft with a gear ratio of 5: I (5
turns of the drive motor for each turn of the lead-screw). The optical encoder
generates 48 pulses/rev of its output shaft. The encoder output shaft is coupled
to the lead-screw with a 4: 1 reduction (4 turns of the encoder shaft for each
turn of the lead-screw). 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
CLOSED-LOOP MOTION CONTROL SYSTEM
(a)

xns rge 250  48  4


np    8000 pulses
p 6.0

(b)

f r ns rge 500  48  4
fp    266.667 H z
60 p 60  6.0
CLOSED-LOOP MOTION CONTROL SYSTEM
(c)

Nm
rg 
N
Since,
fr
f r  Np  N 
p
Therfore,
rg f r 5  5000
Nm    416.667 rpm
p 6
PRECISION IN NC POSITIONING
 For accurate machining by an NC system, the positioning system
must possess a high degree of precision.
 Three measures of precision:

1. Control resolution

2. Accuracy

3. Repeatability
CONTROL RESOLUTION
Control resolution is defined as the distance separating two adjacent
addressable points in the axis movement.
 Addressable points are locations along the axis to which the
worktable can be specifically directed to go.
 It is desirable for control resolution to be as small as possible.

Control
resolution

Bit storage
Electromechanical
capacity of the
components
controller

· Lead-screw pitch
· Gear ratio
· Step angle
· Angle b/w encoder slots
CONTROL RESOLUTION
 Control resolution of the electromechanical system
 For open-loop positioning system:

p
CR1 
ns rg

 For closed-loop system

p
CR1 
ns rg rge
CONTROL RESOLUTION
 Control resolution of the computer system
 The ability to divide the axis range into individual increments
depends on the bit storage capacity in the control memory
 The number of increments = 2n

n = number of bits in the control memory


 Control resolution

L
CR2  B
2 1

 Control resolution of the overall positioning system

CR  Max CR1 , CR2 


CONTROL RESOLUTION
 A desirable criterion is for CR2 < CR1, meaning the
electromechanical system is the limiting factor.
 The bit storage capacity of modern computer controller is sufficient
to satisfy the requirement.
 Resolutions of 0.0025 mm is within the current state of NC
technology.
ACCURACY
 The accuracy of any given axis of a positioning system is
the maximum possible error that can occur between the
desired target point and the actual position taken by the
system.
ACCURACY IN IDEAL CASE
MECHANICAL ERRORS
 Thecapability of a positioning system to move the
worktable to the exact location is limited by the following
mechanical errors.
1. Play between the lead-screw and the table

2. Backlash in the gears

3. Elastic deflection in the structural members

4. Stretching of pulley cords


ACCURACY IN REAL CASE
 Assumptions

1. Mechanical errors form an normal distribution about


the control point whose mean is 0
2. Standard deviation is constant over the range of the
axis.
 Accuracy is defined under worst case conditions in which
the desired target point lies in the middle between two
adjacent addressable points.
 Since the table can only be moved to one or the other of
the addressable point, there will be an error in the final
position of the work-table.
ACCURACY IN REAL CASE
 This is the maximum possible positioning error.

 Mathematically

CR
Accuracy   3
2
REPEATABILITY
 Repeatability
refers to the capability of the positioning
system to return to a given addressable point that has
been previously programmed

Re peatability  3
REPEATABILITY
 Suppose the mechanical inaccuracies in the open-loop
system are described by a normal distribution with
standard deviation 0.005 mm. The range of the worktable
axis is 1000 mm, and there are 16 bits in the binary
register used by the digital controller to store the
programmed positions. Other relevant parameters are;
pitch = 6.0 mm, gear ratio between motor shaft and lead-
screw rg = 5.0, and number of stop angles in the stepping
motor ns = 48. Determine
a. Control resolution
b. The accuracy
c. The repeatability for the positioning system
REPEATABILITY
 Control resolution is the greater of CR1 and CR2

p 6.0
CR1    0.025mm
ns rg 48  5.0
1000
CR2  16  0.01526mm
2 1
CR  Max 0.025,0.01526  0.025mm
 Accuracy

 0.5(0.025)  3(0.005)  0.0275mm


 Repeatability

 3(0.005)  0.015mm
Sculptured Surface
Machining
ILLUSTRATION OF CC-PATH AND THE
CORRESPONDING CL-PATH

Cutting tool

CL-path

CL-point CC-path

Part surface CC-point


STAGES
For producing free form (sculptured surface) parts on a CNC
machine following three phases are required

1. Process planning phase: machining-tolerance, cutter


specification, tool-path topology and milling strategy (up/down
milling and upward/downward milling).

2. Tool-path generation phase: tool-path planning and CL-data


computation.

3. Validation phase: gouging detection and cutting simulation.


Tool-path generation phase

3D curve tool-
path

Pocket profile Cutter pass


NC tool-path

(a) (b)
B-SPLINE SURFACE
A B-spline surface is obtained by taking a bidirectional net of
control points, two knot vectors, and the product of the uni-
variate B-spline basis functions.
 X (u , v)  n m
S(u , v)   Y (u , v)    N i , p (u )N j ,q (v) Pi , j 0  u, v  1
 
 Z (u , v)  i 0 j 0

 

U  0,...,0
 ,u p+1 ,.....,ur- p-1 ,1,...,1
 
 p+1 p+1 

 

V  0,...,0
 ,vq+1 ,.....,vs-q-1 ,1,...,1
 
 q+1 q+1  
B-SPLINE SURFACE
Where r = n+p+1 and s = m+q+1
MATRIX FORM OF B-SPLINE SURFACE
B-spline equation can be written in matrix form as:

T
S(u , v)   N i , p (u )   Pi , j   N j ,q (v) 

Example: n = 2; m = 3; p = 2; q=3

2 3
S(u , v)   N i ,2 (u )N j ,3 (v) Pi , j 0  u, v  1
i 0 j 0

 N 0,3 (v) 
 P0,0 P0,1 P0,2 P0,3   N (v ) 
   1,3 
S(u , v)   N 0,2 (u ) N1,2 (u ) N 2,2 (u )   P1,0 P1,1 P1,2 P1,3 
 N 2,3 (v) 
 P2,0 P2,1 P2,2 P2,3   
N
 3,3  ( v )
CONTROL POINTS OF 4 ×4 SURFACE

P0,3 P1,3 P2,3 P3,3

P0,2 P1,2 P2,2 P3,2

P0,1 P1,1 P2,1 P3,1

P0,0 P1,0 P2,0 P3,0 u


3 ×4 SURFACE
POINT ON THE SURFACE
Example: n = 2; m = 3; p = 2; q=3
2 3
S(u  0.2, v  0.8)   N i ,2 (u )N j ,3 (v) Pi , j 0  u, v  1
i 0 j 0

U  0 0 0 1 1 1
V  0 0 0 0 1 1 1 1

0.0080 
 P0,0 P0,1 P0,2 P0,3  0.0960 
 
S(u , v)  0.6400 0.3200 0.0400  P1,0 P1,1 P1,2 P1,3   
0.3840 
 P2,0 P2,1 P2,2 P2,3   
 0.5120 
 0.6579 
S(u  0.2, v  0.8)   2.4994 
 
-0.0158
CALCULATION OF BASIS FUNCTIONS:

Example: n = 2; m = 3; p = 2; q=3

Let

U = [0 0 0 1 1 1]
u0 u1 u2 u3 u4 u5

p = degree of the curve = 2


Basis functions of degree 2 = ?
CALCULATION OF BASIS FUNCTIONS:

u0 u1 0  0 N 0,0
N 0,1
u1 u2 0  0 N1,0 N 0,2
N1,1
u2 u3 0  1 N 2,0 N1,2
N 2,1
u3 u4 1  1 N3,0 N 2,2
N3,1
u4 u5 1  1 N 4,0
CALCULATION OF BASIS FUNCTIONS:

1 if ui ≤ u < ui+1
N i , p (u )   (p=0)
0 otherwise

u  ui ui  p 1  u
N i , p (u )  N i , p 1 (u )  N i 1, p 1 (u ) (p>0)
ui  p  ui ui  p 1  ui 1
CALCULATION OF BASIS FUNCTIONS U-
DIRECTION:
For p = 0

1 if ui ≤ u < ui+1
Ni , p (u )  
0 otherwise

N 0,0  N1,0  0

 1 if 0 ≤ u <1
N 2,0 (u )  
0 otherwise

N3,0  N 4,0  0
CALCULATION OF BASIS FUNCTIONS U-
DIRECTION:
For p = 1
u  ui ui  p 1  u
Ni , p (u )  Ni , p 1 (u )  Ni 1, p 1 (u )
ui  p  ui ui  p 1  ui 1

u 0 0u
N 0,1  N 0,0  N1,0  0
00 00

u 0 1 u
N1,1  N1,0  N 2,0  (1  u ) N 2,0
00 1 0

u0 1 u
N 2,1  N 2,0  N3,0  uN 2,0
1 0 1 1

u 1 1 u
N3,1  N3,0  N 4,0  0
11 1 1
CALCULATION OF BASIS FUNCTIONS U-
DIRECTION:
For p = 2

u0 1 u
N 0,2  N 0,1  N1,1
00 1 0
N 0,2  (1  u )  (1  u ) N 2,0   1  u  N 2,0
2

u0 1 u
N1,2  N1,1  N 2,1
1 0 1 0
N1,2  u (1  u ) N 2,0   (1  u ) uN 2,0   2u 1  u  N 2,0

u0 1 u
N 2,2  N 2,1  N 3,1
1 0 11
N 2,2  u uN 2,0   u 2 N 2,0
CALCULATION OF BASIS FUNCTIONS U-
DIRECTION:

 Ni ,2 (u  0.2)   0.6400 0.3200 0.0400 N 0,2


CALCULATION OF BASIS FUNCTIONS V-
DIRECTION:
DERIVATIVE OF B-SPLINE SURFACES

n 1 m
Su (u , v)   N i , p 1 (u )N j ,q (v) Pi(1,0)
,j 0  u, v  1
i 0 j 0

 
(1) 
U  0,...,0
 ,u p+1 ,.....,ur- p-1 ,1,...,1
 
 p p  

 

V  0,...,0
 ,vq+1 ,.....,vs-q-1 ,1,...,1
 
 q+1 q+1  
NEW CONTROL POINTS ALONG U-
DIRECTION
 Pi 1, j  Pi , j 
Pi(1,0)
,j  p 
 ui  p 1  u i 1 

While calculating new control points use original degree p and original
knot vector
NEW CONTROL POINTS ALONG U-
DIRECTION 0  2   4.0 
P0,0  0  ; P1,0   0.1197  ; P2,0   0 
     
0   0.2543  0 
0  2   4.0 
P0,1  1  ; P1,1   1  ; P2,1   1 
     
0   2.1247   0 
-0.5784   2   4.0 
P0,2   2.5216  ; P1,2   1.7683  ; P2,2   2 
     
 0  -0.6543  0 
0  2  4
P0,3   3 ; P1,3   3  ; P2,3   3 
     
0   0   0 
NEW CONTROL POINTS ALONG U-
DIRECTION
(1,0)
 P1,0  P0,0   P1,0  P0,0 
P0,0  2   2   2(P1,0  P0,0 )
 u0 21  u 01   1  0 

(1,0)
 P2,0  P1,0   P2,0  P1,0 
P1,0  2   2   2(P2,0  P1,0 )
 u1 21  u 11   1  0 

(1,0)
 P1,1  P0,1   P1,1  P0,1 
P0,1  2   2   2(P1,1  P0,1 )
 u0 21  u 01   1  0 

(1,0)
 P2,1  P1,1   P2,1  P1,1 
P1,1  2   2   2(P2,1  P1,1 )
 u1 21  u 11   1  0 
NEW CONTROL POINTS ALONG U-
DIRECTION
(1,0)
 P1,2  P0,2   P1,2  P0,2 
P0,2  2   2   2(P1,2  P0,2 )
 u0 21  u 01   1  0 

(1,0)
 P2,2  P1,2   P2,2  P1,2 
P1,2  2   2   2(P2,2  P1,2 )
 u1 21  u 11   1  0 

(1,0)
 P1,3  P0,3   P1,3  P0,3 
P0,3  2   2   2(P1,3  P0,3 )
 u0 21  u 01   1  0 

(1,0)
 P2,3  P1,3   P2,3  P1,3 
P1,3  2   2   2(P2,3  P1,3 )
 u1 21  u 11   1  0 
NEW CONTROL POINTS ALONG U-
DIRECTION  4 
(1,0)
P0,0  2(P1,0  P0,0 )   0.2394 
 
 0.5087 
 4 
(1,0)
P1,0  2(P2,0  P1,0 )   0.2394 
 
0.5087 

 4 
(1,0)
P0,1  2(P1,1  P0,1 )   0 
 
 4.2494 
 4 
(1,0)
P1,1  2(P2,1  P1,1 )   0 
 
 4.2494 
NEW CONTROL POINTS ALONG U-
DIRECTION  5.1567 
(1,0)
P0,2  2(P1,2  P0,2 )   1.5066 
 
 1.3085

 4 
(1,0)
P1,2  2(P2,2  P1,2 )  0.4634 
 
1.3085 
4
(1,0)
P0,3  2(P1,3  P0,3 )   0 
 
 0 
4
(1,0)
P1,3  2(P2,3  P1,3 )   0 
 
 0 
NEW CONTROL POINTS ALONG V-
DIRECTION

(0,1)
Pi , j ?
CL-PATH FOR BALL END MILL CUTTER

 xCL (u , v) 
CL(u , v)   yCL (u , v)   S(u , v)  r  n(u , v).
 
 zCL (u , v) 

 N x (u , v) 
 
 N x (u , v) 2  N y (u , v) 2  N z (u , v) 2 
 nx (u , v)   
Su (u , v)  S v (u, v)    N y (u , v) 
n(u , v)    n y (u, v)    .
Su (u , v)  S v (u, v) 2 2 2
 n (u , v)   N x (u , v)  N y (u , v)  N z (u , v) 
 z   
 N z (u , v ) 
 N (u , v) 2  N (u , v) 2  N (u , v) 2 
 x y z 
CL-PATH FOR ROUND END MILL
CUTTER
a×(n ×a)
PCL  PCC  n.r  R .
a×(n ×a)

R
r
PATH INTERVAL FOR FLAT SURFACE

P  2 2rh
PATH INTERVAL FOR CONVEX SURFACE

8rhR
P
Rr
PATH INTERVAL FOR CONCAVE
SURFACE

8rhR
P
Rr

You might also like