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

    Mesh Bed Compensation Screwy

    Scheduled Pinned Locked Moved
    Tuning and tweaking
    8
    65
    10.6k
    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.
    • 3dprinting meatheadundefined
      3dprinting meathead
      last edited by

      I just made a short video of the smooth motion without g29, and the choppier motion with.
      I'm not sure if it's a bug, maybe all the variables eat up the processing power?
      But I don't remember my 8 bit board doing this.
      Here's the video:
      https://youtu.be/igNx0sjtSqE

      If I can learn it, than anyone can learn it.

      1 Reply Last reply Reply Quote 0
      • CHPundefined
        CHP
        last edited by

        I found an error in one of the interpolation functions and fixed it (pull request pending)

        The result looks much better:

        1 Reply Last reply Reply Quote 0
        • CHPundefined
          CHP
          last edited by

          But there is still more. Zeroing out the last two columns gives me this:

          The interpolation overflows into the first column of the next line. Fixing it:

          The final result of the whole mesh: looks quite good.

          1 Reply Last reply Reply Quote 0
          • CHPundefined
            CHP
            last edited by

            And we can even do better by using bicubic interpolation:

            Since Z is often the slowest axis, smoothing it out will mean smoother movement for the other axes.

            But there still remain two last issues: unprobed points with a 0 csv are being clamped to zero, this can easily be fixed

            Second: points outside the probing area remain constant. These should be extrapolated, maybe something like linear regression.

            Thoughts?

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

              @CHP, many thanks for diagnosing and fixing these issues. I have accepted your pull request, and I will release a new 1.18 beta soon incorporating these changes.

              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
              • pcsentinelundefined
                pcsentinel
                last edited by

                Hi CHP, can I just say thank you for identifying this and fixing, very very much appreciated.

                DC42, have you any idea what going on re my comment about 4 pont adjustment above?

                thanks

                1 Reply Last reply Reply Quote 0
                • 3dprinting meatheadundefined
                  3dprinting meathead
                  last edited by

                  @CHP although I only understand have of what you said(the hampster wheel in my head is seizing up), the pictures you put up show that you've found a way to wrangle the angry pixies flowing to my motors, and I thank you for it.

                  If I can learn it, than anyone can learn it.

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

                    @pcsentinel:

                    Hi CHP, can I just say thank you for identifying this and fixing, very very much appreciated.

                    DC42, have you any idea what going on re my comment about 4 pont adjustment above?

                    thanks

                    You need to probe clockwise round the bed, not anticlockwise. One of these days I'll get round to either re-ordering the points or generating an error message if they are in the wrong order.

                    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
                    • pcsentinelundefined
                      pcsentinel
                      last edited by

                      Hi, tried this which is clockwise

                      G30 P0 X151 Y151 H0 Z-99999
                      G30 P1 X151 Y49 H0 Z-99999
                      G30 P2 X49 Y49 H0 Z-99999
                      G30 P3 X49 Y151 H0 Z-99999 S4

                      but same result, just gives a small judder on first move after running the bed level and then wont move anymore. (Sorry)

                      1 Reply Last reply Reply Quote 0
                      • pcsentinelundefined
                        pcsentinel
                        last edited by

                        Update, maybe its just my misunderstanding of how this works, but commented out last line and moved S to third line as

                        G30 P0 X100 Y151 H0 Z-99999
                        G30 P1 X151 Y151 H0 Z-99999
                        G30 P2 X151 Y49 H0 Z-99999 S

                        works and I can then see compensation movement through moves, yet to try with a print though

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

                          @pcsentinel:

                          Hi, tried this which is clockwise

                          G30 P0 X151 Y151 H0 Z-99999
                          G30 P1 X151 Y49 H0 Z-99999
                          G30 P2 X49 Y49 H0 Z-99999
                          G30 P3 X49 Y151 H0 Z-99999 S4

                          but same result, just gives a small judder on first move after running the bed level and then wont move anymore. (Sorry)

                          Start with your X49 Y49 point as P0 and go clockwise from there.

                          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
                          • pcsentinelundefined
                            pcsentinel
                            last edited by

                            Further Update, changed the coords so that there were four but not in a perfect square. And now it works with 4, but following running the bed compensation, Z is set to an insane neagtive number of -199.91

                            G30 P0 X49 Y151 H0 Z-99999
                            G30 P1 X150 Y150 H0 Z-99999
                            G30 P2 X149 Y50 H0 Z-99999
                            G30 P3 X51 Y50 H0 Z-99999 S

                            Go back to 3points as

                            G30 P0 X100 Y151 H0 Z-99999
                            G30 P1 X149 Y50 H0 Z-99999
                            G30 P2 X51 Y50 H0 Z-99999 S

                            and Z after shows 5.73 and z compensation across the bed seems to work, again need to wait till tonight to try a print

                            1 Reply Last reply Reply Quote 0
                            • GrodanBundefined
                              GrodanB
                              last edited by

                              Great work, thanks.

                              Just tell me when a beta is available and I test with that.

                              It would be interesting to see the result. I'll switch back to 16 mm square instead of the 32 mm I used for this test.

                              I'll still wonder if there is something hidden in the fact that the measurement clearly shows that the bed is high at the back right off the plate but the print is pressed hard against the plate on precisely that spot… Strange if you ask me...

                              Then I kind of wonder how the compensation is done when printing with dual head. I set the distance between the first tool and the Z-probe. But I do not enter the distant from the second... So is automatically compensated or should I refer to a point in the middle?

                              G31 X-25.19 Y7 Z2.67 P500 ; Set the probe height and threshold; increase Z to decrease bed probe distance X11.0 Y0.5

                              This is relative the tool 1 nozzle... the nozzles are approx. 38 mm apart. So to place the compensation in the middle should I use:

                              G31 X-44.19 Y7 Z2.67 P500

                              Or is the 38mm added due to
                              G10 P1 X38.3 Y0.0 Z0.0 S0 R0

                              So that exact bed leveling is done for the extruding nozzle?

                              1 Reply Last reply Reply Quote 0
                              • pcsentinelundefined
                                pcsentinel
                                last edited by

                                Update on G30 four point probing. Now I have actually read DC42's comment (sorry must have overlapped) I have set the four poits clockwise from minor XY as per

                                G30 P0 X49 Y49 H0 Z-99999
                                G30 P1 X49 Y149 H0 Z-99999
                                G30 P2 X149 Y149 H0 Z-99999
                                G30 P3 X149 Y49 H0 Z-99999 S

                                it looks like the four pointer is working, the results are
                                G32
                                Bed equation fits points [49.0, 49.0, -0.118] [49.0, 149.0, -0.156] [149.0, 149.0, 0.162] [149.0, 49.0, -0.093]

                                So my final bed.g looks like

                                ; bed.g
                                ; called to perform automatic bed compensation via G32
                                ;
                                ; generated by RepRapFirmware Configuration Tool on Sun Feb 26 2017 13:25:00 GMT+0000 (GMT Standard Time)
                                G90
                                ; Clear any bed transform
                                M561

                                ; Probe the bed at 4 points CLOCKWISE!
                                G28
                                G30 P0 X49 Y49 H0 Z-99999
                                G30 P1 X49 Y149 H0 Z-99999
                                G30 P2 X149 Y149 H0 Z-99999
                                G30 P3 X149 Y49 H0 Z-99999 S
                                G1 X0 Y0

                                Also my Home Z and Home All now have

                                G1 X1 Y21 F6000
                                G30

                                becuase my X offset of the probe from the extruder is 48 and Y offset is 28 and G30 instructions account for the offset in the instructed points.

                                Hope this helps anyone else who is suffering.

                                1 Reply Last reply Reply Quote 0
                                • pcsentinelundefined
                                  pcsentinel
                                  last edited by

                                  Hi All, can I now confirm that I amprinting the four squares test succesfully. thanks for your help.

                                  DC42 as a suggestion, might it be worthwhile adding the above fledged out with a little explanation to the Wiki, at least for those of us that are using Glass Beds on a Cartesian?

                                  1 Reply Last reply Reply Quote 0
                                  • deckingmanundefined
                                    deckingman
                                    last edited by

                                    @pcsentinel. Glad you got it sorted. A couple of points. You seem to only be doing the bed compensation for 100mm x 100mm of the bed area. It's usually best to probe close to the 4 extreme corners of the axes movements so that you cover the entire printable area. Also, your Z homing example seems to indicate that you are homing Z at one corner of the bed and it's usually better to do the Z homing at the centre of the bed, because that is where the majority of your printing will take place and therefore where you need the most accuracy. HTH
                                    Ian

                                    Ian
                                    https://somei3deas.wordpress.com/
                                    https://www.youtube.com/@deckingman

                                    1 Reply Last reply Reply Quote 0
                                    • pcsentinelundefined
                                      pcsentinel
                                      last edited by

                                      Ok, thanks I tried that, but because of my offset when I go to postion 2 on the grid with
                                      G30 P1 X49 Y189 H0 Z-99999
                                      the nozzle is hitting the bed and compressing the carriage before te sensor is activated therefor throwing off the reading

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

                                        @pcsentinel:

                                        Ok, thanks I tried that, but because of my offset when I go to postion 2 on the grid with
                                        G30 P1 X49 Y189 H0 Z-99999
                                        the nozzle is hitting the bed and compressing the carriage before te sensor is activated therefor throwing off the reading

                                        I think you must have a severely tilted bed. You can increase the Z probe dive height - it's the H parameter in the M558 command. But it's better to get the bed more level than to rely on a lot of compensation.

                                        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
                                        • GrodanBundefined
                                          GrodanB
                                          last edited by

                                          Is it possible for me to test before a firmware is released?

                                          1 Reply Last reply Reply Quote 0
                                          • pcsentinelundefined
                                            pcsentinel
                                            last edited by

                                            Further unknown with 4 point plane. Sorry I know this is under Mesh, but its where all the previous comments are.

                                            I extended my four points to be wider but obviously still keep the probe over the bed.

                                            I then thought I would check each four points without any compensation, i.e. drop nozzle to just hold paper, set z to 0, raise head by 5mm and do G30 S-1. and then check repeatability. the result are below that seem to indicate that the points all have different trigger heights but repeatability at each point is good.

                                            Nozzle X Nozzle Y Probe X Probe Y G30 S-1 G30 S-1 G30 S-1 Average Offset from P1
                                            Point 1 1 1 49 29 0.385 0.382 0.38 0.382333333 0
                                            Point 2 1 161 49 189 0.298 0.298 0.303 0.299666667 -0.082666667
                                            Point 3 131 161 179 189 0.157 0.153 0.155 0.155 -0.227333333
                                            Point 4 131 161 179 189 0.185 0.185 0.188 0.186 -0.196333333

                                            My settings in coonfig.g are
                                            M558 P1 X0 Y0 Z1 H5 F120 T6000 ; Set Z probe type to unmodulated, the axes for which it is used and the probe + travel speeds
                                            G31 P500 X48 Y28 Z0.382333333 ; Set Z probe trigger value, offset and trigger height

                                            I therefor mofidied my bed.g to

                                            ; bed.g
                                            ; called to perform automatic bed compensation via G32
                                            ;
                                            ; generated by RepRapFirmware Configuration Tool on Sun Feb 26 2017 13:25:00 GMT+0000 (GMT Standard Time)
                                            G90
                                            ; Clear any bed transform
                                            M561

                                            ; Probe the bed at 4 points CLOCKWISE!
                                            G28
                                            G30 P0 X49 Y29 H0 Z-99999
                                            G30 P1 X49 Y189 H-0.082666667 Z-99999
                                            G30 P2 X179 Y189 H-0.227333333 Z-99999
                                            G30 P3 X179 Y29 H-0.196333333 Z-99999 S
                                            G1 Z5
                                            G1 X0 Y0

                                            But after I ran the bed compensation I then went back to each probe point and dropped the Z to 0 over the piece of paper, at all points the paper was trapped until I lifted the nozzle 0.3mm. So I added:
                                            G1 Z0.25
                                            G92 Z0
                                            into the bed.g before the G1 Z5 and now everything seems to be working, but I am really mystified why I have to push the the height up by 0.25 does anyone know?

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