CNC plunge through bed on 'go to work origin'

Using Luban, I went to work origin, which caused the z axis to plunge the bit and the head into the material, destroying the bit and damaging the work piece in the process.

When I had last set the work origin, it was about 3cm above the surface of the material.

I cannot understand why the machine then thought that the origin was so much lower and without me understanding why - it’s difficult to have confidence that it won’t happen again.

Does anyone else understand?

I can give you the answer, but it’s a stupid answer that doesn’t really answer your real underlying question.

The work origin is actually written to the controller’s memory and will persist through power cycles. However, part of the job starting process in Luban and on the touchscreen is it resets the work origin to the center of the bed at a default Z height.

This is particularly annoying when you need to do multiple jobs on a single workpiece. There really is no excuse for this to be the default behavior.

The workaround is to record or take a photo of the position of the work origin at the start of the job, and then remember to jog and set the work origin to the exact same position each time (adjusting for differences in tool stickout in Z if needed)

It’s easier to have confidence in how the machine will behave if you don’t use Luban or the touchscreen since Luban and the touchscreen have an undocumented list of commands it sends when you start jobs. However, that comes at the price of inconvenience as you’ll have to find another way to play gcode files, like octoprint or something.

1 Like

This was a really useful answer, thanks so much for explaining. What a great community this is :slight_smile:

As you say, it’s a frustrating answer - in that the best way to mitigate this risk is to stop using the (otherwise) most convenient tool. I hope Snapmaker can review this behaviour and correct it.

I’ll check out other control tools and see what I can do instead. Thanks!

They won’t here on the forums. The appropriate place for that is in the Luban and Controller github issue channels, which the developers monitor. However, honestly, there’s a few hundred open issues and I don’t think this would be at the top of their list for a long long time.

There’s already a related issue about work origins here: Allow setting work origin permanently to 0/0 instead of it defaulting in the center of the bed · Issue #178 · Snapmaker/Snapmaker2-Controller · GitHub. I made a comment about this.

Are you referring to when you’re running a job from Luban? Or when you’re running from the touchscreen? I don’t run from Luban so wouldn’t know about that.

I always transfer over wifi and then run from the touchscreen and I’ve never had the work origin change between running different files. Even when I’ve done a stop and had to power down because it froze up (or accidentally or intentionally cycled the power) it retains my work origin.

With laser it always resets which is annoying if you find you need to do another pass.
I do always make sure I take a picture of my work origin with both laser and cnc because it’s way too easy to accidentally set it.

I am still running an older firmware (1.12.1 I believe) so maybe this is a new bug?
-S

I’m less familiar with CNC mode, compared to laser. How does the CNC mode work when it retains work origin when you swap tools between passes? Does it retain X/Y and give you the ability to set a new Z in a way that does not risk crashing?

It doesn’t account for length of bit on a tool change so you have to be careful if you insert a longer bit. If you insert a shorter bit (which is more often than not the case as you go from clearing to detail) than you can use the 'go to work origin". At the end of a pass it just returns to top height of z at x/y work origin (at least with Fusion 360 generated gcode). So you just have to manually jog down until you get to your z height. You can get there quicker if you do a ‘go to work origin’ before you insert the bit and then raise up enough to insert and tighten the bit.
Most of my measuring for z is off to the side. So I just have to jog manually no matter what. And then be careful to only set z origin. (which is why I take a picture)

-S