Welcome to Our Community

Some features disabled for guests. Register Today.

Black Box Controller Tool Changes

Discussion in '3D printers' started by WVance, Aug 28, 2020.

  1. WVance

    WVance New
    Builder

    Joined:
    Aug 10, 2017
    Messages:
    18
    Likes Received:
    2
    Hi Folks,

    I am new to CNC. I have looked through the thread and understand basically how Black Box Controller is presently handing tool changes until an update is completed for the controller. I am looking for a little additional information regarding tool changes.

    I know that the G-Code should be separate for each tool change. Also, I understand that you should not change the XY axis position but should zero the z-axis. My questions, should I jog and touch the z-axis off the material top and then zero out the z-axis? Or just zero out the z-axis from where the machine has stopped without touching off the top of the material? I am a little confused by this point. Any help would be greatly appreciated.

    I wanted to machine a sign tonight with 3 tool changes.

    Wayne V.
     
  2. Peter Van Der Walt

    Peter Van Der Walt OpenBuilds Team
    Staff Member Moderator Builder Resident Builder

    Joined:
    Mar 1, 2017
    Messages:
    13,749
    Likes Received:
    4,070
    That is relative to where you have CAM'ed up Z-Zero, where the other tools were zeroed etc.
    There is no set rule but basically:
    - If you setup you CAM job so that Z-Zero is at the top of the material, then you always to come back and rezero in that same spot. Or if you setup to work in positive-z space by zeroing off the spoilboard, and thats what the toolpath for the next tool is setup as as well, then again, after changing the bit, you have to rezero again
    - You have to rezero by jogging or probing, cannot just setzero-Z where it stopped, that will result in a crash.
    - You have to rezero becuase no two tool (and no time times you took it out and put it back in) has the same length - you zero out so moves are correct relative to the now shorter or longer endmill (if you don't and you fit a longer endmill, that job will be below the expected cut depth, and if the tool was shorter, it will cut too shallow)
     
  3. Rob Taylor

    Rob Taylor Master
    Builder

    Joined:
    Dec 15, 2013
    Messages:
    1,470
    Likes Received:
    746
    Yes. Or wherever you put G54 Z0 in your CAM file, more specifically. Usually for basic routing people just use the material top because it's convenient to probe.

    No. The machine will stop wherever the machine stops. If the CAM puts in a return to G53 XYZ0 or G54 XYZ0 or just leaves it spinning right on top of the material really depends on the software you're using and the settings you choose. You must set the new Z0.

    If you want to know the reality of what's going on under the hood, it's as follows...

    I think part of your confusion is that you're thinking of Z0 as an inherent part of the machine and the specific work setup. Which it kinda should be, but doesn't typically work that way with most routers. In theory, a machine's Z axis offset chain looks like this:

    1. G53 Z0. G53 is machine coordinates. This is basically your "Z home" position, a couple mm away from your Z axis limit switch. This is your ultimate fixed point, the only place the machine truly knows where it is.
    2. From there, you set G54 Z0. This is usually either the workpiece top or your fixture top (vise, table, vacuum pallet, whatever) for convenience. This is what you set as WCS Z0 (as part of the total XYZ origin) in CAM- see the pic below. How you set this position is up to you- shimstock from the spindle face, a touch probe, you name it, there are a lot of different ways. But now you have a fixed offset in the controller between your G53 Z0 (high up) and your G54 Z0 (low down). This doesn't change for that setup.
    3. That sets your machine and work up, but now you have to set the tool up. That's why we have Tool Length Offsets (TLO). This is the offset the controller applies to your machine so that the tip of the tool is where your G-code actually is, not some random part of the machine. Not only are tools different lengths, but with routers and ER collet spindles, the tool will basically never be in the same place twice. Once you loosen the collet, that offset is done. You're measuring the distance between where your G54 position is, and where the tip of the tool is. That's your TLO. For every tool, or removing and replacing the same tool, you'll measure a new TLO. Notice your machine's G54 offset doesn't change between toolchanges. This is why TLOs are useful.
    4. Now you have a complete chain- machine zero, or home; G53 Z0 > a fixed distance > G54 WCS Z0 > a fixed distance per tool > TLO > your workpiece.
    And every calculation your controller processor does has to do that transform, thousands of times a second.

    upload_2020-8-28_13-45-13.png

    That's G54 Z0. X0 and Y0 too, as you can see.

    As you can see though if you've understood all that; if you build your TLO into your G54 Z0, you only have one number to probe and measure for the whole run. And if you use an entire new G-code file every time you run a new tool, you have to probe Z for every new file, so why bother with TLO at all? Just probe your G54 Z0 with your tool in place, leave the TLO at default 0, and everything works exactly the same. That's why OpenBuilds doesn't go into the TLO end of things and treats G54 Z0 more as a temporary variable, but if you've seen "TLO" whilst reading the grbl wiki (and anyone who builds or runs a grbl-based machine should have) now you see why it's used and implemented.

    But if you keep the same file open, use optional stops and macros to make tool changes work, or have a machine with any kind of repeatable tooling (and they are working on it for ER collets, slowly but surely!), then TLO becomes very useful. If grbl ever does get tool change support it may also get tool tables, with any luck, which is where you probe and store your TLO offsets for all of your tools ahead of time, but requires repeatable toolholding. No confusion over where the spindle head is supposed to be at any given moment in time. And in either case, it pays to understand what the machine thinks it's supposed to be doing.
     
    Mrtc99 and Wayne Pennington like this.
  4. WVance

    WVance New
    Builder

    Joined:
    Aug 10, 2017
    Messages:
    18
    Likes Received:
    2

    Hi Peter,

    Thank you for the explanation. I have the probe and will re-probe for each tool change. I will definitely give this a try tonight.

    Wayne
     
  5. WVance

    WVance New
    Builder

    Joined:
    Aug 10, 2017
    Messages:
    18
    Likes Received:
    2

    Rob,

    Thank you for the in-depth explanation. I really want to know home the machine reacting to the Grbl code. I am going to re-read your detailed explanation. It is very valuable information for a beginner. I will let you know how I made out with the tool changes. Again, Thank you for your help.

    Wayne
     

Share This Page

  1. This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
    By continuing to use this site, you are consenting to our use of cookies.
    Dismiss Notice