Z offset changes every print.
-
; homeall.g ; called to home all axes M98 P"/sys/homez.g" M98 P"/sys/homex.g" M98 P"/sys/homey.g" G1 F9000 X60 Y60 Z60
-
@Karim how do I set z offset if the limit switch is at the bottom on the printer. As you can see I am homing at z max.
-
Well you'd need to first identify the actual Z0 point by manually jogging the nozzle down to touch the bed, then send G92 Z0 to set Z0. Then send
G1 H3 Z300 F600
to move the z axis to the zmax endstop and measure the distance. Then send M500 to save the updated M208 Z value to config-override.g. You'd need M501 at the end of config.g to load it again. In your homez.g you would want to remove your existing G92 Z119.5 entirely. -
@Phaedrux ok, I got 118.85 from nozzle to bed switch. Look like it’s working, so I noticed z babystepping not working. I have to disable axis limit (M564 S0) to go closer to nozzle.
-
The babystepping won't let you go below the z minima value. You can change your M208 Z minima to be slightly negative like -0.5 to give you more baby stepping room.
But if you have your Z0 set accurately there shouldn't be much need for baby stepping. If your first layer isn't accurate, there's still a problem with homing.
-
@Phaedrux ok I let the nozzle top a piece of paper and then zero. But when I go to print the nozzle it a little too high. Do I change the Z0 to Z18.35
; Axis Limits 40 M208 X0 YO Z0 S1 41 M208 X120 Y120 Z120 SO
-
Post your full config.g and override file and home z and slicer start gcode as they are now please.
Are you allowing for thermal expansion when you measure the z0 position?
-
@Phaedrux yes bed is at print temperature always.
; Configuration file for Duet 3 Mini 5+ (firmware version 3.3) ; executed by the firmware on start-up ; ; generated by RepRapFirmware Configuration Tool v3.3.15 on Sat Feb 04 2023 22:42:11 GMT-0500 (Eastern Standard Time) ; General preferences M575 P1 S1 B57600 ; enable support for PanelDue G90 ; send absolute coordinates... M83 ; ...but relative extruder moves M550 P"Zero" ; set printer name M669 K1 ; select CoreXY mode ; Network M551 P"Zero" ; set password M552 S1 ; enable network M586 P0 S1 ; enable HTTP M586 P1 S0 ; disable FTP M586 P2 S0 ; disable Telnet ; Drives M569 P0.1 S1 D2 ;F3 B2 Y5:3 ; physical drive 0.1 goes forwards M569 P0.2 S1 D2 ;F3 B2 Y5:3 ; physical drive 0.2 goes forwards M569 P0.0 S1 D3 V50 ; physical drive 0.0 goes forwards M569 P0.3 S0 ;D2 ; physical drive 0.3 goes forwards ;M915 X Y R0 F0 M584 X0.1 Y0.2 Z0.0 E0.3 ; set drive mapping ;M592 D0.3 A0.01139 B0.00088 ;Set Non-Linear Extrusion M350 X16 Y16 Z16 E16 I1 ; configure microstepping with interpolation M92 X80 Y80 Z400.00 E413.52 ; set steps per mm M566 X480 Y480 Z100 E1200 ; set maximum instantaneous speed changes (mm/min) M203 X18000.00 Y18000.00 Z1800.00 E12000 ; set maximum speeds (mm/min) M201 X10000 Y10000 Z200.00 E2500 ; set accelerations (mm/s^2) M906 X650 Y650 Z300 E550 I40 ; set motor currents (mA) and motor idle factor in per cent M84 S30 ; Set idle timeout ; Axis Limits M208 X0 Y0 Z0 S1 ; set axis minima M208 X120 Y120 Z120 S0 ; set axis maxima ; Endstops M574 X2 S3 ;P"^io3.in" ; configure switch-type (e.g. microswitch) endstop for high end on X via pin !^io3.in M574 Y2 S3 ;P"^io5.in" ; configure switch-type (e.g. microswitch) endstop for high end on Y via pin !^io5.in M574 Z2 S1 P"^io6.in" ; configure switch-type (e.g. microswitch) endstop for high end on Z via pin !^io6.in ; Z-Probe ;M950 S1 C"out6" ; assign GPIO port 1 to out6 (Servo header), servo mode M558 P0 ;P5 K0 C"^io1.in" R0.1 A5 H1 F600:400 T6000 ;G31 X60 Y60 Z0 M557 X0:120 Y0:120 P3 M671 X60:5:115 Y5:-10:115 P0.5 ; adjusting screws ; Heaters M308 S0 P"temp0" Y"thermistor" T100000 B4725 C7.06e-8 ; configure sensor 0 as thermistor on pin temp0 M950 H0 C"out0" T0 ; create bed heater output on out0 and map it to sensor 0 ;M307 H0 R0.616 K0.698:0.000 D3.15 E1.35 S1.00 B0 V24 M307 H0 R0.240 K0.131:0.000 D5.22 E1.35 S1.00 B0 V24 M140 H0 ; map heated bed to heater 0 M143 H0 S120 ; set temperature limit for heater 0 to 120C ;E3d Revo Voron) M308 S1 P"temp1" Y"thermistor" T100000 B4725 C7.06e-8 ; configure sensor 1 as thermistor on pin e0temp M950 H1 C"out1" T1 ; create nozzle heater output on e0heat and map it to sensor 1 ;M307 H1 R4.091 K0.614:0.000 D1.92 E1.35 S1.00 B0 ; disable bang-bang mode for heater and set PWM limit M307 H1 R4.167 K0.511:0.000 D2.11 E1.35 S1.00 B0 V23.7 M143 H1 S280 ; set temperature limit for heater 1 to 280C M308 S2 P"temp2" Y"thermistor" A"Chamber" T100000 M308 S11 Y"drivers" A"Duet stepper drivers" ; Fans M950 F0 C"out3" ;Q250 ; create fan 0 on pin out3 and set its frequency M106 P0 S0 H-1 C"Part" ; set fan 0 value. Thermostatic control is turned off M950 F1 C"out5" ;Q500 ; create fan 1 on pin out5 and set its frequency M106 P1 S1 H1 T45 C"Hotend" ; set fan 1 value. Thermostatic control is turned on M950 F2 C"out4" M106 P2 C"Filter" S0 H-1 ;M106 P2 C"Filter" S1 H0 T45 ; Tools M563 P0 S"Main" D0 H1 F0 ; define tool 0 G10 P0 X0 Y0 Z0 ; set tool 0 axis offsets G10 P0 R0 S0 ; set initial tool 0 active and standby temperatures to 0C ;Neopixel M150 X1 Q3000000 ; set LED type to NeoPixel and set SPI frequency to 3MHz M150 U150 P100 ; set to red, half brightness, ; Custom settings are not defined ; Misc ;M912 P0 S-4 ; MCU temperature calibration (yours will be different) ;M572 D0 S0.075 ; Pressure Advance M572 D0 S0.01 ; Pressure Advance M592 D0 A0.015 B0.0012 L0.2 ; Non-linear extrusion M376 H10 ; Fade mesh out compensation over 10mm Z ; DAA tuning (you will need to change this for your slicer) ;M593 F26.6 ; Cura 4.5 stock profile @ 40mm/s outer printing speed ;M593 F42.5 ; PrusaSlicer @ 40mm/s outer perimeter M671 X60:5:115 Y5:-10:115 P0.5 ; adjusting screws ; Miscellaneous T0 ; select first tool M280 P1 S1 M400 M280 P1 S-1 M98 P"/sys/lib/init.g" M501
; config-override.g file generated in response to M500 at 2023-02-26 17:50 ; This is a system-generated file - do not edit ; Heater model parameters M307 H0 R0.240 K0.131:0.000 D5.22 E1.35 S1.00 B0 M307 H1 R4.167 K0.511:0.000 D2.11 E1.35 S1.00 B0 V23.7 ; Probed axis limits M208 S0 Z118.17 ; Workplace coordinates G10 L2 P1 X0.00 Y0.00 Z0.00 G10 L2 P2 X0.00 Y0.00 Z0.00 G10 L2 P3 X0.00 Y0.00 Z0.00 G10 L2 P4 X0.00 Y0.00 Z0.00 G10 L2 P5 X0.00 Y0.00 Z0.00 G10 L2 P6 X0.00 Y0.00 Z0.00 G10 L2 P7 X0.00 Y0.00 Z0.00 G10 L2 P8 X0.00 Y0.00 Z0.00 G10 L2 P9 X0.00 Y0.00 Z0.00
; homez.g ; called to home the Z axis ; G91 G1 H1 Z300 F800 ; move Z down until the endstop is triggered M400 G1 H2 Z-5 F300 ;back away G1 H1 Z300 F60 ;second pass G4 S1 ; wait 1s G90 ;G92 Z119 ; set Z position to axis minimum M400
;Start G-code M83 ; set extruder to relative mode G21 ; set units to mm T0 ; select tool 0 G92 E0.0 ; reset extruder position M220 S100 ; reset speed multiplier G28 ; Home All Axes
;End G-code G91 ; relative positioning M83 ; extruder relative positioning G1 E-5.00 F1000 ; retract 5mm of filament G1 Z1.00 X20.0 Y20.0 F20000 ; short quick move to disengage from print ;G1 Z10.00 F20000 ; move Z-Axis 10mm away from part G28 Z G90 ; absolute positioning G1 X120 Y3120 F9000 ; move gantry close to home M104 S0 ; turn off hotend M140 S0 ; turn off heatbed M106 S0 ; shut off blower M84 ; turn off motors
-
@Karim said in Z offset changes every print.:
Do I change the Z0 to Z18.35
If you need to baby step a little lower than it's letting you try
M208 Z-1
.I don't see anything else in your config that is off. If you're still getting strange behaviour it could be mechanical, or thermal expansion.
After homing to Z max, and you send G90 G1 Z0 does the nozzle tip just touch the bed again?
-
@Phaedrux ok I change the Z value in M208 S0 Z118.17 in config-override.g and then restart to get the nozzle closer to the bed. I will test and report back the evening.