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.3k
    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.
    • 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
                                    • Phaedruxundefined
                                      Phaedrux Moderator @Shinomori
                                      last edited by

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

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

                                      If the pull request makes it into 3.4 it would be in the release notes. there may also be beta versions with it to test.

                                      Z-Bot CoreXY Build | Thingiverse Profile

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

                                        @shinomori unfortunately the PR referenced has a lot of other changes for Hangprinter that are very invasive and will need substantial refactoring before I can accept them. However, it may be possible to implement the change that fix this particular issue independently.

                                        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 I understand. The current fw that I was sent has the mesh leveling working so I am ok for now. Just want to keep and eye out for whenever the official fw has the fix so i can jump to that one or avoid it if it is missing. Thanks!

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

                                            @shinomori it appears that the "fix" was just a hack to disable the checking of probe point coordinates. So we still don't know why it was failing.

                                            Does the height map file produced by running G29 to probe the bed depend on which RRF you are running (i.e the one that fails, or the one with the "fix" in it)? If so, please attach both height map files.

                                            Also, please post your G31 settings. The config.g file you posted doesn't include a G31 command. Perhaps the G31 command is in the config-override.g file?

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