I want to try rigid tapping G33.1 or G84 on my mill using stepper spindle
Hi @terjeio,
I want to try rigid tapping G33.1 or G84 on my mill using stepper spindle. I tried as is but it throws Error 20. Kindly guide me how to proceed. I know you have not still added this feature explicitly but if this task is small for you, then I can help you testing the feature on actual machine.
- Any code change is required for it? I am not good at controller coding.
- If I use stepper motor or industrial servo motor (with Pulse+Dir), do I need separate encoder to make it work? I don't need super precise tapping, so without encoder I can test if it works.
- Do I need to enable SPINDLE_SYNC_ENABLE?
- Will the solution work for modbus spindle also?
Thanks in advance. Ravi
I do not regard implementing rigid tapping as a small task. BTW G84 is not rigid tapping, for that you need a floating chuck and spindle synced motion is not used. Implementing G84 might not be too hard - but since I do not have a floating chuck I cannot verify any code. You may also consider threadmilling which is an alternative to tapping.
For rigid tapping:
- Yes - some parts are in place, those that are not are likely not straightforward to add.
- It should work. And the motion has to be precise enough not to snap the tap.
- Yes.
- Yes.
This is how LinuxCNC specs G33.1 (my comments in italics):
-
A move to the specified coordinate, synchronized with the spindle at the given ratio and starting with a spindle index pulse. Easy to add.
-
When reaching the endpoint, a command to reverse the spindle (e.g., from clockwise to counterclockwise). Fairly easy to add.
-
Continued synchronized motion beyond the specified end coordinate until the spindle actually stops and reverses. This part is where the main work will be - how to add this motion?
-
Continued synchronized motion back to the original coordinate. Fairly easy to add?
-
When reaching the original coordinate, a command to reverse the spindle a second time (e.g., from counterclockwise to clockwise). Same as 3.
-
Continued synchronized motion beyond the original coordinate until the spindle actually stops and reverses. Same as 4.
-
An unsynchronized move back to the original coordinate. Easy to add.
Try a search for LinuxCNC G33.1...
there is another option that do not require spidle sync. https://www.youtube.com/watch?v=4nMhxhnafdE that is my second machine but not a grbl controller
@terjeio It looks like linuxcnc G33.1 shall be a good go if you are willing to add code for it. I will be more than happy to test it out. I am also thinking for gifting a small machine to you in which you can experiment with atc features as well as (maybe) servo spindle to work on rigid tapping thing. However machine is not ready with me. It will take some time. By the time can you share me where I can contact you better?
Hi @terjeio, Just had a thought to call a macro when G33 is issued (just like we call tc.macro when M6 is issued). That macro should address the motion of stepper spindle and z depth. I have noticed that stepper spindle also works as B axis in my case. So i can issue a command like: G01Z10B3600F100 for a 1 mm pitch rigid tapping. It will auto decelerate as per B and Z axis settings. And then we can give inverted command to release it from material. Any thoughts?
Any thoughts?
You can try this with regular g-code first to check (in a soft material!) if it will work.
BTW I have added tentative support for G84 - floating tap holder. Not tested!
I will check it out and report here when I have a working machine with servo spindle motor.