Tool change question

I am looking to do a project that will require a tool change. I have read the part about it in Milling Basics in the docs for the Lowrider. I guess my question is, how does it know when to do the tool change? Does it know to do all of the work for tool A and then do the pause as set by the gcode? Then when I change to tool and hit resume it knows it using tool B?

I apologize if this is a rather simple thing.

Yes, it will use tool A and pause for you to change to tool B. Do you have a Z probe?
Be sure to add this to your CAM settings: Milling Basics - V1 Engineering Documentation

I have never let Estlcam handle tool changes on its own. I always specify the cut order so that I can handle everything with the one tool first, then change to another tool.

You can add gcode commands to the “tool change” texts, usually some sort of message, lift the Z axis, some sort od M0 "Change Tool" command and maybe touchplate to re-zero the Z axis. Estlcam will add these whenever it needs to change a tool, so if you specify the 1/8" single flute for roughing and the 1/8" double flute for finishing, it will want you to change the tool between the roughing and finishing pass, then maybe back to the roughing tool for the next cut.

I am careful to avoid this.

Lately, I have been separating the jobs. Do some cuts with a 1/4" mill, then others with a 1/8", or maybe even a 1/16" (like the holes for the linear rails on the LR3 YZ plates.) Make each tool its own job, then I don’t have to worry about flubbing the zero on the Z axis on a tool change.

3 Likes

This is what I plan on doing. I do have a question though. I plan on doing a relief carving that will then be cut out of the material in a specific shape. How can I ensure that I am starting the second job in the correct place? What method do you use to ensure you x/y position is correct?

Mostly just not.powering doen the motors and returning to the.same 0,0 poimnt, but also, the machine is homed using the homing switches.

If I.get the tools swapped with high confidence that I have not moved the machine, all is good. If I’m not.sure, or know that I have moved the machine, then I can simply home it, and.go ba k to the same coordinates again.

This does require that I remember where the work 0 spot is, so I jot that down when I tell the.machine that “this is now 0”. I use work coordimate spaces, so the machine will remember for me if nothing too drastic happens.

I had a job with initially hours of carving and 45 minutes of pocketing. When I tried to order the cuts by hand, it was 5 tool changes. When I let estlcam do it, the order was all over the place, but there was only one tool change. Setting the step dept to the max carve depth also saved needless partial-depth carving.

I set up 2 routers with the same mill lengths and put the x and y origin set at the “home” end stop position. At bit change it was a simple router swap, with a manual endstop rehome and then keep going. This operation was repeated about 3 dozen times because I had cut the gcode files at the tool change put the same header and footer on them so I could run them as separate steps. The work flow went something like cut the pocket, swap router, cut the carve, change workpiece, carve, swap router, pocket, workpiece, pocket, swap router, carve, workpiece, etc so each workpiece only saw one tool change but I ran the same file twice between tool changes. If it is a single workpiece, then the file split and all that isn’t needed, but it was a huge time saver for the project I was working on.

I wish there is a command line to put in output command so after it does the pause for the tool change it will home the cnc again and then go back to the last home coordinates (home where you 0 "XYZ ) before it started cuttings and continue from there.

Customize the screen to have Manual(0 "XYZ) home button icon to allow users to start a job from where paused after a tool change is done using the cnc home then go to (0 “XYZ”) saved then proceed to cut . I am only day dream here but I hope someone gets the idea I am try to push out .

in V11 there is.
In menu drill, the bottom option let you insert al the commands you want at the moment you want.

So that’s what I do for bit changes.

I made this to assist with tool changes (for straight bits at least)

After the job is done, I park the head with the motors on, change the bit using that, and move to 0,0,0 using G0 X0 Y0 Z0, then start the next job.

Since I set the bits with this, they should all be the same length from the collet nut

I should clarify I use the Primo, not the LR, but I imagine it would work similar

1 Like

My method, probably not normal, is to have separate gcode files for each tool path. i take note of first xy position to zero so i can go back to it for each code path. for me it feels more accurate because everytime i unlock the collet i jolt the lr3.

Maybe this helps as well:

If you use this method for tool changes, you have to home the machine after every toolchange, but it would be easy to continue.
Or you use another board that uses Estlcam as a controller, then you can park the CNC wherever, change the tool, only zero Z and it’s going to resume cutting exactly where it left off. :smiley:

1 Like

so is there a command to you use to manually jog router to the last none XYZ “0”? I like to use that command to see of it works .

Yeah

G0 X0 Y0 Z0

No. Well, sort of no.

If you use workspace coordinates, they will be saved until you power down the board as an offset from machine coordinates.

In this case:

  • machine coordinates are set when you home the machine or use a G92 command. These are based on the absolute position of the machine. G92 may not try set these as they are supposed to be homing only, but no firmware I know of will store more than one set of machine coordinates.
  • workspace coordinates are kept separately, usually stored as an offset from the machine coordinates. Marlin support for this is a little iffy since it’s basically useless for 3D printing, but I’m told that it works. V1 docs and the milling basics information do not use this, so it would be up to you or others to research how to use it.

I use RepRap Firmware, which supports workspace coordinates. Generally, I can re-home the machine, put it back in my workspace, and if I then send G0 X0Y0 it will go back to the last set of coordinates that I set as workspace origin. I still jot down the machine coordinates that I ussd for this though, since it is not persistent if I need to reboot the controller. Almost always, I use multiples of 10mm from the home switches for these coordinates.

If you use the default machine coordinates, and send G92 X0Y0 the machine forgets its original machine coordinates. Therefore it is no longer possible to go back to that spot after homing, since homing resets the machine coordinates, and forgets the reset coordinates you used the G92 command for.

So if you change your software workflow to using workspace coordinates, it might be possible to recover the set origin point in many cases, so long as you do not power down your control board. I don’t know how to set workspace coordinates in Marlin. (Actually or GRBL/FluidNC for that matter) but I’m sure a google search can tell you. This is one of the things that workspace coordinates are for. Another thing that it allows is you can then set soft stops, so that the machine will not attempt to travel outside of its limits. Note that Marlin doesnt check to see if a gcode file will attempt this before it runs. It will run the file until the command where it tries to go outside the limit and then stop with an error instead of grinding the motors.

So the short answer is “No such a command does not exist” and theong answer is “Well, it sort of does but it needs a change in how you do things.”

Yeah sorry should have explained better lol.

Apparently the way I’m doing it is not the norm

Thank you for the detailed explanation!

I was answering the other question.

What he wants to do is go to a new, non-zero location, set the coordinates to “this place is where the origin is” do stuff. Then re-home the machine and be able to go back to the new origin.

This can be done with workspace coordinates, but not using G92 X0Y0Z0

Re-homing the machine might be necessary after a tool change, if you move the machine. This is true even if you use separate files for each tool. It is why I use workspace coordinates.

1 Like

For instance in Estlcam software ,you can put in a manual code - on my 3d printer when I hit pulse it move the hot end to side then when I hit resume it going back to here it left. I think there should be some advance on tool change on MPCNC -this will put it in the top of my bucket list . lol

This is exactly how I always do it. I output one cut job for 1/8", and then another cut job, as a separate Gcode file, for 1/4" etc.

sorry late response, but how do you use that to change the bit? is it hollow inside so that you can put a bit in?

Yes it’s hollow inside