G96 constant surface speed and G97/G50: why spindle speed changes during facing
Explains with a facing example how lathe G96 constant surface speed control changes the spindle speed according to the X diameter, why a G50 maximum spindle speed limit is needed, and when to return to G97 for threading and drilling.
Cutting speed is surface speed, not spindle speed
Tool catalogs usually give recommended conditions as a cutting speed V (m/min): how many meters of workpiece surface pass the cutting edge per minute. At the same spindle speed, the surface passes quickly at a large diameter and slowly at a small one. The relationship with spindle speed N is V = π × D × N ÷ 1000.
When turning an OD at a constant diameter, V does not change even with a fixed spindle speed, but in work where X keeps decreasing, such as facing, V keeps falling. A face that is rough near the center and differs in color from the outside is usually caused by this.
G96: the controller keeps recalculating the spindle speed
G96 S200 is a command to "keep the cutting speed at 200 m/min". The controller reads the tool's current X position (diameter), calculates N = 1000 × 200 ÷ (π × D) in real time and changes the spindle speed. At Ø60 this is about 1,061 rpm, and at Ø20 about 3,183 rpm.
The X diameter here refers to the tool tip, so the calculation is only accurate if the tool geometry offset and work origin are accurate. If the X origin is off from the real spindle center, a position the program believes to be Ø10 may actually be Ø14, and the spindle speed is wrong by the same amount.
| Current diameter | Calculated speed at G96 S200 | With G50 S2500 |
|---|---|---|
| Ø60 | About 1,061 rpm | 1,061 rpm |
| Ø40 | About 1,592 rpm | 1,592 rpm |
| Ø25 | About 2,546 rpm | 2,500 rpm |
| Ø10 | About 6,366 rpm | 2,500 rpm |
| Ø0 (center) | Infinite | 2,500 rpm |
Why a G50 maximum spindle speed limit is essential
As the table shows, the calculated spindle speed grows without limit as the diameter approaches zero. Without a limit, the spindle rises to the machine's maximum speed, and the chuck's grip weakens at higher speeds because of centrifugal force. Spinning a large workpiece at high speed with a weak grip risks the workpiece being thrown out.
So before using G96, the maximum spindle speed is specified, as in G50 S2500. This value is chosen not by the tool but by the chuck, the jaws and the size and weight of the workpiece. If long bar stock sticks out behind the spindle, it must be set lower.
Example path
While facing from X62. to X-0.8, the spindle speed starts at about 1,027 rpm and reaches the 2,500 rpm ceiling from around Ø25. X-0.8, slightly past center, prevents a small nub from being left at the center because of the tool nose radius. The drawing shows only the path, but keep in mind that the spindle speed changes throughout the facing section.
Facing a Ø60 face to the center at G96 S200, turning a Ø56 OD, then switching to G97
O3005
T0101
G21 G90 G18 G40 G99
G50 S2500
G96 S200 M03
G00 X62. Z0.2
G01 X-0.8 F0.12
G00 Z2.
X56.
G01 Z-30. F0.2
G00 X62. Z2.
G97 S800
G00 X100. Z100.
M30The figure above is the CNC Path Analyzer result for this program (linear cutting 2 segments, rapid 4 segments).
Operations that need a return to G97
- Thread cutting: with G76 or G92 threads, the helix must start at the same position on every pass. Changing spindle speed throws the thread out of step, so a fixed speed with
G97 S_is used. - Center drilling, drilling and tapping: the tool is at X0 (the center), so with G96 the spindle would immediately go to its maximum speed. A spindle speed suited to the drilling conditions is set directly with G97.
- Long moves to the tool change position: when X moves to a large value, G96 lowers the spindle speed, and raises it again on the way back. To avoid unnecessary acceleration and deceleration, switching to G97 before the tool change is common. The example's
G97 S800is one such case.
Limitations of the tool’s machining time estimate
When feed per revolution (G99) is used with G96, the feed per minute also changes with spindle speed. The machining time in CNC Path Analyzer is a reference value that reflects this change under supported conditions; it does not include actual spindle acceleration time. Feed units continue in G98/G99 feed units.