Monday 25 January 2021

Tool Length Offsets

 My newest toys for the cnc mill are Tormach tool holders.  Using these tool holders makes tool lengths repeatable unlike a standard R8 holder. Now tool changes are possible in the program instead of using 1 program per tool.  Linuxcnc with Axis UI is used but the interface shouldn't matter as the commands are in MDI.

X and Y offsets are fairly straight forward because they are based on the vertical centre of the spindle which does not change with tool length or diameter.  The Z offset changes every time a tool of different length is used.  The machine needs to adapt it's Z movements to accommodate tools of varying lengths and it does this using tool length offsets or TLO in short.


 
Tormach holders compress against the face of the spindle.  The distance from that contact point to the tip of the tool equals the total length of the tool.

tool + holder = TLO

 

 

 

 

 

 

 

I've chosen a method of TLO that results in all offsets being positive because they describe the true length of the tool.  My method is far from the only way and there are certainly more automated approaches.  It's old school and a variation on how tool are measured offline with a setting fixture and height gauge. The link below provides a good explanation of the pros and cons of positive TLO:

https://www.cnccookbook.com/touch-off-tool-setter-measuring-tools-for-length/

as the man says positive offsets demand caution.


 The image to the left shows the spindle face touching a block that is reserved for this purpose.  This is the position where G54 is set to zero.

btw the machine isn't out of tram,  the photographer has no skills. 







 

--> In MDI enter T0 M6 and also a G49 for an added bit of safety.

--> Lower the spindle face until it touches the top of the measuring block.

--> Set the current position to G54 Z0 using a touch-off button in the UI or entering G10 L20 P1 Z0 in MDI.

--> Set the DRO to read relative position.  It should now be reading Z0.

--> Place T01 in the spindle and move the tool tip to the top of the setting block.  The DRO will now display the distance from the tool tip to the spindle face. The DRO is being used as a poor man's height gauge.

--> Enter the displayed DRO Z value directly in the tool table (not recommended) or in MDI enter T01 M6 and G10 L10 P1 Z0

-->Place T02 in in the spindle and move the tool tip to the top of the setting block.

-->In MDI enter T02 M6 and G10 L10 P2 Z0.  Notice that P represents the tool #

Continue that pattern for any additional tools. MDI displays a command history so the commands don't need to be memorized.  Below is a small test program for 3 tools:

#######################################

(move block somewhere other than directly under tool)
g90
g20
g54
g53 g0 z0
(if G53 crashes it's time to rethink the machine's basic setup)
T1 M6
G54
g0 x0 y0
g43 z2 h01
g01 z.1 f50
z0 f20
m0
(slide block under tool to check)
(remove block and resume program)
g01 z0.1
g53 g0 z0
t2 m6
g49
g00 x0 y0
g43 z2 h02
g01 z.1 f50
z0 f20
m0
(slide tool under tool to check)
(remove block and resume program)
g01 z.1
G53 g0 Z0
t3 m6
g49
g00 x0 y0
g43 z2 h03
g01 z.1 f50
z0 f20
m0
(slide block under tool to check)
(remove block and resume program)
g01 z0.1
g53 g0 z0
m2

###############################

If all has gone to plan running this program should result in each tool travelling to the top of the setting block, no more and no less.  So why use positive TLO instead of the more common method used in the hobby world ?  Place a different height of block on the table.  Now load any of the already measured tools in the spindle taking care that the correct TLO is active.  Move the tool tip to the top of the new surface and set G54 to Z0.  If the test program is run again all tools should stop at this new Z height.  Cool trick but I don't recommend setting G54 this way.  Instead set G54 using the spindle face.

--> in MDI enter T0 M6 and G49

--> Now move the spindle face to the top of the new block (or work piece).  Now set G54 to Z0 and rerun the test program (or another program).  The TLO when set as outlined above are portable to any work piece, only fixture offsets need to be changed.

If tools start crashing I'll return to edit this post but no crash is expected due to the methods.  However human error is expected and in my case guaranteed.

An above average youtube video that relates to this topic:


          

       

No comments:

Post a Comment

Note: only a member of this blog may post a comment.