Lowrider trying to take itself apart

Hey all, I finally gave up on grbl (sorry grbl) and flashed Marlin on my RAMBo 1.4. I’m using cnc.js to control it and I don’t have an LCD attached. When I run my gcode the machine moves up like it’s zeroing the Z-axis, then tries to go further and almost breaks the couplers. I’m not certain why this is happening, so any insight would be welcome.

After powering everything on, I connect cnc.js and run a homing sequence (nothing will work until I do this). This executes as expected, with Z homing up and X and Y homing to negative. At this point, cnc.js shows E0, X, and Y at 0.00 in both machine and workspace coordinates. Z is at 260 (the height of my machine). I noticed when jogging none of the coordinate numbers change as they do with grbl, so I’m a bit confused about that.

Anyway, I jog the machine over to the origin and then run G92 X0 Y0 Z0 to zero the machine. My probe isn’t working right now, but I figure I’ll save that for another forum post. I load in the gcode (I use Guffy’s Fusion Post Processors) and then hit play. It pauses for an M0, I hit play again to bypass it, then the Z axis goes up until it hits the limit switches, at which point it backs down like it’s homing, then proceeds to try and rip itself out of the Y plates. I thought I was going to loose the couplers when it happened.

Here’s the beginning of the gcode:
;Fusion 360 CAM 2.0.9512
; Posts processor: DIYCNC_Marlin20.cps
; Gcode generated: Monday, January 18, 2021 00:30:44 GMT
; Document: FDS Rafter Patterns v16
; Setup: Setup3
;
; Ranges table:
; X: Min=15.367 Max=602.807 Size=587.44
; Y: Min=15.367 Max=1507.305 Size=1491.938
; Z: Min=-4.318 Max=15.24 Size=19.558
;
; Tools table:
; T1 D=6.35 CR=0 - ZMIN=-4.318 - flat end mill

; *** START begin ***
G90
G21
M84 S0
G92 X0 Y0 Z0
; COMMAND_TOOL_MEASURE
M0 Attach ZProbe
G28 Z
G92 Z0.8
G0 Z40 F300
M400
M0 Detach ZProbe
; *** START end ***

; *** SECTION begin ***
;2D Contour3 - Milling - Tool: 1 - flat end mill
; X Min: 15.367 - X Max: 603.315
; Y Min: 15.367 - Y Max: 1507.813
; Z Min: -3.81 - Z Max: 15.24
; COMMAND_START_SPINDLE
; COMMAND_SPINDLE_CLOCKWISE
M0 Turn ON 24000RPM
; COMMAND_COOLANT_ON
M117 2D Contour3
G0 Z15.24
G0 X227.288 Y793.002 F2500
G0 Z5.08 F300
; MOVEMENT_PLUNGE
G1 Z4.175 F480
G1 Z-1.27
; MOVEMENT_LEAD_IN
G1 X227.292 Z-1.341 F1524
G1 X227.304 Z-1.411
G1 X227.324 Z-1.48
G1 X227.351 Z-1.546
G1 X227.385 Z-1.608
G1 X227.427 Z-1.666
G1 X227.474 Z-1.719
G1 X227.527 Z-1.766
G1 X227.585 Z-1.808
G1 X227.647 Z-1.842
G1 X227.713 Z-1.869
G1 X227.782 Z-1.889
G1 X227.852 Z-1.901
G1 X227.923 Z-1.905
G1 X228.558
G2 X229.193 Y792.367 J-0.635
; MOVEMENT_FINISH_CUTTING

I don’t know how to read gcode, so I don’t know if my issue is coming from here, or cnc.js.

Thanks for the help!

When it pauses, it’s trying to home the Z axis again. You said the probe doesn’t work, so since it’s not hitting the probe, it just keeps going.

You need to uncheck the “home z axis” in guffys post processor options.

1 Like

A couple of points.

First, you have a G92 X0 Y0 Z0 in your Gcode file, so you don’t need to enter that manually (third line down from ***START begin***)

Second, you have a section in the Gcode trying to do a Z-probe, so if that isn’t working you should disable that section. This is the section of Gcode from just after the G92 X0 Y0 Z0 until the ***START end***. For the moment you could just delete this, or comment it out by placing semi-colons at the start of each line.

The Z-probe is what causing it to go down like it’s homing (The Z-probe is basically like homing down).

I stretched out a bunch of couplers when I first built my Lowrider. Was starting to think I should order a couple of dozen…8^)

You can squish them back together a few of times.

That is some odd gcode. Why is it going to Z40?

Reading that, it looks like it homes (which on the LR firmware goes to the top and sets Z=200).

Then it tell Marlin, “This is Z=0.8”.

Then it tries to go 39.2mm higher.

Sorry Jeff, I don’t know anything about how gcode works or is generated. My guess is that there are some settings in the post-processor I need to take a look at? I’ll give that a look tomorrow, it should at least let me get rid of the z-probe.

I’m sorry, I don’t know anything about the fusion post processor. :slight_smile:

The commands David highlighted are all worth understanding. Gcode is really much scarier looking than it really is. Here is a primer I wrote on it:

https://docs.v1engineering.com/learn/gcode/

M0 Attach ZProbe: Pause, tell the user “Attach ZProbe”
G28 Z: Home only the Z direction
G92 Z0.8: Force the machine to think the place it currently is is Z=0.8
G0 Z40 F300: Move at 300mm/min until Z is at 40.0.

Since the Low Rider homes up, G28 Z moves the axis up, until it hits the endstops. Then the gcode tells marlin, “This is 0.8m above the zero line”. Then it says, go up to 40mm above the zero line.

I’m not sure where that is coming from, but it sounded like it wasn’t doing that either, it was instead driving down until it smashed everything. Is it going too far up, or too far down?

Hey jeff, it’s going too far up. It might be because I had to change settings in config.h so that the machine would home up (I have it lifting the gantry until stops on the z pipes hit limit switches). I’ll read through your primer tomorrow (it’s late here), thank you for taking the time to write it!

1 Like

Alright, so I went into the post-processor and unselected the options that related to z-probing. Everything seems to be working now, and it’s taking the correct depth of cut even! Huzza! Thank you all for your help and input!

1 Like

If probing at start is enabled in the PP then that is correct it uses homing. Code expects it to find the top of material during a probe cycle. There is a second option to probe G38.3 (I would have to look at the code again to be sure) and this may make more sense for lowrider.

I have a primo, if someone wants to explain how zeroing and a probe should work on the Lowrider the maybe I can add it the the F360 PP I’m working on.

It is just like the MPCNC, except:

  • G28 Z homes up, and it will assume it is at Zmax, which is usually Z=200
  • G38 is enabled for the touch probe plugged into Zmin.

So I would try to home it something like this (for a 0.5mm touch plate:

G28 Z
M0 Attach probe
G38.2 Z0
G92 Z0.5
G1 Z10 F240
M0 Remove probe

But you can’t home X, Y before that, or you won’t end up at the wood surface.

I may be in the minority, but I prefer doing the coordinate setup separately and then just running the job without all that stuff. But I also don’t use fusion.