Hi there, I have my LowRider v2 build ready with wokplace dimesnions ca 2700x840x300 mm with an SKR 1.2 board and latest LR-dual endstop firmware. For the machine control i use cnc.js on a V1Pi Raspberry Pi. All works fine
I built the Z to move ca 300mm (could be even more) as i intent to mill EPS foam to max 100mm + end mill cutter 100mm + some addtional room. W/o endstops i can controll the machine in the whole working area.
Recently I added the endstops (standard config - Xmin, 2 Y, 2 Z). I placed the Zmax at ca 300mm.
Now when Homing the machine all works (G28). But after reaching the endstops the machine is set to Zmax=200 and I can not get Z moving below Z=0. The Z movemement is limited to the Z 0-200. I can change to coordinate system setting G92 but still the movement is limitted within 200mm. Also Zmin probe (G38.2) will not get it below 0. This is fine for my EPS setup with the 100 mill, but when I want to use a smaller cutter (wood, engraving,…) I have a challenge. My workaround is to restart SKR - then the settings are not in place and i can get the machine down.
I read some other posts and I understand this is the standard setup and I was not able to override it with a G/M code or settings on the display.
Is there a way to override this default Z movement settings by some Marlin commands?
Or would it require to make a special version of the firmware? (I would be a challenge for me to change&recompile).
You can disable soft endstops with M211.
I don’t think there is a way to change the bed size (or Z height) without recompiling, but really there’s not much advantage to having soft stops enabled in the first place.
200mm is an arbitrary number chosen by someone when they first started playing with endstops for the LR2.
In order to change the size, a recompile of the firmware is necessary. It does NOT stop the machine from going into negative Z though.
The G38.2 command is issued as
G38.2 Z0 meaning “Probe by moving the Z axis towards 0 until the probe pin reads as triggered.” The probe movement stops when either the touchplate is stopped, or when the Z axis is at 0. You can instead issue the command
G38.2 Z-200 and it would contimue until the Z axis reads -200 (400mm potential travel.) Alternately, you could run
G92 Z400 first to tell the machine that Z is at 400mm instead, then the existing probe command would work.
Probably, your best bet is to re-compile the firmware with your proper build volume to it. Z can be an arbitrarily large nber that is greater than you expect to actually use, since you reset it with the touch plate. This requires the least changes to your work flow.
Soft stop limits are off by default in all V1 firmwares, so turning them off will not help.
Thanks for the feedbacks. It still looks the 200 are somewhere fixed and set once G28 Z is issued and the endstops triggered. Unfortunatelly G38.2 Z-200 or with G92 Z400 does not work - it still keeps the max movement area of 200.
G38.2 Z-200 - goes down to 0 and then gives a message “Error:Failed to reach target”
From 0 I then raised +50 and then tried to send it to -50 (absolute/G90) but same happens -
Error:Failed to reach target
Agree on re-compiling. Will consider this - but probably fnot now - rather later in the year. Need to (re)install Platformio, get in the code…
The setting should be somewhere - this is the message starting the machine:
Try G92 first, just to see if it is the Z=0 that stops it.
(I use RepRap Firmware, not Marlin, so it’s a different probe command)
See if that succeeds. If so, then that makes a reasonable workaround.
no, this does not help.
My worarround is still to Home and get all aligned and then to restart SKR. The Z limit settings come in place only after homing Z. So after restart w/o G28 Z the machine moves free to any coordinates.
I found probably where the settings are - in case i go for compiling
Marlin/Confguration.h - lines 1692+
// The size of the printable area
#define X_BED_SIZE 1220 // 200
#define Y_BED_SIZE 2440 // 200
// Travel limits (linear=mm, rotational=°) after homing, corresponding to endstop positions.
#define X_MIN_POS 0
#define Y_MIN_POS 0
#define Z_MIN_POS 0
#define X_MAX_POS X_BED_SIZE
#define Y_MAX_POS Y_BED_SIZE
#define Z_MAX_POS 200
Came in my mind I can make a harware solution for the software problem
Quickly printed an attach-on 2nd Z endstop plate. Now i can manage the long and short end mills.