-
-
Notifications
You must be signed in to change notification settings - Fork 19.7k
Description
Did you test the latest bugfix-2.0.x code?
Yes, and the problem still exists.
Bug Description
For my self made cartesian Printer (dual extruder, BLTouch, Rumba32 board, future extruderlift) I'm going to switch to Marlin. Therefore I have a kind of rudimentary test system for checking all basic features.
Regarding Offset handling there is probably a bug, if I didn't miss important settings:
Defined following positions for X Offsets (Y-Offsets are all set to 0):
ZProbe: -10
E0: 0
E1: 20
- If E0 is active and E1 will be activated, the physical position moves -20mm. Coordinate pos will stay the same. Thats OK, also vice versa
- If E0 is active and Probing is activated, the physical position moves +10mm. Coordinate pos will stay the same. Thats OK.
- If E1 is active and Probing is activated, the physical position moves +10mm. Coordinate pos will stay the same. That's wrong, I expect to move +30mm
Same behaviour, if X-offsets are 0 and Y-offsets have ththe above values.
Bug Timeline
first try was 2.0.9.3. Don't know about earlier versions
Expected behavior
When switching from E1 to ZProbe, the movement should be (Offset(E1)-Offset(ZProbe)
Actual behavior
The offset difference between E0 and E1 seems not to be calculated correctly, when switching from E1 to ZProbe
Steps to Reproduce
Parameters:
#define HOTEND_OFFSET_X { 0.0, 20.00 } // (mm) relative X-offset for each nozzle
#define HOTEND_OFFSET_Y { 0.0, 0.00 } // (mm) relative Y-offset for each nozzle
#define HOTEND_OFFSET_Z { 0.0, 0.00 } // (mm) relative Z-offset for each nozzle
#define NOZZLE_TO_PROBE_OFFSET { -10, 0, 0 }
#define X_BED_SIZE 200
#define Y_BED_SIZE 200
// Travel limits (mm) after homing, corresponding to endstop positions.
#define X_MIN_POS -20
#define Y_MIN_POS 0
#define Z_MIN_POS 0
#define X_MAX_POS 190
#define Y_MAX_POS Y_BED_SIZE
#define Z_MAX_POS 200
M218 T1 X20.00 Y0.00 Z0.000 ; set hotend offsetTest sequence:
Boot up
Activate E0
G28 ; Z_Probe in center of bed.
G1 X0 Y100 ; E0 moves to physical position X=0
G30 X0 ; Move X+10, ZProbe now at physical pos X=0. Thats OK
G1 X0 100 ; Move X-10, E0 now at physical pos X=0. Thats OK
Activate E1 ; Move X-20, E1 now at physical pos X=0. Thats OK
G30 X0 Y100 ; Move X+10, but I expected it to move x+30
For this Movement the offset difference between E0 and E1, 20mm, seems to be forgotten.
Version of Marlin Firmware
bugfix-2.0.x
Printer model
self made cartesian
Electronics
Rumba32
Add-ons
BLTouch
Bed Leveling
ABL Bilinear mesh
Your Slicer
Prusa Slicer
Host Software
Repetier Host