Supplier Directory Subscribe
Notice: Undefined index: campaigns in /www/wp-content/plugins/wp-smart-ads/frontend.php on line 301 Warning: sizeof(): Parameter must be an array or an object that implements Countable in /www/wp-content/plugins/wp-smart-ads/frontend.php on line 604 Warning: sizeof(): Parameter must be an array or an object that implements Countable in /www/wp-content/plugins/wp-smart-ads/frontend.php on line 675 Advertisement
Notice: Undefined index: campaigns in /www/wp-content/plugins/wp-smart-ads/frontend.php on line 301 Warning: sizeof(): Parameter must be an array or an object that implements Countable in /www/wp-content/plugins/wp-smart-ads/frontend.php on line 604 Warning: sizeof(): Parameter must be an array or an object that implements Countable in /www/wp-content/plugins/wp-smart-ads/frontend.php on line 675 Advertisement
Home / Basic Programming Issues in 5-Axis Machining

Basic Programming Issues in 5-Axis Machining

Even with cutting-edge CAM, 5-axis machines still must interact two rotary axes with three linear ones. Thismeans an engineer to have a firm grasp of the fundamentals.

Posted: May 1, 2010

Advertisement
Advertisement

Besides special hexapod machines, 12 basic five-axis machine configurations can be grouped into three basic machine configurations. In a table-table configuration, both rotary axes move the table. In a head-head machine, both rotary axes move the head. In head-table, one rotary axis moves the head, the other moves the table.

These rotary axes interact with the linear ones, laying the foundation for complex mathematics. With the help of today’s CAM, post-processors and controllers, these calculations have become less prohibitive. Still, an engineer must consider some key issues before making the 5-axis plunge.

Coordinate Transformation

By convention, rotary axes are labeled as in Table 1. However, not all machine manufacturers follow this convention. Machines with axes at 45 degrees cannot because rotation axes are not parallel to any linear axis.


Table 1 – Rotation axis parallel to: Axis label
X : A

Y : B
Z : C



On a 3-axis machine, each linear axis can operate independently. If the X axis moves in isolation, the Y and Z coordinates of the tool relative to the workpiece remain unchanged. On a 5-axis machine the linear axes remain independent. However, any movement of a rotary axis not only changes the inclination of the tool relative to the workpiece, it also changes the position of the tool tip. In most common 5-axis machine configurations the rotary axes also interact with one another. For example, on a table-table machine, rotating the A axis changes the rotation axis of the C axis.

This interaction is what makes 5-axis machining so much more complicated than 3-axis. Any movement of a rotary axis requires additional corrective moves of the linear axes, and may also require corrections in the other rotary axis. Given a required tool position (X,Y,Z) and tool-axis vector, (I,J,K), a programmer must:

1. Calculate the required rotary axis angles to achieve the tool axis vector; this requires knowledge of the machine’s configuration.

2. Considering the axis angles, calculate the linear-axis positions to achieve the tool-tip position. This requires knowledge of the tool length and the workpiece’s position relative to the machine’s rotation axes. This also requires information about a specific machining operation, including the tool length and the position of the part on the machine table.

In the past, controllers could not perform either calculation fast enough to keep the machine moving, so the entire job was done by the CAM system or the postprocessor. New, powerful controllers now perform at least the second stage of the calculation â?? and sometimes both.

Workpiece Setup
An operator can set up a job one of two ways on a 5-axis machine:

1. The stock can be positioned precisely at a point on the machine table predetermined when the programs were created in the CAM system.

2. The stock can be clamped anywhere on the table. Then, its precise position can be measured on the machine

The second is much more convenient, especially for large parts where precise positioning on the machine can take a long time. However, the part’s precise position is needed for coordinate transformation, so the second method has some implications on when and how toolpaths are generated.

If the controller handles coordinate transformations, toolpaths can be generated and postprocessed before workpiece setup. The workpiece’s actual position will typically be entered in a datum table on the controller before the programs actually run.

If the postprocessor handles the coordinate transformations, then information about the actual workpiece position must be given to the CAM system as an output workplane — or to DUCTPost (postprocessor) as a PCS Origin in the option file — before the toolpaths can be post-processed. This means the final stages of toolpath preparation cannot be completed until the workpiece is actually loaded on the machine. This can be a limitation. So, if DUCTpost performs coordinate transformation, the first setup method is usually best.


Travel Limits
When positioning a workpiece on the machine, an engineer must give some consideration to the machine’s working envelope. Even if a part can be machined successfully from one position on the table, it is possible that in other positions the part cannot be machined without hitting a linear-axis travel limit.

Machine travel limits can be set in the DUCTpost (postprocessor) option file. However, these limits are absolute â?? and so meaningless if the machine datum shifts. If the precise way in which a machine will be used is unknown, set the travel limits in DUCTpost to be plus or minus the working range of the machine in each axis.

Linearization
CAM systems like PowerMILL represent complex 3- and 5-axis toolpaths as sequences of linear moves. Gouge protection relies on the machine following the linear trajectory calculated by the CAM system.

In 3-axis, the controller easily ensures that the tool moves in a straight line. It sets the feed rate of each axis so each arrives at the target coordinate at the same time. (Note that most controllers do this for linear moves â?? G01 — but not for rapid moves â?? G00. This is why PowerMILL insists that gouge protected moves like skim links are rapid feed moves, not true rapid moves).

In 5-axis, the situation becomes much more complicated. Any movement of the rotary axes moves the tool tip or the workpiece in a circular arc. Consider a move between two tool positions like in Figure 1.




Figure 1 (left), and Figure 2 (right) - A move between two tool positions.


The NC blocks to achieve the two end points (assuming the controller is doing the necessary coordinate transformations) will be:

N10 X-120.0 Y0.0 Z0.0 A0.0 B â??30.0

N20 X120.0 Y0.0 Z0.0 A0.0 B+30.0

If the distance from the tool tip to the B axis rotation center is 200 mm, then for this move only the B coordinate actually changes between the two end points. The required X movement is produced by the rotation, so the head need not move at all.

However, as the B axis rotates from â??30.0 to +30.0, the tool tip will actually follow a circular trajectory; at the move’s mid-point (B = 0.0) the tip will be 40 mm below the intended position (Figure 2). To correct for this, the Z axis of the machine must move simultaneously with the B axis to keep the tool tip traveling in a straight line. This is called linearization.

Calculation of the necessary correction moves can be complex and they are difficult to do fast enough to keep the machine moving quickly, so most controllers do not linearize moves themselves. Instead, the postprocessor breaks the move up into smaller segments so tool movement is linear within the necessary tolerance. With linearization enabled, a single move in a toolpath may result in many individual movements in the program file.

Feed-Rate Control
Programmers require the tip of the tool to move at a specific speed to maintain the necessary feed per tooth to cut the material cleanly. In 3-axis working, it is simple to calculate how fast each axis must move in order to achieve a specific tip speed. Consider a move where dX,dY,dZ are the changes in X,Y and Z coordinates. The total move length L is given by:


If the required tip speed is F, then the total time T to execute the move will be

T = L/F

So the individual axis speeds Fx, Fy, Fz are given by

Fx = dX/T, Fy = dY/T, Fz = dZ/T

However, in 5-axis the effects of the rotary axes on the speed of the tool tip are not independent of the linear axis movements. To calculate the linear speed resulting from a rotation also requires knowledge of the tool length and the position of the workpiece on the machine table.

To make the controller’s job easier, software can perform most calculations before running the program. Because the CAM system controls tool-tip movement, it is straightforward to calculate the length L of a 5-axis move. The CAM system also knows the required tip speed, so it can calculate the time T as well. Given a move dX,dY,dZ,dA,dB and a time T, the controller can easily calculate the feed rates for each axis:

Fx = dX/T, Fy = dY/T, Fz = dZ/T, Fa = dA/T, Fb = dB/T

Inverse-time feed-rate control uses this approach. Instead of telling the controller how fast to move the axes, the time available for each move is supplied, and the controller performs the remaining simple calculations. Because the time for each short move in a complex program is typically very small, it is normal to send the reciprocal or inverse of the time (1/T) to the machine. This also saves the controller having to compute the reciprocal internally.

It may also be necessary to modify the “F” definition so the feed values can be output with sufficient precision. Also remember that a feed rate must be specified for every move, so program files will be longer. For this reason, it’s generally unwise to use inverse time feed rates for 3-axis programs.

It is also possible to have moves where the tool tip remains fixed, but the tool axis changes. This would result in an infinite inverse-time feed rate, so special measures must be taken to avoid this. These may include limiting the maximum feed rate or specifying a secondary point on the tool for calculating the feed rate when the tip does not move.

Putting It All Together
Considering inverse time, linearization, coordinate transformation and, of course, your basic machine configuration, among other factors, an engineer has the foundation to program the smoothest toolpath, highest machine utilization and â?? in the end â?? the best product.

 

Editor’s Note: Chris Whittington is Product Manager for Delcam. 

Subscribe to learn the latest in manufacturing.

Notice: Undefined variable: author_username in /www/wp-content/themes/fandm/template-parts/content.php on line 82
Calendar & Events
Automate
May 6 - 9, 2024
Chicago, IL
Design-2-Part Show
May 8 - 9, 2024
Schaumburg, IL
Design-2-Part Show
June 5 - 6, 2024
Denver, CO
Design-2-Part Show
June 19 - 20, 2024
Novi, MI
International Manufacturing Technology Show (IMTS)
September 9 - 14, 2024
Chicago, IL
FABTECH 2024
October 15 - 17, 2024
Orlando, FL
Advertisement
Advertisement
Advertisement
Notice: Undefined property: stdClass::$followers_count in /www/wp-content/themes/fandm/inc/social-stats.php on line 57
Advertisement
Advertisement