Z azis troubles Neje Max 4

Bit of a newbie here getting started with LB and a Neje Max 4. I’m having a confusing issue with my Z axis. Running LB 1.6.04 on Ubuntu 22.04 and the current firmware for the Neje.

I have the Z axis enabled with absolute positioning, non-inverted, and optimized Z moves. The top of my Z travel and home position is at Z0 and then it will move down to Z-45 at the bottom. I have the module mounted so the bottom of the Z travel puts the focus point just below the surface of the honeycomb. I’m using a zoffset in the layers of 42mm, which brings the focus point to the top of the honeycomb and then I am setting the material thickness which brings it up to the surface properly.

What I’m finding is that everything seems to work fine during the burn, the Z will moved down to a point that corresponds to the Z offset and then up by the material thickness, but at the end it will crash the Z axis at the top of the travel. In looking at the gcode below (which is a simple cut line moving down between passes) I’m getting an extra Z move at the end that’s a positive number that is equal to the material thickness.

; LightBurn 1.6.04
; GRBL-LPC device profile, absolute coords
; Bounds: X180 Y406 to X180 Y429
G00 G17 G40 G21 G54
G90
M4
; Cut @ 7999.979 mm/min, 1% power
M9
G0 X180Y406
G0 Z-41
; Layer C06 Pass 1 of 4
G1 Y429S10F7999.98
; Layer C06 Pass 2 of 4
G0 Z-41.2
G1 Y406
; Layer C06 Pass 3 of 4
G0 Z-41.4
G1 Y429
; Layer C06 Pass 4 of 4
G0 Z-41.6
G1 Y406
G0 Z1
M9
G1 S0
M5
G90
M2

So Pass 1 starts at -41mm, the 42mm offset less the 1mm material thickness.
Then every pass moves down .2mm as set in the layer. So all seems perfectly fine for the actual job part of the code and it burns that fine.

It’s that last “G0 Z1” line that’s causing me the problem. Since that’s a positive value, that tries to go up past the end of the Z travel. I’ve seen that the number there will be the material thickness, so if the thickness is larger, it just crashes harder at the top.

I don’t understand what that line is trying to do or where it’s coming from. I don’t have anything in the custom gcode for my machine. I tried inverting the Z axis which made all the Z moves in the job positive values, but then that last one was negative and caused the same problem.

I did try changing the Z axis to relative moves, and that does seem to fix the issue. It will move down the amounts needed, then that last Z move will send it back to the top. However, then I lose the material thickness and have to update the zoffset to account for that. It’s not the end of the world, but the workflow with absolute positioning seems preferable to me (again, a newbie).

I did a bunch of searching and didn’t find a match, so apologies if this is covered. I’m also willing to accept that absolute positioning on the Z isn’t a good idea if that is the case.

Thanks!

I think I finally figured this out after a lot more searching.

As listed in GRBL Configuration - LightBurn Documentation , Lightburn does not enjoy a negative workspace and the G10 offset command can be used to change this.

Entering G10 L2 P1 Z-45 in the console offsets the Z axis into the positive space with 0 at the bottom and 45 at the top. This setting seems to persist over a power cycle, so it doesn’t appear to need to be added to start gcode or anything. I’m also not sure if it should be applied to all the Px workspaces.

Then the zoffset becomes 0 for normal conditions where you want the focus of the beam on the surface of the material (assuming the Z0 position is focused on the honeycomb). A negative Z offset will move it up, and a positive down, and the “in/out” indications on the layer dialog are accurate.

This seems to make everything work in a sensible manner, but I’ll pay attention and update if there’s anything else. I wish this was made clear in the Neje docs where they talk about LB setup, and will try and figure out how to suggest that.

To just cement my idiot status, this is also covered in the 2nd method in this video, which I watched but just tried the first method:

2 Likes