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

    Mesh Bed Compensation and the "zero" datum ...

    Scheduled Pinned Locked Moved
    Tuning and tweaking
    3
    5
    299
    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.
    • dotorgundefined
      dotorg
      last edited by

      I'm scratching my head here. I've noticed this before, but something went wonky on my printer this week and I've been trying to figure out why my first layers are all screwed up. So I noticed it again, and it was weird enough to ask about ...

      What in the world is considered "zero" height on the printer, with regards to the mesh compensation and heightmap probing?

      My printer z-probes at the center of the bed, which establishes the "default", using a capacitive sensor. (I used to use a BLTouch, which has only slightly more reproducibility than a dice roll, so this issue wasn't as obvious until I switched it out.) When I run the mesh compensation to generate the heightmap, I would expect that point to be zero by definition, and anything any lower would be negative, and anything higher would be positive.

      That isn't the case. For example, my last run had it at 0.055mm. (In fact, the entire bed was positive, if slightly!?)

      Now what I find especially concerning about that, is if that "prime" probe point isn't reading zero in the mesh, it means Z-homing will deliver a different height from the bed depending if the mesh compensation is enabled or not. That then throws off the entire map. Z-home->enable mesh->print will result in a different output, as far as I can tell, than enable mesh->z-home->print.

      I can't find any documentation that explains how everything is supposed to properly work. Like should we be disabling the mesh compensation in the homing files? And where should the zero point be on the map?

      Does mesh compensation actually turn off the mesh compensation when it runs? (ie, does G29 S2 -> G29 result in the identical output as G29 S1 -> G29?)

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

        @dotorg said in Mesh Bed Compensation and the "zero" datum ...:

        Do you set the Z=0 Datum with a single G30 at the center of the bed...

        • before you create the height map?
        • before you load the height map?

        Do you insure that baby stepping is disabled when you are not printing?

        Do you insure that mesh compensation is disabled when you are not printing?

        When you create the height map it should disable mesh compensation unless you have uncovered a bug in the firmware.

        If you were to create a 3x3 height map and the M557 was such that the center point was at the center of the bed then that point should report as 0 assuming the Z=0 Datum is being set correctly.

        I only enable mesh compensation in my print start code and disable it in my print end code. The same for baby stepping. This way I don't have to worry about any side effects when I am not printing.

        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

        dotorgundefined 1 Reply Last reply Reply Quote 0
        • dotorgundefined
          dotorg @fcwilt
          last edited by

          Re: G30, yes. That's what Z-homing is. Printer won't do anything without being homed, so yes, its Z-homed before creating the height map.
          No baby stepping.
          Printer running as it boots up. Should have no mesh compensation.

          To be clear, I can make lots of guesses as to what its doing and why. I'm asking how it works. I could go digging into the code, but the odds are there's people familiar with the code who can explain exactly how it works.

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

            @dotorg said in Mesh Bed Compensation and the "zero" datum ...:

            Re: G30, yes. That's what Z-homing is. Printer won't do anything without being homed, so yes, its Z-homed before creating the height map.

            Well strictly speaking homing Z and setting the Z=0 Datum are two separate things but it is possible to home Z with a Z probe and, as a side effect so to speak, end up with the Z=0 Datum being set.

            exactly how it works.

            How what works?

            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
            • Phaedruxundefined
              Phaedrux Moderator
              last edited by

              It would help to see your actual gcode files to understand what is happening and why it may be giving a z datum warning.

              Loading the heightmap before setting Z0 with the probe will give the warning message that mentions the Z datum.

              Ideally the probe point should line up with a point in the mesh, otherwise it lines up with an interpolated point.

              Z-Bot CoreXY Build | Thingiverse Profile

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