Automatic Tool Length Sensor
When using multiple tools on a CNC operation, the z-axis is always the goofy axis because, for instance, the lengths of the tools are all different and the distance the tool is inserted into the collet can vary widely - both intentionally and unintentionally. With conventional CNC routing, each tool operation has to be done in a separate g-code file, with each tool needing to be touched off in the z-axis on each tool change.
The new ATLaS automatic tool length sensor for the Comet/Asteroid/Meteor machines radically optimizes this tool change process. With the tool length sensor, you will load the first tool, then the machine will capture the tool length with the sensor before you touch that tool off to the top of the part. This will establish the z-axis origin and you will only have to touch off the top of the part this one time. On each tool change, the machine will shut off the spindle and drive out to the front of the machine to allow for easy tool change access. The machine will then drive over until it is above the tool sensor, will bounce off of that sensor, will then continue with the cutting process using the new compensated tool length offset.
The tool sensor can measure tools up to 5/8" diameter. You can still use larger tools if you need, but you will not be able to use the automatic tool length sensor when you do. The sensor sits just below the surface of the spoil board. You can make use of that area of the table if you need, but again you will not be able to use the automatic tool length sensor when you do.
To use the this Automatic tool length sensor, your CAM post-processor will need to be modified such that the tool change function is no longer g-code M6. The tool change function typically looks like this:
The new tool change function will look like this:
o100 CALL 
The o100 subroutine handles loading of the G43 tool length compensation, so if the post processor is inserting G43s, they will need to be removed as well.
We will post modified post processors here on the wiki as we compile them. Please contact us if you need help modifying a post processor.
Here is the tool change routine. This file is named 100.ngc and must be kept in the nc_files directory.
o100 SUB (#1 tool number is passed from CALL) #<_ATLAS_X> = -0.075 (Absolute machine X position for tool sensor) #<_ATLAS_Y> = 3.5533 (Absolute machine Y position for tool sensor) #<_MULTIPLIER> = 1 (1 for INCH, 25.4 for MM) #<_Z_MIN> = 5 (maximum Z- probe search distance) (#5400 is current tool number) (#1 must be passed as tool number) M5 M9 (turn off spindle and shop vac) REPLACE_GUNITS (set units) G53 G90 G0 Z0 (retract z) o101 if [#1 NE #5400] (if tool number has changed) G53 G0 XREPLACE_X_PARK Y0 (drive out to front of machine) T#1 M6 (tool change prompt) o101 endif G53 G0 X#<_ATLAS_X> Y#<_ATLAS_Y> (move over tool sensor) G91 G38.2 Z-#<_Z_MIN> F[10 * #<_MULTIPLIER>] (feed down until probe is active) G10 L11 P#1 Z0 R0 (set tool table) G53 G90 G0 Z0 (retract most of the way up) G43 (load tool length offset for current tool) G91 X[2 * #<_MULTIPLIER>] (move over 2 inches to right) G90 (jump back into absolute mode) o100 ENDSUB
The ATLaS automatic tool length sensor will plug into the secondary parallel port connector on the back of the control PC.
More Info: Using_Automatic_Tool_Length_Sensor