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

    M48 Measure Z Probe repeatability and print to serial output.

    Scheduled Pinned Locked Moved
    Firmware wishlist
    12
    28
    6.4k
    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.
    • dc42undefined
      dc42 administrators @joehsmash
      last edited by

      @joehsmash said in M48 Measure Z Probe repeatability and print to serial output.:

      @dc42 sorry to bring up such an old thread, but im having trouble trying to get this IR sensor to work.

      ive got the macro saved, but where to do i view the SD from the probed points?

      The final G30 command (with the S-1 parameter) should display the mean and standard deviation.

      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 0
      • BoAundefined
        BoA
        last edited by BoA

        Oh boy, this is some old thread. But... I actually tried G30 without X and Y parameters (G30 P0 Z-9999 - to be specific).
        What it does it moves head according to pobe offset and basically probes in Z. However... it does not move the head back to original position. As soon as You give the X and Y this is not a problem, but probing current location few times basically requires explicitly moving head to the original position using relative move with X and Y set to Z probe offset after each G30. Is that intended behavior of G30?

        1 Reply Last reply Reply Quote 0
        • Phaedruxundefined
          Phaedrux Moderator
          last edited by

          @BoA said in M48 Measure Z Probe repeatability and print to serial output.:

          Is that intended behavior of G30?

          That's normally how it's used in homeall. You position the probe manually with a G1 XY command to place the probe where you want, and then send G30 by itself to probe the bed, then you manually position the head where you want it with another G1 XYZ move.

          Z-Bot CoreXY Build | Thingiverse Profile

          BoAundefined 1 Reply Last reply Reply Quote 0
          • BoAundefined
            BoA @Phaedrux
            last edited by

            @Phaedrux Yes. G30 without ANY parameter works fine, but as soon You use it like that: G30 P0 Z-9999 it move the head according to z probe offset.

            Phaedruxundefined 1 Reply Last reply Reply Quote 0
            • Phaedruxundefined
              Phaedrux Moderator @BoA
              last edited by

              @BoA https://duet3d.dozuki.com/Wiki/Gcode#Section_G30_Single_Z_Probe

              Using the P parameter implies providing an X Y coordinate.

              Z-Bot CoreXY Build | Thingiverse Profile

              BoAundefined 1 Reply Last reply Reply Quote 0
              • BoAundefined
                BoA @Phaedrux
                last edited by

                @Phaedrux So shoudn't it return an error if X and Y are not given?

                Phaedruxundefined 1 Reply Last reply Reply Quote 0
                • Phaedruxundefined
                  Phaedrux Moderator @BoA
                  last edited by

                  @BoA I'll check.

                  Z-Bot CoreXY Build | Thingiverse Profile

                  BoAundefined 1 Reply Last reply Reply Quote 0
                  • BoAundefined
                    BoA @Phaedrux
                    last edited by

                    @Phaedrux Also... executing this G30 Px sequence causes printhead going outside of XY limits (which is understandable, as it allows to probe outside of bed area).

                    Phaedruxundefined 1 Reply Last reply Reply Quote 0
                    • Phaedruxundefined
                      Phaedrux Moderator @BoA
                      last edited by

                      @BoA Yes that is mentioned too.

                      Caution: the XY coordinates are permitted to be outside the normal printable bed area! This is intentional, because some printers (e.g. delta printers) benefit from probing areas not used for printing.

                      Z-Bot CoreXY Build | Thingiverse Profile

                      BoAundefined 1 Reply Last reply Reply Quote 0
                      • BoAundefined
                        BoA @Phaedrux
                        last edited by

                        @Phaedrux That is true, and it is acceptable and even desired, but ONLY if you specify X and Y. And probing "current location" by G30 P0 Z-9999 should not lead to "brrr-brrr-brrr" noise from steppers 🙂

                        But perhaps this is just my opinion.

                        1 Reply Last reply Reply Quote 0
                        • Leavundefined
                          Leav
                          last edited by Leav

                          This is similar enough that I don't think it warrants its own thread.

                          Is there a way to use multiple probes per point and use the average of those measurement as the Z height for that point.

                          The script above gives me pretty good deviation (±0.005mm, and it's consistant enough that I imagine this is a actually the stepper resolution), but I still feel like double or triple probing would be a better practice.

                          Is there a way to do this today? do you think it's worth implementing?

                          BoAundefined fcwiltundefined 2 Replies Last reply Reply Quote 0
                          • BoAundefined
                            BoA @Leav
                            last edited by BoA

                            @Leav When You define z probe with M558 there are params:

                            Snnn Tolerance when probing multiple times, default 0.03mm

                            and

                            Annn Maximum number of times to probe each point, default 1.

                            This probes until results are within defined tolerance.

                            Not sure if this does averaging measurements tho

                            Leavundefined 1 Reply Last reply Reply Quote 1
                            • Leavundefined
                              Leav @BoA
                              last edited by Leav

                              @BoA

                              Thanks! (link to g-code reference page)

                              The A and S parameters control multiple probing. Probing is repeated until two consecutive probe attempts produce results that differ by no more than the S parameter; then the average of those two results is used. However, if the number of attempts specified by the A parameter is reached without getting two consecutive results within tolerance of each other, no further probe attempts are made and the average result of all the attempts is used.

                              Looks like I could manipulate this to do exactly what I wanted! (1 femtometer repeatability goal, here I come!)

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

                                @Leav said in M48 Measure Z Probe repeatability and print to serial output.:

                                Is there a way to use multiple probes per point and use the average of those measurement as the Z height for that point.

                                Using a S parameter of -1 results in averaging the number of readings specified by the A parameter.

                                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 1
                                • ignacmcundefined
                                  ignacmc @dc42
                                  last edited by

                                  @dc42 If I use the macro:

                                  M291 P"Probe will be tested 10 times and return mean and standard deviation. Ok or Cancel?" R"WARNING" S3 ; User must click OK or cancel.
                                  G28
                                  M401
                                  G30 P0 X151 Y161 Z-9999
                                  G30 P1 X151 Y161 Z-9999
                                  G30 P2 X151 Y161 Z-9999
                                  G30 P3 X151 Y161 Z-9999
                                  G30 P4 X151 Y161 Z-9999
                                  G30 P5 X151 Y161 Z-9999
                                  G30 P6 X151 Y161 Z-9999
                                  G30 P7 X151 Y161 Z-9999
                                  G30 P8 X151 Y161 Z-9999
                                  G30 P9 X151 Y161 Z-9999 S-1
                                  M402

                                  It probes on the center of the bed X=0, Y=0 (I am using a Delta). Shouldn't it probe on X=151, Y=161????

                                  Predator with Duet3 Mini 5+, Smarteffector v4 and LGX Lite Extruder

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