E252 Learning Module I--CNC Fundamentals and Terminology

Embed Size (px)

Citation preview

  • 8/9/2019 E252 Learning Module I--CNC Fundamentals and Terminology

    1/46

    ENT 252 Learning Module I-CNCFundamentals and Terminology 1

    Computer Aided

    Manufacturing II

    Introductions

    ExpectationsPreparation for lecture, lab, etc.

  • 8/9/2019 E252 Learning Module I--CNC Fundamentals and Terminology

    2/46

    ENT 252 Learning Module I-CNCFundamentals and Terminology 2

    Computer Aided

    Manufacturing II

    ENT 252 CAM II

    Extension of CAM IEmphasis on generating part programs

  • 8/9/2019 E252 Learning Module I--CNC Fundamentals and Terminology

    3/46

    ENT 252 Learning Module I-CNCFundamentals and Terminology 3

    Computer Aided Manufacturing II

    Review syllabus

    Textbook

    CIMTEXT.doc available on web Prerequisite sign off

    Term Project

    Using the course web page as a resource Feedback and discussion

    Lets begin

  • 8/9/2019 E252 Learning Module I--CNC Fundamentals and Terminology

    4/46

    ENT 252 Learning Module I-CNCFundamentals and Terminology 4

    What is Computer Aided Manufacturing?

    CNC Machines

    Robots

    Material HandlingAutomation

    Automatic part program generation

    Paperless factory

    Others

  • 8/9/2019 E252 Learning Module I--CNC Fundamentals and Terminology

    5/46

    ENT 252 Learning Module I-CNCFundamentals and Terminology 5

    Development of NC/CNC

    1957 MIT development of first machine

    Retrofit

    Replace hand cranks with motors

    Control motors with electronics

    Eventually led to development of numerically

    controlled machine tools

    Programs stored on punched paper tape

    Special purpose controllers designed for sole

    purpose of running NC machines

  • 8/9/2019 E252 Learning Module I--CNC Fundamentals and Terminology

    6/46

    ENT 252 Learning Module I-CNCFundamentals and Terminology 6

    NC/CNC Development Continued

    Programmer manually programs part

    Punches data into PPT

    Outputs a manuscript

    Used typewriter-like device

    Controller connected to motor which is

    connected to lead screw (threaded rod).

    Follower (nut), connected to machine slide,rides on lead screw resulting in linear motion.

  • 8/9/2019 E252 Learning Module I--CNC Fundamentals and Terminology

    7/46

    ENT 252 Learning Module I-CNCFundamentals and Terminology 7

    So What is CNC? By early 1970s, INTEL had developed first

    microprocessor (computer on a chip)

    Think about technological developments leading up

    to this time What are some of the significantdevelopments?

    Well, once OEMs had computers on a chip theyreplaced thousands of wires with a single chipresulting in Computer Numerical Control (CNC)

    Computer Numerical Control told potentialcustomers that their control was computer basedand not hard wired.

  • 8/9/2019 E252 Learning Module I--CNC Fundamentals and Terminology

    8/46

    ENT 252 Learning Module I-CNCFundamentals and Terminology 8

    CNC Continued

    Today the terms NC and CNC have become

    interchangeable.

    CNC offers shop floor editing of programs (for

    programs errors, tool wear, etc.), more

    methods of program storage, calculations,

    canned routines, and variable-basedprograms.

  • 8/9/2019 E252 Learning Module I--CNC Fundamentals and Terminology

    9/46

    ENT 252 Learning Module I-CNCFundamentals and Terminology 9

    CNC Continued

    CNC Machines are best suited for small to

    medium lot sizes

    Explain what this means

    What are the alternative methods of

    manufacturing?

    When is CNC well-suited for one part?

    What about continuous runs? What are advantage/disadvantage of CNC over

    other other manufacturing choices?

  • 8/9/2019 E252 Learning Module I--CNC Fundamentals and Terminology

    10/46

    ENT 252 Learning Module I-CNCFundamentals and Terminology 10

    CNC Part Program Development

    CNC part programming may be

    accomplished in a variety of ways, such as:

    Manual part programming

    Computer assisted part programming

    CAD/CAM

    Shop Floor Parametric

  • 8/9/2019 E252 Learning Module I--CNC Fundamentals and Terminology

    11/46

    ENT 252 Learning Module I-CNCFundamentals and Terminology 11

    Manual Part Programming Manual part programming is the oldest

    method and still quite popular. This

    technique requires the programmer to

    examine a part drawing then manually

    calculate all tool paths. This information is

    recorded on a manuscript. A punched

    tape is prepared directly from themanuscript.

  • 8/9/2019 E252 Learning Module I--CNC Fundamentals and Terminology

    12/46

    ENT 252 Learning Module I-CNCFundamentals and Terminology 12

    Computer Assisted Part Programming

    High level language to describe

    geometry and tool path

    Computer makes all key calculations Tool offsets and compensations

    Partial arcs

    Part geometry And more...

  • 8/9/2019 E252 Learning Module I--CNC Fundamentals and Terminology

    13/46

    ENT 252 Learning Module I-CNCFundamentals and Terminology 13

    CAD/CAM

    CAD used to describe geometry

    CAM software used to define tool path

    relative to CAD geometry

    Becoming very popular

    Tough to get pure turn-key system

  • 8/9/2019 E252 Learning Module I--CNC Fundamentals and Terminology

    14/46

    ENT 252 Learning Module I-CNCFundamentals and Terminology 14

    Conversational/Shop Floor Programming

    Interactive method of generating part programs

    The CNC programmer or machine tool operatoranswers questions and provides data about toolpaths when prompted by a conversational

    programming software system. These answers to questions and associated data

    are translated into a CNC program for a particularmachine tool.

    Conversational systems reside on the machine tool

    controller This method of programming is generally restricted

    to relatively simple geometry

  • 8/9/2019 E252 Learning Module I--CNC Fundamentals and Terminology

    15/46

    ENT 252 Learning Module I-CNCFundamentals and Terminology 15

    Parametric Programming

    Highest level and versatile method of

    programming

    Good for part family programming

    Use variables to describe part features

    Values assigned to variables define part

  • 8/9/2019 E252 Learning Module I--CNC Fundamentals and Terminology

    16/46

    ENT 252 Learning Module I-CNCFundamentals and Terminology 16

    Programming Terminology and

    Formats NC/CNC Part Programs consist of:

    BLOCKS or lines of code

    Blocks consist of WORDS or commands (e.g.,

    feedrate command)

    Words consist of CHARACTERS orBYTES (G, X,

    any alpha-numeric character)

    Characters/Bytes consist of bits (0 or1; hole or no

    hole; magnetized spot or not magnetized spot)

  • 8/9/2019 E252 Learning Module I--CNC Fundamentals and Terminology

    17/46

    ENT 252 Learning Module I-CNCFundamentals and Terminology 17

    A Sample BLOCK

    The following are sample Blocks or Lines

    of CNC code:

    N00 G01 X+1000 Z-3000 F30 H0

    N5M3G1X-1.5Z+3.42F3.5S1200

    N10M6T2

  • 8/9/2019 E252 Learning Module I--CNC Fundamentals and Terminology

    18/46

    ENT 252 Learning Module I-CNCFundamentals and Terminology 18

    Programming Formats

    Fixed Block 0001+0100-01000040

    Notice only numeric data with a fixed number of charactersper word and block

    Tab Sequential

    00 01 +0100 -01000 040 Notice only numeric data with a fixed number of TABS per

    block

    Word Address

    N1G3X-3.5Y+4.0F3.5

    Letters precede numbers designating each word.

    No fixed structure

  • 8/9/2019 E252 Learning Module I--CNC Fundamentals and Terminology

    19/46

    ENT 252 Learning Module I-CNCFundamentals and Terminology 19

    Program Storage and Coding

    Storage

    Punched tape, disk, hard drive, network drives

    www.doit.ort.org

    Coding American Standard Code for Information Interchange

    (ASCII) is used today

    7 bit code with 8th bit for special stuff

    Each character is assigned a unique code of1s and 0s. A is 01000001

  • 8/9/2019 E252 Learning Module I--CNC Fundamentals and Terminology

    20/46

    ENT 252 Learning Module I-CNCFundamentals and Terminology 20

    Consider Codes

    1 bit code Example: 0=A;1=B

    2 bit code

    Example 00=A, 01=B, 10=C, 11=D BAD is 01 00 11

    4 bit code Example: 0000=A, 0001=B, and so on

    How many characters can we code with 4 bits? Now consider 7 bits, 8 bits, or10 bits

  • 8/9/2019 E252 Learning Module I--CNC Fundamentals and Terminology

    21/46

    ENT 252 Learning Module I-CNCFundamentals and Terminology 21

    More on Codes

    Number of Characters (combinations) is:

    2N where N is number of bits

    ASCII Code

    7 bits (27) = 128 characters

    8 bits (28) = 256 characters

    All keys on keyboard have assigned an ASCII

    code

  • 8/9/2019 E252 Learning Module I--CNC Fundamentals and Terminology

    22/46

    ENT 252 Learning Module I-CNCFundamentals and Terminology 22

    Consider Number Systems (bases)

    Number systems

    Consider93510

    9 hundreds, 3 tens, 5 ones

    9 x 102 + 3 x 101 + 5 x 100 = 93510

    Now consider 2548

    2 x 82 + 5 x 81 + 4 x 80 = 128+40+4=17210

    What about Base 2? 101102 = 2210 What about any base?

  • 8/9/2019 E252 Learning Module I--CNC Fundamentals and Terminology

    23/46

    ENT 252 Learning Module I-CNCFundamentals and Terminology 23

    Consider Codes as Numbers

    Firstgiven a base such as 8.

    How many unique characters in any one column?

    What is largest valued character in any one

    column?

    Now consider the ASCII code as a number?

    A is 010000012 = 6510

    B is 010000102 = 6610

    Work ASCII Code Worksheet

  • 8/9/2019 E252 Learning Module I--CNC Fundamentals and Terminology

    24/46

    ENT 252 Learning Module I-CNCFundamentals and Terminology 24

    Bits and Combinations (characters)

    With ASCII code using 7 bits we can code

    how many characters?

    With 8 bits we can code how many?

    What about WENDYs hamburgers?

    Take it to 10 bits 210 = __________?

    210 is K in computer jargon

  • 8/9/2019 E252 Learning Module I--CNC Fundamentals and Terminology

    25/46

    ENT 252 Learning Module I-CNCFundamentals and Terminology 25

    More on how CNC Machines work

    Programs are fed to control by PPT, disk,LAN, etc.

    Controller interprets numeric data and

    converts it into electrical signals which drivethe axes motors.

    Axes motors can be DC, AC, or morecommonly Stepper Motors. These motors

    drive the lead screw. Follower (nut), connected to machine slide,

    rides on lead screw resulting in linear motion.

  • 8/9/2019 E252 Learning Module I--CNC Fundamentals and Terminology

    26/46

    ENT 252 Learning Module I-CNCFundamentals and Terminology 26

    Feedback

    Usually feedback devices are connected to eachaxis.

    Feedback devices are used to improve positioning

    and are also used to verify that the axes are actuallymoving. If an axis is against a positive stop, thecontrol may say move but the axis cant. A feedbackdevice detects no motion and shuts down thecontrol.

    Typical feedback devices are primarily resolvers(AC) and encoders (digital). Lasers, andpotentiometers may also be used.

  • 8/9/2019 E252 Learning Module I--CNC Fundamentals and Terminology

    27/46

    ENT 252 Learning Module I-CNCFundamentals and Terminology 27

    Determining Rotary Position-

    Mechanical EncoderMechanical Absolute EncodersGray

    code wheel shown to left. Gray code

    is used because only one bit

    transitions at a time. A metal disc

    containing a set of concentric rings ofopenings is affixed to an insulating

    disc, which is rigidly fixed to the shaft.

    A row of sliding contacts is fixed to a

    stationary object so that each contact

    wipes against the metal disc at a

    different distance from the shaft. As

    the disc rotates with the shaft, some

    of the contacts touch metal, while

    others fall in the gaps where the

    metal has been cut out.

  • 8/9/2019 E252 Learning Module I--CNC Fundamentals and Terminology

    28/46

    ENT 252 Learning Module I-CNCFundamentals and Terminology 28

    Determining Rotary PositionOptical

    EncoderOptical Absolute Encoders (Optical

    tachometer as shown to left

    measures RPM only. Multiple tracks

    of patterned holes required for

    position as shown below,)The optical encoder's disc is made of

    glass with transparent and opaque

    areas. A light source and photo

    detector array reads the optical

    pattern that results from the disc's

    position at any one time.

  • 8/9/2019 E252 Learning Module I--CNC Fundamentals and Terminology

    29/46

    ENT 252 Learning Module I-CNC

    Fundamentals and Terminology 29

    Determining RPM

    Optical Absolute EncodersOptical

    tachometer as shown to left measuresRPM only. Multiple tracks of patterned

    holes required for position as shown

    previously.

  • 8/9/2019 E252 Learning Module I--CNC Fundamentals and Terminology

    30/46

    ENT 252 Learning Module I-CNC

    Fundamentals and Terminology 30

    More on CNC Operation

    Stepper motors work off of pulses (e.g., 0 to

    24V). Each pulse causes a specific degrees

    of rotation. For example, a 7.5 degree

    stepper rotates 7.5 degrees per pulse.

    The pitch of the lead screw needs to be

    coordinated with the controller to affect

    precise linear motion. What is Pitch?

  • 8/9/2019 E252 Learning Module I--CNC Fundamentals and Terminology

    31/46

    ENT 252 Learning Module I-CNC

    Fundamentals and Terminology 31

    Still More on CNC Operation

    If a stepper motor is used, the number of

    pulses from a stepper motor determines the

    revolutions made by the lead screw. This in-

    turn, determines linear distance.

    The rate or frequency of pulses determines

    the rate of axis travel.

    Consider the stepper motor worksheet

  • 8/9/2019 E252 Learning Module I--CNC Fundamentals and Terminology

    32/46

    ENT 252 Learning Module I-CNC

    Fundamentals and Terminology 32

    First steps toward programming

    CNC Programs can be written in either

    Incremental (relative) or Absolute mode.

    With Incremental, the command issued is

    the DISTANCE the programmer wants the

    axes to move.

    With Absolute, the command issued is the

    COORDINATE the programmer wants theaxes to move to.

  • 8/9/2019 E252 Learning Module I--CNC Fundamentals and Terminology

    33/46

    ENT 252 Learning Module I-CNC

    Fundamentals and Terminology 33

    Programming modes continued

    The Incremental and Absolute modes can be

    intermixed in a single program.

    The command to set Incremental is G91 and

    the command to set Absolute is G90 or G92.

    All of these commands are modal which

    means once set, they are retained from block

    to block (line to line) of CNC code. More on commands later.

  • 8/9/2019 E252 Learning Module I--CNC Fundamentals and Terminology

    34/46

    ENT 252 Learning Module I-CNC

    Fundamentals and Terminology 34

    Consider an example

    X

    Y

    0 2 4 6

    5

    A

    B C

    D

    Move Incremental AbsoluteA-B X=2, Y=5 X=2, Y=5

    B-C X=2, Y=0 X=4, Y=5C-D X=2, Y=-5 X=6, Y=0D-A (you finish)

    0

  • 8/9/2019 E252 Learning Module I--CNC Fundamentals and Terminology

    35/46

    ENT 252 Learning Module I-CNC

    Fundamentals and Terminology 35

    Example continued

    In the example, note the pattern/relationshipbetween Incremental and Absolute.

    What is the relationship?

    Also, note that in Incremental, if the programreturns to starting point, then X=0 and Y=0

    In Absolute, there is no sum check but if thelast coordinate is the starting coordinate thenthe program returns to starting point.

    Work the ABS/INC Worksheet.

  • 8/9/2019 E252 Learning Module I--CNC Fundamentals and Terminology

    36/46

    ENT 252 Learning Module I-CNC

    Fundamentals and Terminology 36

    Beginning to Program

    NC/CNC Programs are made up ofBLOCKS or

    lines of code. Each block is a complete command

    and the machine tool executes one block at a time.

    Blocks are made up of WORDS. Words are theactual instruction set and are used to establish

    motion pattern, feedrates, coolant and spindle

    control, etc.

    Words are made up of alpha-numericCHARACTERS or bytes.

    Characters (or bytes) are made up ofBITS.

  • 8/9/2019 E252 Learning Module I--CNC Fundamentals and Terminology

    37/46

    ENT 252 Learning Module I-CNC

    Fundamentals and Terminology 37

    Its in the Code

    The language of NC/CNC Machines is G-

    Code. G-codes are used to provide path

    definition to the control. For example, G01 is

    feed linear, G02 is arc CW, G03 is arc CCW,and so on.

    Generally, G codes are two characters and

    can range from G00 through G99. Not all 100codes are used and not all G codes are

    standardized which presents challenges.

  • 8/9/2019 E252 Learning Module I--CNC Fundamentals and Terminology

    38/46

    ENT 252 Learning Module I-CNC

    Fundamentals and Terminology 38

    A Typical CNC Block (Command)

    N00 G01 X-1.00 Y-.750 F3.0

    In this command there are 5 Words (N, G, X, Zand F) N is the line or block number,. G is the motion or Preparatory Function

    command.

    X & Z are movement/coordinate data

    F is a feedrate command

    Search the web for a list of G codes. Whatdid you learn from this?

  • 8/9/2019 E252 Learning Module I--CNC Fundamentals and Terminology

    39/46

    ENT 252 Learning Module I-CNC

    Fundamentals and Terminology 39

    CNC Machines and Programming

    Fundamentals

    Most machine tools have a fixed machinezero/home location.

    CNC machines must be initialized or

    zeroed prior to operating the machine In addition to a machine zero, programmers

    will usually also specify a program zero. Thisis usually a location on the part from which

    dimensions are referenced. Checking partsafter they have been machined should alsobe done using these same reference points.

  • 8/9/2019 E252 Learning Module I--CNC Fundamentals and Terminology

    40/46

    ENT 252 Learning Module I-CNC

    Fundamentals and Terminology 40

    CNC Machines and Programming

    Fundamentals continued

    Program zero and machine zero are generally not thesame point. For example, machine zero on a lathe is atthe centerline of the spindle against the spindle surfaceplate (to which a chuck or collet is installed). When a

    lathe is initialized, the tool will automatically move to apre-set location a specific distance in X and Z frommachine zero. Program zero on the other hand, will likelybe on the part surface at the face or tailstock end andusually on the part centerline.

    CNC programs will begin at a set point. This is the pointat which the tool is located in reference to the part whenthe start button is pressed. This is usually referencedfrom program zero. (see last three slides)

  • 8/9/2019 E252 Learning Module I--CNC Fundamentals and Terminology

    41/46

    ENT 252 Learning Module I-CNC

    Fundamentals and Terminology 41

    Programming Fundamentals continued

    It is the programmers responsibility to

    communicate to the CNC machine operator

    set point locations, tooling information, and

    special setup instructions.

    It is the machine tool operators responsibility

    to make sure the machine is setup properly

    and particularly that the tool is properlyreferenced from the set point.

  • 8/9/2019 E252 Learning Module I--CNC Fundamentals and Terminology

    42/46

    ENT 252 Learning Module I-CNC

    Fundamentals and Terminology 42

    CNC Machines and Programming

    Fundamentals

    CNC programs begin at a set point and

    should return to that set point

    Why?

    The Z axis on a machine tool is always along

    the centerline of the spindle. (-Z is tool

    movement away from the spindle motor; +Z

    is toward the spindle motor) On a lathe, the X axis is the tool moving

    toward (-) or away from (+) the part centerline

  • 8/9/2019 E252 Learning Module I--CNC Fundamentals and Terminology

    43/46

    ENT 252 Learning Module I-CNC

    Fundamentals and Terminology 43

    CNC Machines and Programming

    Fundamentals continued

    On a vertical mill (as the operator faces it), X

    is effective tool motion left (-) and right (+);Y

    is toward (-) and away from (+) the operator.

    On a horizontal mill (as the operator faces it),

    X is effective tool motion left (-) and right (+);

    Y is down (-) and up (+).

    Why is the term effective tool motion usedwhen describing the mills above?

  • 8/9/2019 E252 Learning Module I--CNC Fundamentals and Terminology

    44/46

    Mill ProgrammingReference Points

    ENT 252 Learning Module I-CNC

    Fundamentals and Terminology 44

  • 8/9/2019 E252 Learning Module I--CNC Fundamentals and Terminology

    45/46

    Mill ProgrammingZero Offset

    ENT 252 Learning Module I-CNC

    Fundamentals and Terminology 45

  • 8/9/2019 E252 Learning Module I--CNC Fundamentals and Terminology

    46/46

    ENT 252 Learning Module I-CNC

    Fundamentals and Terminology 46

    Mill ProgrammingCoordinate

    System