-
Notifications
You must be signed in to change notification settings - Fork 541
Tool Change
WARNING: This is only a preliminary wiki, copied from an Issues post, but better than nothing for now.
This is how you enter toolchange in g-code file:
M6 T42 (flat endmill 3.175mm)
-
M6
is toolchange operation -
T42
means we are changing to tool #42 -
(comment)
in braces is optional text that will be shown to operator during toolchange
The long awaited Tool change function is now inside bCNC.
In the tab "Probe" click on "Tool" and you can setup how bCNC will treat the M6 (Tool change commands)
- Send to Grbl as is
- Ignore completly
- Replace with a "tool change" macro
To use the tool change function you obviously have to choose no. 3.
You have to set two locations, which are set in absolute machine coordinates X,Y,Z:
-
the Tool Change location
-
The Tool Probe location
To do so you have to jog to the desired locations and click the "get" button.
The probe / distance should be selected such as to cover the range of all possible tools to use. A little warning; set the Z height in the Probe location high enough to accomodate your longest tool and set enough distance so the tool will touch the probe (otherwise GRBL will raise an error and you have to reset, home your machine and start all again.)
The first time you need to perform a calibration cycle so bCNC can find the height of the probe tester (plate or switch) vs the 0 of your surface.
First zero your z-axis with the current tool on your workpiece
if you have done the initial setup, click on the "Calibrate" button.
Doing so bCNC will move the gantry to the change -> probe location and start a probe cycle.
Once the probe is finished, the calibration field will be set, with the height of the probe plate/switch versus the 0 of your work piece.
The tool change macro will perform these operations:
- Stops the spindle
- Raises to the Change-Z height
- Rapid move to Change X,Y
- Wait until you change the tool with a feed hold
- Click on resume (hardware or pause software button)
- go to Probe X,Y
- lower to Probe Z
- perform a probe scanning from ProbeZ to ProbeZ - Distance
- reset the 0 of the workspace to match the new tool (maybe I should set it to the offset)
- and go back inverting the order -> Raise to Change-Z -> ChangeX,Y
- Click on resume (hardware or pause software button) then restart spindle
- Wait 5 seconds for spindle to reach target speed
- Continue the gcode
You can also activate manually the tool change by clicking on the "Change" button.
Tips These policies are how the bCNC is expanding (or not) the tool changes commands.
- Send M6 commands will send the line as is to the controller. Grbl will refuse it with in error.
- Ignore M6 commands will skip completely the M6 and will not send it to the controller. This is, more or less, what other senders are doing.
- Manual Tool Change (WCS): bCNC will expand the M6 command to a tool change cycle, and in the end will re-adjust the WCS to match the new offset of the tool. It has advantages of being persistent between reset of the controller, however the WCS will always reflect the tool mounted on the spindle and no longer the workpiece.
- Manual Tool Change (TLO): bCNC will expand the M6 as before and instead of setting the WCS will set the TLO variable of Grbl to match the difference in offset between the tool you did the calibration and the new one. This is the standard way of working on big machines were the WCS reflects the piece mounted and not the tool. However you would need to have a calibrated "probe" tool that gives you always the same reference. The TLO will be lost on reset of the controller.