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

    nozzle dives almost 4 mm too deep into the bed

    Scheduled Pinned Locked Moved Solved
    Using Duet Controllers
    3
    20
    714
    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.
    • Phaedruxundefined
      Phaedrux Moderator
      last edited by

      I think there is something wrong with your capacitive sensor, or it's not picking up your bed surface correctly.

      A negative trigger height means just that, it triggers when the nozzle is bellow the surface of the bed, which for some nozzle contact probes is normal and usually a fraction of a mm. -5.5mm is not correct in your case.

      So either the probe is completely wrong, or there is something somewhere in your gcode that is setting the nozzle position higher than it actually is.

      Can you post your config-override.g?

      How exactly did you measure the trigger height?

      Z-Bot CoreXY Build | Thingiverse Profile

      axiomundefined 1 Reply Last reply Reply Quote 0
      • axiomundefined
        axiom @Phaedrux
        last edited by

        @Phaedrux said in nozzle dives almost 4 mm too deep into the bed:
        I test the trigger hight exactly according to the instructions you sent me: https://docs.duet3d.com/en/User_manual/Connecting_hardware/Z_probe_testing

        I don't have a config-override.g. Just a "config.g" and a "config.g.bak"... I attach both.
        6c476bee-7830-45ce-8c7f-e95bd3ae03c1-grafik.png
        A true bed leveling works for me without any problems. When I start a job, the nozzle pushes its head up (moves into the bed). If I then adjust the Z-offset manually, it prints its job properly (the dimensions are correct)...however, that's certainly not good for the head if it goes into bed every time.
        Here the config files:

        ; Configuration file for Duet WiFi (firmware version 3.3)
        ; executed by the firmware on start-up
        ;
        ; generated by RepRapFirmware Configuration Tool v3.3.12 on Wed Aug 24 2022 12:56:11 GMT+0200 (Mitteleuropäische Sommerzeit)

        ; General preferences
        M575 P1 S1 B57600 ; enable support for PanelDue
        G90 ; send absolute coordinates...
        M83 ; ...but relative extruder moves
        M550 P"DUKA1300" ; set printer name

        ; Network
        M552 S1 ; enable network
        M586 P0 S1 ; enable HTTP
        M586 P1 S0 ; disable FTP
        M586 P2 S0 ; disable Telnet

        ; Drives
        M569 P1 S1 ; physical drive 0 goes forwards
        M569 P1 S1 ; physical drive 1 goes forwards
        M569 P2 S1 ; physical drive 2 goes forwards
        M569 P3 S1 ; physical drive 3 goes forwards extruder1
        M569 P4 S1 ; physical drive 4 goes forwards
        M584 X0 Y1 Z2 E3:4 ; set drive mapping
        M350 X16 Y16 Z16 E16:16 I1 ; configure microstepping with interpolation
        ;M92 X80.00 Y80.00 Z400.00 E420.00:420.00 ; set steps per mm
        M92 X80.00 Y80.00 Z640.00 E320.20:320.51 ; set steps per mm
        M566 X900.00 Y900.00 Z100.00 E120.00:120.00 ; set maximum instantaneous speed changes (mm/min)
        M203 X6000.00 Y6000.00 Z300.00 E1200.00:1200.00 ; set maximum speeds (mm/min)
        M201 X500.00 Y500.00 Z40.00 E250.00:250.00 ; set accelerations (mm/s^2)
        M906 X1800 Y1800 Z1700 E1800 I30 ; 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 X640 Y760 Z1255 S0 ; set axis maxima

        ; Endstops
        M574 X1 S1 P"xstop" ; configure switch-type (e.g. microswitch) endstop for low end on X via pin xstop
        M574 Y1 S1 P"ystop" ; configure switch-type (e.g. microswitch) endstop for low 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
        ;M574 Z2 S2 ; configure Z-probe endstop for high end on Z
        ; Z-Probe
        M558 P1 C"!zprobe.in" H5 F120 T6000 ; set Z probe type to unmodulated and the dive height + speeds
        G31 P1000 X-61 Y-1 Z5.558 ; set Z probe trigger value, offset and trigger height
        M557 X15:580 Y15:750 S50 ; define mesh grid

        ; Heaters
        ;M308 S0 P"e0temp" Y"thermistor" T100000 B4138 ; configure sensor 0 as thermistor on pin e1temp
        ;M950 H0 C"e0heat" T1 ; create nozzle heater output on e1heat and map it to sensor 0
        ;M307 H0 R1.797 K0.742:0.000 D7.57 E1.35 S1.00 B0 V23.8 ; disable bang-bang mode for heater and set PWM limit
        ;M143 H0 S250 ; set temperature limit for heater 0 to 250C
        M308 S1 P"e1temp" Y"thermistor" T100000 B4138 ; configure sensor 1 as thermistor on pin e0temp
        M950 H1 C"e1heat" T1 ; create nozzle heater output on e0heat and map it to sensor 1
        M307 H1 R1.797 K0.742:0.000 D7.57 E1.35 S1.00 B0 V23.8 ; disable bang-bang mode for heater and set PWM limit
        M143 H1 S250 ; set temperature limit for heater 1 to 250C
        M308 S2 P"bedtemp" Y"thermistor" T100000 B4138 ; configure sensor 2 as thermistor on pin bedtemp
        M950 H2 C"bedheat" T2 ; create bed heater output on bedheat and map it to sensor 2
        M307 H2 R0.283 K0.463:0.000 D7.17 E1.35 S1.00 B0 ; enable bang-bang mode for the bed heater and set PWM limit
        M140 H2 ; map heated bed to heater 2
        M143 H2 S280 ; set temperature limit for heater 2 to 280C

        ; Fans
        M950 F1 C"fan0" Q250 ; create fan 0 on pin fan0 and set its frequency
        ;M106 P0 S1 H0 T45 ; set fan 0 value. Thermostatic control is turned on
        ;M950 F1 C"fan1" Q500 ; create fan 1 on pin fan1 and set its frequency
        ;M106 P1 S1 H1 T45 ; set fan 1 value. Thermostatic control is turned on

        ; Tools
        ;M563 P0 D0 H0 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
        M563 P1 D1 H1 F0 ; define tool 1
        G10 P1 X45 Y45 Z0 ; set tool 1 axis offsets
        G10 P0 R0 S1 ; set initial tool 1 active and standby temperatures to 0C
        M591 D1 P1 C"e1-stop" S0 ;R40:120 E3.0 S1 ; Filament Sensor
        M568 P1 R160 S0
        ; Custom settings are not defined

        ; Miscellaneous
        M501
        M911 S10 R11 P"M913 X0 Y0 G91 M83 G1 Z3 E-5 F1000" ; set voltage thresholds and actions to run on power loss

        ; Configuration file for Duet WiFi (firmware version 3.3)
        ; executed by the firmware on start-up
        ;
        ; generated by RepRapFirmware Configuration Tool v3.3.12 on Wed Aug 24 2022 12:56:11 GMT+0200 (Mitteleuropäische Sommerzeit)

        ; General preferences
        M575 P1 S1 B57600 ; enable support for PanelDue
        G90 ; send absolute coordinates...
        M83 ; ...but relative extruder moves
        M550 P"DUKA1300" ; set printer name

        ; Network
        M552 S1 ; enable network
        M586 P0 S1 ; enable HTTP
        M586 P1 S0 ; disable FTP
        M586 P2 S0 ; disable Telnet

        ; Drives
        M569 P1 S1 ; physical drive 0 goes forwards
        M569 P1 S1 ; physical drive 1 goes forwards
        M569 P2 S1 ; physical drive 2 goes forwards
        M569 P3 S1 ; physical drive 3 goes forwards extruder1
        M569 P4 S1 ; physical drive 4 goes forwards
        M584 X0 Y1 Z2 E3:4 ; set drive mapping
        M350 X16 Y16 Z16 E16:16 I1 ; configure microstepping with interpolation
        ;M92 X80.00 Y80.00 Z400.00 E420.00:420.00 ; set steps per mm
        M92 X80.00 Y80.00 Z640.00 E320.20:320.51 ; set steps per mm
        M566 X900.00 Y900.00 Z100.00 E120.00:120.00 ; set maximum instantaneous speed changes (mm/min)
        M203 X6000.00 Y6000.00 Z300.00 E1200.00:1200.00 ; set maximum speeds (mm/min)
        M201 X500.00 Y500.00 Z40.00 E250.00:250.00 ; set accelerations (mm/s^2)
        M906 X1800 Y1800 Z1700 E1800 I30 ; 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 X640 Y774 Z1255 S0 ; set axis maxima

        ; Endstops
        M574 X1 S1 P"xstop" ; configure switch-type (e.g. microswitch) endstop for low end on X via pin xstop
        M574 Y1 S1 P"ystop" ; configure switch-type (e.g. microswitch) endstop for low 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
        ;M574 Z2 S2 ; configure Z-probe endstop for high end on Z
        ; Z-Probe
        M558 P1 C"!zprobe.in" H5 F120 T6000 ; set Z probe type to unmodulated and the dive height + speeds
        G31 P1000 X-61 Y-1 Z5.558 ; set Z probe trigger value, offset and trigger height
        M557 X15:580 Y15:750 S50 ; define mesh grid

        ; Heaters
        ;M308 S0 P"e0temp" Y"thermistor" T100000 B4138 ; configure sensor 0 as thermistor on pin e1temp
        ;M950 H0 C"e0heat" T1 ; create nozzle heater output on e1heat and map it to sensor 0
        ;M307 H0 R1.797 K0.742:0.000 D7.57 E1.35 S1.00 B0 V23.8 ; disable bang-bang mode for heater and set PWM limit
        ;M143 H0 S250 ; set temperature limit for heater 0 to 250C
        M308 S1 P"e1temp" Y"thermistor" T100000 B4138 ; configure sensor 1 as thermistor on pin e0temp
        M950 H1 C"e1heat" T1 ; create nozzle heater output on e0heat and map it to sensor 1
        M307 H1 R1.797 K0.742:0.000 D7.57 E1.35 S1.00 B0 V23.8 ; disable bang-bang mode for heater and set PWM limit
        M143 H1 S250 ; set temperature limit for heater 1 to 250C
        M308 S2 P"bedtemp" Y"thermistor" T100000 B4138 ; configure sensor 2 as thermistor on pin bedtemp
        M950 H2 C"bedheat" T2 ; create bed heater output on bedheat and map it to sensor 2
        M307 H2 R0.283 K0.463:0.000 D7.17 E1.35 S1.00 B0 ; enable bang-bang mode for the bed heater and set PWM limit
        M140 H2 ; map heated bed to heater 2
        M143 H2 S280 ; set temperature limit for heater 2 to 280C

        ; Fans
        M950 F1 C"fan0" Q250 ; create fan 0 on pin fan0 and set its frequency
        ;M106 P0 S1 H0 T45 ; set fan 0 value. Thermostatic control is turned on
        ;M950 F1 C"fan1" Q500 ; create fan 1 on pin fan1 and set its frequency
        ;M106 P1 S1 H1 T45 ; set fan 1 value. Thermostatic control is turned on

        ; Tools
        ;M563 P0 D0 H0 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
        M563 P1 D1 H1 F0 ; define tool 1
        G10 P1 X45 Y45 Z0 ; set tool 1 axis offsets
        G10 P0 R0 S1 ; set initial tool 1 active and standby temperatures to 0C
        M591 D1 P1 C"e1-stop" S0 ;R40:120 E3.0 S1 ; Filament Sensor
        M568 P1 R160 S0
        ; Custom settings are not defined

        ; Miscellaneous
        M501
        M911 S10 R11 P"M913 X0 Y0 G91 M83 G1 Z3 E-5 F1000" ; set voltage thresholds and actions to run on power loss

        axiomundefined 1 Reply Last reply Reply Quote 0
        • axiomundefined
          axiom @axiom
          last edited by

          @axiom
          I discovered that you can create a config.overridge file using the M500 command. I did that but there is not much in it:

          ; config-override.g file generated in response to M500 at 2023-04-15 08:54
          ; This is a system-generated file - do not edit
          ; Heater model parameters
          M307 H1 R1.797 K0.742:0.000 D7.57 E1.35 S1.00 B0 V23.8
          M307 H2 R0.283 K0.463:0.000 D7.17 E1.35 S1.00 B0
          ; 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

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

            If you manually move the nozzle to touch the bed, then send G92 Z0, then jog to Z100, if you measure the distance is it actually 100mm?

            If you home X and Y and then send G30 to probe the bed, does Z0 equate to the nozzle touching the bed?

            Z-Bot CoreXY Build | Thingiverse Profile

            axiomundefined 1 Reply Last reply Reply Quote 0
            • axiomundefined
              axiom @Phaedrux
              last edited by

              @Phaedrux I installed a new probe..that didn't change anything.
              if I move the bed with G1 Z40 after executing the G92 Z0 command, the distance is correct. But when I run the G1 Z40 command after homing, the distance is about 5mm too small.

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

                @axiom said in nozzle dives almost 4 mm too deep into the bed:

                But when I run the G1 Z40 command after homing, the distance is about 5mm too small.

                That would be because your trigger height is -5mm. You're telling it that the nozzle is 5mm below the surface of the bed when the probe triggers.

                Can you try this? Set your probe type to M558 P0 for manual probe mode. Change to G31 X0 Y0 Z0 since there are no offsets. Then go through your normal homing and leveling routine. This will prompt you to jog the nozzle down to touch the bed whenever the probe would normally be called.

                Z-Bot CoreXY Build | Thingiverse Profile

                axiomundefined 2 Replies Last reply Reply Quote 0
                • axiomundefined
                  axiom @Phaedrux
                  last edited by

                  @Phaedrux said inDon't get me wrong: I change the M588 and the G31 command in config.g?
                  Does this mean I should manually check 190 points when leveling bed?

                  1 Reply Last reply Reply Quote 0
                  • axiomundefined
                    axiom @Phaedrux
                    last edited by

                    @Phaedrux I rather have the impression that the value is not being transferred, I can never find the M500 command anywhere....I already sent the code...where should it be with the M500?

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

                      Yes you need to change the M558 and G31 in config.g

                      Since the manual probing is very slow, I would also recommend changing the mesh grid size to be much smaller. Maybe a 2x2 grid for now. 190 points would take a very very long time.

                      @axiom said in nozzle dives almost 4 mm too deep into the bed:

                      @Phaedrux I rather have the impression that the value is not being transferred, I can never find the M500 command anywhere....I already sent the code...where should it be with the M500?

                      I'm not sure what you mean. You don't need to use M500 at all for this. M500 is only used to save things that are calculated by the firmware, like heater PID tuning values, etc.

                      Z-Bot CoreXY Build | Thingiverse Profile

                      axiomundefined 1 Reply Last reply Reply Quote 0
                      • jay_s_ukundefined
                        jay_s_uk @axiom
                        last edited by

                        @axiom if you want the probe offset saved with M500, use M500 P31

                        Owns various duet boards and is the main wiki maintainer for the Teamgloomy LPC/STM32 port of RRF. Assume I'm running whatever the latest beta/stable build is

                        1 Reply Last reply Reply Quote 0
                        • axiomundefined
                          axiom @Phaedrux
                          last edited by

                          @Phaedrux I think I was able to partially solve the riddle: I thought the M561 command would also delete the trigger values ​​in config.g. You have to manually set the trigger value G31 of Z to 0 before the trigger test. The second thing I did is physically decrease the distance of the sensor. The disadvantage of a capacitive sensor is that the heat from the bed will greatly reduce the life of the sensor. So I'll be looking for a new sensor system in the long term...I've started reading about the piezo technology, but I suspect that the one on my Volcano hotend is too big...but in any case, the printer is running reasonably well now... ..just to understand: Are the values ​​after the mesh bed compensation automatically taken into account during the job and are the unevenness compensated?

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

                            @axiom said in nozzle dives almost 4 mm too deep into the bed:

                            just to understand: Are the values ​​after the mesh bed compensation automatically taken into account during the job and are the unevenness compensated?

                            Yes, that's the point of the mesh.

                            Z-Bot CoreXY Build | Thingiverse Profile

                            axiomundefined 1 Reply Last reply Reply Quote 0
                            • Phaedruxundefined Phaedrux marked this topic as a question
                            • Phaedruxundefined Phaedrux has marked this topic as solved
                            • axiomundefined
                              axiom @Phaedrux
                              last edited by

                              @Phaedrux thanks for your patience ! Maybe you could set that with z=0 in the config.g for complete beginners like me in the documentation?

                              1 Reply Last reply Reply Quote 0
                              • jp.douarvil 0undefined jp.douarvil 0 referenced this topic
                              • jp.douarvil 0undefined jp.douarvil 0 referenced this topic
                              • First post
                                Last post
                              Unless otherwise noted, all forum content is licensed under CC-BY-SA