Sunday, December 7, 2008

cnc motion control

The most basic function of any CNC machine is automatic, precise, and consistent motion control. Rather than applying completely mechanical devices to cause motion as is required on most conventional machine tools, CNC machines allow motion control in a revolutionary manner. All forms of CNC equipment have two or more directions of motion, called axes. These axes can be precisely and automatically positioned along their lengths of travel. The two most common axis types are linear (driven along a straight path) and rotary (driven along a circular path).

Instead of causing motion by turning cranks and handwheels as is required on conventional machine tools, CNC machines allow motions to be commanded through programmed commands. Generally speaking, the motion type (rapid, linear, and circular), the axes to move, the amount of motion and the motion rate (feedrate) are programmable with almost all CNC machine tools.

Accurate positioning is accomplished by the operator counting the number of revolutions made on the handwheel plus the graduations on the dial. The drive motor is rotated a corresponding amount, which in turn drives the ball screw, causing linear motion of the axis. A feedback device confirms that the proper amount of ball screw revolutions have occurred.

A CNC command executed within the control (commonly through a program) tells the drive motor to rotate a precise number of times. The rotation of the drive motor in turn rotates the ball screw. And the ball screw causes drives the linear axis. A feedback device at the opposite end of the ball screw allows the control to confirm that the commanded number of rotations has taken place.

Though a rather crude analogy, the same basic linear motion can be found on a common table vise. As you rotate the vise crank, you rotate a lead screw that, in turn, drives the movable jaw on the vise. By comparison, a linear axis on a CNC machine tool is extremely precise. The number of revolutions of the axis drive motor precisely controls the amount of linear motion along the axis.

How axis motion is commanded - understanding coordinate systems It would be infeasible for the CNC user to cause axis motion by trying to tell each axis drive motor how many times to rotate in order to command a given linear motion amount. (This would be like having to figure out how many turns of the handle on a table vise will cause the movable jaw to move exactly one inch!) Instead, all CNC controls allow axis motion to be commanded in a much simpler and more logical way by utilizing some form of coordinate system. The two most popular coordinate systems used with CNC machines are the rectangular coordinate system and the polar coordinate system. By far, the most popular of these two is the rectangular coordinate system, and we'll use it for all discussions made during this presentation.

One very common application for the rectangular coordinate system is graphing. Almost everyone has had to make or interpret a graph. Since the need to utilize graphs is so commonplace, and since it closely resembles what is required to cause axis motion on a CNC machine, let's review the basics of graphing.

As with any two dimensional graph, this graph has two base lines. Each base line is used to represent something. What the base line represents is broken into increments. Also, each base line has limits. In our productivity example, the horizontal base line is being used to represent time. For this base line, the time increment is in months. Remember this base line has limits - it starts at January and end with December. The vertical base line is representing productivity. Productivity is broken into ten percent increments and starts at zero percent productivity and ends with one hundred percent productivity.

The person making the graph would look up the company's productivity for January of last year and at the productivity position on the graph for January, a point is plotted. This would then be repeated for February, March, and each month of the year. Once all points are plotted, a line or curve can be drawn through each of the points to make it more clear as to how the company did last year.

Let's take what we now know about graphs and relate it to CNC axis motion. Instead of plotting theoretical points to represent conceptual ideas, the CNC programmer is going to be plotting physical end points for axis motions. Each linear axis of the machine tool can be thought of as like a base line of the graph. Like graph base lines, axes are broken into increments. But instead of being broken into increments of conceptual ideas like time and productivity, each linear axis of a CNC machine's rectangular coordinate system is broken into increments of measurement. In the inch mode, the smallest increment is usually 0.0001 inch. In the metric mode, the smallest increment is 0.001 millimeter. (By the way, for rotary axes the increment is 0.001 degrees.)

Just like the graph, each axis within the CNC machine's coordinate system must start somewhere. With the graph, the horizontal baseline started at January and the vertical base line started at zero percent productivity. This place where the vertical and horizontal base lines come together is called the origin point of the graph. For CNC purposes, this origin point is commonly called the program zero point (also called work zero, part zero, and program origin).

For this example, the two axes we happen to be showing are labeled as X and Y but keep in mine that program zero can be applied to any axis. Though the names of each axes will change from one CNC machine type to another (other common names include Z, A, B, C, U, V, and W), this example should work nicely to show you how axis motion can be commanded.

The program zero point establishes the point of reference for motion commands in a CNC program. This allows the programmer to specify movements from a common location. If program zero is chosen wisely, usually coordinates needed for the program can be taken directly from the print.

With this technique, if the programmer wishes the tool to be sent to a position one inch to the right of the program zero point, X1.0 is commanded. If the programmer wishes the tool to move to a position one inch above the program zero point, Y1.0 is commanded. The control will automatically determine how many times to rotate each axis drive motor and ball screw to make the axis reach the commanded destination point. This lets the programmer command axis motion in a very logical manner.

With the examples given so far, all points happened to be up and to the right of the program zero point. This area up and to the right of the program zero point is called a quadrant (in this case, quadrant number one). It is not uncommon on CNC machines that end points needed within the program fall in other quadrants. When this happens, at least one of the coordinates must be specified as minus. . 

1 comment:

Anonymous said...

CNC Machines have revolutionized the world of manufacturing
construction equipment