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

    Delta Mesh Comp -- without G30?

    Scheduled Pinned Locked Moved
    Smart effector for delta printers
    4
    11
    791
    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.
    • garyd9undefined
      garyd9
      last edited by

      This is asked every few years (probably by me because I can't remember the reason each time), but why is there a warning, on a delta printer, when "G29 S1" is used to load a mesh height map before G30 is used (when M665 and M666 are already executed?)

      In particular, in my simplified point of view, RRF should be able to use the values in M665 and M666 to calculate anything needed to determine what "Z=0" is, so requiring a "G30" seems redundant.

      Detail on why this matters to me:

      On my printer, I rarely need to recalibrate unless my build surface changes or I lose power. When I do recalibrate, I first need to clean my nozzle (using cleaning filament that doesn't ooze) so any filament stuck on the nozzle doesn't impact the smart effector probe. After I calibrate, I typically send "M500" and then start G29. For some reason, if I don't clean my nozzle, the ooze does impact my calibration and I end up having to use negative babysteps.

      The reason to ask this question, then, is that I have to recalibrate after a power loss because RRF doesn't like to reload the mesh height map from SDCard without previously having at least run G30. So, a simple flicker of power results in a somewhat long procedure of heating everything, ejecting filament, running cleaning filament, running G30, etc. (I know I don't have to run the full bed calibration, but once I've spent the time cleaning the nozzle, I might as well.)

      Ideally, RRF would boot up, read M665/M666 parameters from config-override, and allow reading the mesh height map without a G30. At that point, I'd even be able to add "G29 S1" to my config.g (after M501.)

      "I'm not saying that you are wrong - I'm just trying to fit it into my real world simulated experience."

      fcwiltundefined engikeneerundefined 2 Replies Last reply Reply Quote 0
      • fcwiltundefined
        fcwilt @garyd9
        last edited by

        @garyd9

        You need to set the Z=0 datum using G30 before creating the height map and before loading the height map.

        That's just the way it is.

        I would never load a height map in config.g.

        I only load it in my print begin code and unload it in my print end code.

        YMMV.

        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
        • engikeneerundefined
          engikeneer @garyd9
          last edited by

          @garyd9 I think RRF will let you load the heightmap without a G30, it just gives you a warning about it. In most use cases this is quite valid! But a warning is just a warning, not an error...

          I don't think you should/can apply the mesh comp until you've homed your printer though, which would be valid in all cases. It can't know what compensation to apply if it doesn't know where the nozzle is, so might mess things up.

          E3D TC with D3Mini and Toolboards.
          Home-built CoreXY, Duet Wifi, Chimera direct drive, 2x BMG, 300x300x300 build volume
          i3 clone with a bunch of mods

          1 Reply Last reply Reply Quote 0
          • garyd9undefined
            garyd9
            last edited by

            I probably should have mentioned it in my original post, but I created this thread for @dc42 in response to this: https://forum.duet3d.com/post/230214

            "I'm not saying that you are wrong - I'm just trying to fit it into my real world simulated experience."

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

              @garyd9 the reason is that if you have both a Z endstop switch (or, in the case of a delta, three endstop switches on the towers) that define(s) the Z height when homed, and a Z probe, then the difference between the Z position when the homing switch(es) are triggered and the Z position defined by the Z probe may not be stable with ambient temperature, hot end temperature, and bed temperature. In the case of a delta printer, the hot end, diagonal rods, and towers will usually all have different coefficients of thermal expansion. So, depending on the temperatures, the homed height may not be exactly the same as was specified in the M665 command.

              That's why when you load a height map using G29 S1, if the Z=0 position was defined by endstop switches instead of by the Z probe, that warning is generated. In the case of resurrecting a print, it's best to load the height map and ignore the warning. If you are using bed compensation taper and the height so far is greater than the taper height, then it doesn't matter whether you load it or not.

              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

              garyd9undefined 1 Reply Last reply Reply Quote 0
              • garyd9undefined
                garyd9 @dc42
                last edited by

                @dc42

                So, if the temperatures are stabilized, can the warning be safely ignored?

                "I'm not saying that you are wrong - I'm just trying to fit it into my real world simulated experience."

                dc42undefined fcwiltundefined 2 Replies Last reply Reply Quote 0
                • dc42undefined
                  dc42 administrators @garyd9
                  last edited by

                  @garyd9 said in Delta Mesh Comp -- without G30?:

                  @dc42

                  So, if the temperatures are stabilized, can the warning be safely ignored?

                  Yes, if the temperatures are the same as when the height map was generated, the endstop switches haven't moved, and there have been no changes that might have affected the nozzle height relative to the effector.

                  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

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

                    @garyd9 said in Delta Mesh Comp -- without G30?:

                    @dc42

                    So, if the temperatures are stabilized, can the warning be safely ignored?

                    Is there a reason you don't want to perform the G30?

                    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

                    garyd9undefined 1 Reply Last reply Reply Quote 0
                    • garyd9undefined
                      garyd9 @fcwilt
                      last edited by

                      @fcwilt said in Delta Mesh Comp -- without G30?:

                      Is there a reason you don't want to perform the G30?

                      Yes. I've found that running a full bed.g without properly cleaning my nozzle sometimes results in a bad calibration due to ooze, etc. (and I've tried various mechanisms to get around that such as heating to only 130C without much luck. There's always some tiny amount of filament stuck to the tip of the nozzle or oozing out.)

                      To ensure a perfect calibration, I make sure all filament is pulled, and I extrude some cleaning filament (that doesn't ooze after being pulled), brush the nozzle with a brass brush (and/or a piece of leather) and then run bed.g via G30.

                      This works 100% of the time (unless my smart effector decides to lose it's sensitivity setting override and I didn't notice) but it's a somewhat annoying process when the filament I want to print with is already loaded.

                      On a side note, I've always been jealous of people who seem to get good calibrations from nozzle probing when they have filament loaded.

                      "I'm not saying that you are wrong - I'm just trying to fit it into my real world simulated experience."

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

                        @garyd9 said in Delta Mesh Comp -- without G30?:

                        brush (and/or a piece of leather) and then run bed.g via G30.

                        I don't understand.

                        G32 runs bed.g.

                        G29 runs mesh.g.

                        The current intent is for G32 to be used for auto/manual bed leveling and G29 for height map creation.

                        G30 is used in bed.g and mesh.g but I am not aware of any use of G30 to run any .g file.

                        I don't create the height map very often and, as mentioned, I load the existing height map at the start of a print and unload it at the end.

                        Are you creating a height map at the start of every print?

                        Thanks.

                        Printers: a small Utilmaker style, a small CoreXY and a E3D MS/TC setup. Various hotends. Using Duet 3 hardware running 3.4.6

                        garyd9undefined 1 Reply Last reply Reply Quote 0
                        • garyd9undefined
                          garyd9 @fcwilt
                          last edited by

                          @fcwilt Sorry - I mistyped. " and then run bed.g via G30." should be " and then run bed.g via G32."

                          "I'm not saying that you are wrong - I'm just trying to fit it into my real world simulated experience."

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