Duet3D Logo Duet3D
    • Tags
    • Documentation
    • Order
    • Register
    • Login

    Z Probe Height set but Z0 is always -0.4mm off

    Scheduled Pinned Locked Moved
    Tuning and tweaking
    4
    6
    289
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • oracledudeundefined
      oracledude
      last edited by oracledude

      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
      
      fcwiltundefined Phaedruxundefined 2 Replies Last reply Reply Quote 0
      • fcwiltundefined
        fcwilt @oracledude
        last edited by

        @oracledude

        Here are the docs for M500:

        M500

        M500 alone does not save the probe Z trigger height value.

        M500 P31 will save the needed probe settings.

        Frederick

        Printers: a small Utilmaker style, a small CoreXY and a E3D MS/TC setup. Various hotends. Using Duet 3 hardware running 3.4.6

        1 Reply Last reply Reply Quote 0
        • Phaedruxundefined
          Phaedrux Moderator @oracledude
          last edited by Phaedrux

          @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

          Z-Bot CoreXY Build | Thingiverse Profile

          1 Reply Last reply Reply Quote 0
          • oracledudeundefined
            oracledude
            last edited by

            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?

            1 Reply Last reply Reply Quote 0
            • Phaedruxundefined
              Phaedrux Moderator
              last edited by

              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.

              Z-Bot CoreXY Build | Thingiverse Profile

              Baenwortundefined 1 Reply Last reply Reply Quote 0
              • Baenwortundefined
                Baenwort @Phaedrux
                last edited by

                @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.

                1 Reply Last reply Reply Quote 1
                • First post
                  Last post
                Unless otherwise noted, all forum content is licensed under CC-BY-SA