Problem mit Zusammenspiel zwischen der Community FW 1.46.03, Z-Kompensation und (?) Z-Offset
Verfasst: Sa 10. Jan 2026, 12:39
Habe die Community FW 1.46.03 (damals noch fälschlicherweise als 1.45.03 firmierend, selbst korrigiert) erneut aufgespielt (lediglich unter Korrektur der maximum Extrudertemperatur und des entsprechenden UI-Werts auf 300 wegen E3D V6 als 2. Extruder).
Heat Bed scan (an sich mit Erfolgsmeldung) gemacht, siehe unten, und PID Autotunes für Extruder und Heizbett.
Seitdem habe ich folgendes Problem:
Bei Einschaltung der Z-Kompensation setzt der Druckanfang für (außer ein einziges 1. Mal) die Anfangsraupe und (immer) den ersten Layer des Druckobjektes bei Z=0 mm an, trotz gegenteiligem Befehl. Kommentiere ich die Z-Kompensation aus, passiert dies nicht. Es scheint unerheblich, ob ich dazu den Z-Offset laufen lasse (= nicht auskommentiere) oder nicht.
Es ist, als ob die Z-Kompensation die Z-Koordinate zerschießt.
Bei der vorherigen Installation dieser FW (also ohne auf 300 erhöhten Temperturwert) hatte ich am Anfang keine gültige Matrix, was der Slicer auch explizit beanstandete und daraufhin den Druck ohne Z-Kompensation laufen ließ (leidlich).
Als ich noch die 0.91.48 laufen hatte (diese kann ich nun mangels Win-11-kompatiblem Arduino 1.6.5 nicht mehr aufspielen) hat die Z-Kompensation funktioniert, mit ähnlichem Startcode.
Ich stehe echt auf dem Schlauch...
GCode: mit entsprechenden Stellen (in Fett/Kursiv) jetzt auskommentiert (weiterhin auskommentiert, in Kursiv, manuelle statische Z-Reduktion und eine vorbereitete, experimentelle und noch nicht benutzte Hinzufügung aus dem Fundus von mjh11 zwecks niedrigem 1. Layer):
; generated by Slic3r 1.3.1-dev (Build 18ddd3a36dc69d81fb9b7440498bff9e1dde8b7e) on 2026-01-09 at 16:31:56
; Print Config Notes:
; ABS
;
; external perimeters extrusion width = 0.55mm (1.42mm^3/s)
; perimeters extrusion width = 0.70mm (2.63mm^3/s)
; infill extrusion width = 0.63mm (5.82mm^3/s)
; solid infill extrusion width = 0.70mm (3.94mm^3/s)
; top infill extrusion width = 0.43mm (1.16mm^3/s)
M107
G92 E0
M190 S120 ; set bed temperature and wait for it to be reached
;--------------------------------------
; RF1000 date 09.01.2026 (5 with mjh11 changes and Z comp disabled)
;--------------------------------------
G28 ; home all axes
G1 Z5 F5000 ; lift nozzle (avoid local overheating of heat bed)
M109 S260 T0; wait for extruder temp to be reached
; M3900 X0 Y0 ; Activate Z-Offset Scan (random X and Y positions; NOTE ends up at Z=0!)
; M400
; M3001 ; Activate Z-Compensation
G90 ; use absolute coordinates
M82 ; use absolute distances for Extrusion
T0
G92 E0 ; start line
G1 F300 E-0.5
G1 X230 Y25 Z0.25 F5000
G1 F800 E8
G1 X20 E25 F1000
; Acceleration up to...
; Acc printing
M201 X6000 Y6000 Z1000
; Acc travel
M202 X6000 Y6000 Z1000
; Move Z-axis n-steps up (see manual)
; M3006 S-128 ; + n-steps bed down // - n-steps bed up!
; M3000 ; Deactivate Z-Compensation (briefly)
; G1 Z2 ; move bed down 2 mm to free Z microswitch
; M99 S1 Z ; disable Z stepper for 1 sec
; G4 P250 ; wait 250 ms
; G28 Z0 ; home Z axis
; M400 ; await all buffered orders
; M3001 ; (Re-)Activate Z-Compensation
; G1 Z0.4
;--------------------------------------
; Filament gcode
; Filament gcode
G21 ; set units to millimeters
G90 ; use absolute coordinates
M82 ; use absolute distances for extrusion
G92 E0
G1 E-1.80000 F2100.00000
G92 E0
G1 Z0.400 F4500.000
G1 Z0.800 F4500.000
G1 X110.824 Y119.944 F4500.000
G1 Z0.400 F4500.000
G1 E1.80000 F2100.00000
G1 F600.000
G1 X112.067 Y118.852 E1.86553
G1 X112.500 Y118.520 E1.88715
G1 X113.875 Y117.601 E1.95266
Matrix mit augenscheinlich OK Werten:
12:50:42.458 : M3013: current heat bed z-compensation matrix:
12:50:42.458 : front left ... front right
12:50:42.458 : ... ... ...
12:50:42.458 : back left ... back right
12:50:42.458 : ;7;0;20;40;60;80;100;120;140;160;180
12:50:42.458 : ;0;-0.53;-0.38;-0.28;-0.28;-0.26;-0.24;-0.24;-0.22;-0.20;-0.20
12:50:42.458 : ;30;-0.53;-0.38;-0.28;-0.28;-0.26;-0.24;-0.24;-0.22;-0.20;-0.20
12:50:42.458 : ;50;-0.43;-0.35;-0.33;-0.29;-0.26;-0.27;-0.25;-0.23;-0.20;-0.20
12:50:42.458 : ;70;-0.46;-0.37;-0.34;-0.31;-0.28;-0.29;-0.27;-0.24;-0.23;-0.23
12:50:42.458 : ;90;-0.47;-0.40;-0.36;-0.32;-0.28;-0.27;-0.25;-0.24;-0.23;-0.23
12:50:42.458 : ;110;-0.49;-0.41;-0.36;-0.32;-0.29;-0.28;-0.25;-0.24;-0.23;-0.23
12:50:42.458 : ;130;-0.51;-0.44;-0.38;-0.33;-0.30;-0.28;-0.26;-0.25;-0.24;-0.24
12:50:42.458 : ;150;-0.50;-0.44;-0.39;-0.35;-0.31;-0.29;-0.28;-0.26;-0.24;-0.25
12:50:42.458 : ;170;-0.52;-0.45;-0.40;-0.36;-0.32;-0.32;-0.29;-0.26;-0.25;-0.25
12:50:42.458 : ;190;-0.54;-0.47;-0.42;-0.38;-0.35;-0.35;-0.32;-0.28;-0.27;-0.26
12:50:42.458 : ;210;-0.52;-0.45;-0.42;-0.38;-0.34;-0.35;-0.33;-0.30;-0.27;-0.26
12:50:42.458 : ;230;-0.54;-0.46;-0.39;-0.35;-0.33;-0.32;-0.32;-0.30;-0.28;-0.25
12:50:42.458 : ;245;-0.54;-0.46;-0.39;-0.35;-0.33;-0.32;-0.32;-0.30;-0.28;-0.25
12:50:42.458 : offset = -253 [steps] (= -0.20 [mm])
12:50:42.458 : warpage = -438 [steps] (= -0.34 [mm])
12:50:42.458 : g_uZMatrixMax[X_AXIS] = 10
12:50:42.458 : g_uZMatrixMax[Y_AXIS] = 13
12:50:42.458 : g_nActiveHeatBed = 1
Heat Bed scan (an sich mit Erfolgsmeldung) gemacht, siehe unten, und PID Autotunes für Extruder und Heizbett.
Seitdem habe ich folgendes Problem:
Bei Einschaltung der Z-Kompensation setzt der Druckanfang für (außer ein einziges 1. Mal) die Anfangsraupe und (immer) den ersten Layer des Druckobjektes bei Z=0 mm an, trotz gegenteiligem Befehl. Kommentiere ich die Z-Kompensation aus, passiert dies nicht. Es scheint unerheblich, ob ich dazu den Z-Offset laufen lasse (= nicht auskommentiere) oder nicht.
Es ist, als ob die Z-Kompensation die Z-Koordinate zerschießt.
Bei der vorherigen Installation dieser FW (also ohne auf 300 erhöhten Temperturwert) hatte ich am Anfang keine gültige Matrix, was der Slicer auch explizit beanstandete und daraufhin den Druck ohne Z-Kompensation laufen ließ (leidlich).
Als ich noch die 0.91.48 laufen hatte (diese kann ich nun mangels Win-11-kompatiblem Arduino 1.6.5 nicht mehr aufspielen) hat die Z-Kompensation funktioniert, mit ähnlichem Startcode.
Ich stehe echt auf dem Schlauch...
GCode: mit entsprechenden Stellen (in Fett/Kursiv) jetzt auskommentiert (weiterhin auskommentiert, in Kursiv, manuelle statische Z-Reduktion und eine vorbereitete, experimentelle und noch nicht benutzte Hinzufügung aus dem Fundus von mjh11 zwecks niedrigem 1. Layer):
; generated by Slic3r 1.3.1-dev (Build 18ddd3a36dc69d81fb9b7440498bff9e1dde8b7e) on 2026-01-09 at 16:31:56
; Print Config Notes:
; ABS
;
; external perimeters extrusion width = 0.55mm (1.42mm^3/s)
; perimeters extrusion width = 0.70mm (2.63mm^3/s)
; infill extrusion width = 0.63mm (5.82mm^3/s)
; solid infill extrusion width = 0.70mm (3.94mm^3/s)
; top infill extrusion width = 0.43mm (1.16mm^3/s)
M107
G92 E0
M190 S120 ; set bed temperature and wait for it to be reached
;--------------------------------------
; RF1000 date 09.01.2026 (5 with mjh11 changes and Z comp disabled)
;--------------------------------------
G28 ; home all axes
G1 Z5 F5000 ; lift nozzle (avoid local overheating of heat bed)
M109 S260 T0; wait for extruder temp to be reached
; M3900 X0 Y0 ; Activate Z-Offset Scan (random X and Y positions; NOTE ends up at Z=0!)
; M400
; M3001 ; Activate Z-Compensation
G90 ; use absolute coordinates
M82 ; use absolute distances for Extrusion
T0
G92 E0 ; start line
G1 F300 E-0.5
G1 X230 Y25 Z0.25 F5000
G1 F800 E8
G1 X20 E25 F1000
; Acceleration up to...
; Acc printing
M201 X6000 Y6000 Z1000
; Acc travel
M202 X6000 Y6000 Z1000
; Move Z-axis n-steps up (see manual)
; M3006 S-128 ; + n-steps bed down // - n-steps bed up!
; M3000 ; Deactivate Z-Compensation (briefly)
; G1 Z2 ; move bed down 2 mm to free Z microswitch
; M99 S1 Z ; disable Z stepper for 1 sec
; G4 P250 ; wait 250 ms
; G28 Z0 ; home Z axis
; M400 ; await all buffered orders
; M3001 ; (Re-)Activate Z-Compensation
; G1 Z0.4
;--------------------------------------
; Filament gcode
; Filament gcode
G21 ; set units to millimeters
G90 ; use absolute coordinates
M82 ; use absolute distances for extrusion
G92 E0
G1 E-1.80000 F2100.00000
G92 E0
G1 Z0.400 F4500.000
G1 Z0.800 F4500.000
G1 X110.824 Y119.944 F4500.000
G1 Z0.400 F4500.000
G1 E1.80000 F2100.00000
G1 F600.000
G1 X112.067 Y118.852 E1.86553
G1 X112.500 Y118.520 E1.88715
G1 X113.875 Y117.601 E1.95266
Matrix mit augenscheinlich OK Werten:
12:50:42.458 : M3013: current heat bed z-compensation matrix:
12:50:42.458 : front left ... front right
12:50:42.458 : ... ... ...
12:50:42.458 : back left ... back right
12:50:42.458 : ;7;0;20;40;60;80;100;120;140;160;180
12:50:42.458 : ;0;-0.53;-0.38;-0.28;-0.28;-0.26;-0.24;-0.24;-0.22;-0.20;-0.20
12:50:42.458 : ;30;-0.53;-0.38;-0.28;-0.28;-0.26;-0.24;-0.24;-0.22;-0.20;-0.20
12:50:42.458 : ;50;-0.43;-0.35;-0.33;-0.29;-0.26;-0.27;-0.25;-0.23;-0.20;-0.20
12:50:42.458 : ;70;-0.46;-0.37;-0.34;-0.31;-0.28;-0.29;-0.27;-0.24;-0.23;-0.23
12:50:42.458 : ;90;-0.47;-0.40;-0.36;-0.32;-0.28;-0.27;-0.25;-0.24;-0.23;-0.23
12:50:42.458 : ;110;-0.49;-0.41;-0.36;-0.32;-0.29;-0.28;-0.25;-0.24;-0.23;-0.23
12:50:42.458 : ;130;-0.51;-0.44;-0.38;-0.33;-0.30;-0.28;-0.26;-0.25;-0.24;-0.24
12:50:42.458 : ;150;-0.50;-0.44;-0.39;-0.35;-0.31;-0.29;-0.28;-0.26;-0.24;-0.25
12:50:42.458 : ;170;-0.52;-0.45;-0.40;-0.36;-0.32;-0.32;-0.29;-0.26;-0.25;-0.25
12:50:42.458 : ;190;-0.54;-0.47;-0.42;-0.38;-0.35;-0.35;-0.32;-0.28;-0.27;-0.26
12:50:42.458 : ;210;-0.52;-0.45;-0.42;-0.38;-0.34;-0.35;-0.33;-0.30;-0.27;-0.26
12:50:42.458 : ;230;-0.54;-0.46;-0.39;-0.35;-0.33;-0.32;-0.32;-0.30;-0.28;-0.25
12:50:42.458 : ;245;-0.54;-0.46;-0.39;-0.35;-0.33;-0.32;-0.32;-0.30;-0.28;-0.25
12:50:42.458 : offset = -253 [steps] (= -0.20 [mm])
12:50:42.458 : warpage = -438 [steps] (= -0.34 [mm])
12:50:42.458 : g_uZMatrixMax[X_AXIS] = 10
12:50:42.458 : g_uZMatrixMax[Y_AXIS] = 13
12:50:42.458 : g_nActiveHeatBed = 1