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

Z-lift config for G29

Scheduled Pinned Locked Moved
Tuning and tweaking
3
13
473
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.
  • undefined
    duetwifiuser
    last edited by duetwifiuser 29 Aug 2021, 15:48

    Ahoi,

    I just upgraded from 2.x to 3.3 and now I am wondering how to setup a Z lift for the G29 command.

    Somehow this worked differently before, I remember the printhead diving down for each probe point, but now I get a 'Probe already triggered at start of probing move' error which makes sense since G29 requires the axis to be homed and so the probe is already triggered after finding Z.

    I'm sure I missed something important when diff'ing my old config files against the new ones from the config tool but I can't figure out what =/

    This is my current config.g:

    ; Configuration file for Duet WiFi (firmware version 3.3)
    ; executed by the firmware on start-up
    ;
    ; generated by RepRapFirmware Configuration Tool v3.3.1 on Sun Aug 29 2021 15:53:02 GMT+0200 (Central European Summer Time)
    ; General preferences
    G90 ; send absolute coordinates...
    M83 ; ...but relative extruder moves
    M550 P"Ender 3" ; set printer name
    ; Network
    M552 S1 ; enable network
    M587 ; Configure access point. You can delete this line once connected
    M586 P0 S1 ; enable HTTP
    M586 P1 S0 ; disable FTP
    M586 P2 S0 ; disable Telnet
    ; Drives
    M569 P0 S0 ; physical drive 0 goes backwards
    M569 P1 S0 ; physical drive 1 goes backwards
    M569 P2 S1 ; physical drive 2 goes forwards
    M569 P3 S0 ; physical drive 3 goes backwards
    M584 X0 Y1 Z2 E3 ; set drive mapping
    M350 X16 Y16 Z16 E16 I1 ; configure microstepping with interpolation
    M591 P2 C"e0_stop" S1 ; filament monitor connected to E0_stop
    M92 X80.00 Y80.00 Z400.00 E140.00 ; set steps per mm
    M566 X1200.00 Y1200.00 Z24.00 E300.00 ; Set maximum instantaneous speed changes (mm/min)
    M203 X30000.00 Y30000.00 Z300.00 E3600.00 ; Set maximum speeds (mm/min)
    M201 X800.00 Y800.00 Z100.00 E5000.00 ; Set accelerations (mm/s^2)
    M906 X800 Y800 Z800 E800 I30 ; set motor currents (mA) and motor idle factor in per cent
    M84 S30 ; Set idle timeout
    ; Axis Limits
    M208 X0 Y0 Z-1 S1 ; set axis minima
    M208 X220 Y220 Z250 S0 ; set axis maxima
    ; Endstops
    M574 X1 S1 P"xstop" ; configure active-high endstop for low end on X via pin xstop
    M574 Y1 S1 P"ystop" ; configure active-high endstop for low end on Y via pin ystop
    M574 Z1 S2 ; configure Z-probe endstop for high end on Z
    ; Z-Probe
    M558 P5 C"^zprobe.in" H1 F120 T6000 ; set Z probe type to unmodulated and the dive height + speeds
    G31 P500 X-42 Y2 Z0.0 ; set Z probe trigger value, offset and trigger height
    M557 X00:200 Y10:200 S20 ; Define mesh grid
    ; Heaters
    M308 S0 P"bedtemp" Y"thermistor" T100000 B4138 C0 R4700 ; 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 S1.00 ; disable bang-bang mode for the bed heater and set PWM limit
    M140 H0 ; map heated bed to heater 0
    M143 H0 S70 ; set temperature limit for heater 0 to 120C
    M308 S1 P"e0temp" Y"thermistor" T100000 B4138 C0 R4700 ; 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 S1.00 ; disable bang-bang mode for heater and set PWM limit
    M143 H1 S260 ; set temperature limit for heater 1 to 280C
    ; Fans
    M950 F0 C"fan0" Q500 ; create fan 0 on pin fan0 and set its frequency
    M106 P0 S0 H-1 ; set fan 0 value. Thermostatic control is turned off
    M950 F1 C"fan1" Q500 ; create fan 1 on pin fan1 and set its frequency
    M106 P1 S0.3 H1 T45 ; set fan 1 value. Thermostatic control is turned on
    ; Tools
    M563 P0 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
    ; Custom settings are not defined
    M915 E S10 F0 R1 ; stall detection for extruder (S-value == offset, F1 == filtered, R1 == log - don't pause)
    M302 P1 ; allow cold extrusion

    Cheers!

    undefined 1 Reply Last reply 29 Aug 2021, 17:00 Reply Quote 0
    • undefined
      fcwilt @duetwifiuser
      last edited by 29 Aug 2021, 17:00

      @duetwifiuser

      You say the probe is already triggered after finding Z

      What exactly does that mean? What is the Z position at that point?

      Thanks.

      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
      • undefined
        Phaedrux Moderator
        last edited by 29 Aug 2021, 22:34

        What kind of a probe is it?

        Z-Bot CoreXY Build | Thingiverse Profile

        1 Reply Last reply Reply Quote 0
        • undefined
          duetwifiuser
          last edited by duetwifiuser 29 Aug 2021, 23:05

          It's an inductive Prusa PINDA knock-off.

          The Z position at that point is reportet as 1.000 and visually correct.

          M114
          X:150.000 Y:110.000 Z:1.000 E:0.000 E0:-0.0 Count 12000 8800 400 Machine 150.000 110.000 1.000 Bed comp 0.000

          I tried moving the printhead up with G1 H2 Z10 F6000 before running G29 and the printer moves towards XY(Z?) 0 which I guess would be the first probing point for the mesh before reporting ...
          Error: Probe already triggered before probing move started
          ...and halting at:

          M114
          X:42.000 Y:8.000 Z:1.000 E:0.000 E0:-0.0 Count 3360 640 400 Machine 42.000 8.000 1.000 Bed comp 0.000

          What I think I am missing is something like Marlin's Z_CLEARANCE_BETWEEN_PROBES offset by which the probe/printhead would raise itself between mesh points - I sadly can't see or remember how or why this worked with my old .g config files in the 2.x version before 😞

          undefined 1 Reply Last reply 29 Aug 2021, 23:10 Reply Quote 0
          • undefined
            fcwilt @duetwifiuser
            last edited by 29 Aug 2021, 23:10

            @duetwifiuser

            When a probe completes the Z position is supposed to be high enough that the probe is ready to do another probe.

            However if the Z position is too low for the "first" probe then you can get a "already triggered" error.

            So what is the Z position at the start of the probe that is failing?

            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

            undefined 1 Reply Last reply 29 Aug 2021, 23:20 Reply Quote 0
            • undefined
              duetwifiuser @fcwilt
              last edited by duetwifiuser 29 Aug 2021, 23:20

              @fcwilt

              That would be 10.000 as commanded via G1 H2 Z10 F6000.

              Mesh grid is defined as M557 X00:200 Y10:200 S20 so I assume that the first probing point would be X:0, Y:10, Z:1 and its quite possible that my bed is angled/warped enough to trigger the probe before it reaches there.

              This is why I am looking for a solution where the probe would stay at a safe distance to the bed while traveling between mesh points.

              undefined 1 Reply Last reply 29 Aug 2021, 23:35 Reply Quote 0
              • undefined
                fcwilt @duetwifiuser
                last edited by 29 Aug 2021, 23:35

                @duetwifiuser said in Z-lift config for G29:

                @fcwilt

                That would be 10.000 as commanded via G1 H2 Z10 F6000.

                Mesh grid is defined as M557 X00:200 Y10:200 S20 so I assume that the first probing point would be X:0, Y:10, Z:1 and its quite possible that my bed is angled/warped enough to trigger the probe before it reaches there.

                This is why I am looking for a solution where the probe would stay at a safe distance to the bed while traveling between mesh points.

                Your G31 command in your config.g file says the Z Trigger Height setting is 0. Is that correct?

                Normally that setting is a positive number. For example mine is 2.5.

                When a probe is complete the Z position is the Dive Height (the H parameter in the M558 command) plus the Z Trigger Height (the Z parameter in the G31 command).

                With your current parameters the Z position would be 1 + 0 - which doesn't allow much room for the bed to be out of level or uneven.

                My dive height setting is 2 so the Z position would be 2 + 2.5 - which is plenty of room in most cases.

                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

                undefined 1 Reply Last reply 29 Aug 2021, 23:45 Reply Quote 1
                • undefined
                  duetwifiuser @fcwilt
                  last edited by duetwifiuser 29 Aug 2021, 23:45

                  @fcwilt

                  Thank you so much!

                  I feel really stupid now... 😞

                  The Dive height was exactly what I was looking for - setting it to a generous 10 makes the printer behave exactly like it should/did before.

                  Somehow the zero got lost during copy'n pasting between old and new config.g - guess even BeyondCompare can't help with bad eyesight 🙂

                  Again, many thanks!

                  undefined 1 Reply Last reply 29 Aug 2021, 23:48 Reply Quote 1
                  • undefined
                    fcwilt @duetwifiuser
                    last edited by 29 Aug 2021, 23:48

                    @duetwifiuser said in Z-lift config for G29:

                    @fcwilt

                    Thank you so much!

                    I feel really stupid now... 😞

                    The Dive height was exactly what I was looking for - setting it to a generous 10 makes the printer behave exactly like it should/did before.

                    Somehow the zero got lost during copy'n pasting between old and new config.g - guess even BeyondCompare can't help with bad eyesight 🙂

                    Again, many thanks!

                    Glad I could help.

                    But what about the G31 Z parameter being 0 - is that truly the case. It is possible.

                    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

                    undefined 1 Reply Last reply 30 Aug 2021, 00:05 Reply Quote 0
                    • undefined
                      duetwifiuser @fcwilt
                      last edited by duetwifiuser 30 Aug 2021, 00:05

                      @fcwilt

                      About the 0 trigger height:

                      That isn't really true, the correct value would be 0.84

                      I know its a bit weird, but since the bed isn't ideal, I actually prefer the Duet to think that the nozzle is basically on the bed when in reality it is floating ~1mm over it so I never run the risk of damaging the sheet should I command some move and forget to raise Z first.

                      The offset is then compensated for in the slicer...

                      undefined 1 Reply Last reply 30 Aug 2021, 00:15 Reply Quote 0
                      • undefined
                        fcwilt @duetwifiuser
                        last edited by 30 Aug 2021, 00:15

                        @duetwifiuser said in Z-lift config for G29:

                        @fcwilt

                        About the 0 trigger height:

                        That isn't really true, the correct value would be 0.84

                        I know its a bit weird, but since the bed isn't ideal, I actually prefer the Duet to think that the nozzle is basically on the bed when in reality it is floating ~1mm over it so I never run the risk of damaging the sheet should I command some move and forget to raise Z first.

                        The offset is then compensated for in the slicer...

                        Well that is the first time I have heard of that approach - but I understand your concern.

                        You could also so it with the correct value in G31 then use a M290 command to set a Z offset.

                        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

                        undefined 1 Reply Last reply 30 Aug 2021, 00:34 Reply Quote 0
                        • undefined
                          duetwifiuser @fcwilt
                          last edited by 30 Aug 2021, 00:34

                          @fcwilt

                          You are of course right and I should really rather do it that way...

                          I'll keep it as is for the sake of consistency with my Marlin machines where I don't trust myself to always remember to apply M290 again after clearing the eeprom 🙄

                          Cheers!

                          undefined 1 Reply Last reply 30 Aug 2021, 00:41 Reply Quote 0
                          • undefined
                            fcwilt @duetwifiuser
                            last edited by 30 Aug 2021, 00:41

                            @duetwifiuser said in Z-lift config for G29:

                            @fcwilt

                            You are of course right and I should really rather do it that way...

                            I'll keep it as is for the sake of consistency with my Marlin machines where I don't trust myself to always remember to apply M290 again after clearing the eeprom 🙄

                            Cheers!

                            You don't have to remember - you can execute it as part of your Z homing code so it will always take effect.

                            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
                            3 out of 13
                            • First post
                              3/13
                              Last post
                            Unless otherwise noted, all forum content is licensed under CC-BY-SA