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

    Grid bed compensation

    Scheduled Pinned Locked Moved
    Firmware wishlist
    23
    100
    19.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.
    • Alex9779undefined
      Alex9779
      last edited by

      David: it depends on how you rate the new feature.
      IMHO G29 is an improved version of G32. Though G32 is not a real feature, at least in RRF. G32 just executes the bed.g script which is just a execution of multiple G30 commands. So G30 with the plane calculation is the real feature.
      So what if we declare G32 is bed compensation and G30 and G29 are just two different methods to compensate.
      That way we can use bed.g and it depends on what's in it which compensation is done.

      On the other hand if you see G29 a replacement of G32 or an alternative then you should allow probe management for G29 too with special macros.

      I vote for what I wrote first… I admit I had problems understanding it myself at first, that's why I wrote all the posts above. But now I thought about it and I think using G32 as a general bed compensation command is WTG...

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

        +1 for Alex's approach. Keeping bed.g as theeditable single point for defining what happens makes the most sense.

        www.duet3d.com

        1 Reply Last reply Reply Quote 0
        • Alex9779undefined
          Alex9779
          last edited by

          For this nothing has to be changed, it is just a definition. But the documentation should probably be updated to emphasize this…

          1 Reply Last reply Reply Quote 0
          • Sniffleundefined
            Sniffle
            last edited by

            David, those errors were reported on the PanelDue, they did not occur or at least not reported on the web interface.

            As to the above discussion of using bed.g as the single point of reference for enacting whichever compensation you want i definitely agree, but whats the difference between the spiral 5 point compensation and G29… I was expecting G29 to be an automated version of the later.

            Is G30/3G32 Planar and G29 mesh? I'm sure its just a matter of terminology crossing my understanding wires.

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

              @Sniffle:

              David, those errors were reported on the PanelDue, they did not occur or at least not reported on the web interface.

              What I meant was: did you enter the M557 and G29 commands on the PanelDue keyboard, or by some other means?

              @Sniffle:

              As to the above discussion of using bed.g as the single point of reference for enacting whichever compensation you want i definitely agree, but whats the difference between the spiral 5 point compensation and G29… I was expecting G29 to be an automated version of the later.

              Is G30/3G32 Planar and G29 mesh? I'm sure its just a matter of terminology crossing my understanding wires.

              The 5 point compensation requires you to set up a bed.g file (or set up the points using M557). It works on Cartesian and CoreXY printers only. You have the option of including trigger height corrections for each probe point, although it's unlikely that you would need to do that on a Cartesian or CoreXY printer.

              The new grid compensation can probe a much larger number of points (currently 121 on the wired duet and 441 on the Duet WiFi). You define the area to be probed and it works out the probe points. It can be used on delta printers too. You can't enter trigger height corrections.

              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
              • Alex9779undefined
                Alex9779
                last edited by

                I found a little issue with the Z offset and dive height. It seems both are connected somehow when probing.
                IMHO this is not ideal.
                Let me describe it a bit…

                Lets assume we have a probe which triggers when the nozzle is 2 above the bed. So with a Z offset of 0 and a dive height of 3 when probing the bed moves to Z=3 and the probes and so on.
                If you already adjusted your offset to 2 so that the nozzle touches the bed then the bed just dives by 1. I think that's because the dive is calculated from Z0 which I changed by setting the offset.
                So if I have to change my offset every now and then I also have to adjust the dive height and add the offset to the desired dive height.

                I stumbled over this issue again because of playing with the BLTouch.
                The problem here is that if the nozzle touches the bed the BLTouch is not able to trigger because it is already triggered. So if I start with a Z offset of 0 and a dive height of 2.5 then all is fine, probing is fast because the bed is just about 1 away from the trigger pin.
                But when I now adjust the offset so that my nozzle touches the bed and the BLTouch lowers the pin it already hits the plate and is triggered resulting in alarm state which will break the probing sequence.

                IMHO the offset should not influence the dive height, the dive height should always be calculated from the trigger point of the probe and not from the Z0 location.

                1 Reply Last reply Reply Quote 0
                • Alex9779undefined
                  Alex9779
                  last edited by

                  @dc42:

                  441 on the Duet WiFi

                  I wonder how long a probing sequence will last if you max that…
                  I won't try until I am not able to load the result back in 😄

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

                    David, being able to probe 441 points is one thing, I have not dug into your grid compensation code but does having that number of (different) points in the grid have an effect on the gcode->step generation speed? Does that limit the step rate or once the curve is fitted then the process required is the same?

                    www.duet3d.com

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

                      @T3P3Tony:

                      David, being able to probe 441 points is one thing, I have not dug into your grid compensation code but does having that number of (different) points in the grid have an effect on the gcode->step generation speed? Does that limit the step rate or once the curve is fitted then the process required is the same?

                      It won't have any significant effect. The reason I chose 441 is so that you can probe a 400x400 bed with a grid spacing of 20mm.

                      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
                      • Sniffleundefined
                        Sniffle
                        last edited by

                        @dc42:

                        What I meant was: did you enter the M557 and G29 commands on the PanelDue keyboard, or by some other means?

                        The M557 command I endtered through the web interface, and then I moved to the paneldue keyboard to initiate the G29 command because I had interference concerns and wanted to witness the first row so I could make a proper adjustment should it be needed.

                        1 Reply Last reply Reply Quote 0
                        • Jackalundefined
                          Jackal
                          last edited by

                          I am using the H offset in auto calibration, does grid levelling in the current state help to improve it?

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

                            @Jackal:

                            I am using the H offset in auto calibration, does grid levelling in the current state help to improve it?

                            No. If you need values of the H parameter that are greater than the residual height errors, then grid compensation will probably make things worse.

                            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
                            • Russ Griesundefined
                              Russ Gries
                              last edited by

                              @dc42:

                              The autocalibration takes account of the H offsets in bed.g but the grid bed compensation doesn't.

                              Ah yes, i found out the hard way on this one. everything is set "longer" so i know the probe will make the bed, the everything offsets "shorter"

                              so getting everything just right was a bit of a trick for me, i think i got it but ran out of time last night. will try again tonight BUT,

                              can some one please point out the differences between theses H values from these codes. i think I'm still a bit unclear even after a lot of reading. im not sure why but i would be grateful for some one to clear this up for me.

                              M558 P1 X0 Y0 Z16 H3 F100 T10000
                              
                              

                              what is the Z value here?

                              G31 X0 Y0 Z20 P500
                              
                              

                              This Z value is the off set, so if i put G31 Z20 this means that when the probe is triggered it thinks the hot end is 20mm from where it was triggered right?

                              so why don't we use the probe off set for X,Y ? how dose it know where the probe is VS the hot end? for bed compensation this would be needed right?

                              Thanks in advance and Thanks for bed compensation!!!! its needed me thinks even with a .140 deviation. i think i need more 🙂 ( I've been cutting PCB's with .1mm depth)

                              ~Russ Gries

                              One Day At A Time…
                              My Main Research Page:
                              http://rwgresearch.com/open-projects/3d-printing-research/

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

                                In the M558 command, Z16 is the same as Z1 and means that the Z probe is used for Z homing. H3 is the dive height, which means that when you use G30 with defined XY coordinates to probe the bed (and also G29 in the 1.17 dev build), probing starts 3mm + the probe trigger height above where the bed is expected to be.

                                In the G31 command, the Z parameter defines the trigger height of the Z probe.

                                The documentation for how gcodes behave in RRF is the reprap.org wiki at http://reprap.org/wiki/G-code. Let me know if you think particular parts need to be clarified.

                                HTH David

                                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
                                • Dougal1957undefined
                                  Dougal1957
                                  last edited by

                                  These are my results bit concerned by one reading noticed whilst it was probing that the LED on the IR Board lit but it kept on moving down (did this just once towards the end of the third row)

                                  David would appreciate it if you could cast you eyes over this and give any advice that you may have.

                                  RepRapFirmware height map file v1
                                  xmin,xmax,ymin,ymax,radius,spacing,xnum,ynum
                                  -140.00,140.10,-140.00,140.10,150.00,20.00,15,15
                                  0,0,0,0,0,-0.123,-0.137,-0.189,-0.191,-0.205,0,0,0,0,0
                                  0,0,0,-0.051,-0.052,-0.086,-0.113,-0.152,-0.211,-0.237,-0.263,-0.285,0,0,0
                                  0,0,0.053,0.026,-0.016,-0.051,-0.051,-0.123,-0.175,-0.203,-0.254,-0.264,-3.224,0,0
                                  0,0.140,0.072,0.038,0.001,-0.061,-0.051,-0.039,-0.174,-0.252,-0.265,-0.235,-0.237,-0.318,0
                                  0,0.177,0.129,0.086,0.112,-0.089,-0.062,-0.128,-0.148,-0.213,-0.202,-0.202,-0.286,-0.288,0
                                  0.304,0.226,0.178,0.123,0.124,0.042,-0.087,-0.422,-0.153,-0.212,-0.180,-0.223,-0.213,-0.347,-0.332
                                  0.308,0.249,0.366,0.125,0.174,0.077,-0.073,0.174,-0.091,-0.128,-0.087,-0.161,-0.172,-0.203,-0.173
                                  0.360,0.313,0.303,0.186,0.190,0.101,0.004,0.158,-0.071,-0.111,-0.148,-0.190,-0.175,-0.154,-0.225
                                  0.338,0.299,0.250,0.213,0.173,0.139,0.063,0.162,0.012,-0.074,-0.125,-0.185,-0.161,-0.163,-0.187
                                  0.400,0.375,0.296,0.274,0.236,0.197,0.110,-0.001,0.026,-0.062,-0.075,-0.124,-0.142,-0.113,-0.115
                                  0,0.234,0.180,0.214,0.216,0.191,0.127,0.086,0.061,0.005,-0.025,-0.024,-0.071,-0.061,0
                                  0,0.438,0.389,0.312,0.313,0.236,0.125,0.127,0.102,0.061,0.000,-0.121,-0.050,-0.040,0
                                  0,0,0.371,0.300,0.264,0.211,0.215,0.237,0.127,0.121,0.102,-0.046,-0.026,0,0
                                  0,0,0,0.387,0.324,0.339,0.226,0.226,0.150,0.153,0.100,0.049,0,0,0
                                  0,0,0,0,0,0.302,0.275,0.229,0.175,0.114,0,0,0,0,0

                                  Looking at the figures it would suggest that the bed is not flat however it is 6mm thick Ecocast Tooling plate with Printbite on it Think I will have to get a straight edge on it and check it?

                                  Doug

                                  PS not always repeatable run again I gat the following

                                  RepRapFirmware height map file v1
                                  xmin,xmax,ymin,ymax,radius,spacing,xnum,ynum
                                  -140.00,140.10,-140.00,140.10,150.00,20.00,15,15
                                  0,0,0,0,0,-0.139,-0.188,-0.139,-0.202,-0.224,0,0,0,0,0
                                  0,0,0,-0.058,-0.066,-0.109,-0.141,-0.129,-0.186,-0.198,-0.191,-0.176,0,0,0
                                  0,0,0.013,-0.008,-0.053,-0.071,-0.087,-0.113,-0.162,-0.190,-0.199,-0.267,-0.237,0,0
                                  0,0.124,0.076,0.025,-0.026,-0.054,-0.078,-0.137,-0.127,-0.165,-0.201,-0.189,-0.227,-0.226,0
                                  0,0.198,0.120,0.047,0.089,-0.074,-0.097,-0.153,-0.188,-0.477,-0.190,-0.199,-0.237,-0.211,0
                                  0.312,0.229,0.198,0.098,0.097,0.004,-0.089,-0.516,-0.150,-0.209,-0.197,-0.183,-0.216,-0.296,-0.250
                                  0.287,0.263,0.292,0.100,0.190,0.015,-0.102,-0.039,-0.125,-0.149,-0.137,-0.198,-0.188,-0.220,-0.192
                                  0.378,0.289,0.328,0.172,0.133,0.078,-0.086,0.134,-0.100,-0.150,-0.176,-0.234,-0.187,-0.199,-0.221
                                  0.360,0.291,0.260,0.185,0.111,0.108,0.024,0.073,-0.024,-0.116,-0.187,-0.252,-0.201,-0.215,-0.187
                                  0.447,0.397,0.336,0.276,0.180,0.164,0.073,-0.050,-0.049,-0.109,-0.151,-0.172,-0.211,-0.175,-0.161
                                  0,0.337,0.289,0.227,0.179,0.127,0.086,0.034,-0.039,-0.060,-0.113,-0.108,-0.171,-0.153,0
                                  0,0.478,0.397,0.374,0.270,0.141,0.085,0.074,0.037,-0.048,-0.080,-0.187,-0.126,-0.175,0
                                  0,0,0.373,0.364,0.265,0.161,0.139,0.212,0.040,0.046,-0.008,-0.149,-0.115,0,0
                                  0,0,0,0.346,0.295,0.273,0.148,0.136,0.084,0.024,-0.055,-0.078,0,0,0
                                  0,0,0,0,0,0.240,0.178,0.084,0.090,0.004,0,0,0,0,0

                                  Which to my untrained Eye looks much better Think I may have a wiring Crosstalk Issue to be honest Need to maybe re-wire the Hot End area using Screened Cable?

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

                                    Doug, I think you may have a bad connection between the IR sensor output and the Duet. I can't think why else the head would continue to move down after the LED has lit. I have a long unshielded cable between the hot end and the Duet too and it doesn't cause me any problems.

                                    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
                                    • Dougal1957undefined
                                      Dougal1957
                                      last edited by

                                      Thats what I am starting to think Myself (and with the PT100 as Well) will get some Shielded cable tomorrow and re-do those connections (If I have to re-do them I may as well use Shielded stuff)

                                      Doug

                                      1 Reply Last reply Reply Quote 0
                                      • Adamfilipundefined
                                        Adamfilip
                                        last edited by

                                        So Do I still need to run G32? after or before G29
                                        or

                                        Just a G29
                                        then A G28 to home then print?

                                        1 Reply Last reply Reply Quote 0
                                        • Adamfilipundefined
                                          Adamfilip
                                          last edited by

                                          Does the grid fade after a certain Z height or is it maintained all the way up?
                                          How can you tell if the Grid compensation is active?

                                          1 Reply Last reply Reply Quote 0
                                          • Adamfilipundefined
                                            Adamfilip
                                            last edited by

                                            Here is my first grid result. had a error near the end when it probed on top of a clip holding down the glass

                                            RepRapFirmware height map file v1 generated at 0116-10-27 16:15
                                            xmin,xmax,ymin,ymax,radius,spacing,xnum,ynum
                                            20.00,280.00,20.00,280.00,-1.00,28.00,10,10
                                            0.002,0.080,0.121,0.163,0.171,0.142,0.100,-0.004,-0.135,-0.278
                                            0.026,0.113,0.197,0.275,0.271,0.262,0.221,0.118,0.019,-0.161
                                            0.039,0.141,0.225,0.283,0.314,0.280,0.257,0.180,0.103,-0.061
                                            0.019,0.165,0.236,0.257,0.284,0.306,0.275,0.216,0.114,-0.016
                                            0.019,0.139,0.220,0.277,0.295,0.296,0.276,0.235,0.134,0.001
                                            -0.019,0.081,0.179,0.224,0.264,0.261,0.279,0.216,0.141,0.016
                                            -0.095,0.031,0.105,0.179,0.223,0.243,0.216,0.194,0.120,0.015
                                            -0.214,-0.039,0.027,0.098,0.173,0.197,0.183,0.119,0.065,-0.010
                                            -0.279,-0.178,-0.094,0.027,0.070,0.134,0.125,0.046,0.005,-0.104
                                            -0.395,-0.299,-0.212,-0.136,-0.054,-0.034,-1.277,-1.320,-1.651,-1.608

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