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

Mesh map - how is it applied?

Scheduled Pinned Locked Moved
Tuning and tweaking
3
11
509
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.
  • undefined
    jens55
    last edited by 5 Dec 2019, 09:55

    I am trying to understand the finer details of a mesh map and ran into this question:
    A mesh map is generated based on a certain Z height. If you re-home and run another mesh map, at minimum everything shifts up or down based on where z zero is.
    When z zero is reset but no mesh map is run, then the old mesh map remains.
    How does Duet calculate the offset needed to be applied when z zero changes ?
    Let's say a particular point on the map shows as -0.1 and another shows as +0.1 when the mesh was generated based on a particular z zero. Now we have re-homed z and it is 0.05 higher than it was before.
    Does the Duet just apply the -0.1 mm for point 1 and the +0.1 for the second point relative to the new z zero? In effect adding the previous generated offset to the new z zero ? If that is how things work, why do I get a warning if the map is too far above or below the z zero mark when z zero is in effect irrelevant ?

    I am just trying to wrap my mind around this to understand if a mesh generated once will still be relevant after power was cycled and z zero has changed somehow.
    I am obviously assuming that no trauma was experienced by the bed.

    I am currently probing a spot multiple times until the readings fall within an acceptable range yet if I run the mesh again then previous values are discarded. Has anyone ever devised a way of combining multiple mesh maps to generate a mesh that is based on average values of multiple mesh maps? I seem to get noticeably different mesh bed figures with each probing of the bed even if multi probing is turned on.

    Last but not least, on a cartesian printer such as a CR10, if I have installed two separately driven Z motors, what should the order of operations be? Do I zero first then equalize the gantry height are do I equalize gantry height, then run z zero? Would a gantry height equalization not invalidate any mesh map? If equalization invalidates the carefully crafted mesh map, why do I equalize since it throws everything off. It would seem to follow that turning off the printer or resetting the printer or re-running config.g would invalidate the mesh map.

    Colour me confused ......

    undefined 1 Reply Last reply 5 Dec 2019, 10:09 Reply Quote 1
    • undefined
      dc42 administrators @jens55
      last edited by dc42 12 May 2019, 22:01 5 Dec 2019, 10:09

      @jens55 said in Mesh map - how is it applied?:

      I am trying to understand the finer details of a mesh map and ran into this question:
      A mesh map is generated based on a certain Z height. If you re-home and run another mesh map, at minimum everything shifts up or down based on where z zero is.
      When z zero is reset but no mesh map is run, then the old mesh map remains.
      How does Duet calculate the offset needed to be applied when z zero changes ?

      It depends on how you home Z. If you home Z using a G1 H1 command, or you reset the Z origin using a G92 command, then nothing changes. The XY position of the head during Z homing doesn't matter, and the mesh continues to be applied as before.

      If you home Z with a G30 command, then after probing the firmware calculates the Z offset of the mesh at the XY point probed. It then adds an offset to shift the whole mesh up or down so as to make the mesh Z offset zero at that point. So the XY position when you home Z does make a difference. Tip: for best results, when using G30 to home Z, set the XY position so that the probe is over one of the points used for mesh probing, bearing in mind that the probe XY offset is applied when mesh probing but not when doing a plain G30.

      I am currently probing a spot multiple times until the readings fall within an acceptable range yet if I run the mesh again then previous values are discarded. Has anyone ever devised a way of combining multiple mesh maps to generate a mesh that is based on average values of multiple mesh maps? I seem to get noticeably different mesh bed figures with each probing of the bed even if multi probing is turned on.

      You could export the height maps and combine them on a spreadsheet, because the height maps are .csv files.

      Last but not least, on a cartesian printer such as a CR10, if I have installed two separately driven Z motors, what should the order of operations be? Do I zero first then equalize the gantry height

      Yes, home Z then use G32 to equalise the gantry height.

      Would a gantry height equalization not invalidate any mesh map?

      If the mesh map was generated when the gantry height was equalised, then no. Bear in mind that you may need to tun the equalisation sequence more than once to get them well-equalised, depending on your mechanics. You can do multiple probe/equalisation cycles in your bed.g file if necessary.

      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

      undefined 1 Reply Last reply 5 Dec 2019, 11:19 Reply Quote 1
      • undefined
        jens55 @dc42
        last edited by jens55 12 May 2019, 11:22 5 Dec 2019, 11:19

        @dc42 said in Mesh map - how is it applied?:

        Would a gantry height equalization not invalidate any mesh map?

        If the mesh map was generated when the gantry height was equalised, then no. Bear in mind that you may need to tun the equalisation sequence more than once to get them well-equalised, depending on your mechanics. You can do multiple probe/equalisation cycles in your bed.g file if necessary.

        My z zero is done with a G30 command using a BLTouch. The gantry equalization results in
        :
        Leadscrew adjustments made: -0.011 0.080, points used 2, deviation before 0.051 after 0.000

        It seems to say that things are adjusted but when I run the equalization again I get:

        Leadscrew adjustments made: -0.013 0.012, points used 2, deviation before 0.011 after 0.000

        Third run:
        Leadscrew adjustments made: -0.011 0.005, points used 2, deviation before 0.008 after 0.000

        Fourth run:

        Leadscrew adjustments made: -0.000 -0.007, points used 2, deviation before 0.005 after 0.000

        Further attemps seem to vary around the same deviation with slight changes due to probing errors.

        So when it says 'deviation after 0.000' is it not equalized ?

        So let's say I am now equalized and I now run a mesh. If I now cycle power, am I correct in thinking that z positions might have changed but if I run multiple equalization and get close enough then I now have a valid mesh again ?
        Good point about making the z zero point one of the mesh probing points but with a full probing taking 2 hours (!!!) I like to sneak up to the full mesh over several different resolution values. Would it make sense to probe z zero as part of the mesh routine and adjust the probing point at that stage to be over a measuring point? I would return the probing point to whatever was defined in config.g after the mesh was generated. How does this affect further z zero probing cycles when the probe is not over a mesh point ?

        Do I need to be over a mesh point for the equalization procedure ?

        1 Reply Last reply Reply Quote 1
        • undefined
          jens55
          last edited by jens55 12 Jun 2019, 07:37 6 Dec 2019, 07:25

          So many questions, so few answers 😞
          Another thought just popped into my head .... my z axis minimum is defined as zero. The mesh bed probing can easily report negative values because the extended probe is well below the nozzle. What happens if a mesh bed point is set at -0.6 and the layer height is 0.2 mm. Does the nozzle somehow ignore the z min point and go to -0.4 for a 0.2 mm first layer or does the nozzle stop at z=0 causing the first layer at that point to become 0.6 mm instead of 0.2 mm ? ... and potentially screwing up anything on the bed that was probed at lower than -0.2 mm

          1 Reply Last reply Reply Quote 0
          • undefined
            fcwilt
            last edited by 6 Dec 2019, 15:30

            Hi,

            If Z=0 is your minimum then positions below the nozzle would be greater than at the tip of the nozzle, correct?

            In any case your probe is defined with a Z offset value and that is taken into account when probing. So any negative values are not due to that offset but to other factors.

            And as I understand it the Z=0 limit is applied after compensation.

            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

            undefined 1 Reply Last reply 6 Dec 2019, 15:44 Reply Quote 0
            • undefined
              jens55 @fcwilt
              last edited by 6 Dec 2019, 15:44

              @fcwilt said in Mesh map - how is it applied?:

              Hi,

              If Z=0 is your minimum then positions below the nozzle would be greater than at the tip of the nozzle, correct?

              Um .... not in my way of understanding

              In any case your probe is defined with a Z offset value and that is taken into account when probing. So any negative values are not due to that offset but to other factors.

              And as I understand it the Z=0 limit is applied after compensation.

              Ahh, that sounds like I am worried for nothing .... thank you for clarifying!

              undefined 1 Reply Last reply 6 Dec 2019, 15:55 Reply Quote 0
              • undefined
                fcwilt @jens55
                last edited by 6 Dec 2019, 15:55

                @jens55 said in Mesh map - how is it applied?:

                Um .... not in my way of understanding

                As the nozzle moves away from the bed does the Z position increase?

                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

                undefined 1 Reply Last reply 6 Dec 2019, 16:02 Reply Quote 0
                • undefined
                  jens55 @fcwilt
                  last edited by 6 Dec 2019, 16:02

                  @fcwilt said in Mesh map - how is it applied?:

                  @jens55 said in Mesh map - how is it applied?:

                  Um .... not in my way of understanding

                  As the nozzle moves away from the bed does the Z position increase?

                  CR10, cartesian, bed height is stationary and nozzle moves up and down.
                  If the nozzle moves up then z goes up. As the nozzle moves down, z goes down. If the nozzle were to go below z=0 then z would go even lower ie below zero.

                  undefined 1 Reply Last reply 6 Dec 2019, 17:55 Reply Quote 0
                  • undefined
                    fcwilt @jens55
                    last edited by 6 Dec 2019, 17:55

                    @jens55 said in Mesh map - how is it applied?:

                    CR10, cartesian, bed height is stationary and nozzle moves up and down.
                    If the nozzle moves up then z goes up. As the nozzle moves down, z goes down. If the nozzle were to go below z=0 then z would go even lower ie below zero.

                    Thanks for the info. I have not encountered that type of printer before. My machines are all moving bed types and Z increases as the bed moves down.

                    So you are correct.

                    If you are in the mood I would like to see a picture of that kind of printer.

                    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
                    • undefined
                      jens55
                      last edited by 6 Dec 2019, 18:04

                      It's a standard Creality CR10 style printer. Bed movement is Y axis, the printhead travels on a gantry which is x and the gantry travels up/down making it the z axis.
                      Just do a search for CR10 ... I would say that this arrangement of movements comprises the vast majority of printers out there as it (probably) the least expensive way to build a printer.

                      undefined 1 Reply Last reply 6 Dec 2019, 19:06 Reply Quote 0
                      • undefined
                        fcwilt @jens55
                        last edited by 6 Dec 2019, 19:06

                        @jens55 said in Mesh map - how is it applied?:

                        It's a standard Creality CR10 style printer. Bed movement is Y axis, the printhead travels on a gantry which is x and the gantry travels up/down making it the z axis.
                        Just do a search for CR10 ... I would say that this arrangement of movements comprises the vast majority of printers out there as it (probably) the least expensive way to build a printer.

                        Sorry I misread your earlier post. You said bed height was stationary - I missed the height modifier.

                        While I have never built a "bed-slinger" I have seen them.

                        Thanks.

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