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

    G30 behaving strangely- random moving between probe

    Scheduled Pinned Locked Moved
    General Discussion
    4
    13
    603
    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.
    • sinned6915undefined
      sinned6915
      last edited by sinned6915

      I have a quick probe calibration macro to check repeatability.

      When I use G30 commands without X & Y coordinates, the machine will move in the +X & +Y directions. Another user reports that their machine moves 1mm in the -Y direction only.
      probe is configured as such-

      M558 K0 P8 C"^zprobe.in" H10 R0.5 F240:120 T9000 A5 S0.01
      

      EDIT: Both of us are using RRF Version 3.3.

      Here is a short video showing the behavior of sucessive probing without X & Y coordinates - FindZ2.g
      https://photos.app.goo.gl/fsnfT1QSEttrHfSM7

      files attached and screenshot of the 2 macros side by side.

      3af91abe-698d-41ef-b0b4-b80f921bb5e6-image.png

      (The closest thing to it I'v found is this thread, but not really the issue.
      https://forum.duet3d.com/topic/14886/probe-accuracy-test-macro-issues/4?_=1634099698719)FinxZ2.g FinxZ.g

      Has anyone seen this or reported it before?

      fcwiltundefined gloomyandyundefined 2 Replies Last reply Reply Quote 0
      • fcwiltundefined
        fcwilt @sinned6915
        last edited by

        @sinned6915

        A G30 command should not move in XY at all. It should probe the current XY location.

        There is a comment next to the G30 P0 commands which is incorrect - G30 P# commands simply collect data about the Z position when the probe is triggered.

        To set the Z=0 Datum, which the comment may be talking about requires this:

        G1 Xaaa Ybbb ; move the probe to the desired XY position taking into account the probe X and Y offsets
        G30          ;  probe the XY location and set the current logical Z position to the Z Trigger Height specified in the G31 command.
        

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

        sinned6915undefined 1 Reply Last reply Reply Quote 0
        • sinned6915undefined
          sinned6915 @fcwilt
          last edited by sinned6915

          @fcwilt that is correct, but that really should not matter: the machine is homed in XYZ, bed is trammed and rehomed in Z in case the bed leveling moved the Z-home point.

          it does not explain the random movements.

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

            @sinned6915 said in G30 behaving strangely- random moving between probe:

            @fcwilt that is correct, but that really should not matter: the machine is homed in XYZ, bed is trammed and rehomed in Z in case the bed leveling moved the Z-home point.

            it does not explain the random movements.

            No but the syntax G30 P# Z-9999 is not defined and that may explain the odd behavior.

            What is it you are trying to do?

            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
            • sinned6915undefined
              sinned6915
              last edited by

              @fcwilt unless there is a typo in the documentation, its G30 P# Z-9999 or greater.

              https://duet3d.dozuki.com/Wiki/G30

              bbb5c7c3-bd5d-418e-8e55-089707818c6c-image.png

              As I stated in the beginning of my original post, I am trying to check accuracy, as described the thread I linked.

              https://forum.duet3d.com/topic/14886/probe-accuracy-test-macro-issues

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

                @sinned6915

                I'm confused.

                The documentation specifies XY co-ordinates but your post talks about movement occurring with no XY co-ordinates specified - which is not a supported syntax.

                Does not the documented syntax G30 Xaaa Ybbb Z-99999 not do what you want?

                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
                • gloomyandyundefined
                  gloomyandy @sinned6915
                  last edited by

                  @sinned6915 Looking at the code...

                  If you use G30 P# and specify X and Y values then it will move the probe to the specified location (and will take into account the probe offset to do so). If you use G30 P# and do not specify X and Y values then it will use the current X and Y position as the probe target. However if you have a probe offset then it must move the print head so that the probe is at the "current position", this in turn will modify the "current position" for your next call to G30 P#. This behaviour is probably consistent with the description of the command, but possibly not what you want and possibly not very useful!

                  fcwiltundefined sinned6915undefined 2 Replies Last reply Reply Quote 1
                  • fcwiltundefined
                    fcwilt @gloomyandy
                    last edited by

                    @gloomyandy said in G30 behaving strangely- random moving between probe:

                    If you use G30 P# and specify X and Y values then it will move the probe to the specified location (and will take into account the probe offset to do so). If you use G30 P# and do not specify X and Y values then it will use the current X and Y position as the probe target. However if you have a probe offset then it must move the print head so that the probe is at the "current position", this in turn will modify the "current position" for your next call to G30 P#. This behaviour is probably consistent with the description of the command, but possibly not what you want and possibly not very useful!

                    I see nothing in the current docs that suggest that using G30 P# without XY co-ordinates is actually considered to be valid.

                    It would seem to be more of a "unintended side effect" of the way the code is implemented rather then, as you observed, something useful.

                    In the absence of a reason for such behavior perhaps the code needs to be updated to flag the lack of XY co-ordinates as an error.

                    Just my 2 cents.

                    Thanks for taking the time to investigate the source code.

                    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

                    gloomyandyundefined 1 Reply Last reply Reply Quote 0
                    • gloomyandyundefined
                      gloomyandy @fcwilt
                      last edited by

                      @fcwilt I'm pretty sure that what the code is doing is intentional. I'll let others decide if either the code or documentation is correct/needs to be changed.

                      I'll also mention that G30 is horribly confusing (and somewhat inconsistent) with how it handles probe offsets and resolving those issues is not easy or obvious!

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

                        @gloomyandy said in G30 behaving strangely- random moving between probe:

                        @fcwilt I'm pretty sure that what the code is doing is intentional. I'll let others decide if either the code or documentation is correct/needs to be changed.

                        I suppose @dc42 would be the person who would know which way to go.

                        I'll also mention that G30 is horribly confusing (and somewhat inconsistent) with how it handles probe offsets and resolving those issues is not easy or obvious!

                        Agreed. If G30 Xaaa Ybbb was supported then we would not have to use a G1 Xccc Yddd (adjusting for the probe offsets) followed by just G30.

                        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
                        • sinned6915undefined
                          sinned6915 @gloomyandy
                          last edited by sinned6915

                          @gloomyandy thanks for replying.

                          can I ask you to confirm that i understand what you are saying-

                          1. G30 X Y P# will put the probe at X Y and probe

                          2. G30 P# will use the gcode convention of probing the current (unspecified) position of X Y, but it will move the probe by the offsets given in G31 so that probe is at X Y, not the carraige.

                          G31 K0 P500 X-10 Y-10 Z4 
                          

                          For the G31 above, it will move the carraige X+10 Y+20 so the probe is at X Y.

                          So the example macro that given in the other thread without X Y coordinates, the posters must have a G31 X0 Y0 for it not to move between probes.

                          gloomyandyundefined T3P3Tonyundefined 2 Replies Last reply Reply Quote 0
                          • gloomyandyundefined
                            gloomyandy @sinned6915
                            last edited by

                            @sinned6915 said in G30 behaving strangely- random moving between probe:

                            @gloomyandy thanks for replying.

                            can I ask you to confirm that i understand what you are saying-

                            See my comments below, this is my understanding based on a quick look at the code...

                            1. G30 X Y P# will put the probe at X Y and probe

                            Correct

                            1. G30 P# will use the gcode convention of probing the current (unspecified) position of X Y, but it will move the probe by the offsets given in G31 so that probe is at X Y, not the carraige.

                            Correct

                            G31 K0 P500 X-10 Y-10 Z4 
                            

                            For the G31 above, it will move the carraige X+10 Y+20 so the probe is at X Y.

                            No it will move to X+10 Y+10 as both offsets are -10

                            So the example macro that given in the other thread without X Y coordinates, the posters must have a G31 X0 Y0 for it not to move between probes.

                            I had a quick glance at the thread you linked but could not see any examples of G30 without X and Y parameters, but yes I would expect a 0 offsets to be required (which are the default and common on delta printers that often use the nozzle as the probe).

                            1 Reply Last reply Reply Quote 0
                            • T3P3Tonyundefined
                              T3P3Tony administrators @sinned6915
                              last edited by

                              @sinned6915 related github issue:
                              https://github.com/Duet3D/RepRapFirmware/issues/622

                              T3P3 created this issue in Duet3D/RepRapFirmware

                              open G30 improvements #622

                              www.duet3d.com

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