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

    Maybe Bug: Redoing height maps add sometimes random offsets

    Scheduled Pinned Locked Moved
    Tuning and tweaking
    4
    10
    569
    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.
    • dgratundefined
      dgrat
      last edited by dgrat

      I think this is a firmware bug, I noticed already since a while. It is still present in 3.4.
      When I redo height maps the height maps shift sometimes by a constant amount.
      Here I played with a z-offset of 1.9 mm and 1.95 mm. The offset became quiet drastic (+/- up to 0.5 mm).
      I noticed that behavior on all my printers. This behavior is rather random. Sometimes the height maps are fine.

      The trigger height seems always correct and does not change, because the reported z-value upon triggering is always the same value.
      Seems like the firmware is adding a random number to the height estimate.
      After powering off the printer entirely (no reset via firmware), I often get a correct height map again.

      Any ideas?

      Steps to reproduce:
      Duet Wifi 2
      call: G31 P500 X-25.5 Y37 Z1.95

      Example shows a G29 after a print I ended.

      1_9.png 1_95_ii.png 1_95.png

      And here just after redoing after soft-reset which disappeared only after head-reset

      8651ad51-98af-4f44-ac1a-b83c8ed731c5-grafik.png

      dgratundefined fcwiltundefined 2 Replies Last reply Reply Quote 0
      • dgratundefined
        dgrat @dgrat
        last edited by

        This post is deleted!
        1 Reply Last reply Reply Quote 0
        • fcwiltundefined
          fcwilt @dgrat
          last edited by

          @dgrat

          Are you setting the Z=0 Datum using a single G30 are the center of the bed or perhaps at one of the grid points?

          You have to do that when creating the height map and when loading the height map.

          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

          dgratundefined 1 Reply Last reply Reply Quote 0
          • dgratundefined
            dgrat @fcwilt
            last edited by

            @fcwilt
            I thought that is only necessary before starting a print?
            Where is written that G29 requires that and why the offset changes?

            bricorundefined 1 Reply Last reply Reply Quote 0
            • bricorundefined
              bricor @dgrat
              last edited by

              @dgrat
              https://docs.duet3d.com/User_manual/Connecting_hardware/Z_probe_mesh_bed

              Partway down under the heading:
              Running bed mesh compensation

              Establish a Z=0 datum

              dgratundefined 1 Reply Last reply Reply Quote 1
              • dgratundefined
                dgrat @bricor
                last edited by

                @bricor

                I wonder if G29 depends on another command e.g. g30 to create a datum.
                Shouldn't be heightmap creation defined in a gcode macro which the user defines?

                3150ee38-6477-45b3-9234-48da001003a9-grafik.png

                Stephen6309undefined fcwiltundefined 2 Replies Last reply Reply Quote -1
                • Stephen6309undefined
                  Stephen6309 @dgrat
                  last edited by Stephen6309

                  @dgrat I use this for my mesh.g file, it makes sure the printer is homed, and load the heightmap.csv, if it doesn't exist, creates it:

                  M561 ; clear any bed transform
                  while iterations < #move.axes & move.axes[iterations].visible
                  	if !move.axes[iterations].homed
                  		G28
                  		break
                  M290 R0 S0    ;  clear baby stepping
                  G29 S1
                  if result > 1 ; if no heightmap.csv, make one
                  	G29 S0
                  
                  
                  1 Reply Last reply Reply Quote 1
                  • fcwiltundefined
                    fcwilt @dgrat
                    last edited by

                    @dgrat said in Maybe Bug: Redoing height maps add sometimes random offsets:

                    @bricor

                    I wonder if G29 depends on another command e.g. g30 to create a datum.
                    Shouldn't be heightmap creation defined in a gcode macro which the user defines?

                    3150ee38-6477-45b3-9234-48da001003a9-grafik.png

                    G29 executes mesh.g if it exists, as it should.

                    The assumption is that mesh.g contains all the commands needed to create the desired height map.

                    And since you need to set the Z=0 Datum before creating/loading a height map mesh.g likely is going to include a G30 to set the Z=0 Datum.

                    Now some folks who home with a Z probe rely on that to set the Z=0 Datum. I simply include the G30 in the mesh.g file so I don't have to concern myself with what came before. Also mesh.g is going to work at the current bed temperature which might be different from the bed temperature when homing.

                    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

                    dgratundefined 1 Reply Last reply Reply Quote 2
                    • dgratundefined
                      dgrat @fcwilt
                      last edited by

                      Thanks all for gcode and explanation

                      fcwiltundefined 1 Reply Last reply Reply Quote 0
                      • fcwiltundefined
                        fcwilt @dgrat
                        last edited by

                        @dgrat said in Maybe Bug: Redoing height maps add sometimes random offsets:

                        Thanks all for gcode and explanation

                        Always glad to help if I can. If I cannot help I try very hard to not make things worse. 😉

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