Z Probe Height set but Z0 is always -0.4mm off
-
I run the following to find my zero, which is -0.4mm from current Z=0
M564 S0 ; allow -z G1 Z0 ; goto z=0 ;tweak with +/- 0.05 increments until feeler gauge is hit G92 Z0 ; set z=0 G28 ; home G1 S-3 ; Set z probe height (DC42 probe) M500 ; save
For some reason, this does not update my config_override.g with the probe height or anything else.
When I home the delta again and check z, it is still the same height before the aforementioned process.
I've updated config.g with the probe height on the G31 line. home_delta.g doesn't have any G31 commands, nor does config_override.g
System reboot applies the G31 change, but my z remains off by -0.4mm. I can't find any G31s besides the one in config.g
Here are the .g files:
config.g
(M503 matches this output); Configuration file for Duet WiFi (firmware version 3.3) ; generated by RepRapFirmware Configuration Tool v3.3.10 on Wed Dec 01 2021 21:42:04 GMT-0600 (Central Standard Time) ; General preferences M575 P1 S1 B57600 ; enable support for PanelDue G90 ; send absolute coordinates... M83 ; ...but relative extruder moves M550 P"Griffin Delta" ; set printer name ;M665 R130 L288.87 B130 H229.4 ; Set delta radius, diagonal rod length, printable radius and homed height M665 R130 L288.87 B130 H227.35 ; Set delta radius, diagonal rod length, printable radius and homed height M666 X0 Y0 Z0 ; endstop adjustments here, or let auto calibration find them ; Network M552 S1 ; enable network M586 P0 S1 C"*" ; enable HTTP M586 P1 S1 ; enable FTP M586 P2 S1 ; enable Telnet ; Drives M569 P0 S0 ; physical drive 0 goes backwards M569 P1 S0 ; physical drive 1 goes backwards M569 P2 S0 ; physical drive 2 goes backwards M569 P3 S1 ; physical drive 3 goes forwards M584 X0 Y1 Z2 E3 ; set drive mapping M350 X16 Y16 Z16 E16 I1 ; configure microstepping with interpolation M92 X80.00 Y80.00 Z80.00 E393.06 ; set steps per mm M566 X12000.00 Y12000.00 Z12000.00 E1200.00 ; set maximum instantaneous speed changes (mm/min) ---was 1200 M203 X18000.00 Y18000.00 Z18000.00 E2400.00 ; set maximum speeds (mm/min) M201 X5000.00 Y5000.00 Z5000.00 E1000.00 ; set accelerations (mm/s^2) -- was 1000 M906 X1000 Y1000 Z1000 E1000 I30 ; set motor currents (mA) and motor idle factor in per cent M84 S30 ; Set idle timeout ; Axis Limits M208 Z0 S1 ; set minimum Z ; Endstops M574 X2 S1 P"xstop" ; configure switch-type (e.g. microswitch) endstop for high end on X via pin xstop M574 Y2 S1 P"ystop" ; configure switch-type (e.g. microswitch) endstop for high end on Y via pin ystop M574 Z2 S1 P"zstop" ; configure switch-type (e.g. microswitch) endstop for high end on Z via pin zstop ; Z-Probe M558 P1 X0 Z0 H5 F600 T5000 C"zprobe.in+zprobe.mod" ; Set Z probe type to dc42 IR_PROBE ;G31 P450 X18 Y18 Z0.934 ; set Z probe trigger value, offset and trigger height G31 P450 X18 Y18 Z0.974 ; set Z probe trigger value, offset and trigger height M557 R75 S20 ; define mesh grid ; Bed Heater M308 S0 P"bedtemp" Y"thermistor" T100000 B4138 A"Bed Heater" ; configure sensor 0 as thermistor on pin bedtemp M950 H0 C"bedheat" T0 ; create bed heater output on bedheat and map it to sensor 0 ;M307 H0 B0 S0.90 ; use PID tuning for the bed heater and set PWM limit // CONFIG_OVERRIDE handles this M140 H0 ; map bed to heater 0 M140 S-273 R40 ; active/standby to 25/40. turn off bed heater by setting to -273 M143 H0 S120 ; set temperature limit for heater 0 to 120C ; Hot End Heater M308 S1 P"e0temp" Y"thermistor" T100000 B4138 A"Hot End" ; configure sensor 1 as thermistor on pin e0temp M950 H1 C"e0heat" T1 ; create nozzle heater output on e0heat and map it to sensor 1 ;M307 H1 B0 S0.90 ; use PID tuning for the heater and set PWM limit // CONFIG_OVERRIDE handles this M143 H1 S280 ; set temperature limit for heater 1 to 280C ; Fans Q30000 Q1000 M950 F0 C"fan0" ; Layer fan on pin fan0 and set its frequency M106 P0 S0 H-1 C"Print Layer Fan" ; set fan 0 starting speed. Thermostatic control is disabled M950 F1 C"fan1" ; Heat sink fan on pin fan1 and set its frequency M106 P1 S1 H1 T45 C"HotEndFan" ; set fan 1 value. Thermostatic control is turned on ; Tools M563 P0 S"DeltaEffector" H1 F0 D0 ; define tool 0 with heater 1, fan 0, extruder 0 ;G10 P0 R25 S125 ; Active 125 Standby 25 M568 P0 R20 S125 A0 ; replaces g10; Set tool 0 Active/Standby=125C/20C and Current State = Off R25 S150 A0 G10 P0 X0 Y0 Z0 ; set tool 0 axis offsets ; Miscellaneous M501 ; load saved parameters from non-volatile memory M911 S10 R11 P"M913 X0 Y0 G91 M83 G1 Z3 E-5 F1000" ; set voltage thresholds and actions to run on power loss T0 ; select first tool
config-override.g
; config-override.g file generated in response to M500 at 2021-12-08 20:58 ; This is a system-generated file - do not edit ; Delta parameters M665 L288.871:288.871:288.871 R137.332 H229.150 B135.0 X-0.599 Y-0.503 Z0.000 M666 X0.289 Y1.513 Z-1.802 A0.00 B0.00 ; Heater model parameters M307 H0 R0.322 C747.800:747.800 D27.95 S1.00 V14.1 B0 I0 M307 H1 R3.297 C150.900:150.900 D4.24 S0.90 V14.0 B0 I0 ; 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
homedelta.g
G91 ; relative positioning G1 H1 X265 Y265 Z265 F4800 ; move all towers to the high end stopping at the endstops (first pass) G1 H2 X-5 Y-5 Z-5 F1800 ; go down a few mm G1 H1 X10 Y10 Z10 F360 ; move all towers up once more (second pass) G1 Z-5 F6000 ; move down a few mm so that the nozzle can be centred G90 ; absolute positioning G1 X0 Y0 F6000 ; move X+Y to the centre
M98 P"config.g"
HTTP is enabled on port 80 FTP is enabled on port 21 TELNET is enabled on port 23 Warning: Heater 0 appears to be over-powered. If left on at full power, its temperature is predicted to reach 265C Warning: Heater 1 appears to be over-powered. If left on at full power, its temperature is predicted to reach 522C
-
Here are the docs for M500:
M500 alone does not save the probe Z trigger height value.
M500 P31 will save the needed probe settings.
Frederick
-
@oracledude said in Z Probe Height set but Z0 is always -0.4mm off:
G92 Z0 ; set z=0 G28 ; home
Running G28 will reset the Z0 position to the homed height and defeats the purpose of setting Z0 in the first place. Instead of doing G28, just raise the print head a few mm.
@oracledude said in Z Probe Height set but Z0 is always -0.4mm off:
G1 S-3
This isn't a valid command. It should be G30 S-3
Then M500 P31 to save to config-override.g
-
No idea why I typed G1 when I meant G30.
Thanks for the info. Forgot that homing flushes zero on a delta. On my other printers, I send a G28 before starting prints.
So what would I add to homedelta.g to set/verify z? Should I even put it in there? -
Well once you have your trigger height measured and saved in some way, all you need to do to re-establish Z0 before a print or anything else is a single G30 at the center of the bed.
-
@phaedrux said in Z Probe Height set but Z0 is always -0.4mm off:
Well once you have your trigger height measured and saved in some way, all you need to do to re-establish Z0 before a print or anything else is a single G30 at the center of the bed.
I'd recommended process on a Delta is not a single G30 but a G32 before the print provided you do not have a G28 at the end of your bed.g
If you aren't doing some extremely high number of probe points (a S6 run only needs 10 or 12 points) it shouldn't take long and will not only set the proper Z0 but will deal with any shifting from room temp or bumping the printer.
It is easy to put a G32 in your slicers start gcode.