Part four - Key concept number three: You must understand the motion types
In part one , we introduce the key concepts approach. In part two, we present the most important topics of key concept number one: Know your machine from a programmer's viewpoint. In part three, we present topics related to key concept number two: Prepare to write programs.
Here in part four, we're going to discuss topics related to the motion types available to CNC programmers. Here is a list of the general topics that we include in key concept number three:
What is interpolation?What point on the tool is being programmed?Four things all motion types share in commonThe three most common motion types (rapid, straight line, and circular motion)Other important motion types
As with every key concept, the general presentations must work for any kind of CNC machine. But specific presentations will apply only to the kind of CNC machine tool/s you are describing in your class. For example, you will only discuss those motion types that are equipped on the machine/s you are presenting.
What is interpolation?
I like to begin by describing interpolation. I point out that when only one axis is moving (say X on a bed style vertical machining center), the machine cannot help but move in a perfectly straight line. The X axis is a linear axis, and of course, when it moves by itself, it cannot help but move in a linear fashion.
Next I point out that when two or more axes are moving, in most cases, either a straight line motion or a circular motion is desired. In order to form the desired motion, the control must articulate the motion. This articulation is called interpolation.
I also like to point out just how the control interpolates motion: by breaking the motion into a series of tiny single axis motions - forming a kind of stair-step sequence from the beginning point to the end point of the motion.
I point out, of course, that the stair-steps in the drawing are drastically exaggerated. In reality, they are equal in size to the machine's least input increment (commonly 0.0001 inch if working in the inch mode or 0.001 millimeter if working in the Metric mode). Students will not be able to see, feel, or otherwise measure these tiny steps (without very elaborate measuring equipment).
What point on the tool is being programmed?
Don't take it for granted that students understand the location on each cutting tool that is being programmed. For machining centers, for example, I like to go through each tool type and make sure students understand the point on the tool that is being programmed.
For hole-machining tools, like drills, taps, reamers, boring bars, etc., students must understand that in X and Y, they are programming the center of the tool. This makes good sense, since hole center locations are always specified on the blueprint. If they want to program a hole that is at a location of 1.0 in X and 1.5 in Y, they must specify: X1.0 Y1.5.
But for the Z axis, point out that the location on the tool being programmed commonly requires them to compensate for some kind of lead (again, for hole machining tools). With a drill, for example, they will be programming the extreme tip of the drill. All twist drills have a lead, which is usually 118 degrees. To calculate the length of the lead, students must multiply a value of 0.3 times the drill diameter. You should also go through some examples, showing how to calculate the actual programmed depth for blind-holes and through-holes.
And again, do this for all kinds of hole machining tools: Taps always have a certain number of imperfect threads. Reamers always have a small chamfer on the end. And so on.
For milling cutters, point out that certain milling cutters, like face mills are still programmed from centerline in X and Y. And at this point in the class, programming centerline for all milling cutters may be easiest for students to understand. But I like to at least prepare students for the feature cutter radius compensation that will be discussed in detail during key concept number four. Point out that though examples shown in key concept number three (the current key concept) will show a milling cutter's centerline path, the feature cutter radius compensation will allow the programmer to program the work surface path. Cutter radius compensation will make calculating coordinates easier and allow more flexibility at the machine.
I've described all of the specific examples of the point on a tool being programmed for a machining center. If you're teaching a turning center class, of course, you must do the same for tools that can be used on turning centers. Again, don't assume students will automatically know the point on each tool that will be programmed.
Four things all motion types share in common
As always, I recommend that you discuss commonalities. When a student understands each of these points about one motion type, they will understand it for them all.
All motion types are modal - If you haven't already, discuss the meaning of modal. Be sure students understand that once a motion type is instated, it remains in effect until it is changed. They need not keep instating the motion type word (G code) in every command of a series of consecutive motions of the same type.
All motion types require the end point to be programmed - Beginners seem to have trouble with this, especially during the programming of a lengthy series of motions that involve circular motions. Be sure they understand that for every motion, they must specify the end point for the motion. The tool has been brought to the start point for the motion by the previous motion command.
Only the moving axes must be programmed - If an axis is not moving in a given motion, it should not be included in the motion command. Doing so only lengthens the program and provides the possibility for making a writing or typing mistake.
All motion types can be specified in absolute and incremental mode - Remind students that you introduced absolute and incremental programming in key concept number one. Also remind them that it is almost always best to specify coordinates in the absolute mode (G90 for machining centers). Do mention that all motions can also be specified in incremental mode (G91 for machining centers) for those few times when it can be helpful to do so.
The three most common motion types
At this point, go through the important points about the three most common motion types, rapid motion, straight line motion (also called linear interpolation), and circular motion (also called circular interpolation).
Application for the motion type: For each motion type, I begin with what it is and the times when it is needed. With rapid motion, I point out that it causes the axes to move at their fastest rate. It is used for positioning. In fact, whenever the machine is not cutting, the motion should probably be done at rapid. With straight line cutting motion, I point out that it is used whenever cutting must be done along a straight line - as when drilling a hole or milling a straight (even angular) surface. I also mention that some programmers like to use straight line motion when positioning (instead of rapid) if they're worried about obstructions used close to the tool path. With circular motion, I point out that it is used whenever a circular surface must be machined. For machining centers, this includes milling a circular contour. For turning centers, this includes turning or boring a circular filet radius.
G code/s for the motion type: Within each motion type I then describe the commanding G code/s. G00 for rapid motion, G01 for straight line motion, and G02 and G03 for circular motion (G02 is clockwise, G03 is counter-clockwise). By the way, don't be too quick to assume that students understand the difference between clockwise and counter-clockwise. There are many digital clocks out there!
Other words involve with the motion type: Next, explain any other words that are required to use the motion. For straight line and circular motion, for example, point out that a feedrate must be included within the first command that uses the motion type. Explain that feedrate is modal, so it should not have be included within every consecutive command that requires the same feedrate. If you haven't already, be sure to point out how feedrate is specified for the machine/s being discussed in your class (per revolution or per minute). For circular motion, you must also explain how the size of the arc is specified. I prefer teaching the use of the R word because it is simpler. But you may also want to introduce directional vectors, I, J, and K.
Lots of examples: Be sure you show several examples that demonstrate the use of motion types. Your examples for circular motion (on machining centers) must still reflect the milling cutter's centerline path at this point. But be sure students understand that cutter radius compensation will allow them to program the work surface path (again, you'll discuss cutter radius compensation during key concept number four.
Other important motion types
While rapid, straight line, and circular motion are the three most common motion types, you may have to describe more. For machining centers, and if students will have to mill threads, you must describe helical interpolation. For turning centers with live tooling, you may have to describe polar coordinate interpolation - if students will have to be milling contours on the end of a workpiece with live tooling.
Depending upon student aptitude, you may want to minimize your presentations for complex motion types at this point. Let students get comfortable with the three basic motion types first. Save the presentations for these motion types for later in the class - possibly during key concept number six (special features of programming).