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

    Hang printer - Print stops with mesh leveling

    Scheduled Pinned Locked Moved
    Using Duet Controllers
    7
    115
    7.5k
    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 @Shinomori
      last edited by

      @shinomori said in Hang printer - Print stops with mesh leveling:

      When sending the G30 command the the print head doesn't move and the ui for moving the axis comes up. The buttons work to move the print head. I use those buttons to set the height and hit ok. Then the head moves up to the dive height.

      That's exactly how M558 P0 and manual probing works. You have to manually move the nozzle to touch the bed. So G30 sounds like it's working.

      Once you've done that G30 and set the Z0 position are you able to jog the print head around manually?

      With M558 P0 set, using G29 should indeed prompt you to jog down at each point.

      And just to confirm, that's with this set?

      M558 P0 H15 F120 T6000
      M208 Z-5 S1

      Z-Bot CoreXY Build | Thingiverse Profile

      Shinomoriundefined 1 Reply Last reply Reply Quote 0
      • Shinomoriundefined
        Shinomori @Phaedrux
        last edited by

        @phaedrux

        It moves around fine after g30. I can move it in a very large space and when I send it back to home it is right to the correct spot.

        The behavior was the same with:
        M558 P0 H15 F120 T6000
        M208 Z-5 S1
        and:
        M558 P0 H5 F120 T6000
        M208 Z-15 S1

        Tried both.

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

          Ok, so G30 is working, but G29 still complains that it can't reach all the points.

          At this point we don't know if it's a problem with the hang printer kinematic, the SBC DSF implementation, or a firmware problem, or some combination.

          Far as I know, you're the first one trying this.

          Things to test to narrow it down would be to try testing in standalone mode without the Pi as we discussed before. Though this would require running an ethernet cable up to the Duet.

          Z-Bot CoreXY Build | Thingiverse Profile

          Shinomoriundefined 1 Reply Last reply Reply Quote 0
          • Shinomoriundefined
            Shinomori @Phaedrux
            last edited by

            @phaedrux Was in the area and stopped by real quick. Tried running a G90 or G91 right after establishing the home. Tried this with dive bigger than minima and smaller and with the Z minima set to 0. All cases the G30 worked but the G29 still did not.

            Next step is to connect direct to duet with cable.

            The dive is currently set slightly larger than the Z minima. Here is the current config.

            ; General preferences
            G91 ; send relative coordinates...
            M83 ; ...but relative extruder moves
            M550 P"duet3" ; set printer name

            ; Drives
            M569 P0.0 S0 ; physical drive 0.0 goes forwards
            M569 P0.1 S1 ; physical drive 0.1 goes forwards
            M569 P0.2 S0 ; physical drive 0.2 goes forwards
            M569 P0.3 S1 ; physical drive 0.3 goes forwards
            M569 P0.4 S0 ; physical drive 0.4 goes forwards
            M584 X0.0 Y0.1 Z0.2 E0.3 U0.4 ; set drive mapping
            M669 K6 A0.0:-2265.0:0.0 B1725.0:1100.0:0.0 C-1740.0:1120.0:0.0 D0.0:0.0:2666.0 P1500.0
            M350 X16 Y16 Z16 E16 U16 I1 ; configure microstepping with interpolation
            M92 X92.90 Y92.90 Z92.90 E396.00 U93.00 ; set steps per mm
            M566 X900.00 Y900.00 Z900.00 E120.00 U900.00 ; set maximum instantaneous speed changes (mm/min)
            M203 X6000.00 Y6000.00 Z6000.00 E1200.00 U6000.00 ; set maximum speeds (mm/min)
            M201 X500.00 Y500.00 Z500.00 E250.00 U500.00 ; set accelerations (mm/s^2)
            M906 X1000 Y1000 Z1000 E800 U1000 I60 ; set motor currents (mA) and motor idle factor in per cent
            M84 S30 ; Set idle timeout

            ; Axis Limits
            M208 Z-5 S1 ; set axis minima
            M208 Z1500 S0 ; set axis maxima

            ; Endstops
            ; WARNING: No endstops configured

            ; Z-Probe
            M558 P0 H6 F120 T6000; disable Z probe but set dive height, probe speed and travel speed
            G31 P500 X0 Y0 Z0
            M557 R400 S200
            ;M557 X-100:100 Y-100:100 S100 ; define mesh grid

            ; Heaters
            M308 S0 P"temp1" Y"thermistor" T100000 B4138 ; configure sensor 0 as thermistor on pin temp1
            M950 H0 C"out1" T0 ; create nozzle heater output on out1 and map it to sensor 0
            M143 H0 S270 ; set temperature limit for heater 0 to 270C
            M307 H0 B0 S1.00 ; disable bang-bang mode for heater and set PWM limit
            M140 H-1

            ; Fans
            M950 F0 C"out7" Q500 ; create fan 0 on pin out7 and set its frequency
            M106 P0 S0 H0 ; set fan 0 value. Thermostatic control is turned off
            M950 F1 C"out8" Q500 ; create fan 1 on pin out8 and set its frequency
            M106 P1 S0 H0 ; set fan 1 value. Thermostatic control is turned off

            ; Tools
            M563 P0 S"Extruder" D0.3 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

            ; Custom settings are not defined
            M564 S0 H0 ;allow move without homing
            ; Miscellaneous
            M501 ; load saved parameters from non-volatile memory
            T0 ; select first tool

            Shinomoriundefined 1 Reply Last reply Reply Quote 1
            • Shinomoriundefined
              Shinomori @Shinomori
              last edited by

              @shinomori
              Ok connected direct to duet. Pi is unplugged from it.

              Connected to it.
              Used G1 S2 commands to tighten individual axis to get to home location.
              Sent
              G92 X0 Y0 Z0 E0
              G90
              G30

              Manual probe worked.
              Moved head back to 0,0,0 with ui buttons.
              Sent G29

              This error:
              g29
              Warning: Skipping grid point X=-200.0, Y=-200.0 because Z probe cannot reach it
              Warning: Skipping grid point X=0.0, Y=-200.0 because Z probe cannot reach it
              Warning: Skipping grid point X=200.0, Y=-200.0 because Z probe cannot reach it
              Warning: Skipping grid point X=200.0, Y=0.0 because Z probe cannot reach it
              Warning: Skipping grid point X=0.0, Y=0.0 because Z probe cannot reach it
              Warning: Skipping grid point X=-200.0, Y=0.0 because Z probe cannot reach it
              Warning: Skipping grid point X=-200.0, Y=200.0 because Z probe cannot reach it
              Warning: Skipping grid point X=0.0, Y=200.0 because Z probe cannot reach it
              Warning: Skipping grid point X=200.0, Y=200.0 because Z probe cannot reach it
              Error: Too few points probed

              M98 P"config.g"
              HTTP is enabled on port 80
              FTP is disabled
              TELNET is disabled

              M115
              FIRMWARE_NAME: RepRapFirmware for Duet 3 MB6HC FIRMWARE_VERSION: 3.3 ELECTRONICS: Duet 3 MB6HC v0.6 or 1.0 FIRMWARE_DATE: 2021-06-15 21:45:56

              Config.g:
              ; General preferences
              G91 ; send relative coordinates...
              M83 ; ...but relative extruder moves
              M550 P"Hangprinter" ; set printer name

              ; Network
              M552 P192.168.2.1 S1 ; enable network and acquire dynamic address via DHCP
              M553 P255.255.255.0
              M586 P0 S1 ; enable HTTP
              M586 P1 S0 ; disable FTP
              M586 P2 S0 ; disable Telnet

              ; Drives
              M569 P0.0 S0 ; physical drive 0.0 goes forwards
              M569 P0.1 S1 ; physical drive 0.1 goes forwards
              M569 P0.2 S0 ; physical drive 0.2 goes forwards
              M569 P0.3 S1 ; physical drive 0.3 goes forwards
              M569 P0.4 S0 ; physical drive 0.4 goes forwards
              M584 X0.0 Y0.1 Z0.2 E0.3 U0.4 ; set drive mapping
              M669 K6 A0.0:-2265.0:0.0 B1725.0:1100.0:0.0 C-1740.0:1120.0:0.0 D0.0:0.0:2666.0 P1500.0
              M350 X16 Y16 Z16 E16 U16 I1 ; configure microstepping with interpolation
              M92 X92.90 Y92.90 Z92.90 E396.00 U93.00 ; set steps per mm
              M566 X900.00 Y900.00 Z900.00 E120.00 U900.00 ; set maximum instantaneous speed changes (mm/min)
              M203 X6000.00 Y6000.00 Z6000.00 E1200.00 U6000.00 ; set maximum speeds (mm/min)
              M201 X500.00 Y500.00 Z500.00 E250.00 U500.00 ; set accelerations (mm/s^2)
              M906 X1000 Y1000 Z1000 E800 U1000 I60 ; set motor currents (mA) and motor idle factor in per cent
              M84 S30 ; Set idle timeout

              ; Axis Limits
              M208 Z-5 S1 ; set axis minima
              M208 Z1500 S0 ; set axis maxima

              ; Endstops
              ; WARNING: No endstops configured

              ; Z-Probe
              M558 P0 H6 F120 T6000; disable Z probe but set dive height, probe speed and travel speed
              G31 P500 X0 Y0 Z0
              M557 R400 S200
              ;M557 X-100:100 Y-100:100 S100 ; define mesh grid

              ; Heaters
              M308 S0 P"temp1" Y"thermistor" T100000 B4138 ; configure sensor 0 as thermistor on pin temp1
              M950 H0 C"out1" T0 ; create nozzle heater output on out1 and map it to sensor 0
              M143 H0 S270 ; set temperature limit for heater 0 to 270C
              M307 H0 B0 S1.00 ; disable bang-bang mode for heater and set PWM limit
              M140 H-1

              ; Fans
              M950 F0 C"out7" Q500 ; create fan 0 on pin out7 and set its frequency
              M106 P0 S0 H0 ; set fan 0 value. Thermostatic control is turned off
              M950 F1 C"out8" Q500 ; create fan 1 on pin out8 and set its frequency
              M106 P1 S0 H0 ; set fan 1 value. Thermostatic control is turned off

              ; Tools
              M563 P0 S"Extruder" D0.3 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

              ; Custom settings are not defined
              M564 S0 H0 ;allow move without homing
              ; Miscellaneous
              M501 ; load saved parameters from non-volatile memory
              T0 ; select first tool

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

                Can you try with a different M557 command?

                Try M557 R200 S50

                Z-Bot CoreXY Build | Thingiverse Profile

                Shinomoriundefined 1 Reply Last reply Reply Quote 0
                • Shinomoriundefined
                  Shinomori @Phaedrux
                  last edited by

                  @phaedrux
                  That one still says it can't reach the points with same procedure as before. Just many more points.

                  g29
                  Warning: Skipping grid point X=-100.0, Y=-150.0 because Z probe cannot reach it
                  ...
                  and so on.

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

                    Thanks for testing. At this point we will have to wait for DC42 to return from vacation to be able to investigate further.

                    Z-Bot CoreXY Build | Thingiverse Profile

                    Shinomoriundefined 1 Reply Last reply Reply Quote 0
                    • Shinomoriundefined
                      Shinomori @Phaedrux
                      last edited by

                      @phaedrux Thanks for feedback. Sorry for being a pain with this. I've run into the limit of my knowledge.

                      Interesting test Tobben suggested on discord. I set the home position around z150 and sent a g1 z-100 command in absolute mode. It allowed it. The lines didn't maintain tension which is not too surprising asking for something so far out of norm. But there was no error. Hopefully that helps with diagnosis.

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

                        @shinomori said in Hang printer - Print stops with mesh leveling:

                        I've run into the limit of my knowledge.

                        Mine too.

                        @shinomori said in Hang printer - Print stops with mesh leveling:

                        Interesting test Tobben suggested on discord.

                        Does anyone else on the discord server have a hand printer on Duet 3 running 3.3 that can confirm whether G29 works for them or not?

                        Z-Bot CoreXY Build | Thingiverse Profile

                        Shinomoriundefined 2 Replies Last reply Reply Quote 0
                        • Shinomoriundefined
                          Shinomori @Phaedrux
                          last edited by

                          @phaedrux I copied the basic delta config for motors and set home and tried G29 and it worked unless the M557 was too big then it threw the same errors. Converted back to HP config. Tried G1 movement commands in absolute mode well past the M557 limits and it was allowed and the printer moved to those locations. The G29 still threw errors for all points.

                          1 Reply Last reply Reply Quote 1
                          • Shinomoriundefined
                            Shinomori @Phaedrux
                            last edited by

                            @phaedrux I haven't seen another duet3 HP other than the V4 Tobben is working on but I asked to see if someone responds. Looking forward to what DC42 thinks. Hopefully the book above gives the clues needed. hehe Thanks for your help.

                            dc42undefined 1 Reply Last reply Reply Quote 0
                            • dc42undefined
                              dc42 administrators @Shinomori
                              last edited by

                              @shinomori I've looked at the code and the limits that apply are those set by M208. So make sure that your limits are sufficient, for example M208 X-300:300 Y-300:300.

                              I also notice that in your config.g file you do not hide the U axis. This may be because you need to move U (aka D in Hangprinter terminology) manually sometimes. However, it means that RRF will check that D is within limits too. So I suggest you hide the U axis using M584 P3 when you don't need to move it manually, in particular when running G29.

                              Duet WiFi hardware designer and firmware engineer
                              Please do not ask me for Duet support via PM or email, use the forum
                              http://www.escher3d.com, https://miscsolutions.wordpress.com

                              Shinomoriundefined 1 Reply Last reply Reply Quote 1
                              • Shinomoriundefined
                                Shinomori @dc42
                                last edited by

                                @dc42 The only time I use the U is with a g1 s2 command for individual axis move to tighten the lines for initial setup. Does that still work with the axis hidden? If so I can hide it all the time.

                                That makes sense that it is out of limit. I've tried it with XYZ but not U.
                                I'll get over to the printer to test in the next couple days.

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

                                  If you need U available most of the time, you could setup a mesh.g file that would be called when you send G29. Inside that macro you could hide U, do whatever preparation you need and then call G29 S0 to probe the bed and when it's done, unhide the U axis if needed.

                                  Z-Bot CoreXY Build | Thingiverse Profile

                                  1 Reply Last reply Reply Quote 0
                                  • dc42undefined
                                    dc42 administrators @Shinomori
                                    last edited by

                                    @shinomori said in Hang printer - Print stops with mesh leveling:

                                    @dc42 The only time I use the U is with a g1 s2 command for individual axis move to tighten the lines for initial setup. Does that still work with the axis hidden?

                                    No. You would need to un-hide the U axis (M584 P4) before using that function, and hide it again (M584 P3) afterwards.

                                    Duet WiFi hardware designer and firmware engineer
                                    Please do not ask me for Duet support via PM or email, use the forum
                                    http://www.escher3d.com, https://miscsolutions.wordpress.com

                                    Shinomoriundefined 1 Reply Last reply Reply Quote 0
                                    • Shinomoriundefined
                                      Shinomori @dc42
                                      last edited by

                                      @dc42

                                      Ok did some testing.

                                      With M584 p3 in the sys file I followed this procedure.

                                      Start machine.
                                      G92 X0 Y0 Z0 E0
                                      G90
                                      G30 ; Ui appears No motion at all even hitting buttons hitting ok the tool position says Z 6.0 but the tool head did not move
                                      G29
                                      g29
                                      Warning: Skipping grid point X=-100.0, Y=-100.0 because Z probe cannot reach it
                                      Warning: Skipping grid point X=0.0, Y=-100.0 because Z probe cannot reach it
                                      Warning: Skipping grid point X=100.0, Y=-100.0 because Z probe cannot reach it
                                      Warning: Skipping grid point X=100.0, Y=0.0 because Z probe cannot reach it
                                      Warning: Skipping grid point X=0.0, Y=0.0 because Z probe cannot reach it
                                      Warning: Skipping grid point X=-100.0, Y=0.0 because Z probe cannot reach it
                                      Warning: Skipping grid point X=-100.0, Y=100.0 because Z probe cannot reach it
                                      Warning: Skipping grid point X=0.0, Y=100.0 because Z probe cannot reach it
                                      Warning: Skipping grid point X=100.0, Y=100.0 because Z probe cannot reach it
                                      Error: Too few points probed

                                      If I try to move the machine with g1 commands in the Z the behavior is very chaotic. Small movements the printer does not move but the toolhead position that is reported in the ui is what was asked for and then on some commands it randomly moves, but not to location asked for. Small downward motions are ignored and then suddenly it crashes into the bed.

                                      If I run M584 P4. G1 commands result in expected motion. G30 ui buttons work and it move up to z6.0 after hitting ok. G29 still throws the error.

                                      Config.g:
                                      ; General preferences
                                      G91 ; send relative coordinates...
                                      M83 ; ...but relative extruder moves
                                      M550 P"Hangprinter" ; set printer name

                                      ; Network wired direct
                                      M552 P192.168.2.1 S1 ; enable network and acquire dynamic address via DHCP
                                      M553 P255.255.255.0
                                      M586 P0 S1 ; enable HTTP
                                      M586 P1 S0 ; disable FTP
                                      M586 P2 S0 ; disable Telnet

                                      ; Drives
                                      M569 P0.0 S0 ; physical drive 0.0 goes forwards
                                      M569 P0.1 S1 ; physical drive 0.1 goes forwards
                                      M569 P0.2 S0 ; physical drive 0.2 goes forwards
                                      M569 P0.3 S1 ; physical drive 0.3 goes forwards
                                      M569 P0.4 S0 ; physical drive 0.4 goes forwards
                                      M584 X0.0 Y0.1 Z0.2 E0.3 U0.4 ; set drive mapping
                                      M669 K6 A0.0:-2265.0:0.0 B1725.0:1100.0:0.0 C-1740.0:1120.0:0.0 D0.0:0.0:2666.0 P1500.0
                                      M350 X16 Y16 Z16 E16 U16 I1 ; configure microstepping with interpolation
                                      M92 X92.90 Y92.90 Z92.90 E396.00 U93.00 ; set steps per mm
                                      M566 X900.00 Y900.00 Z900.00 E120.00 U900.00 ; set maximum instantaneous speed changes (mm/min)
                                      M203 X6000.00 Y6000.00 Z6000.00 E1200.00 U6000.00 ; set maximum speeds (mm/min)
                                      M201 X500.00 Y500.00 Z500.00 E250.00 U500.00 ; set accelerations (mm/s^2)
                                      M906 X1000 Y1000 Z1000 E800 U1000 I60 ; set motor currents (mA) and motor idle factor in per cent
                                      M84 S30 ; Set idle timeout

                                      ; Axis Limits
                                      M208 X-1000:1000 Y-1000:1000 Z-5:1500 ; set axis limits
                                      M584 P3 ;Hide U axis
                                      ;M208 Z1500 S0 ; set axis maxima

                                      ; Endstops
                                      ; WARNING: No endstops configured

                                      ; Z-Probe
                                      M558 P0 H6 F120 T6000; disable Z probe but set dive height, probe speed and travel speed
                                      G31 P500 X0 Y0 Z0
                                      ;M557 R100 S50
                                      M557 X-100:100 Y-100:100 S100 ; define mesh grid

                                      ; Heaters
                                      M308 S0 P"temp1" Y"thermistor" T100000 B4138 ; configure sensor 0 as thermistor on pin temp1
                                      M950 H0 C"out1" T0 ; create nozzle heater output on out1 and map it to sensor 0
                                      M143 H0 S270 ; set temperature limit for heater 0 to 270C
                                      M307 H0 B0 S1.00 ; disable bang-bang mode for heater and set PWM limit
                                      M140 H-1

                                      ; Fans
                                      M950 F0 C"out7" Q500 ; create fan 0 on pin out7 and set its frequency
                                      M106 P0 S0 H0 ; set fan 0 value. Thermostatic control is turned off
                                      M950 F1 C"out8" Q500 ; create fan 1 on pin out8 and set its frequency
                                      M106 P1 S0 H0 ; set fan 1 value. Thermostatic control is turned off

                                      ; Tools
                                      M563 P0 S"Extruder" D0.3 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

                                      ; Custom settings are not defined
                                      M564 S0 H0 ;allow move without homing
                                      ; Miscellaneous
                                      M501 ; load saved parameters from non-volatile memory
                                      T0 ; select first tool

                                      1 Reply Last reply Reply Quote 0
                                      • Shinomoriundefined
                                        Shinomori
                                        last edited by

                                        Changed these lines:
                                        M208 X-1000:1000 Y-1000:1000 Z-5:1500 U-1000:2000; set axis limits
                                        ;M584 P3 ;Hide U axis

                                        Start machine.
                                        G92 X0 Y0 Z0 E0 or G92 X0Y0Z0E0U0
                                        G90
                                        G30 ; Ui appears moves with buttons ok print head moves up to 6.0
                                        G29
                                        g29
                                        Warning: Skipping grid point X=-100.0, Y=-100.0 because Z probe cannot reach it

                                        ...etc.

                                        Running
                                        M584 P3 right before the g29 still gives the error and no motion.

                                        1 Reply Last reply Reply Quote 0
                                        • Shinomoriundefined
                                          Shinomori
                                          last edited by

                                          @shinomori
                                          Did a new flash of the the duetpi. Copied over my sys files and macros.

                                          Tried expanding the m208 range
                                          M208 X-10000:10000 Y-10000:10000 Z-10000:10000 U-10000:10000;
                                          g92 x0y0z0e0u0
                                          g90
                                          g30(probes with no error)
                                          g29 -same can't reach points error

                                          Also tried:
                                          M208 X-10000:10000 Y-10000:10000 Z-10000:10000 U-10000:10000 A-10000:10000 B-10000:10000 C-10000:10000 D-10000:10000

                                          With the same result.

                                          Tried:
                                          g92 x0y0z0e0u0a0b0c0d0
                                          g29 still has same error.

                                          m98 shows no errors in the config file for either version.

                                          1 Reply Last reply Reply Quote 0
                                          • Shinomoriundefined
                                            Shinomori
                                            last edited by

                                            @shinomori Tobben said this on the hangprinter discord:
                                            "
                                            The failing test is here: https://github.com/Duet3D/RepRapFirmware/blob/3.4-dev/src/GCodes/GCodes4.cpp#L644

                                            It looks like Hangprinterkinematics.h/cpp don't implement the function IsReachable()

                                            The very old RRF version I had on my previous prototype had that function implemented. But is seems it has fallen though the cracks in my latest RRF work. Making a pull request now"

                                            He sent me this fw file. Where it is working and print continues with mesh enabled. Duet3Firmware_MB6HC.bin

                                            Thanks for help guys .

                                            How would I know when those fixes are in the main branch? I'm not really git fluent yet.

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