CNC Lathe Machine
Nurfaizey b. Abdul Hamid
1                              26 February 2008
                                             FAKULTI KEJURUTERAAN MEKANIKAL
                                         UNIVERSITI TEKNIKAL MALAYSIA MELAKA
    CONTENTS
      1.   Introduction to CNC
      2.   Operations and Capabilities
      3.   CNC Lathe Programmable Axes
      4.   CNC Lathe Programming
      5.   CNC Lathe Programming Example
2
                                                     FAKULTI KEJURUTERAAN MEKANIKAL
                                                 UNIVERSITI TEKNIKAL MALAYSIA MELAKA
    1. INTRODUCTION
    Introduction to Computer Numerical Control (CNC)
     CNC is defined as ‘Control of machine tools and other manufacturing
      equipment using computer programs’ (R.R.Kibbe, 2006).
     Since the earliest days of production manufacturing involving the precision
      of duplication of parts, manufacturing engineers and industrial technologists
      have sought ways to increase dimensional accuracy and to increase the
      speed of production.
     After the development of computers, CNC had been used to control
      machines in order to get high degree of repeatable precision.
     The precision dimensional requirements that are the mainstay of the
      machining processes, such as drilling, turning and milling, have made CNC
      ideal to control the machines.
     Today, CNC is not only limited to machining processes. It also appears in
      many other types of manufacturing processes.
     CNC is also used for robotic spot welding, wire welding, robotic assembly,
      pipe and tube bending, laser and plasma arc cutting, wood routers, flame
      and abrasive water jet cutting, electro-discharge machining (EDM), spray
3     painting and etc.
                                                    FAKULTI KEJURUTERAAN MEKANIKAL
                                                UNIVERSITI TEKNIKAL MALAYSIA MELAKA
    1. INTRODUCTION – (cont’d)
     The Advantages of Computer Numerical Control (CNC)
        Higher production rate
        High degree of repeatable precision
        Lower reject rate
        Reduce tooling cost
        Less handling by operators
        Able to produce complex shapes
     CNC Lathe Machines                                    CNC Lathe Machine
                                                           (www.okuma.co.jp)
      A CNC lathe machine does the same operations as the conventional lathe
       machine. It is used to produce component with circular cross section using
       turning operations and related tasks such as drilling, boring, tapping and
       reaming.
      The main difference is the use of CNC to control the operation of the
       machine.
      Using computer programs, CNC lathe machines are able to produce
4      components with all the advantages associated with CNC.
                                                FAKULTI KEJURUTERAAN MEKANIKAL
                                            UNIVERSITI TEKNIKAL MALAYSIA MELAKA
    2. OPERATION & CAPABILITIES
    The Operations of CNC Lathe Machine
       Plane turning (Melarik lurus)
       Taper turning (Melarik tirus)
       Facing (Merata permukaan)
       Parting off (Memotong)
       Threading (Membenang)
       Knurling (Membunga)
       Drilling/reaming (Membuat lubang)
       Boring (Membesarkan lubang)
       Polishing (Menggilap)
    CNC Lathe Machine Capabilities
     Can operate in long period without operator’s supervision.
     Can operate using numerical control program to produce various
      components.
     Programs can be created, stored, and can be used whenever needed to
5     manufacture the component.
                                                   FAKULTI KEJURUTERAAN MEKANIKAL
                                               UNIVERSITI TEKNIKAL MALAYSIA MELAKA
    2. OPERATION & CAPABILITIES
     Typical steps that have to taken by the operator to produce a component:
       1. Choosing the right cutting tool for the operation
       2. Place the cutting tool in the machine’s turret
       3. Tighten the tools
       4. Place the workpiece onto the work holding device
       5. Tighten the workpiece
       6. Set the zero point (datum)
       7. Choosing the right speed
       8. Check the turning direction of the spindle
       9. Choosing the right feed rate
       10. Start the spindle
       11. Start the coolant motor
       12. Start programme
       13. Stop the coolant motor
       14. Stop the spindle motor
       15. Remove workpiece from the machine
       16. Dimensional inspection of the component
6
                                                        FAKULTI KEJURUTERAAN MEKANIKAL
                                                    UNIVERSITI TEKNIKAL MALAYSIA MELAKA
    3. CNC PROGRAMMABLE AXES
    The Programmable Axes on CNC Lathe Machine
     Every CNC machine tool is designed to position the workpiece and cutting
      tools to perform cutting operations.
     Each machine has a definite three dimensional volume of space in which
      tools and workpieces may be moved about and positioned.
     On CNC lathe machines, the spindle axis is Z and the cross slide is X (figure
      below).
                     The fundamental programmable axes of CNC lathe machine
                                         (R.R.Kibbe, 2006)
7
                                                         FAKULTI KEJURUTERAAN MEKANIKAL
                                                     UNIVERSITI TEKNIKAL MALAYSIA MELAKA
    4. CNC PROGRAMMING
    CNC Lathe - Basic Programming Concept
     The purpose of NC programming is to write a sequence of events to be
      done, a set of cutting tool to be used and a set of machine control functions
      to be used to apply the tools and position the workpiece properly.
     The program stage in manufacturing process is as shown below.
8                       Programme stage in manufacturing process
                                                  FAKULTI KEJURUTERAAN MEKANIKAL
                                              UNIVERSITI TEKNIKAL MALAYSIA MELAKA
    4. CNC PROGRAMMING –(cont’d)
    CNC Program Standard Code
     Most modern CNC programming is done in the word address format
     Preparatory function codes or G codes. Usually noted in uppercase (G)
     Programmable axes dimensional information for positioning tools and
      workpieces (X, Y, Z, a, b, c)
     Miscellaneous function codes or M codes. Usually noted in uppercase (M)
     Various other letter codes such as I, J, K, F, S and R
9
                                                    FAKULTI KEJURUTERAAN MEKANIKAL
                                                UNIVERSITI TEKNIKAL MALAYSIA MELAKA
     4. CNC PROGRAMMING –(cont’d)
     Basic Programming - Program Configuration
      Generally a program consists of:
        1. Program Name
        2. Sequence Name and Sequence label
        3. Coordinates and commands
        4. Remarks
        5. End of program block
      This information is presented using ALPHABATIC CHARACTERS and
       NUMERIC CHARACTERS. Each line of characters is called a BLOCK.
        O________ (Can be omitted if only one program in the file)
        N________ G_X_Z_S_T_M_
        :
        :
        M2
10
                                                     FAKULTI KEJURUTERAAN MEKANIKAL
                                                 UNIVERSITI TEKNIKAL MALAYSIA MELAKA
     4. CNC PROGRAMMING –(cont’d)
     Program Name (Program Number)
      Program name designation
       O_ _ _ _
      Up to 4 characters can be used
      The characters can be numeric
      Alphabetic character must be a head of numeric character.
      Example: Program name
        1. O1234              -OK
        2. OAB12              -OK
        3. O1AA2              - Tak OK- after AA (sama)
        4. O123      =        O0123
      Program name can be omitted if there is only one main program in the file.
11
                                                   FAKULTI KEJURUTERAAN MEKANIKAL
                                               UNIVERSITI TEKNIKAL MALAYSIA MELAKA
     4. CNC PROGRAMMING –(cont’d)
     Sequence Name and Label
      A sequence name is defined as a name assigned to a block. Numeric or
       alphabetic characters following after “N” are designated for a sequence
       name.
       N_____
      Sequence name must be placed at the beginning of a block. However it is
       not essential to include sequence name in program
      Sequence name may be specified in any order.
      Example: Program name
        1. N1234                 -OK
        2. NAT02                 -OK
        3. N1AT2                 -tak OK (alphabet and numeric-berselang-seli)
        4. N123 tak sama N0123
12
                                                     FAKULTI KEJURUTERAAN MEKANIKAL
                                                 UNIVERSITI TEKNIKAL MALAYSIA MELAKA
     4. CNC PROGRAMMING –(cont’d)
     Commands
      Machine carries out its tasks by following the commands written in a
       program. These commands are presented by groups of codes, so called G
       code and M code. Each code commands the machine to do specific action.
      For example:
        1. G00 commands the machine to move the cutter at a rapid speed to a
            specific point in the work.
        2. M08 commands the machine to start spraying coolant through the
            nozzles.
         G-Code          CONTENTS
         G00             Positioning
         G01             Straight line cutting
         G02             Circular cutting (clockwise)
13       G03             Circular cutting (counter c/wise)
                                                FAKULTI KEJURUTERAAN MEKANIKAL
                                            UNIVERSITI TEKNIKAL MALAYSIA MELAKA
     4. CNC PROGRAMMING –(cont’d)
       G-Code    CONTENTS
       G04       Dwell
       G40       Tool nose radius composition: Cancel
       G41       Tool nose radius composition: left
       G42       Tool nose radius composition: right
       G50       Maximum Spindle speed designation
       G71       Longitudinal compound fixed thread cutting cycle
       G73       Longitudinal grooving compound fixed cycle
       G74       Transverse grooving/drilling compound fixed cycle
       G77/G78   Tapping compound fixed cycle
       G80       End of shape designation (LAP)
       G81       Start of longitudinal shape designation (LAP)
       G82       Start of transverse shape designation (LAP)
       G85       Call of rough bar turning cycle (LAP)
       G87       Call of finish turning cycle (LAP)
       G90       Absolute programming
14
                                                  FAKULTI KEJURUTERAAN MEKANIKAL
                                              UNIVERSITI TEKNIKAL MALAYSIA MELAKA
     4. CNC PROGRAMMING –(cont’d)
       G-Code    CONTENTS
       G91       Incremental programming
       G94       Feed per minute mode (mm/min)
       G95       Feed per revolution mode (mm/min)
       G96       Constant speed cutting ON
       G97       Cancel of G96 (direct spindle speed)
       M-code    CONTENTS
       M00       Program stop
       M01       Optional stop
       M02       End of program
       M03       Spindle clockwise rotation
       M04       Spindle counterclockwise rotation
       M05       Spindle stop
       M08       Coolant on
       M09       Coolant off
       M41       Low gear
15     M42       High speed gear
                                                      FAKULTI KEJURUTERAAN MEKANIKAL
                                                  UNIVERSITI TEKNIKAL MALAYSIA MELAKA
     4. CNC PROGRAMMING –(cont’d)
     Coordinates
      In order to let the machine know where it should move the tool, the
       coordinate point have to be specified. The coordinate value is represented
       by X, Z, A, C, I and K-axis. However, only X and Z-axis is being concerned
       in this class.
       X±_____.___ Z ±_____.___
      In default parameter setting, the unit system is in millimeters
       X90.1 is effectively 90.1 mm or 90100μm
      Also by default, the unit system allow 3 significant digits after the decimal
       point. X0.001
      Decimal point is not essential if integer value is assigned.
       X90 is effective as X90. or X90.0
      Example:        X -70.711           Z100
                       X 90.001            Z90
16
                                                    FAKULTI KEJURUTERAAN MEKANIKAL
                                                UNIVERSITI TEKNIKAL MALAYSIA MELAKA
     4. CNC PROGRAMMING –(cont’d)
      Other code address include F, S, T, P, Q……
       Where:
       F = Feed rate (cutting)
       S = Spindle speed (Rotation – clockwise @ counterclockwise)
       T = Tool number and tool offset number
17
                                                      FAKULTI KEJURUTERAAN MEKANIKAL
                                                  UNIVERSITI TEKNIKAL MALAYSIA MELAKA
     4. CNC PROGRAMMING –(cont’d)
     Tool Selection
          Selection of a cutting tool is made by 4 digit figures following a
         character T
        T_ _ _ _     Example: T 02 02
                       Tool Offset Number
                      Tool Number
          When Tool nose radius compensation function is used, selection of a
            cutting tool is made by 6 digit figures.
        T 02 02 02
                           Tool Offset Number
                            Tool Number
                            Tool nose radius compensation
18
                                                  FAKULTI KEJURUTERAAN MEKANIKAL
                                              UNIVERSITI TEKNIKAL MALAYSIA MELAKA
     4. CNC PROGRAMMING –(cont’d)
     Controlling The spindle (S, M03, M04, M05)
          Logically the spindle must be rotating before the cutting process
           commences. These codes are used to control the direction and its
           speed.
19
                                                 FAKULTI KEJURUTERAAN MEKANIKAL
                                             UNIVERSITI TEKNIKAL MALAYSIA MELAKA
     4. CNC PROGRAMMING –(cont’d)
          Example:
        T0101
        S2000 M03
        G00 X188 Z204
            X188
        G01 X185 Z120 F0.5
            X190
             Z100
            X200
        G00 X300 Z300
        M5 (Spindle stop)
        M2 (End of program)
           In the above example:
         1. T0101 commands the machine to select tool number 1
         2. S2000 Sets the spindle speed to 2000 rpm
         3. M03 Commands the spindle to rotate in clockwise direction speed
            determined by previous S code. In this case, 2000 rpm.
20       4. M05 Stops the spindle
                                            FAKULTI KEJURUTERAAN MEKANIKAL
                                        UNIVERSITI TEKNIKAL MALAYSIA MELAKA
     4. CNC PROGRAMMING –(cont’d)
     Coolant on/off (M08, M09)
                  M08     Coolant On
                  M09     Coolant Off
          Example:
        T0101
        S2000 M03
        G00 X188 Z204
                X185
        M08
        G01 X185 Z120 F0.5
                X190
              Z100
                X200
        G00 X300 Z300
        M5
        M09
21      M2
                                                      FAKULTI KEJURUTERAAN MEKANIKAL
                                                  UNIVERSITI TEKNIKAL MALAYSIA MELAKA
     4. CNC PROGRAMMING –(cont’d)
     Program Stop and Program End (M00, M01, M02)
          M00 Program Stop. The machining cycle stops when this code is
            encountered during program execution. Pressing CYCLE START at this
            point will resume the operation.
          M01 Optional Stop. M01 performs the same functions as M00, except,
            it is only effective when the OPTIONAL STOP button on the control
            panel is switched on. Pressing CYCLE START at this point will be resume
            the operation.
          M02 End of program. It must be included to indicate end of a
            program. This code also resets the control.
     Example:
     T01 01 01
     S2000 M03
     G00 X188 Z204
     X185
     M00 (Operation cycle stop here)
     M08 (Operation cycle continues here when CYCLE START button is
22        pressed)
                                                   FAKULTI KEJURUTERAAN MEKANIKAL
                                               UNIVERSITI TEKNIKAL MALAYSIA MELAKA
     4. CNC PROGRAMMING –(cont’d)
     G01 X185 Z120 F0.5
         X190
          Z100
         X200
     M01 (Operation cycle Stop if OPTIONAL STOP button is switched on)
     G00 X300 Z300
     M5 (Spindle stop)
     M09 (Coolant off)
     M2 (End of program)
23
                                                    FAKULTI KEJURUTERAAN MEKANIKAL
                                                UNIVERSITI TEKNIKAL MALAYSIA MELAKA
     4. CNC PROGRAMMING –(cont’d)
     Positioning (G00)
          G00 commands the machine to position the cutter to a coordinate point
            at rapid feed rate
        G00 X_ _ _ _ . _ _ _ Z _ _ _ _ . _ _ _
        X and Z designate the stopping point
          Example
        T01 01 01
        S2000 M03
        G00 X188 Z204
             X185
        M5
        M2
24
                                                    FAKULTI KEJURUTERAAN MEKANIKAL
                                                UNIVERSITI TEKNIKAL MALAYSIA MELAKA
     4. CNC PROGRAMMING –(cont’d)
     Straight line cutting
          This code commands the machine to move the cutter from current
           position to the position specified by X and Z. Along a straight line a
           feed rate specified by F.
        G01 X_ _ _ _ . _ _ _ Z _ _ _ _ . _ _ _ F_ . _ _ _
          Example straight line cutting
         T0101
         S2000 M03
         G00 X188 Z204
            X185
         M08
         G01 X185 Z120 F0.5
             X190
                 Z100
             X200
         G00 X300 Z300
         M5
         M09
25       M2
                                                   FAKULTI KEJURUTERAAN MEKANIKAL
                                               UNIVERSITI TEKNIKAL MALAYSIA MELAKA
     4. CNC PROGRAMMING –(cont’d)
     Dwell (G04) & maximum spindle speed (G50)
          Program will pause for F_second
        G04 F_
          Specify the max spindle speed (S_ _ _ _) allowed in the program
        G50 S_
26
                                  FAKULTI KEJURUTERAAN MEKANIKAL
                              UNIVERSITI TEKNIKAL MALAYSIA MELAKA
     5. PROGRAMMING EXAMPLE
     * Refer to handout
27
                           FAKULTI KEJURUTERAAN MEKANIKAL
                       UNIVERSITI TEKNIKAL MALAYSIA MELAKA
     THE END
               THANK YOU
28