View Full Version : Rigid Tapping

11-28-2006, 12:18 AM
I want very badly to add rigid tapping to the Tormach that I am buying. I've been looking it over a little, and I see it mentioned that the feature is not supported in Mach, although it frequently gets requested.

I can obtain a servo motor and controller that will do the job, if I feed it the step and direction signals. Since the G-code isn't supported, is there a way to fix gearing between axes to correspond with the proper pitch, and use an unused axis as output to the servo? A macro could drive a relay to switch the signal between the spare axis and the standard spindle output. I couldn't find anything explicit in the manual about setting gearing between axes, but it must be possible, considering what can be done with rotary axes for other machining purposes.

I can program, and I can wire, and I can fabricate. What I'm hoping is that I can roll my own rigid tapping canned routine using the VB macro language to set the pitch and switch the signal source to the servo.

Anyone with some experience here have any thoughts on this?


11-28-2006, 08:54 AM
Both axis and spindle servos are controlled together with respect to accelleration and decelleration on moderen production cnc machines as opposed to fixed gearing. I'd look into what it would take to sycronize your axis with your spindle via the drives and controller etc.

11-28-2006, 09:08 AM
I haven't heard of anyone doing rigid tapping with Mach3. Everyone I've read about uses a tapping head.

11-28-2006, 09:14 AM
I'm thinking that I can make the spindle control rigid enough to just follow the pulse train rate from the z axis, so I can let the existing accel and decel of the z drive push the whole process. (I'll spend the $$ to do it.) *If* I can do that, all I should need for the actual tapping portion of the cycle would be a multiplier to set the pitch. It looks like maybe I can write a vb macro in Mach2 to do this.


11-28-2006, 09:18 AM
I haven't heard of anyone doing rigid tapping with Mach3. Everyone I've read about uses a tapping head.

Yes, that's what I found, too. But I want to find a way to get it done. It might cost a few thou for the spindle servo, but it would be worth it to me.


11-28-2006, 09:54 AM
I'd have to assume that it can be done, it'll just take $$$ like anything else. I know that it (software/ drives etc.) is fairly complex. The spindle would have to have some kind of setup to feed back to the control...like an axis...with an encoder to feed back velocity and position etc. Then I'd guess it's not much different than controling two axis simultainiously.

12-02-2006, 12:57 AM
Try this


12-02-2006, 07:55 AM
I've been looking at a servo system, it has the features I will need to get this done. The Addons product is very nice but it does not appear to have a rigid tapping cycle. I guess I will have to write my own macro since it isn't implemented in the software.


12-02-2006, 08:20 AM
Before machining centers had rigid tapping, tapping was done with a floating tap holder. The tap is able to float up and down in the tool holder and the spindle speed and feed were calculated as close as possible. The main criterior would be a spindle drive with velocity feedback (tach) to maintain the commanded speed or fault out.

The main thing this lacks over rigid tapping is the ability to re-enter a tapped hole.


12-03-2006, 04:29 PM
Hi NinerSevenTango

What would you do about the Spindle Belt Drive on the Tormach? Direct drive the Spindle with the replacement motor? I guess if you get this new Spindle Motor doing Rigid Tapping than there would certianly be no problem using this same motor for general machining operations.


12-03-2006, 05:16 PM
I've been wanting to do this for a long time and have tested my theory briefly.

All you have to do is set your spindle up as a servo(with your servo of course) using step/dir. and ALSO set it up as a C-axis using the same pins. If you type M3 S1000 command, it will run 1000rpm, M5 and its off. Now, if you type G1 C1200 F1000, it will spin 1200 degrees at 1000deg/m.

So now you just do this:
G1 Z0
G1 Z-1 C10000 F1000 (or whatever the values may be
G1 Z0 C0 F1000
and you've gone in and out and tapped your hole.
With doing it like that, I don't see why that cannot be integrated into mach3, instead just tell it that when you put in your G84 parameters it needs to do this or that.

I have a 1kw sanyo P5 servo that I want to add onto my mill and do this, but I have not gotten around to doing so yet.


12-06-2006, 09:06 AM
I'm not sure how this would be done in Mach, but...
If your spindle were set up as another axis, then you should be able to do a G01 linear move with your Z axis and Spindle. You could scale your spindle to the number of steps per revolution. To tap a hole 1/2" deep at 20 TPI, use (in absolute mode) G01 z-.5 (spindle axis)10, then G01 Z0 (spindle axis)0.

You need a way to use the spindle in velocity mode for normal operation and in position mode for rigid tapping. Perhaps a control output could switch a servo drive from velocity mode to step & direction mode. I don't know what Mach has built in for spindle control, but an output may be able to be used to switch to rigid tapping mode.

Good Luck!


12-06-2006, 11:35 PM
Willy, I haven't looked at it very closely, but it seems as if I might be able to put a timing belt drive with a servo motor on there. I would probably keep maximum RPM about the same as it already is, I don't want to smoke the spindle bearings. I think it will just be a matter of choosing the proper pulleys. The cheap AC servo I'm looking at only goes to 3,000 RPM.

Jon, the drawback to the approach you describe would be acceleration and deceleration ramping. Without electronic gearing, you might snap the tool off or strip the threads either when it comes to a stop or when you start backing it out, if the ramp profiles don't match up under all conditions. In other words, your Z axis might stop before the spindle could stop, or it might come up to speed very quickly, before the spindle could catch up.

Roger, the servo combo I've been looking at can be set up so that an input switches it between velocity mode and step/dir mode.

It also can take communications over modbus protocol. This raises an interesting possibility. Since Mach 3 comes with modbus protocol, I should be able to program a macro pretty simply for each of the thread pitches I want to use, putting the proper values in the proper registers and sending them to the servo drive. One of the values that the servo drive eats for lunch is ELECTRONIC GEAR RATIO. Which means, maybe I can parallel my Z axis step/dir signals to the appropriate terminals, and also hook the analog signal to the velocity control terminals. Then have my macro for 32 threads per inch emulate a rigid tapping cycle, stopping above the hole, send the value for electronic gearing and the value that switches it to step/dir, then just forward Z to the depth I want, and reverse Z back out again, then reset the servo for velocity control. This will probably require altered accel & decel rates just to make sure the spindle servo can keep up. Hopefully they can be fudged in the macro as well, then put back when the cycle is done. This Should Work. This looks like it might be the simplest way to get it done.

The macro could do all of the fancy stuff the G84 routine does, too, I think.

Now I just have to figure out why the Tormach only comes with Mach 2. Which doesn't have Modbus, I think.

I still have yet to power up my new Tormach. Waiting for the base to arrive.

12-07-2006, 07:24 AM
NinerSevenTango, Ramping shouldn't matter, if the spindle has to ramp up, the z-axis should, otherwise it would not be in sync. If you going to cut a circle, and your x and y axes are at different acceleration rates, it should still cut a circle. Running the spindle as a C-axis should be the same as running the A axis and X axis simultaneously. When the A-axis needs to ramp up, the x-axis follows accordingly.

Mach2 and mach3 are interchangeable, you can download mach3 and use the license from mach2.


12-07-2006, 07:32 AM
Jon, I see your point. I guess the software slows down the faster of the two axes to keep them in synch, so it should work. (But how does it know this? From setup data?) The macro ideally would accept an input of thread pitch, depth of hole, starting Z, RPM, and whatever, then do the math, light up the output to switch the servo to position loop mode, and output the move instruction for the Z and C (or whatever) axes.

I knew Mach 2 and 3 were interchangeable, I just need to go and find out why they ship the product with 2 and not 3. 3 has an awful lot of nice things about it.

What do you think of my modbus idea? (Since the drive I'm looking at has it anyway .....)

I enjoyed looking over your website .... looks like the cat hide turned out better than the rabbit hide did!


12-07-2006, 05:37 PM
How it does it is simple, it knows it needs to move this many pulses this way and this many this way. like if its doing a diagonal, it needs to move 100 pulses right and forward at the same time. I'm sure it takes the lesser of the few speeds and accelerations for the move and uses that to compute the speed and whatnot of the pulses.

I'm not familiar with modbus, so its hard to say.


10-11-2010, 12:37 PM

I saw your thread on the rigid tapping w/ the tormac several years ago! Tried to PM 97T, but your messages are full.

Did you ever get it to work? I've been looking into and looks like position feedback is needed. I know a servo can do that, but that gets expensive, I've been looking into VFD's w/ closed loop, but need to do more research. Depends on the control system used as well.


10-11-2010, 01:01 PM
I know this is a mach forum - but if you are interested emc2 will rigid tap. Even though the printer port. You do need an encoder on the spindle (has to be quaduature with index a,b and z). Emc slaves the axis to the spindle rotation.

this is done with printer port hardware.
YouTube - Rigid Tapping M3X 5 750rpm

The EMC2 G Code Language (http://linuxcnc.org/docs/2.4/html/gcode_main.html#sec:G33.1-Rigid-Tapping)


11-05-2010, 11:33 PM
The Industry Controls (Mach Industrial) MCB-1 motion control board can rigid tap as long as your spindle has an encoder.


11-06-2010, 09:12 AM
any videos?


11-06-2010, 03:59 PM
Hi Sam,

I have orders for (7) MK2's right now and all are with stepper motors. The next MK2 or MK3 with servos we build I will make a good video and post it.