You are on page 1of 84

School of Computing, Engineering and Mathematics

300735 Automated Manufacturing

Handbook
on

Practical Sessions

Kingswood Campus

Unit Coordinator: Prof Richard Yang


Lecturer: Dr John Gal
Lab Demonstrators: Mr Hamed Mehrabi, Mr Nima Zohdi and Mr Saif Tareq
Technical Staff: Raju Majji
Timetable of Practical Sessions

Session Contents Weeks Venues Lab Supervisors and


Numbers Technical Staff

Prac 1 Introduction to CAD/CAM 4 SCEM Computer Labs


(Practical A-1) using SolidWorks and (XA.1.03), Saif Tareq
SolidCAM (Y.2.42), and (Y.2.42)*
Prac 2 Introduction to CNC 5 CNC Machining Lab Hamed Mehrabi, Nima
(Practical B-1) Machining (XC.G.26)# Zohdi and Saif Tareq;
Raju Majji
Prac 3 CAD modelling using 6 SCEM Computer Labs
(Practical A-2) SolidWorks and Milling (XA.1.03), Saif Tareq
Operation Design (Y.2.42), and (Y.2.42)*
Prac 4 Milling Operation (Task 1) 7 CNC Machining Lab Hamed Mehrabi, Nima
(Practical B-2) (XC.G.26)# Zohdi and Saif Tareq;
Raju Majji
Prac 5 Turning Operation Design 8 SCEM Computer Labs
(Practical A-3) (XA.1.03), Saif Tareq
(Y.2.42), and (Y.2.42)*
Prac 6 Turning Operation (Task 2) 10 CNC Machining Lab Hamed Mehrabi, Nima
(Practical B-3) (XC.G.26)# Zohdi and Saif Tareq;
Raju Majji
Prac 7 Milling Operation Design 11 SCEM Computer Labs
(Practical A-4) using SolidCAM (XA.1.03), Saif Tareq
(Y.2.42), and (Y.2.42)*
Prac 8 Milling Operation (Task 3) 12 CNC Machining Labs Hamed Mehrabi, Nima
(Practical B-4) (XC.G.26)# Zohdi and Saif Tareq;
Raju Majji
*
To access the SCEM Computer Lab, you must have a user account in the School and you can visit our
homepage (https://www.scem.uws.edu.au/) or the help point in the Y Building. You need to identify the venues
carefully and do not step into wrong ones.
#
To access the SCEM CNC Machining Lab, you must complete the online WH&S Induction in advance.
Practical Session 1 (Week 4, Computer Lab):
Introduction to CAD/CAM using SolidWorks and SolidCAM - Practical
Session A-1
Activity Lists
1. Demonstration on how to use SolidWorks for CAD
2. Getting started with SolidWorks
3. Demonstration on how to use SolidCAM for CAM
4. Getting started with SolidCAM
5. Practicing SolidWorks and SolidCAM tutorials

Practical Session 2 (Week 5, CNC Machining Lab):


Introduction to CNC Machining - Practical Session B-1
Numerical Control of Machines - Axis and motion nomenclature
Activity Lists
1. Introduction to CNC Machining Lab
2. Demonstration on EMCO CNC Training lathe
3. Getting started with control software on CNC Training Lathes
4. Demonstration on ProLight 1000 Milling Centre
5. Getting started with control software on Milling Centres
6. Reading the Prac-1 Notes
7. Working on the Prac-1 Question Sheet

Practical Session 3 (Week 6, Computer Lab):


CAD modelling using SolidWorks and Milling Operation Design -
Practical Session A-2
Activity Lists
1. Create CAD model for the UWS Block according to the given part program in Appendix B
of Prac-2 notes
2. Create CAD model for the Pawn according to the given part program in Appendix A of
Prac-3 notes
3. Create the CAD model for the parts containing two pockets required in Task 1
4. Finish the CNC codes for milling operations of the part in Task 1 via hand programing

Practical Session 4 (Week 7, CNC Machining Lab):


Milling Operation - Practical Session B-2
Program Structure and Syntax
Activity Lists
1. Finish Task 1 in the class using ProLight 1000 Milling Centre
2. Read the Prac-2 Notes
3. Work on the Prac-2 Question Sheet
Practical Session 5 (Week 8, Computer Lab):
Turning Operation Design - Practical Session A-3
Activity Lists
1. Design a rook with appropriate size based on a PVC rod provided as work piece, required in
Task 2
2. Use hand programming to create the turning operations to make the rook and get ready for
CNC machining using CNC Training Lathes
(Internet Source: Emco Compact 5 CNC Lathe Making a Chess Pawn:
http://www.howtomakeonline.org/054MzMoneyNuheNa/Emco-Compact-5-CNC-Lathe-making-
a-chess-pawn.html)

Practical Session 6 (Week 10, CNC Machining Lab):


Turning Operation - Practical Session B-3
Lathe Programming
Activity Lists
1. Finish Task 2 - turning a pawn in the class using CNC Training Lathe
2. Reading the Prac-3 Notes
3. Working on the Prac-3 Question Sheet

Practical Session 7 (Week 11, Computer Lab):


Milling Operation Design using SolidCAM - Practical Session A-4
Activity Lists
1. Designing the milling operations of PVC block to finish the hand wheel in Task 3
2. Using SolidCAM to create the operations
3. Extracting the relevant codes from SolidCAM and getting ready for CNC machining using the
Milling Centres

Practical Session 8 (Week 12, CNC Machining Lab):


Milling Operation - Practical Session B-4
Feed and Speed Calculations
Activity Lists
1. Finish Task 3 in the class using Milling Centres
2. Read the Prac-4 Notes
3. Work on the Prac-4 Question Sheet
School of Computing, Engineering and Mathematics

300735 Automated Manufacturing

Introduction to CAD/CAM using SolidWorks and


SolidCAM - Practical Session A-1
School of Computing, Engineering and Mathematics

300735 Automated Manufacturing

SolidWorks Tutorial

1. Start SolidWorks
2. Click the ‘help’ icon in the toolbars and then click “SolidWorks
Tutorials”
3. Finish watching the Introduction to SolidWorks and then
learning Lessons 1-3

1 2
1 1
1

3 4
1 1
1 1
A

80
70
17

18

R8

100
B B

10
A 20

8
SECTION A-A
5

25

100

SECTION B-B UNLESS OTHERWISE SPECIFIED:


DIMENSIONS ARE IN MILLIMETERS
FINISH: DEBUR AND
BREAK SHARP
DO NOT SCALE DRAWING REVISION
SURFACE FINISH: EDGES
TOLERANCES:
LINEAR:
ANGULAR:

NAME SIGNATURE DATE

DRAWN

CHK'D

APPV'D

MFG

Q.A MATERIAL:
A3
DWG NO.

Hand book example test


WEIGHT: SCALE:1:1 SHEET 1 OF 1
School of Computing, Engineering and Mathematics

300735 Automated Manufacturing

SolidCAM Tutorial

Firstly, start-up SolidWorks , make the part as attached


engineering DWG then follow steps below:

1. Start-up SolidCAM and create a new SolidCAM part from


SolidWorks part:

Click the New button from the SolidCAM Part:


Choose Milling and create the new CAM-Part/Model with the
following Dialog box (Create CAM-Part as external or Internal):

2. Set up the Parameters for CNC Machining


2.1. Select a CNC-Machine in the SolidCAM
Once you create a CAM-Part/Model successfully, the
Milling part Data Dialog box will be appeared. In our
case, choose the FANUC under the CNC-Machine
condition which is similar to ProLight 1000.
2.2. Define the Coordinate System
Click the define button and simply left click
the top surface on the fly wheel model.

Then the Original Zero can be created automatically or


manually at the corner of this model, shown in the figure
below then click the green check mark at the corner and
“OK” for “CoorSys Data”:
2.3. Design the Stock and Target model
Left click in the Stock button and then select
(Double click) the entire model. The green-line block is
what we will use in this material removal process.
Similarly, Left click the Target button in the
following step and double click the part.
Select the entire model and click the check mark on the
left corner

2.4. Close the Milling Part Date Dialog box


3. Define the Part Tool Table
Right click the Tool function and then select the Part

Tool Table. Click the button for Add Milling tool .

Select the ‘END MILL’ on the left corner

Follow the Tool part information and add the new tool as
listed as followed
Define the Spin Rate and Feed Rate in the tool data function
(Spin Rate: 1000; Feed Rate: 200) then click OK.
4. Design the processes to machining
Generally speaking, there are four steps to machine this fly
wheel. The first one is to cut a thin disk for the block via
milling.

Secondly, dig an open area between the rim and the central
area on this disk via pocketing.
Thirdly, cut out four open spaces as required via pocketing
too.

Lastly, Drill the central hole in this fly wheel via drilling.
4.1. Define the 3D Milling Operation
Right click the function and select ‘add Milling
Operation’ and ‘3D Milling’

Click to define the working area


Select the ‘Working area’ and click ‘Define’

Select the bottom part (circle) and click ‘Yes’ as shown


below:

Select the four sides or one side if all selected automatically


and click ‘Yes’ then click the green tick to exit this window
Select the ‘Work on selected faces’ and define the ‘Drive
faces’
Choose the pink region where is shown as below
Click ‘OK’ to close this window

Select the tool list


Choose the ‘tool 1’ which has been defined before
Select the ‘Levels list’ , click the and select
the blue region
Click the ‘Technology’ button and choose the
‘contour’ as the Rough method.

Save this process and click Exit


4.2. Create the Pocket Operation
Right click the function and select ‘add milling
operation’ and ‘Pocket’
Click to define this contour

Select two circles with different process (the inner circle of


the outer pocket should be first selected)
Select the tool list and choose the ‘tool 1’

Select the ‘Levels list’ , click the and select


the blue region
Click the ‘Technology’ button and choose the
‘contour’ as the Technology.
Save this process and click Exit

4.3. Create the Pocket Operation

Click to define this contour


Select four closed curves listed as below

Select the tool list and still choose the ‘tool 1’


Select the ‘Levels list’ and click the and
select all the four blue regions as we wished to pocket

Save this process and click Exit


Create the Drilling Operation

Right click the function and select ‘add milling


operation’ and ‘Drilling’
Click to define the Geometry
Select the tool list and still choose the ‘tool 1’ due to
the only one we have

Select the ‘Levels list’ , click the and select


the blue region
Save this process and click Exit
Simulation

Select ‘Simulate’ then ‘Solid verify’ tab for simulation and play
Produce the G-code

Copy the G&M header code of the machine (on vUWS) to the top
of the generated code and simulate final code with BOXFORD
simulation software.
School of Computing, Engineering and Mathematics

300735 Automated Manufacturing

Introduction to CNC Machining – Practical Session B-1

Numerical Control of Machines - Axis and motion nomenclature


1. Scope and field of application
1.1 This international standard defines axis and motion nomenclature for numerically controlled machines.
It is intended to simplify programming and to facilitate the interchangeability of recorded data.
1.2 This international standard applies to all numerically controlled machines.

NOTE: For the sake of simplicity, the majority of the text of this International Standard is written in terms
of that is applicable to manual machine-tools but it nevertheless applies to numerically controlled machines
in general.

1.3 The technical terms used in this International Standard are based on the ISO data processing vocabulary.

2. Principles used to name machine movements based on a standard co-ordinate system


2.1 This International Standard names a co-ordinate system and the machine movements so that a
programmer can describe the machining operations without having to know whether the tool
approaches the workpiece or the workpiece approaches the tool. It is always assumed that the tool
moves relative to the co-ordinate system of the stationary workpiece as defined in 2.2.
2.2 The standard Co-ordinate system is a right-handed rectangular Cartesian one, related to a workpiece
mounted in a machine and aligned with the principal linear slideway of that machine.
2.3 The positive direction of movement of a component of a machine is that which causes increasing
positive dimension of that workpiece.
2.4 When the machine is used for drilling or boring (using only its three principal linear movements),
movement in the negative Z direction will drill or bore into the workpiece.
2.5 When the machine cannot be so used for drilling or boring, special rules are provided to minimize
inconsistencies on multipurpose machines.

Figure 1 Coordinate system in a CNC machining center


3. The Z axis of motion
3.1 The Z axis of motion is (Except as described in 3.6) identified by reference to a spindle which carries a
tool and/or transmits cutting power.
3.1.1 In the case of machines such as milling, boring and tapping machines, this spindle rotates the
tool.
3.1.2 In the case of machines such as lathes, grinding machines and others on which surfaces of
revolution (axisymmetric parts) are generated, this spindle rotates the work.
3.2 If there are several spindles, one should be selected as the principal spindle, preferably one
perpendicular to the work holding surface.
3.3 If the principal axis remains constantly parallel to one of the standard three axis system, this axis is the
Z axis.

3.4 If the principal axis can be swivelled and if the extent of its motion allows it to lie in only one position
parallel to one of the axis of the standard three-axis system, this standard is the Z axis.
3.5 If the extent of the swivelling action motion is such that the principal spindle may lie parallel to two or
three axes of the standard three axis system, the Z axis is the standard axis which is perpendicular to
the work-holding surface of the work-table of the machine, ignoring such ancillaries as angles of
packing pieces.
3.6 If there is no spindle, the Z axis is perpendicular to the work-holding surface.

3.7 Positive Z motion increases the clearance between the workpiece and the tool holder.

Figure 2 Profiling and contour mill

Fundamentals of programming
4. Specifying co-ordinates
4.1 The two most popular methods of specifying a co-ordinate on numerically controlled machines are:
Absolute - Specifying a target co-ordinate from a fixed datum or the (0,0,0) position.
Relative - Specifying a target co-ordinate relative from the current position of the tool.
4.2 Absolute

Figure 3 CNC beer can moving machine.

When programming any type of CNC machine the co-ordinate specified is the target for the tool or in our
case is the target for the beer can.
The absolute co-ordinates to move the can through positions 1 to 3 are:
Position Co-ordinates
Position 1. 2
Position 2. 4
Position 3. 6
Note that the co-ordinates are taken from a fixed position 0.

4.3 Relative
The relative co-ordinates to move the can through positions 1 to 3 are:
Position Co-ordinates
Position 1. 2
Position 2. 2
Position 3. 2

Note that the target co-ordinates were calculated from the current position.

4.4 Two-axis beer can machine

Figure 4 Positions for beer can


The machine axis layout described in figure 4 now utilizes 2 axes with a zero co-ordinate specified in the
middle of the machine. The following examples assume that the beer can start position is 0, 0.

Absolute:

Position Co-ordinates
Position 1: X-2.000 Y-1.000
Position 2: X1.000 Y-2.000
Position 3: X2.000 Y3.000

Relative:

Position Co-ordinates
Position 1: X-2.000 Y-1.000
Position 2: X3.000 Y-1.000

Position 3: X1.000 Y5.000


300735 Practical Session 1 Question Sheet Page 1

Student Name __________________________ Student Number___________

1. What is the main purpose for international standard on axis nomenclature

________________________________________________________________________

2. A programmer assumes when dealing with relative movement of the tool that :
a. The material approaches the tool.
b. The tool approaches the material.
c. The tool approaches the material when the work piece is stationary.
d. The material approaches the tool when the work piece is stationary.

3. What is the general assumption in relation to Z axis?

________________________________________________________________________

4. The diode on a lazer cutter would be found on what axis?

________________________________________________________________________

5. What are the two main methods pf specifying a co-ordinate on a CNC machine.

________________________________ _________________________________

6. Can you think of a situation that would require the use of both Co-ordinate methods
in a program?

________________________________________________________________________

7. A relative Co-ordinate can be described as:

________________________________________________________________________

________________________________________________________________________

8. Can you think of an application in specifying a position using Co-ordinates?


Example: 120mm @120Deg.

_______________________________________________________________________

_______________________________________________________________________
Introduction to CNC Machining – Revision Questions Page 2

9. List the absolute co-ordinates for positions 1 to 5


1__________________________2________________________3______________________

4__________________________ 5___________________________

What is the co-ordinate where the X and Z axis intersect ? ___________________________

10. Refer to diagram below:

a.Lable the axis

b.Number the ticks on each axis choosing carefully the +ve and –ve directions

c.Create a program to move the beer can from position 1 to 2 including suction on and of
commands (M08 and M09, respectively)

___________________________________________________________________________

___________________________________________________________________________
School of Computing, Engineering and Mathematics

300735 Automated Manufacturing

CAD modelling using SolidWorks and Milling Operation


Design - Practical Session A-2
School of Computing, Engineering and Mathematics

300735 Automated Manufacturing


Prac Task 1

Due on Prac 4 (CNC Prac Session - Practical B-2)


Instructions:

Task 1 is to write a program for the milling centres to produce the two pockets of the part shown below. The
program when finished is to be entered into the machines allocated and stored under your name. Each
program will need to be verified first and then the stock material is clamped into position. DO NOT USE A
CAD SYSTEM FOR ANY PART OF THIS TASK.
The program zero is to be set up using G54 when machining is to be done. This code allows you to set the
program zero at the bottom left-hand corner of the stock and then the machine will know where this is with
respect to the machine home position (will explain this at the relevant time).

Use the following assumption:

The stock material is 100  100  20 mm.


All fillets not labelled are R4.
Depth of both pockets (the L-shaped & circular) is 2 mm.
Assume that an 8 mm diameter tool is to be used for milling operations.

Assessment process:

(1) Program to be assessed & verified


(simulated) before machining.

(2) Machining and machined block to be


assessed for efficient operation & finish,
respectively.
School of Computing, Engineering and Mathematics

300735 Automated Manufacturing

Introduction to CNC Machining – Practical Session B-2

CNC Program Structure and Syntax


1. CNC program structure
1.1 Sequential Programming

A CNC program is basically a list of commands that are executed sequentially and these instruct the
CNC controller to perform specific functions.
The program is made up of a series of lines (BLOCKS) which in turn are made up of a series of
commands (WORDS).

Example of a series of machining steps is as follows:

Line number 1 Turn on spindle at 2000 RPM


Line number 2 Turn on coolant
Line number 3 Move at full speed to a coordinate
Line number 4 Move at a set speed to another coordinate.
Line n.......

Block number 1 contains two words; ”Spindle On” and ”Spindle Speed”.
The actual machine commands that correspond to these “words” would look like this:
N0001 M03 S2000;

1.2 Program Layout

The Head
The head of the program usually contains
HEAD all the preparatory commands that control:
N00000 *Spindle
N00001 *Default feeds and speeds
*Coordinate system selection
*Measuring system
BODY
The Body
N00010 This contains the all the moves and machine
N00011 actions and also most of the default values
from the head of the program, which can be
reset when required.

The End
N00072 This is where any auxiliary devices are
activated or deactivated. Also commands
END from the head can be turned off and the
SUB program can be terminated and reset.
PROGRAM
The Sub Program.
This is a useful feature where similar
machining patterns can be repeated or nested
as required.
1.3 Program Syntax

1.3.1 Line Numbers

Line number increments are usually determined by the user parameters in the CNC control. It is
advisable that the increment step be set to 5 or 10; this facilitates the addition and editing of CNC
blocks.

Example:

N00000 ;
N00005 ; Easy insertion of blocks before line 5 without the tedious process of renumbering
all the lines.

1.3.2 Word spacing

The spacing between the words of a block is controller specific but often undefined: need to refer to the
documentation supplied with the specific controller.

1.3.3 Axis and coordinate declaration

Usual syntax for the declaration of an axis direction or sign is:

Positive X123.456 Y123.456 Z123.456

Negative X-123.456 Y-123.456 Z-123.456

Declaration order
The XYZ coordinates can be placed in any particular order, but standardizing on an XYZ order
simplifies program debugging and portability.

Coordinates
123.456
It is good programming practice to always include the decimal place when declaring a coordinate.
Some controllers will automatically include the decimal place and some will substitute the missing
numbers with 0, but sometimes not including the decimal point can be disastrous if missed during the
testing and debugging stage. Refer to the specific controller documentation in relation to positional
accuracy and the declaration of floating point numbers (real numbers).

1.3.4 End of Block Declaration

This is controller specific; consult the controller documentation for the EOB .End of Block character.

Example:
N0025 G00 X23.456 Y-23.768 Z1.000 ;
N0030 G01 Z-5.000 F200 ;
2. Creating a program
We will now take a closer look at creating a CNC program. We will systematically add the necessary
codes and coordinates until the program is complete.

Figure 1.
It is assumed that to create an CNC program, a 20.00mm
dia tool is to be used.
The datum (0,0,0) coordinate is located on the bottom L/H
corner and we are cutting from Left to Right.

2.1 Calculating the target coordinates

X0.000 Y50.000 ; Move tool to XY coordinates. (X&Y coordinates in same block will cause both axes
to move simultaneously.
Z1.000 ; Tool moves to 1.000mm above the surface.
Z-10.000 ; Tool plunges 10.000mm deep into the work piece.
X100.000 ; Move tool to the right (X+ direction) 100.000mm
Z1.000 ; Move tool to 1.000mm above the workpiece.
Z50.000 ; Move the tool 50.000mm above the workpiece.

2.2 Adding the line numbers

N0000 X0.000 Y50.000 ;


N0005 Z1.000 ;
N0010 Z-10.000 ;
N0015 X100.000 ;
N0020 Z1.000 ;
N0025 Z50.000 ;

2.3 Adding Interpolation commands

Although we have calculated the target co-ordinates for the CNC part program we will need to differentiate
between rapid positioning commands and cutting feed rate commands.

Preparatory Codes (G Codes)

G codes take effect before a motion is specified. They contain information such as the type of cut to be
performed, that is, whether absolute or incremental (relative) dimensioning is supplied and therefore used in the
program, whether to pause for operator intervention, and so on.
More than one G code from different groups can appear in each NC block. However, you may not place
more than one G code from the same group in the same block.
Introduction to CNC Machining - Lab session 2
We will be using the Prolight PC controlled CNC mill for our machining operations and a listing of the G & M
codes and their groupings is available at the end of this document.

The Interpolation Group

These G codes are retained (modal) until superseded in the program by another code from the same group. Four
interpolation G codes are supported:

G00 Rapid Traverse


G01 Linear Interpolation
G02 Circular Interpolation (clockwise)
G03 Circular interpolation (counterclockwise)
(NB. Full circles need to be done with 2 arcs if R code is used)

N0000 G00 X0.000 Y50.000 ; Rapid to start coordinate


N0005 G00 Z1.000 ; Rapid to 1.000mm above the workpiece.
N0010 G01 Z-10.000 ; Feed 10.000mm deep into the workpiece
N0015 G01 X100.000 ; Feed 100.00mm in the X+ direction
N0020 G00 Z1.000 ; Rapid to 1.000mm above the workpiece
N0025 G00 Z50.000 ; Rapid to 50.000mm above the workpiece

2.4 Specifying Absolute or Incremental (Relative) modes

Programming Mode Group

G90 Absolute Coordinate programming


G91 Incremental coordinate programming
*These codes can be omitted if set as system defaults on the controller.

Some controllers use UVW as opposed to G91 XYZ to specify incremental coordinates.

N0000 G90; This command is placed at the head of the program.


N0005
N0010
N0015
N0020 G00 X0.000 Y50.000 ;
N0025 G00 Z1.000 ;
N0030 G01 Z-10.000 ;
N0035 G01 X100.000 ;
N0040 G00 Z1.000 ;
N0045 G00 Z50.000 ;
2.5 Specifying the programming units

Unit Group
G70 Inch mode
G71 Metric mode
*These codes can be omitted if set as system defaults on the controller.

N0000 G90 G71;


N0005
N0010
N0015
N0020 G00 X0.000 Y50.000 ;
N0025 G00 Z1.000 ;
N0030 G01 Z-10.000 ;
N0035 G01 X100.000 ;
N0040 G00 Z1.000 ;
N0045 G00 Z50.000 ;

2.6 Specifying a cutting feed rate

F##mm/min

The F command specifies the feed rate in mm/min and is modal, (self holding) only another F command
can overwrite an existing feed rate value.
In our program we will set a feed rate of 200mm/min.

N0000 G90 G71 ;


N0005 F200; Feed rate of 200mm/min set
N0010
N0015
N0020 G00 X0.000 Y50.000 ;
N0025 G00 Z1.000 ;
N0030 G01 Z-10.000 ;
N0035 G01 X100.000 F150; Feed rate reset to 150mm/min for efficient cutting.
N0040 G00 Z1.000 ;
N0045 G00 Z50.000 ;

2.7 Miscellaneous Codes (M Codes)

M codes control Machining Functions while the part program is running. They control such functions as the
spindle On/Off switch, and the Clamp/Unclamp operation of a pneumatically-operated vice. M codes can also be
used to chain a second program to the end of a part program, or to repeat the program. Only one M code can be
specified per NC block (this may vary between controllers).

Turning on the main spindle and setting the spindle RPM.


M03 - Spindle ON
M05 - Spindle OFF
S#### - Spindle RPM setting.
We will set our program spindle speed to 1000 RPM
N0000 G90 G71 ;
N0003 M03 S1000; Spindle turned on and set to 1000 RPM
N0005 F200; Feedrate set to 200 mm/min
N0010
N0015
N0020 G00 X0.000 Y50.000 ;
N0025 G00 Z1.000 ;
N0030 G01 Z-10.000 ;
N0035 G01 X100.000 F150;
N0040 G00 Z1.000 ;
N0045 G00 Z50.000 ;
N0050 M05; Spindle turned off

2.8 Completing the program

G54 - The Coordinate system group.


On machine start-up, the (0,0,0) coordinate is situated on the machine limit switches, by using pre-
measured distances calculated and stored in a register addressed by the G54 command we can move the
(0,0,0) coordinate to a convenient location, in our case the work datum, which is located on the bottom left
hand corner of our work piece.
T01- Call tool command.
One of the most useful features of a CNC machine is the ability to use and store the lengths and values of
multiple tools. The ProLight machine is not fitted with a tool changer so we will nominate tool number 1
as our default tool.
M30 - Program end.
At the end of our program is usually required that all functions are terminated and the program is rewound
to the beginning ready to be re-executed. In our part program we can now remove the M05 command as
the M30 will turn the spindle off.
G28 - Send X, Y, Z to limit Switches

;HEAD
N0000 G28; Send Machine to limit switches (For safety)
N0003 G54 G90 G71 ; Call register G54 where datum (0,0,0) offsets from machine limits are stored.
N0005 T01; Call tool number 1.
N0010 M03 S1000; Spindle turned on and set to 1000 RPM
N0015 F200;
;BODY
N0020 G00 X0.000 Y50.000 ;
N0025 G00 Z1.000 ;
N0030 G01 Z-10.000 ;
N0035 G01 X100.000 F150;
N0040 G00 Z1.000 ;
N0045 G00 Z50.000 ;
;END
N0050 M30; End program/turn everything off/rewind program.

Enter the above program into a simulator program and test (http://www.cncsimulator.com) .
Appendix A:
Appendix B: Part Program of W Block for Milling Operation

N10 T01 G54 M03 S1500


N20 G00 X35 Y30 Z3
N30 G01 Z-3 F400
N40 X42.5 Y10
N50 X50 Y30
N60 X57.5 Y10
N70 X65 Y30
N80 Z10
N90 X20 Y50 Z3
N100 Z-3
N110 X80 Y50
N120 X80 Y90
N130 X20 Y90
N140 X20 Y50
N150 Z10
N160 X35 Y60 Z3
N165 Z-3
N170 X65 Y60
N180 X65 Y80
N190 X35 Y80
N200 X35 Y60
N210 Z30
N220 M30
300735 Practical Session 2 Question Sheet Page 1

Student Name _____________________ Student Number___________

1. Explain the term programming block.

_______________________________________________________________________

_______________________________________________________________________

2. What are the three main parts of a CNC program?

1_____________________ 2______________________ 3____________________

3. What is meant by the term work datum?

________________________________________________________________________

4. Describe the function of the following CNC codes.

G00 ___________________________ G03 ______________________________

G54 ___________________________ G43______________________________

G28 ___________________________ G81 ______________________________

5. Explain the difference between G and M codes.

_______________________________________________________________________

_______________________________________________________________________

6. Refer to the attached drawing and provide the following:


a. Write each program neatly on answer sheet or on a separate attached sheet.
b. Enter or import the CNC programs into either Prolight or CNC simulator and
simulate the program (Only necessary if you want to verify the code)
4 3 2 1
Page 2

F 1) 10mm depth cut 2) 10mm depth cut F

20mm dia. tool 20mm dia. tool

40
(0,0)
(0,0)

20
E E

20
40

20
10 10 20 0
0 0 10
1 00

D D

3) 10mm depth cut 4) 10mm depth cut


20mm dia. tool 10mm dia. tool
R30 R20

C 10 C
(0,0) (0,0) 20
20

10 10
20
10
40 R20 R30
10 0 10 0
0 10 0 10
B B

UNLESS OTHERWISE SPECIFIED: FINISH: DEBURR AND


DO NOT SCALE DRAWING REVISION
DIMENSIONS ARE IN MILLIMETERS BREAK SHARP
SURFACE FINISH: EDGES
TOLERANCES:
LINEAR:
ANGULAR:

NAME SIGNATURE DATE TITLE:

DRAWN

CHK'D

APPV'D

MFG

A MATERIAL: DWG NO.


A
Q6 drawing
Q.A
A4

WEIGHT: SCALE:1:2 SHEET 1 OF 1

4 3 2 1
School of Computing, Engineering and Mathematics

300735 Automated Manufacturing

Turning Operation Design - Practical Session A-3


School of Computing, Engineering and Mathematics

300735 Automated Manufacturing


Prac Task 2

Due on Prac 6 (CNC Prac Session - Practical B-3)


Instructions:

Task 2 is to write a program for the training lathes to produce a chess piece - rook as shown below. The
program when finished is to be entered into the machines allocated and stored under your name. Each
program will need to be verified first and then the work will be clamped into position. You have the
flexibility to design and turn the rook based on the stock material provided. You can also refer to the figure
below for some information on the size of a rook. YOU ARE ONLY ALLOWED TO USE SOLIDWORKS
CAD PACKAGE TO DESIGN THE ROOK IN THIS TASK, Code should be written and typed as Text
Document manually.

Use the following assumption:

The stock material is of 67 mm in height and 31 in diameter at average. Stock material should be facing
(minimised the height) with P which is the last two student ID digits. You need to keep about 20 mm
considering we mount the rod in the chuck.
Try to fully make use of the material.
Appropriate tools will be provided for turning operations.

Assessment process:

(1) Program to be assessed & verified before


machining.

(2) Machining and machined block to be assessed


for efficient operation & finish, respectively.
School of Computing, Engineering and Mathematics

300735 Automated Manufacturing

Introduction to CNC Machining – Practical Session B-3

CNC Lathe Programming


1. Programming a CNC lathe
1.1 The lathe coordinate system
As discussed previously, most CNC lathes have 2 axes, X & Z. The Z axis is the one
around which the spindle and the chuck (work holding device) rotates.

1.2 The work datum (X0. Z0.)


The work datum is usually located at the free end of the work piece. Any movement
towards the chuck by the tool is a Z negative movement; the default location of the tool,
that is, from which side it approaches the workpiece, in X, usually indicates the X
positive sector.

1.3 Specifying coordinates in X


Absolute coordinates in the X axis are specified as diameter values.

Example:

G90 G00 X30.0 Z0.0


1.4 The CNC program

The following program is written using the ANCA programming format (an Australian-
made CNC controller), this is standard ISO code with some controller specific points
that need to be considered when programming. Please note that the codes refer to the
bench top CNC Emco Lathe, which is not used during the lab sessions.

a. G Codes, X & Z coordinate declarations are not modal.


b. G50 is used for setting the work datum.
c. G50 must be preceded by G52 (machine reference position).
d. Depth of cut 1.00mm
e. Feed rate 350mm/min (what is the equivalent mm/rev ?)
f. Spindle RPM 1500

For the ANCA controller codes, refer to the full G & M code listing at the end of this
section.

1.5 Program listing for roughing operation

N10 G94 ; ; Set mm/min as default feed rate


N15 F350; (NB. this particular controller allows both mm/rev, G95, and
mm/min, G94).
N20 T01 M6 ; ; Select tool number 1 (M6 is a tool change command).
N30 G50 X123.4 Z123.4; ; Move zero from limit switches this X & Z
amount.
N40 G00 X30.0 Z2.0; ; Move rapid to coordinate.
N50 G01 X28.0 Z2.0; ; Move to diameter.
N60 G01 X28.0 Z-40.0 ; Machine to Z-40
N70 G01 X30.5 Z-40.0
N80 G00 X30.5 Z2.0 ; Rapid to start
N90 G00 X26.0 Z2.0
N100 G01 X26.0 Z-40.0
N110 G01 X28.5 Z-40.0
N120 G00 X28.5 Z2.0
N130 G00 X25.0 Z2.0
N140 G00 X25.0 Z-40.0
N150 G01 X26.5 Z-40.0
N160 G00 X40.0 Z20.0
N170 G52 X0.0 Z0.0 ; Move to limit switches.
N180 M5 ; Spindle off
N190 M2 ; End program

1.6 Using canned cycles to create the same program

N10 G94 ; Set mm/min as default feed rate.


N20 T01 X123.4 Z123.4 ; Move zero from limit switches this
X&Y amount.
N40 G00 X30.00 Z0.50 ; Move rapid to coordinate.
N50 G46 X5.00 Z-40.5 P5 F350 ; Call roughing cycle
N60 G00 X40.00 Z20.00 ; Rapid clear
N70 G52 X0.000 Z0.000 ; Move to limit switches.
N80 M5 ; Spindle off
N90 M2 ; End program

1.7 Turning arcs

Syntax:
Line number - Direction - X & Y Target coordinates - Arc Centre I & J - Feed
rate

Example:

G03 X50.0 Z-70.0 I0.0 K-5.0 F200

G03 - Direction
X50.0 Z-70.0 - Target coordinates for the arc.
I0.0 K-5.0 - Arc centre locations from tool starting point (incremental).
F200 - Feed rate for arc movement (mm/min).
Machine Codes for the Emco CNC lathe
Miscellaneous Codes
MO Program Halt Modal
M2 End of Program Modal
M3 Spindle Forward Modal
M4 Spindle Reverse N/A
M5 Stop Spindle Modal
M6 Tool change Modal

Other Commands
F _ Feed rate Modal
S _ Speed command Modal
T _ Tool call command Modal
N _ Block number Default inc 10
I,K,W,D,R,U,C _ Parameter values Not modal
P,Q _ Cycle first/last parameters Not modal

G Codes
G00 Rapid Traverse Not modal
G01 Linear interpolation Not modal
G02 Arc clockwise Not modal
G03 Arc anti-clockwise Not modal
G27 Internal Thread Not modal
G28 External Thread Not modal
G29 R/H Thread Reqiures G28/29
G30 L/H Thread Reqiures G28/29
G40 Cutter comp off Not modal
G41 Cutter comp left Not modal
G42 Cutter comp right Not modal
G46 Z cutting cycle Not modal
G47 X cutting cycle Not modal
G50 Position shift register Modal
G52 Send machine home Not modal
G62 Peck grooving cycle. Not modal
G66 Stock removal cycle Not modal
G67 Finish cycle for G66 Not modal
G70 inches Not modal
G71 mm Not modal
G73 Drilling cycle Not modal
G90 Absolute Modal
G91 Incremental Modal
G94 Feed mm/min Modal
G95 Feed mm/rev Modal
2. Cutter compensation (milling)
During the process of writing a tool path, tool radius compensation must be factored into the
program to ensure that the component is machined to the correct size no matter what the
diameter of the tool.

The above diagram describes the result of a tool path created with the geometry and tool
centre path. The geometry path did not allow any offset for the tool diameter and results in
the job being undersized by a full diameter of the tool (the centre of the tool follows the edge
of the job instead of being offset).

2.1 Implementing cutter compensation

a. Manually

The following 110mm square boss needs to be machined to 10.0mm depth with a
40.0mm diameter tool.

N0000 G71 G54 G90 M71 T01 M03 S1800 F350 M08
N0010 G00 X-15.0 Y-15.0 Z50.0
N0020 G00 Z1.00
N0030 G01 Z-10.00
N0040 X135.
N0050 Y135.
N0060 X-15.
N0070 Y-15.
N0080 G00 Z50.
N0090 M30
b. Using cutter compensation functions in the CNC controller

Cutter Compensation G code group.


G40 - Cutter compensation off.
G41 - Cutter compensation Left.
G42 - Cutter compensation Right.

b.1 Cutting anti-clockwise


N0000 G71 G54 G90 G40 M71 T01 M03 S1800 F350 M08
N0010 G00 G42 X5.0 Y5.0 Z50.0 ; Cutter compensation right on.
N0020 G00 Z1.0
N0030 G01 Z-10.0
N0040 X115.
N0050 Y115.
N0060 X5.
N0070 Y5.
N0075 G00 Z50.0
N0080 G00 G40 X-40. Y200.0 ; Cutter compensation off.
N0090 M30

b.2 Cutting clockwise


N0000 G71 G54 G90 G40 M71 T01 M03 S1800 F350 M08
N0010 G00 G41 X5.0 Y5.0 Z50.0 ; Cutter compensation left on.
N0020 G00 Z1.0
N0030 G01 Z-10.0
N0040 Y115.
N0050 X115.
N0060 Y5.
N0070 X5.
N0075 G00 Z50.0
N0080 G00 G40 X-40. Y200.0 ; Cutter compensation off.
N0090 M30

Take note that the geometry path was programmed and the cutter compensation was
calculated by the controller. Care should be taken when using G41/42 commands as they can
cause unexpected movements during activation and cancellation of the functions in a
program.
Appendix A: Part Program of Chess Pawn Using Turning
Operation
G18 G40 G49 G90 G94 G80
M3
G0 X17.275 Z2
F400
G0 X14.275
G1 Z-37.5
G0 X16.275 Z-36
G0 Z2
G0 X13.275
G1 Z-37.5
G0 X15.275 Z-36
G0 Z2
G0 X12.275
G1 Z-37.5
G0 X14.275 Z-36
G0 Z2
G0 Z2
G0 X11.5
G1 Z-37
G03 X12 Z-37.5 I0.5 K0
G1 X17.275
G0 Z2
F200
G0 X11
G1 Z-37
G03 X12 Z-38 I1 K0
G1 X17.275
G0 Z2
Z0.0000
G00 X10.5000 Z0.0000
G01 X10.5000 Z-28.6000
G00 X11.5000 Z-28.1000
G00 Z2
G01 X9.5000 Z0.0000
G01 X9.5000 Z-28.1625
G00 X10.5000 Z-27.6625
G00 Z2
G01 X8.5000 Z0.0000
G01 X8.5000 Z-27.4028
G00 X9.5000 Z-26.9028
G00 Z2
G01 X7.5000 Z0.0000
G01 X7.5000 Z-26.2459
G00 X8.5000 Z-25.7459
G00 Z2
G01 X6.5000 Z0.0000
G01 X6.5000 Z-23.9775
G00 X7.5000 Z-23.4775
G00 Z2
G01 X6.4299 Z-7.7507
G01 X6.4299 Z-8.2670
G02 X5.6214 Z-9.6713 I-6.4299 K2.7670
G01 X6.2740 Z-9.9737
G02 X6.5146 Z-10.1093 I-0.7358 K-1.5878
G00 X6.5200 Z-13.6310
G01 X6.4299 Z-14.4043
G01 X5.5770 Z-15.1211
G03 X6.5146 Z-19.7964 I22.5188 K2.0846
G00 X7.5146 Z-19.2964
G00 X6.4299 Z-12.0706
G01 X6.4299 Z-13.0981
G01 X4.5385 Z-14.6876
G03 X6.5301 Z-22.6590 I23.5572 K1.6511
G00 X7.5301 Z-22.1590
G00 Z2
G01 X5.5000 Z0.0000
G01 X5.5000 Z-3.1021
G00 X6.5000 Z-2.6021
G00 Z2
G01 X4.5000 Z0.0000
G01 X4.5000 Z-1.5314
G00 X5.5000 Z-1.0314
G00 Z2
G01 X3.5000 Z0.0000
G01 X3.5000 Z-0.6266
G00 X4.5000 Z-0.1266
G0Z2
G01 X0.5000 Z1.0000
G01 X0.5000 Z0.4791
G02 X3.9630 Z-10.0050 I-0.5000 K-5.9791
G01 X5.8535 Z-10.8811
G02 X6.0207 Z-12.1357 I-0.3153 K-0.6805
G01 X3.5104 Z-14.2454
G03 X5.8154 Z-23.5001 I24.5853 K1.2089
G02 X6.5296 Z-24.0710 I-0.0141 K-0.7499
G03 X10.0959 Z-28.4919 I6.5044 K1.5983
G02 X10.5146 Z-29.1073 I-0.3290 K-0.6740
G02 X9.9156 Z-31.0739 I-2.8059 K-0.2199
G02 X10.5298 Z-34.8569 I-5.7224 K-2.8704
G02 X10.2875 Z-35.3090 I-0.7423 K0.1069
G01 X10.2875 Z-38.0000
G00 X11.2875 Z-37.5000
G00 Z2
G01 X0.0000 Z1.0000
G01 X0.0000 Z0.0000
G02 X3.3448 Z-9.8660 I0.0000 K-5.5000
G03 X3.3917 Z-10.2913 I0.1520 K-0.1985
G01 X5.6433 Z-11.3347
G02 X5.6990 Z-11.7529 I-0.1051 K-0.2268
G01 X3.0000 Z-14.0212
G03 X5.5000 Z-24.0000 I25.0956 K0.9847
G01 X5.8013 Z-24.0000
G02 X6.0440 Z-24.1903 I0.0000 K-0.2500
G03 X9.8766 Z-28.9412 I6.9900 K1.7176
G02 X10.0162 Z-29.1463 I-0.1097 K-0.2247
G02 X9.3083 Z-31.0000 I-2.3074 K-0.1808
G02 X10.0349 Z-34.7856 I-5.1151 K-2.9444
G02 X9.7875 Z-35.0000 I-0.2474 K0.0356
G01 X9.7875 Z-38.0000
G00 X10.7875 Z-37.5000
G00 Z2
M09
M05
M30
300735 Practical Session 3 Question Sheet Page 1

Student Name _____________________ Student Number___________

1. Explain the following CNC lathe program block.


G90 G95 G00 X45.789 Z-56.789 F300

________________________________________________________________________

________________________________________________________________________

2. Will the following CNC lathe program block create an error? Why?

G90 G09 X10.00 Z-10.00 I0.00 K10.00 F350

________________________________________________________________________

3. What is the Prolite CNC mills equivalent to the CNC lathes G50?

________________________________________________________________________

4. Explain the term and the use of canned cycles.

________________________________________________________________________

________________________________________________________________________

5. Write two programs for the following using a 40.00 diameter tool.
a. Manually calculating the cutter path.
b. Using G40,41/42

6. Create a CNC program for the attached drawing.


a. Use a 8.0mm diameter tool.
b. Use the cutter compensation method of your choice.
c. Create a listing of your program.
8 7 6 5 4 3 2 1

F F

100
15
10
E E

R6

12
100

80
D D

70
R6
30

C 50 C
(0,0)
50

B B

UNLESS OTHERWISE SPECIFIED: FINISH: DEBURR AND


DO NOT SCALE DRAWING REVISION
DIMENSIONS ARE IN MILLIMETERS BREAK SHARP
SURFACE FINISH: EDGES
TOLERANCES:
LINEAR:
ANGULAR:

NAME SIGNATURE DATE TITLE:

DRAWN

CHK'D

APPV'D

MFG

A
Q6 Drawing A
Q.A MATERIAL: DWG NO.
A3

WEIGHT: SCALE:1:1 SHEET 1 OF 1

8 7 6 5 4 3 2 1
School of Computing, Engineering and Mathematics

300735 Automated Manufacturing

Milling Operation Design using SolidCAM - Practical


Session A-4
School of Computing, Engineering and Mathematics

300735 Automated Manufacturing

Prac Task 3

Due on Prac 8 (CNC Prac Session - Practical B-4)


Instructions:

Task 3 is to create a model using the SolidWorks CAD package of a Hand Wheel shown in the two drawings
on the following pages. The second part of the task is to generate the toolpaths using the SolidCAM package.
Each of these toolpaths is to be then postprocessed from within SolidCAM to create G&M code for the
milling centres (choose FANUC as the ‘machine’ for postprocessing – this is the closest to the ProLight
code).

Specifically, the task can be broken down into the following steps:
1. Create a model in SolidWorks
2. Do the first few Lessons of the online SolidCAM Tutorial to learn how to use SolidCAM
3. Determine what tools are available in the tool library of SolidCAM
4. Choose an 8mm diameter milling cutter as the appropriate tool from the tool library or if one does not
exist, modify the dimensions of an existing tool from the library.
5. Generate a toolpath using the SolidCAM package
6. Using SolidCAM, generate a program of G & M codes suitable for the milling machine by
postprocessing the toolpath.
7. Modify the resulting program manually so that it includes G54 and other codes that the postprocessor
does not generate.

You will need to:


1. Print out the CAD models
2. Setup instructions for the machine operator including clamping method and packing details.
3. Print out of the CNC programs (as long as it is not too lengthy)
4. The machined Hand Wheel component.
Note:
a) Flywheel is to be machined from the same plastic HDE (High Density Ethylene) or PVC block as your
first task.
b) Use only an 8 mm diameter milling tool for the whole job.
c) Feed rate for this task is 800.
15.0
0
B 20.00

10.0 .00 p
0 10 Dee
m
0m
2.0

100.00
A A

15.00

90.0
0 12
16.00

.00
80
B 18.00

.00
R5
SECTION B-B
15.00

Hand Wheel - Introduction to CAD/CAM


10.00

UNLESS OTHERWISE STATED


ALL DIMENSIONS IN WESTERN SYDN(
100.00 MILLIMETERS
TOLERANCES
MATERIAL:
SECTION A-A LINEAR ± 0.20 mm
ANGULAR ± 0.5 DEG
AS STATED DRN ISSUED
FINISHED: SCALE:1:1 PART NO.
ALL OVER
School of Computing, Engineering and Mathematics

300735 Automated Manufacturing

Introduction to CNC Machining – Practical Session B-4

Feed and Speed Calculations


1. Modern cutting tools

In recent years a lot of research and development has gone into creating special alloys and coatings to
improve the efficiency of the machining process and to keep up with developments in machine tools and
manufacturing methods. This makes the calculation of the correct feeds and speeds critical so as to take full
advantage of the specific technology. As a general rule when purchasing any type of cutting tool make sure
that you get the data sheet for that specific cutting tool.

2. Terminology

Feed - The speed at which the machine slides move. (G01 F400)
Speed - The speed in RPM for (a) Mill - the tool spindle speed (M03 S1500)
(b) Lathe - the work piece spin speed (M03 S1500)

3. Calculating the correct spindle RPM

Whether it’s your dentist drilling a hole in your tooth or you are drilling a hole in a wall to mount a picture it
is important that the tool of the machine is spinning at the correct RPM. Without the correct RPM
(revolutions per minute) it will not be possible to achieve.

* Accuracy
* Correct tool wear
* Economy
* Safety

3.1 The formula


The main purpose of the formula is to convert a value for cutting speed, specified in metres per minute,
to an equivalent value in revolutions per minute. The formula is an approximation obtained from
calculating the cutting speed i.e. the speed at which the material is moving past the tool. Thus, the cutting
speed or surface speed, V, is given by V=dN where N = the rotational speed of the job (in turning) or
the rotational speed of the tool (in milling) measured in rpm, and d = the diameter of the job (in turning)
or the diameter of the tool (in milling) measured in metres. If d (now shown as D) is measured in mm the
formula below is an approximation to

V
 N , where V is in m/min and D is in mm:
πD

325  V
 RPM
D

V = Surface Speed (cutting speed)


The value, V, is the surface speed (same as cutting speed) in m/min (metres per min). This value can be
found on the tool manufactures data sheet.
D = Tool or work piece diameter.
This is the actual diameter in mm (millimeters) of the tool or the work piece that is rotating.
* Work piece diameter - this needs to be measured.
* Tool Diameter - this value is usually stamped on the tool but can also be measured.
3.2 Example - Drilling
A hole of diameter 10.00mm needs to be drilled in a piece of aluminium using a HSS (High Speed Steel)
drill bit. The recommended surface speed for aluminium using this drill bit is 60m/min.
325 V we get: 325  60
Using the formula:  1950 RPM
D 10

The spindle speed on the drilling machine should be set to the closest value to 1950 RPM.

3.3 Example - Milling


We need to mill a 16.00mm slot in mild steel using a HSS slot Drill on a CNC mill. The data sheet
recommends that we use a cutting speed of 25m/min.

325 V we get: 325  25


Using the formula:  508 RPM
D 16

Thus we need to specify an RPM of 508. This becomes a block: N0035 M03 S508

3.4 Example - Turning


It is required to finish turn a 20.00mm diameter plastic shaft using a carbide turning tool. The data sheet
recommends a surface speed 280m/min for finishing.

325 V we get: 325  280


Using the formula:  4550 RPM ,
D 20

which becomes a line of code: N0035 M03 S4550

Important !
Using modern, high performance cutting tools requires well-maintained machine tools and therefore the
capability limits of a machine should not be exceeded. For example, in the turning operation above (3.4),
before setting the spindle speed you should first check that the machine is capable of the required RPM
and any associated tooling is stable at that RPM.

4. Calculating the correct Feed rate - Milling

The feed rate in milling is important as it dictates the correct chip load on the flutes (cutting edges) of the
tool, and without the correct feed rate (mm per minute) good machined finishes cannot be achieved,
including:

* Accuracy
* Correct tool wear
* Economy
* Safety

4.1 The Formula


The simple formula below allows the feed rate to be determined from machining information including
data supplied by tool manufacturers:

RPM x Number of Teeth x Chip-depth per Tooth = Feed Rate (mm/min)

RPM
325  V
We calculate this first using the formula:  RPM
D
Number of Teeth
Requires counting the number of teeth (e.g. for a milling cutter with inserts) or flutes (e.g. for a drill, slab
milling cutter etc.) on the tool.

Chip-depth per Tooth


This value is found on the tool data sheet. It is the same as the “undeformed chip thickness” or “depth-
of-cut” that is used in cutting force calculations.

4.2 Example
Using a 3-fluted 6.00mm diameter unimill (end-mill or slot-mill) a slot is to be machined in surgical
grade acrylic.
* Recommended cutting speed of acrylic 120m/min
* Recommended chip depth per tooth 0.10mm

325 120
a. Calculate the spindle RPM:  6500 RPM
6
b. Calculate the feed rate: 6500 x 3 x 0.1 = 1950 mm/min

The program would look like: N00025 M03 S6500


N00030 G94 F1950 (note: G94 sets feed in mm/min)

5. Calculating the correct Feed rate - Turning

Feed rates for CNC lathes are usually specified in mm/rev (G95), as the work piece is turning this facilitates
more control of surface finish and enables us to keep the surface finish constant when programming constant
surface speed.

5.1 Constant Surface Speed (G96)


The inherent nature of a turning operation means that the diameter of the work piece will not be constant
- this is most obvious when we perform a facing operation. Note that, in this example, the initial RPM
was calculated at 81 RPM, but as the tool approaches smaller diameters the RPM will be too slow and
could possibly cause poor surface finish, undue stress on the tool as well as damage to the machine.
Many CNC controllers enable the programming of constant surface speed (cutting speed) which simply
means that the spindle RPM increases as the radial (or diametral) position of the tool decreases.

Pseudo code for .Constant surface speed:

1. Set Maximum RPM


2. Set Starting Surface Speed.
3. Turn on spindle
4. Start calculating at the beginning of the first G01 movement.

Example:
N0025 G92 S1000 ; Some G codes perform two functions (see note)
N0030 M03 S125 G96 ; Surface speed of 125m/min taken from tool data sheet.
G96 instructs constant surface speed.

Note: G92 sets either (a) a pre-set position if followed by XYZ cords like G54, or (b) sets maximum spindle
speed as here.

5.2 Millimeters per rev (G95)


The millimeters per rev function is usually calculated as a percentage of the workpiece radius. These
values are usually obtained from the tool data sheet.

Example:

A steel shaft is being faced using a carbide tool with a tool-nose radius of .8mm
Details from data sheet:
* Surface speed 120m/min
* Recommended feed per revolution for roughing is 0.25mm per revolution.

N0025 G92 S3000 ; Set value is usually close to machine maximum


N0030 M03 S120 G96 ; Constant surface speed set
N0035 G95 F0.25 ; Specify Feed Rate in mm/rev
N0040 G00 X80.000 Z3.000
N0045 G01 X-1.000 ; Start calculating spindle RPM from beginning of this move
i.e. using X80.0 as diameter.
N0050 …..
N0055 …

Important:
If your machine does not have constant surface speed option you may have to calculate the Average,
fixed (G97) spindle RPM or increase the speed manually at certain increments.
The use of G97 makes it very difficult to achieve the desired surface finish.
300735 Practical Session 4 Question Sheet Page 1

Student Name _____________________ Student Number___________

1. Why is it important to have correct feed and speed values in a CNC program?

___________________________________________________________________________

___________________________________________________________________________

2. Explain in your own words what is meant by surface (cutting) speed.

___________________________________________________________________________

___________________________________________________________________________

3. Calculate the RPM of a 13.00mm diameter slot drill machining aluminium;


show working. Use 115m/min as your surface speed.

___________________________________________________________________________

___________________________________________________________________________

4. Calculate the feed rate for question 3 using a 2 fluted cutter with a chip per
tooth of 0.012mm, show working.

__________________________________________________________________________

__________________________________________________________________________

5. Explain the difference between G96 and G97 in a turning operation.

__________________________________________________________________________

__________________________________________________________________________

6. Explain the advantage of using G95 instead of G94 in turning.

__________________________________________________________________________

__________________________________________________________________________

You might also like