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

Question about G29

Scheduled Pinned Locked Moved
Tuning and tweaking
6
18
2.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.
  • undefined
    fcwilt
    last edited by 7 Sept 2018, 19:03

    Hi,

    I was trying to use the A and S parameters of M558 to average the readings when executing G29.

    I set A to 10 and S to 0.00.

    The docs say if no two consecutive readings match then all 10 readings would be averaged.

    However when I try to do this I get an error message from G29 about inconsistent probe readings.

    Using the default values for A and S works as expected without problems.

    Not sure what the problem is.

    Any ideas?

    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

    undefined 1 Reply Last reply 7 Sept 2018, 19:11 Reply Quote 0
    • undefined
      dc42 administrators @fcwilt
      last edited by 7 Sept 2018, 19:11

      @fcwilt said in Question about G29:

      inconsistent probe readings

      That message means that no two consecutive readings matched.

      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 7 Sept 2018, 21:04 Reply Quote 0
      • undefined
        fcwilt @dc42
        last edited by 7 Sept 2018, 21:04

        @dc42 said in Question about G29:

        @fcwilt said in Question about G29:

        inconsistent probe readings

        That message means that no two consecutive readings matched.

        Thanks.

        So what happened to the averaging of all 10 readings?

        I failed to mention that the G29 process halts after displaying that message.

        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
          Phaedrux Moderator
          last edited by 7 Sept 2018, 22:52

          Instead of just 0 for the S value why not 0.001?

          Z-Bot CoreXY Build | Thingiverse Profile

          undefined 1 Reply Last reply 7 Sept 2018, 23:29 Reply Quote 0
          • undefined
            fcwilt @Phaedrux
            last edited by fcwilt 9 Aug 2018, 00:12 7 Sept 2018, 23:29

            @phaedrux said in Question about G29:

            Instead of just 0 for the S value why not 0.001?

            Well the description said the two consecutive readings had to match within the S amount.

            And the readings from the probe, at least as far as they were displayed, when the differed they always differed by 0.01.

            Sometimes the readings matched and the probing at that point ended and it moved on to the next point.

            Sometimes it never matched, reported the error and stopped - which is discussed anywhere that I could find. Supposedly with no matches it would average the 10 readings and that would have been fine.

            Certainly won't hurt to try different values for S - which I will do.

            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
              Phaedrux Moderator
              last edited by 7 Sept 2018, 23:53

              I was mostly just curyif it behaves the same with a zero value as with a non zero value.

              Z-Bot CoreXY Build | Thingiverse Profile

              1 Reply Last reply Reply Quote 0
              • undefined
                token47
                last edited by token47 9 Nov 2018, 03:59 11 Sept 2018, 03:57

                I have this problem also. Something is not right.

                The documentation at

                https://duet3d.dozuki.com/Wiki/Gcode#Section_M558_Set_Z_probe_type

                says that: "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."

                But, what happens actually is that an error is raised and the G29 stops completely. This happens even when G29 comes inside a gcode from a slicer. So it will probe a few points and abort, then start printing without completing the mesh.. This is wrong and is not predictable behavior. I would expect at least the whole print to abort, if not doing what the documentation says (which would be way better).

                I just forced an error turning the S parameter of M558 to S0.00 as @fcwilt suggested. It spits

                12:47:58 AMError: Z probe readings not consistent

                on the logs and abort. It should do as the doc says and continue. Shouldn't it?

                I just noticed this when I saw a G29 failing and the print starting anyway.

                Thank you!

                undefined 1 Reply Last reply 1 Oct 2018, 13:47 Reply Quote 1
                • undefined
                  fcwilt
                  last edited by 11 Sept 2018, 09:46

                  Hi,

                  Thanks for verifying that you can reproduce the same behavior.

                  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
                    dc42 administrators
                    last edited by 29 Sept 2018, 12:59

                    I'll change it in the next 2.02RC so that a zero or negative tolerance causes it to average all readings and not treat it as an error.

                    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 undefined 2 Replies Last reply 29 Sept 2018, 14:25 Reply Quote 0
                    • undefined
                      fcwilt @dc42
                      last edited by 29 Sept 2018, 14:25

                      @dc42 said in Question about G29:

                      I'll change it in the next 2.02RC so that a zero or negative tolerance causes it to average all readings and not treat it as an error.

                      That will be grand.

                      Thank you.

                      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
                        token47 @dc42
                        last edited by 29 Sept 2018, 15:24

                        @dc42 That is great (and please do it) but it may not solve both problems.

                        One problem is a way to force doing all the probes and averaging them. Treating 0.00 as a special case to do that will solve this one.

                        Other problem is having a non-zero value, and still not being able to find two readings whose delta is below that value, even making all the possible readings. It should then just average all the readings, but it gives an error and aborts the G29. This is different from what the documentation says it should do.

                        I think this second problem is a bug, what do you think?

                        Thank you!

                        1 Reply Last reply Reply Quote 0
                        • undefined
                          dc42 administrators
                          last edited by 29 Sept 2018, 17:25

                          i agree that it does not accord with the documentation. What would users prefer: to abandon the mesh probing when the readings are inconsistent, or to use an average? The advantage of abandoning mesh probing in this case is that you don't have to wait for it to finish before you try again.

                          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 undefined 2 Replies Last reply 29 Sept 2018, 19:16 Reply Quote 0
                          • undefined
                            fcwilt @dc42
                            last edited by 29 Sept 2018, 19:16

                            @dc42 said in Question about G29:

                            i agree that it does not accord with the documentation. What would users prefer: to abandon the mesh probing when the readings are inconsistent, or to use an average? The advantage of abandoning mesh probing in this case is that you don't have to wait for it to finish before you try again.

                            Perhaps another parameter which determines the behavior of the existing parameters?

                            That would allow existing config files, etc to function as things are now but allow for new behaviors without using special values.

                            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
                              token47 @dc42
                              last edited by 1 Oct 2018, 13:10

                              @dc42 I like being able to choose between both, as @fcwilt said. But, if forced to choose, I would prefer for it to follow documentation (average all readings and not abort). That is a must when you send a G29 from the start script of a slicer, unless the whole print would abort too (what happens today is that the G29 aborts and the print continues).

                              1 Reply Last reply Reply Quote 0
                              • undefined
                                brunofporto @token47
                                last edited by 1 Oct 2018, 13:47

                                @token47 @dc42

                                Maybe configure like this:

                                Negative values: measure and if differ more than the S parameter use the average and print the error - but go on printing with the average.

                                Zero: Always use the average

                                Positive: Cancel print if measure something bigger than S parameter.

                                😄

                                1 Reply Last reply Reply Quote 0
                                • SupraGuyundefined
                                  SupraGuy
                                  last edited by 1 Oct 2018, 14:39

                                  I can't see a way that the G29 command can abort the print job, given that there aren't any conditionals in gcode, unless it forces some kind of fault condition that shuts down the firmware requiring a reboot. Until such time as gcode has an "if" statement, but I don't see that coming soon.

                                  I don't know that I'd want to average all values either. If I get one false trigger at Z=5, then 9 good triggers at -0.2 < Z < 0.2 my average will be about 0.5 too high. Personally, I'd rather that have a 0 entry in heightmap.csv for a "didn't probe there." which ought to cause the firmware to average the points that surround the bad probe point. Of course it depends on how many times you get a bad value from your Z probe. If yours is prone to false triggering (Which is the reason for multiple probes,or so I thought) then you could get some really wild average values.

                                  So my preference would be to use a median value, rather than a mean, under the hopes that there would still be more good readings than false triggers.

                                  Lead screw driven printer, powered by Duet 2 Wifi
                                  MPCNC powered by Duet 2 Wifi
                                  CoreXY printer driven by Duet 3 6HC
                                  LowRider CNC powered by Duet 2 Wifi

                                  undefined undefined 2 Replies Last reply 1 Oct 2018, 14:41 Reply Quote 1
                                  • undefined
                                    brunofporto @SupraGuy
                                    last edited by 1 Oct 2018, 14:41

                                    @supraguy Agreed. 😄

                                    1 Reply Last reply Reply Quote 0
                                    • undefined
                                      dc42 administrators @SupraGuy
                                      last edited by 1 Oct 2018, 19:02

                                      @supraguy said in Question about G29:

                                      I can't see a way that the G29 command can abort the print job, given that there aren't any conditionals in gcode, unless it forces some kind of fault condition that shuts down the firmware requiring a reboot.

                                      There are already situations in which a fault stops a print job, such as trying to move axes before they are homed, or trying to move outside the print area when the machine is in CNC or laser mode. So a failing G29 could be treated in the same way.

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