Bitsetter should make no changes after manually setting Z axis but it did

I had a 2 sided project I was doing. Side one went great. I removed the block and then had to set my Z zero down to the waste board so that I could drill my two holes to stick dowels in. that went perfect. The next bit was going to be the V-bit so I went ahead and changed it and then set my Z axis zero with the V-bit in there (back to the TOP of the work piece and no longer the wasteboard).

I loaded my job file and it prompted me to insert the new tool, and it then went to the bit setter. After that it ran the V-bit job in mid air. So I stopped the job and again set my V-bit to z axis zero. I then restarted the job and it again went to the Bitsetter. But this time when the job ran, it plunge right thru the wood and ruined my box project.

So it seems that after changed from the .25" flat EM to the 90° Vbit, that the Bitsetter did not calculate from the NEW Z axis zero, but rather it was going off the zero from the .25" EM??

I would have thought that when I manually set my Z axis Zero with the Vbit in there, the Bitsetter would base any future readings off of that setting. In other words, I manually set my Z zero, and then loaded the job. Once the Z has been manually set, the next bitsetter reading should make NO ADJUSTMENT, it would not be until the SECOND reading that it makes the adjustment. This did not happen.

has this happened to anyone else?

I have not used my bitsetter too much, but from reading your post, it looks like you had an “order of operations” issue.

When you changed the bit, you should have immediately used the bitsetter to reset the tool length, then re-zeroed to the surface.

1 Like

I will make sure that is the order I do from now on. Another notch in the learning belt. This was my first 2 sided jog and had multiple bits so the bitsetter was actually very nice. I just have to make sure I have no more “order mishaps”. Thanks for the reply.

1 Like

Tim,

No worries. Now that I am not at work, I’d like to take a moment to explain the BitSetter function and why the order of operations is important. For me, I remember things better when they are part of a process, and not just a blind list of operations.

I guess we start at the beginning.

*** Before you read the next bit, just understand that I love my current SO3 XXL and my previous SO3. This applies to all of the consumer grade CNC machines I am aware of. ***

Your SO3 is a big dumb machine. When you turn it on, it has no idea where the spindle is along the X, Y or Z axis. As far as it is concerned, it is waking up for the first time. If you have it configured right, it at least knows it’s limits, but it doesn’t know where the spindle is.

So, that is why the first thing it does is perform a homing sequence. Once that is done, it knows where the spindle is in machine coordinates. WoohHoo! It knows where the spindle is, and it knows how far it can go in machine coordinates.

It also does not know how long the bit in the spindle is, so if you have the BitSetter, you can run the BitSetter command, and the machine will then take note of the position of the Z axis in machine coordinates when the BitSetter button is pressed. This position is stored for future use.

Machine coordinates are different than work coordinates. Your g-code you run uses the work coordinate system. This is the coordinate system that you can edit and zero at different locations on your machine depending on where you clamp down your raw material.

When you zero your machine with a bit in it to your work surface/raw stock, you are zeroing the work coordinates. Your machine now has an X, Y and Z zero point for the work coordinates that is used by your g-code program. All g-code X, Y and Z locations are reference to this zero point.

Okay, so now, your machine knows:

  • Where the spindle is in X, Y and Z machine coordinates.
  • Where the spindle is in X, Y and Z work coordinates.
  • Where the bit triggers the BitSetter button in machine coordinates.

Now to the good stuff.

When you turn on the machine and it homes, then uses the BitSetter to probe the bit length, it has enough info to adjust your work coordinate Z zero when you change bits and probe for the new length.

So, you start with a bit that when probed, triggers the BitSetter button at (completely made up coordinates for this discussion) machine coordinates Z = -50.00mm.

You zero your machine to your piece of stock - in the work coordinate system - and do your cutting on your widget with your first bit.
You now switch bits and then start the BitSetter routine. The machine then:

  • Goes to the X and Y coordinates in the machine coordinate system that is unaffected by your zero you did in the work coordinate system for cutting your widget.
  • Lowers the Z-axis until the BitSetter button is triggered.
    • This time, the BitSetter button is triggered at (another made up number in the machine coordinate system) of Z = -45.00mm
  • Now, your machine knows that the last time it probed, it was triggered at Z = -50.00mm, and this time it was triggered at Z = -45.00mm, so it knows the new bit is longer than the old bit by 5.00mm (remember, we’re using negative numbers).
  • Your machine then adjusts the Z zero of your work coordinate down by 5.00mm, so that when you start cutting again, when your code tells the machine to go to Z = 0, the tip of your bit is actually at Z = 0.

So, that is why when you change a bit, the first thing you should do is run the BitSetter routine.

I hope this helps, and if I made a mistake, someone please let me know and I will edit this so I am not spewing false information.

3 Likes

hey MadHatter,
Thank you very much for the detailed response. Last night I had the very same problem with my Z axis being way off at the beginning of the job. A couple of notes.

  1. This only happens at the very beginning of the job. Once the job is running this will never occur.
  2. It only seems to happen with very short bits (Vbits and Clearing bit)

I have a mounted L guide so my X,Y usually never change.

After I set(verify) the X,Y, and Z zero, I can jog the head away from the HOME position. I then use the homing buttons (X,Y zero) and (Z +6) and they are always spot on. I can then click on “Load New Tool” and the Bitsetter will adjust the Z height correctly.

HOWEVER, when I load a multi-tool job into Carbide Motion and the first bit is a short bit, it can be wrong and this does not happen all the time. I am going to make a video covering the details above so that folks can see exactly what it is doing and not think I am doing something goofy.

When I power on the XXL and run CM, the first thing it does is run the Load Tool function and go to the bitsetter. After that the first thing I do is jog the the "Current XY Offset (Home), position. I then set my Z position to 0 at material top. I then jog to another spot and job back to HOME, but i also jog to Z +6 to make sure my height is correct. Even after doing this I sometimes get the error when running a multi-tool job starting with a short bit. The error has been where the bit is too high and last night it was too low and rammed right into the side of the material.

Maybe after I make a video and catch the error on video, someone will know what is causing it.

Thanks again for the help and response.

If I can not reproduce the problem on video then I will have to assume that somehow I still made a mistake. So I will consider this a non issue until I can record the exact problem occurring :slight_smile:

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.