- Posts: 13
- Thank you received: 0
Manual tool change problem
curtisa wrote: There are ways of getting tool length compensation going in Axis following a manual tool change, but it is a little fiddly.
The way I've done it is to add a touchplate to my mill and remap the M6 command into a subroutine to make Axis measure the length of each tool every time a tool change is performed. Method is outlined here:
forum.linuxcnc.org/forum/10-advanced-con...h-off?start=30#48235
This works even if your collet/tools isn't designed to use preset-height cutters. It just measures the length of each tool and adds or subtracts that offset from the initial touch off.
This is exactly what I have been looking for. Im currently setting up my jobs in fusion using multiple setup, therefor running a separate program for each tool change. I'll look over the thread to see If I can implement using my touch plate. Thank You!
Please Log in to join the conversation.
I assume that the Z-axis DRO on the screen display is the actual tool tip position
If that is so, all intermediate positions of the display appear to be OK
impossible to measure or check as the tool keeps moving even with single step mode in operation
The first tool change always seems to occur at whatever level Z is set to at the start of the run
I can get around this by issuing a dummy tool change at the start of the program with the TLO set at around 2
Is it possible to set the AXIS GUI in some sort of pause mode during a run that will enable manual control (either by jogging or issuing MDI commands) and possibly using the touch-off command
I can only get it to do it by effectively killing the run - that leaves me with the problem of restarting it at the correct line - not good.
There is a definite bug in the M6 routines when different tool lengths are involved -
clicking on the tool change continue button instantly moves the display to the new tool position, but omits to move the actual mill Z-axis - the clue is in the "instantly".
It would be good to fix this, but where is the source code? I have found a load of code in github.com/LinuxCNC/linuxcnc/tree/master/docs/src/code but which is the relevant bit?
If I fix my own version, do I need to compile it? If so, how? Or do I just remap the M6?
The manual says about remapping the M6 code - "Note than when remapping an existing code, we completely disable this codes’ built in functionality of the interpreter".
Obviously if I am going to remap the M6 it would be good to see what the original version is doing so I can replicate it - another good reason to find the source code
Once that is fixed, I think there is a need for a new M6 that copes with different tool lengths.
If the headstock is moved to the new tool length (which is the case if the above bug were fixed) there is a risk of crashing the previous tool into the material (or other parts of the mill) if the new tool is shorter.
Tool change should be a 2 step operation where different tool lengths are involved -
first - move to the TLO position for current tool - remove tool
second - move to the TLO position for the new tool - fit new tool, save tool data for next tool change first stage
Parameters for the above operations appear to be -
#5400 - tool number
#5403 - Z tool offset
#5422 (also called #<_z>) - current Z position
My drills vary in length from 1.5" to 4.25", the drill chuck adapter adds a further 1.8" to that
I am doing a lot of drilling operations in the mill, hence the problem with the tool lengths
Jog & MDI appear to be inactive during M6 - this is explicitly stated for M0 & M1, but not mentioned for M6
So how do you jog (or do an MDI) in the middle of a program execution?
Please Log in to join the conversation.
eg.
TOOL_CHANGE_POSITION = 200 200 0 (x y z)
TOOL_CHANGE_QUILL_UP = 1
?
Talking about a milling machine or router
Years ago I was not really happy with M6 because of fixed toolchange position. I have collet manual toolchange, it could be done anywhere within working area. A touchplate or toolsensor is required for my solution, first setup reference tool, then setup z offset. Use g43 in gcode.
If you or someone is interrested, tell me. I need some time to modify the files for general use, need to remove some my_machine specific parts.
Please Log in to join the conversation.
Please Log in to join the conversation.
The attched picture is from the manual, Important User Concepts, 6. Machine Configurations.
Please Log in to join the conversation.
Max travel is X11, Y5, Z5 which immediately imposes contraints on what I can do
Add to that the fact that none of my tooling is fixed and can move up and down in the chucks
I have always used it with Z0 set to the top of the material, moving Z to 0.5 for tool change with a half inch block between tool tip and material
That way I adjust the tool within the chuck to suit. Changing the tool at higher altitude would be impractical as I would have no way of adjusting it relative to the material.
Please Log in to join the conversation.
Before I had the edge finder I would use a steel pin and eyeball when it touched the X & Y.. And before the touch plate I used the paper method on the Z Although loosening the bit and letting drop onto the part may have been more accurate.
John
When it comes time to cut the poart
Please Log in to join the conversation.
M61 Q1 in your gcode or whatever tool used for touch off.
For toolchange:
retract z to 0.5
M5 ,stop spindle
If desired, do a debug message (debug, change tool...)
M0 ,pause a running program temporarily
Change tool
press s on the keyboard to resume
Program S,F for the new Tool and M3 to start spindle
Do the whole job with this T number.
Please Log in to join the conversation.
I don't worry about what the tool number is. The only thing that seems to matter is that if create a part in Fusion 360 and used 10 different tools for the job I will have 10 files and must have room for 10 tools in the tool table. It doesn't matter what the tool table says they are as long at the length is zero. I load the file, put the tool in the collet/chuck. Touch off the Z to the top of the material. Press run. The Z moves to the top and a popup comes up telling me to insert tool # whatever. I already put the tool in so I click OK. The machine performs the operation. When it finishes the Z moves back to the top. I load the next file and tool, touch off Z and press run. If the next job uses the same tool or I had hit EStop and I am restarting the same job LinuxCNC knows that the tool that is currently being used is the same as the last program run and will not prompt for the tool change. It will just go about doing the job.
John
Please Log in to join the conversation.
I am now intending to set the tool change at the top of the Z-axis slide (it already does if the tool offsets are negative) and make sure that all drills are seated hard against the top of the tool chuck (which will give them a pedictable length), end mills will have to have a collar Loctited to them to give them a predictable length when fitted in a collet chuck.
Cheers
Please Log in to join the conversation.
