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

    (EDIT) Already supported in RRF - Mesh probing with Rel Ref Ind

    Scheduled Pinned Locked Moved
    Firmware wishlist
    4
    21
    1.1k
    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.
    • Gixxerfastundefined
      Gixxerfast @fcwilt
      last edited by Gixxerfast

      Please also read that this concerns printers that uses two probes. a Z-pin endstop which is relative to the bed surface and a toolhead probe. If you don't have such a setup, this is of no interest for you.

      I also would like to add that to this date there are more than 2500 serialized Voron model 1 and 2 out there and a whole bunch that haven't been serialized. The numbers are increasing very quickly as many manufacturers are assembling and selling kits. More Vorons are beeing built right now than there are parts available. The absolute majority of those uses Klipper and we are very few that doesn't. I would like for more people to have Vorons with Duets and RRF.

      @fcwilt said in Relative mesh probing:

      @gixxerfast said in Relative mesh probing:

      Then when applying the mesh the responsibility of keeping the Z0 point ad zero is up to the user.

      The mesh is already relative to Z=0 assuming you set Z=0 before creating the height map, which is a suggested part of the process of creating the height map.

      But perhaps you mean something different and I have misunderstood.

      Yes of course, but you are required to set the Z0 datum using the probe and to do that accuratlely you have to have have the z probes offset calibrated to not have a mismatch between the Z0 set by homing the Z-pin endstop.

      ---So I suggest an extra parameter to the G29 gcode say, L## (Level point) where the ## is the point number. or L##:## to specify which point is the Z0 point.

      That is certainly doable but it wouldn't apply for those of us that don't use a grid point as the Z=0 reference.

      I, for instance, use the center of the bed as the Z=0 reference point.


      The reference point chosen is "zeroed" with the G30 command and that process is called Setting the Z=0 Datum.

      Since I use the same Z=0 reference point when creating the height map and then again when loading the height map any Z difference due to say, heat, is compensated for.

      Except of course for actual changes in the unevenness of the bed as it heats.


      If I have entirely failed to understand your post I apologize.

      Frederick

      For this to work you have to have one of your probe points set at a Z0. I guess that people aren't probing their Z0 at random locations? This will of course never be totally true which is adjusted by baby stepping or auto-z calibration (https://github.com/protoloft/klipper_z_calibration) which I have a macro for.

      The whole point of this is that the Z-endstop is used for setting the Z0 and not the probe. The probe is only used for relative measurements. This may not be a problem when printing PLA at low temperatures but when printing enclosed, probes (inductive and others) while not having a problem with accuracy they do have a probelm with heat drift even the kinds that is suppose to have built in compensation.

      Please read this part about The Relative Reference Index here: https://www.klipper3d.org/Bed_Mesh.html

      Also, if you like many do, replace nozzles and printheads, you can do so without beeing affected by the probe offset.

      It's fully possible that I have misunderstood how you do perform mesh probing in RRF and then maybe someone can exoplain how I can do that without beeing dependent on the probe offset.

      Voron V2.4 (#1317) with Duet 3 Mini5+ Wifi and 1LC v1.1 Toolboard
      Voron V0.1 (#637) with Duet 3 Mini 5+ Wifi and 1LC v1.2 Toolboard
      Ender 3 Pro with BTT SKR-2 + RRF

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

        @gixxerfast

        Yes probe readings can vary with temps, humidity, etc.

        But they would affect relative readings and "absolute" readings alike.

        If I understand what you have posted you would like to be able to specify one of the grid points as your Z=0 reference in the G29 command? Correct?

        The current approach is to first set your Z=0 reference using a single G30 at the desired location, which can be one of the grid points.

        Then the G29 probes the entire grid and all readings are relative to the reading just taken by the G30.

        Same probe, same time (within a matter of seconds), same environment. So anything effecting the G29 readings is also going to effect the G30 reading as well.

        So, if I understand your suggestion, you are replacing the G30 reading with one of the specified G29 readings to set your Z=0 reference.

        Or have I got it wrong?

        Frederick

        Printers: a E3D MS/TC setup and a RatRig Hybrid. Using Duet 3 hardware running 3.4.6

        Gixxerfastundefined 1 Reply Last reply Reply Quote 0
        • Gixxerfastundefined
          Gixxerfast @fcwilt
          last edited by Gixxerfast

          @fcwilt
          Yes, they will affect relative readings, but as all thiose are made under the same circumstances, it should matter less.

          What I am saying, as described in the link to the Klipper documentation, I would not like to rely on the probe for absolute Z0 measurements. The Z-pin is used for that.

          As I understand, If I do a G30 on a point and because of the probe offset it differs from what the Z-pin says with for example 0.1 mm the the mesh will float 0.1 mm above Z after z home.

          Voron V2.4 (#1317) with Duet 3 Mini5+ Wifi and 1LC v1.1 Toolboard
          Voron V0.1 (#637) with Duet 3 Mini 5+ Wifi and 1LC v1.2 Toolboard
          Ender 3 Pro with BTT SKR-2 + RRF

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

            @gixxerfast said in Mesh probing with Relative Reference Index:

            @fcwilt
            Yes, they will affect relative readings, but as all thiose are made under the same circumstances, it should matter less.

            What I am saying, as described in the link to the Klipper documentation, I would not like to rely on the probe for absolute Z0 measurements. The Z-pin is used for that.

            Well on my printers I have typical endstop sensors on the Z axis and I use them for homing.

            I only use the probe for establishing the Z=0 reference and leveling the bed or creating/loading the height map all which are done relative to the Z=0 reference.

            So it seems to me, aside of being able to specify your Z=0 reference point in G29 the system works the way you want.

            But perhaps I've missed something.

            Frederick

            Printers: a E3D MS/TC setup and a RatRig Hybrid. Using Duet 3 hardware running 3.4.6

            Gixxerfastundefined 1 Reply Last reply Reply Quote 0
            • Gixxerfastundefined
              Gixxerfast @fcwilt
              last edited by

              @fcwilt Well, I could have missed something absolutely.

              But the it's the requirements to set the Z0 datum when mesh probing. I don't want to do that. I just want to have a mesh list of the point z value realtive to one other point. That will always be true (ish) and represent the surface of the bed (and the gantry perhaps which is more problematic), regardless of temp drift (unless it takes too long to probe) then whenever I want I establish Z0 of that point and I adjust that up or down as I like.

              I already have to calibrate the offset between the z-pin and the bed, I don't want to do the same with the probe. This approach works as it's used with Klipper all the time.

              Hopwever, if you only use the toolhead probe, this is all useless.

              It should be fairly easy to implement and let people do what they want with it. I might do it myself when I figure out how the probing exactly works. I used to work as a C++ programmer for a long time but that was years ago and things have happened in C++ since...

              Voron V2.4 (#1317) with Duet 3 Mini5+ Wifi and 1LC v1.1 Toolboard
              Voron V0.1 (#637) with Duet 3 Mini 5+ Wifi and 1LC v1.2 Toolboard
              Ender 3 Pro with BTT SKR-2 + RRF

              DIY-O-Sphereundefined fcwiltundefined dc42undefined 3 Replies Last reply Reply Quote 0
              • DIY-O-Sphereundefined
                DIY-O-Sphere @Gixxerfast
                last edited by DIY-O-Sphere

                @gixxerfast

                It isn't that complicated.....
                Generate the mesh with the sensor and then re-home Z with the endstop at the nozzle. In this order, the offset of the probe relative to the nozzle is no longer relevant.
                Disadvantage is that you have to home Z at the nozzle 2 times .(Before and after mesh generation)
                But you can also save the mesh and load it automatically.
                It depends on how you want to do it.
                I create the mesh only from time to time and always load it by z-homing.

                Edit:
                My buddy has a voron, i think that's the way he does it.

                (UTC+1)

                Gixxerfastundefined 1 Reply Last reply Reply Quote 0
                • Gixxerfastundefined
                  Gixxerfast @DIY-O-Sphere
                  last edited by

                  @diy-o-sphere So the mesh values are absolute or relative? Imagine the toolhead probe probe offset being off alot, will it matter or not?

                  Beeing homed or not is not the issue here as I tried to explain more than a few times. 😉

                  Voron V2.4 (#1317) with Duet 3 Mini5+ Wifi and 1LC v1.1 Toolboard
                  Voron V0.1 (#637) with Duet 3 Mini 5+ Wifi and 1LC v1.2 Toolboard
                  Ender 3 Pro with BTT SKR-2 + RRF

                  DIY-O-Sphereundefined 1 Reply Last reply Reply Quote 0
                  • fcwiltundefined
                    fcwilt @Gixxerfast
                    last edited by

                    @gixxerfast said in Mesh probing with Relative Reference Index:

                    @fcwilt Well, I could have missed something absolutely.

                    But the it's the requirements to set the Z0 datum when mesh probing.

                    If they made a change to allow specifying a particular grid point to be used as the Z=0 reference then you have simply moved setting the Z=0 Datum into the G29 process rather than as a single G30 just before the G29.

                    The setting of the Z=0 Datum would be done in either case.

                    And the advantage of being able to do it with the G30 is folks like me can use a XY point as the Z=0 reference that is not one of the grid points.

                    I see nothing wrong with being able to specify a grid point to use as the Z=0 reference in the G29 command but it really doesn't seem to be providing a large advantage.

                    Frederick

                    Printers: a E3D MS/TC setup and a RatRig Hybrid. Using Duet 3 hardware running 3.4.6

                    Gixxerfastundefined 1 Reply Last reply Reply Quote 0
                    • Gixxerfastundefined
                      Gixxerfast @fcwilt
                      last edited by

                      @fcwilt
                      Imagine if we could meet somewhere and over a beer and scribble something down on a napkin.I don't know if we would agree but it would so much more fun. 🙂

                      Cheers
                      Ulf

                      Voron V2.4 (#1317) with Duet 3 Mini5+ Wifi and 1LC v1.1 Toolboard
                      Voron V0.1 (#637) with Duet 3 Mini 5+ Wifi and 1LC v1.2 Toolboard
                      Ender 3 Pro with BTT SKR-2 + RRF

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

                        @gixxerfast said in Mesh probing with Relative Reference Index:

                        @fcwilt
                        Imagine if we could meet somewhere and over a beer and scribble something down on a napkin.I don't know if we would agree but it would so much more fun. 🙂

                        Cheers
                        Ulf

                        Absolutely.

                        Doing things via email/forums is just harder to do - so many visual cues missing and the "back and forth" takes so much longer.

                        Still quite of lot of problems are worked out here - better than most forums I visit.

                        Frederick

                        Printers: a E3D MS/TC setup and a RatRig Hybrid. Using Duet 3 hardware running 3.4.6

                        1 Reply Last reply Reply Quote 0
                        • DIY-O-Sphereundefined
                          DIY-O-Sphere @Gixxerfast
                          last edited by DIY-O-Sphere

                          @gixxerfast said in Mesh probing with Relative Reference Index:

                          offset being off alot, will it matter or not?

                          The mesh compensation is always relative to Z0.
                          For the generation you use the sensor (standard G29). So it is relative to the probe.
                          By homing at the end stop (nozzle) and reloading the mesh values from the file, the mesh is then relative to the nozzle.
                          You cheat the mesh with another reference point.

                          Edit:
                          Compared to a function adjustment, it is only a work around.

                          (UTC+1)

                          1 Reply Last reply Reply Quote 0
                          • Gixxerfastundefined
                            Gixxerfast
                            last edited by Gixxerfast

                            I have now adjusted the firmware for a first try.

                            I'm probably doing this at the wrong places and some should be moved elsewhere. The reading and the validation of the parameters for example:

                            a31764ea-9161-4124-804c-fad0146fe18c-image.png

                            and:
                            385ebb9b-bfc1-404c-95fc-92aa52c629cc-image.png

                            So that now, I can do this:
                            1edd9653-d2b5-44e1-978d-2920fe380eb4-image.png

                            And it results in a mesh (which is cold now, so not much deviation at all but anyway) not dependent on probe offset at all:
                            91234669-591c-4bc3-a4dc-d97e0b4453a8-image.png

                            Where probe point #24 (zero based) is zero.

                            Now I can apply this (or better a mesh for a warm bed and printer) of course given that I have made sure that point 24 (center of the bed) is at the height i wish.

                            Which I do with the auto-z calibration macro: https://github.com/gixxerfast/rrf-voron2/tree/master/macros/autoz

                            Voron V2.4 (#1317) with Duet 3 Mini5+ Wifi and 1LC v1.1 Toolboard
                            Voron V0.1 (#637) with Duet 3 Mini 5+ Wifi and 1LC v1.2 Toolboard
                            Ender 3 Pro with BTT SKR-2 + RRF

                            1 Reply Last reply Reply Quote 0
                            • Gixxerfastundefined
                              Gixxerfast
                              last edited by

                              First print using the modified firmware.

                              A one layer print ABS 245 C 110 bed 0.2 mm Z and 260 x 260 mm using the bed mesh.

                              bedmesh.PNG

                              It's not perfect but it's not bad . I'm quite happy. Since it's all automatic and I just start the print and walk away.

                              Note, this is the underside not the top side.

                              IMG_3914.jpg

                              It's a tad too squished on the outmost of Y edge. Don't know why but that's something for another day.

                              Voron V2.4 (#1317) with Duet 3 Mini5+ Wifi and 1LC v1.1 Toolboard
                              Voron V0.1 (#637) with Duet 3 Mini 5+ Wifi and 1LC v1.2 Toolboard
                              Ender 3 Pro with BTT SKR-2 + RRF

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

                                @gixxerfast I don't think you understand what @fcwilt is suggesting:

                                • Use the inductive etc. probe to generate the mesh using G29
                                • After loading the height map, use the nozzle contact probe to set the Z=0 level using G30.

                                So you need to specify an accurate Z offset for the nozzle contact probe, but not for the inductive probe. No firmware changes are needed, because RRF already supports multiple Z probes.

                                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

                                Gixxerfastundefined 1 Reply Last reply Reply Quote 0
                                • Gixxerfastundefined
                                  Gixxerfast @dc42
                                  last edited by Gixxerfast

                                  @dc42 Thanks for your reply. Well I might not. But I have checked the code:

                                  The height value that is stored is (or an avergage of):

                                  g30zHeightError = g30zStoppedHeight - zp->GetActualTriggerHeight();

                                  and GetActualTriggerHeight returns -offsets[Z_AXIS]

                                  As far as I can see the offset is stored with the G31

                                  float triggerHeight;
                                  		if (gb.TryGetFValue(axisLetters[Z_AXIS], triggerHeight, seen))
                                  		{
                                  			offsets[Z_AXIS] = -triggerHeight;				// logically, the Z offset of the Z probe is the negative of the trigger height
                                  		}
                                  

                                  So the mesh height value that is stored is calculated using the configured probe offset.

                                  Is this not correct?

                                  So if this above is correct, yes you can set the Z0 whichever way you want but you will be dependent on the triggerHeight value that's configured with the G31.

                                  Using the process I have described I'm not.

                                  What have I missed?

                                  /U

                                  Voron V2.4 (#1317) with Duet 3 Mini5+ Wifi and 1LC v1.1 Toolboard
                                  Voron V0.1 (#637) with Duet 3 Mini 5+ Wifi and 1LC v1.2 Toolboard
                                  Ender 3 Pro with BTT SKR-2 + RRF

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

                                    @gixxerfast said in Mesh probing with Relative Reference Index:

                                    What have I missed?

                                    That a G30 command will prove the bed and set the Z origin accordingly, in effect moving the entire mesh up or down. Maybe you have also missed that you can use one Z probe to generate the mesh and another one to set the Z=0 origin.

                                    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

                                    Gixxerfastundefined 1 Reply Last reply Reply Quote 0
                                    • Gixxerfastundefined
                                      Gixxerfast @dc42
                                      last edited by

                                      @dc42 I apologize if my questions seem stupid but my intentions are only to understand how to get it to work as I want.

                                      I have now done some more testing and ...

                                      ... Yes, I have misunderstood the term of setting Z0 with the probe as I read that as setting the absolute Z0 position using the probe.

                                      So by issuing the G30 command I set the z coordinate to the probe trigger height (probe offset) and thereby effectively cancelling the probe offset from the rest of the mesh points.

                                      Then it works as I like and I can scrap this whole thread.

                                      My config (that I borrowed starting with RRF a couple of weeks ago) didn't produce a correct mesh since it was obviously configured wrongly and together with a height value that differed a bit from zero probably due to probing inaccuracy led me to believe it worked in a different way than it does.

                                      Well, I learned something new today, it took awhile though 🙂

                                      BTW: The -3 flag to the G30 will produce the same result just the other way around, adjusting the probe offset instead of the read height value ?

                                      Thanks
                                      /U

                                      Voron V2.4 (#1317) with Duet 3 Mini5+ Wifi and 1LC v1.1 Toolboard
                                      Voron V0.1 (#637) with Duet 3 Mini 5+ Wifi and 1LC v1.2 Toolboard
                                      Ender 3 Pro with BTT SKR-2 + RRF

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

                                        @gixxerfast said in (EDIT) Already supported in RRF - Mesh probing with Rel Ref Ind:

                                        BTW: The -3 flag to the G30 will produce the same result just the other way around, adjusting the probe offset instead of the read height value ?

                                        Yes, G30 S-1 will adjust the trigger height to match the current Z instead f the other way round.

                                        Use the K parameter on the G30 and G29 commands to select which Z probe to use for each command.

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