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

    Mesh Compensation

    Scheduled Pinned Locked Moved
    Tuning and tweaking
    5
    38
    1.5k
    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.
    • Vetiundefined
      Veti @Corexy
      last edited by

      @Corexy said in Mesh Compensation:

      [img]https://i.imgur.com/1Zczdwt.png[/img]

      i have no ir sensor and i dont have the printbite surface, so i cant give you more information there.
      That surface looks terrible if thats the real surface of the buildplate.

      Corexyundefined 1 Reply Last reply Reply Quote 0
      • Corexyundefined
        Corexy @Veti
        last edited by

        @Veti said in Mesh Compensation:

        @Corexy said in Mesh Compensation:

        [img]https://i.imgur.com/1Zczdwt.png[/img]

        i have no ir sensor and i dont have the printbite surface, so i cant give you more information there.
        That surface looks terrible if thats the real surface of the buildplate.

        It's not like that in person, pretty flat actually.

        Right now the mesh compensation is working so amazingly I've removed it form the start script, and will only do a new map as a maintenance/corrective measure. I heated the bed to 100C, run the mesh and I'm leaving it at that unless problems show. First layers are as good as I've ever seen on this machine, and as they are consistent I'll assume it's all good.

        I should point out that while I'm crap on a keyboard, 15 years of maintenance work on mines and oil rigs has taught me a trick or two on the spanners and feeler gauges (if I say so myself). My beds and axis' are all over engineered, rock solid and set up as straight as the material they're made of will allow. I don't expect my bed to change level, I hardly touch it ever.

        I am amazed how much this compensation is working, and I'm sure your tip about the extra probe points is what did the trick.

        So thanks very much for your help, and the result is good!

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

          @Corexy said in Mesh Compensation:

          ; homeall.g
          ; called to home all axes
          ;
          ; generated by RepRapFirmware Configuration Tool v2.1.2 on Thu Nov 21 2019 10:53:58 GMT+1100 (Australian Eastern Daylight Time)
          G91 ; relative positioning
          G1 H2 Z5 F6000 ; lift Z relative to current position
          G1 H1 X-200 Y-200 F1800 ; move quickly to X and Y axis endstops and stop there (first pass)
          G1 H2 X5 Y5 F6000 ; go back a few mm
          G1 H1 X-200 Y-200 F360 ; move slowly to X and Y axis endstops once more (second pass)
          G90 ; absolute positioning
          G1 H2 X97.5 Y97.5 F6000 ; go to first bed probe point and home Z
          G30 ; home Z by probing the bed

          Unrelated to your mesh discussion, but You've got an overabundance of H2 switches in your homing files. It's intended to allow you to move an axis that hasn't been homed yet. Once the axis has been homed it's not needed, and really, the only axis you should use it on is the Z axis in case you need to move it out of the way before homing X and Y.

          And infact, in CoreXY machines using H2 on the X and Y force it to use a single motor, which is definitely not what you want.

          H1 terminate the move when the endstop switch is triggered and set the axis position to the axis limit defined by M208. On delta printers, H1 also selects individual motor mode as for H2. Normally used with relative motor coordinates (see G91).
          H2 Individual motor mode. X refers to the X motor, Y refers to the Y motor, and so on. Normally used with relative motor coordinates (see G91).

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

          So based on above homeall should actually look like this:

          G91                     ; relative positioning
          G1 H2 Z5 F6000          ; lift Z relative to current position
          G1 H1 X-200 Y-200 F1800 ; move quickly to X and Y axis endstops and stop there (first pass)
          G1 X5 Y5 F6000       ; go back a few mm
          G1 H1 X-200 Y-200 F360  ; move slowly to X and Y axis endstops once more (second pass)
          G90                     ; absolute positioning
          G1 X97.5 Y97.5 F6000     ; go to first bed probe point and home Z
          G30                     ; home Z by probing the bed
          

          Same goes for the other homing files. H2 only on Z axis moves. I'm actually not sure how your machine is homing at all with those files.

          Z-Bot CoreXY Build | Thingiverse Profile

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

            @Corexy said in Mesh Compensation:

            "spikyness" in the map that I get with Printbite.

            Looking at pictures of printbite online it seems that is has a slightly glossy surface and a grid pattern on it. This would be a less than ideal surface for an IR sensor. the glossy pattern can make surface detection unreliable, and the dark pattern could be picked up causing it to trigger early. In fact the spiky image you posted looks like you can almost make out the grid.

            Using a piece of matte paper (preferably dark) should give a better idea of the surface. And the image you posted of the paper may actually be closer to the true shape of the bed.

            If you don't want to change out the bed surface, and you don't want to change the probe since it seems to work reliably enough with setting the Z height, if the bed is flat enough you could just run without compensation, or set it to a very sparse grid to just capture the edges and center point (3x3 grid).

            I wouldn't use an inductive or capacitive probe, too much temperature variability and insensitivity to thin metal. The BLTouch can work well since it's a contact probe it will work on any surface. But it is a bit larger, and has a more involved installation and configuration process.

            Z-Bot CoreXY Build | Thingiverse Profile

            Corexyundefined 1 Reply Last reply Reply Quote 0
            • Corexyundefined
              Corexy
              last edited by

              @Phaedrux @Veti

              Cheers both of you, it's good of you to help.

              Phaedrux,

              Ran that homeall and it's all good. Did the same thing as before, but I'll guess that it's doing it with less "confusion".

              So will these do?

              homex:

              G91 ; relative positioning
              G1 H2 Z5 F6000 ; lift Z relative to current position
              G1 H1 X-200 F1800 ; move quickly to X axis endstop and stop there (first pass)
              G1 X5 F6000 ; go back a few mm
              G1 H1 X-200 F360 ; move slowly to X axis endstop once more (second pass)
              G1 H2 Z-5 F6000 ; lower Z again
              G90 ; absolute positioning

              homey

              G91 ; relative positioning
              G1 H2 Z5 F6000 ; lift Z relative to current position
              G1 H1 Y-200 F1800 ; move quickly to Y axis endstop and stop there (first pass)
              G1 Y5 F6000 ; go back a few mm
              G1 H1 Y-200 F360 ; move slowly to Y axis endstop once more (second pass)
              G1 H2 Z-5 F6000 ; lower Z again
              G90 ; absolute positioning

              homez

              G91 ; relative positioning
              G1 H2 Z5 F6000 ; lift Z relative to current position
              G90 ; absolute positioning
              G1 X97.5 Y97.5 F6000 ; go to first probe point
              G30 ; home Z by probing the bed
              ;G91 ; relative positioning
              ;G1 H2 Z5 F100 ; lift Z relative to current position
              ;G90 ; absolute positioning

              How do they look?

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

                @Corexy said in Mesh Compensation:

                homez
                G91 ; relative positioning
                G1 H2 Z5 F6000 ; lift Z relative to current position
                G90 ; absolute positioning
                G1 X97.5 Y97.5 F6000 ; go to first probe point
                G30 ; home Z by probing the bed
                ;G91 ; relative positioning
                ;G1 H2 Z5 F100 ; lift Z relative to current position
                ;G90 ; absolute positioning

                Looks good. Except if we're being picky the H2 on the final Z move here is not needed since it's been homed by the G30. 😊

                Z-Bot CoreXY Build | Thingiverse Profile

                Corexyundefined 1 Reply Last reply Reply Quote 0
                • Corexyundefined
                  Corexy @Phaedrux
                  last edited by

                  @Phaedrux said in Mesh Compensation:

                  @Corexy said in Mesh Compensation:

                  "spikyness" in the map that I get with Printbite.

                  Looking at pictures of printbite online it seems that is has a slightly glossy surface and a grid pattern on it. This would be a less than ideal surface for an IR sensor. the glossy pattern can make surface detection unreliable, and the dark pattern could be picked up causing it to trigger early. In fact the spiky image you posted looks like you can almost make out the grid.

                  Using a piece of matte paper (preferably dark) should give a better idea of the surface. And the image you posted of the paper may actually be closer to the true shape of the bed.

                  If you don't want to change out the bed surface, and you don't want to change the probe since it seems to work reliably enough with setting the Z height, if the bed is flat enough you could just run without compensation, or set it to a very sparse grid to just capture the edges and center point (3x3 grid).

                  I wouldn't use an inductive or capacitive probe, too much temperature variability and insensitivity to thin metal. The BLTouch can work well since it's a contact probe it will work on any surface. But it is a bit larger, and has a more involved installation and configuration process.

                  I don't think it's flat enough to get a good mesh without probing, and to be honest I'd rather get full use of that feature.

                  Has the plain matt black printbite been known to work? I just want that permanent "pop off" surface

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

                    @Corexy said in Mesh Compensation:

                    Has the plain matt black printbite been known to work?

                    If it is indeed plain, black, and matte, then I would think it would work well.

                    Z-Bot CoreXY Build | Thingiverse Profile

                    Corexyundefined 1 Reply Last reply Reply Quote 0
                    • Corexyundefined
                      Corexy @Phaedrux
                      last edited by

                      @Phaedrux said in Mesh Compensation:

                      @Corexy said in Mesh Compensation:

                      homez
                      G91 ; relative positioning
                      G1 H2 Z5 F6000 ; lift Z relative to current position
                      G90 ; absolute positioning
                      G1 X97.5 Y97.5 F6000 ; go to first probe point
                      G30 ; home Z by probing the bed
                      ;G91 ; relative positioning
                      ;G1 H2 Z5 F100 ; lift Z relative to current position
                      ;G90 ; absolute positioning

                      Looks good. Except if we're being picky the H2 on the final Z move here is not needed since it's been homed by the G30. 😊

                      Hey mate, please be as picky as you like! I like it all clean and minimalist.

                      1 Reply Last reply Reply Quote 0
                      • Corexyundefined
                        Corexy @Phaedrux
                        last edited by

                        @Phaedrux said in Mesh Compensation:

                        @Corexy said in Mesh Compensation:

                        Has the plain matt black printbite been known to work?

                        If it is indeed plain, black, and matte, then I would think it would work well.

                        It's a pain, as I really like the IR probe for being non contact and accurate, and I don't know of any other print surface that is permanent and self releasing like the Printbite...I hope to keep both.

                        @dc42

                        Hi David,

                        I've seen the issue of the IR probe on Printbite come up here a bit. Can you please advise if any of their latest versions works properly with your probe?

                        I spent quite a bit on those surfaces, so if I'm going to buy them again I'd like to know I'm not hindering the performance of the Duets full range of functions.

                        1 Reply Last reply Reply Quote 0
                        • Corexyundefined
                          Corexy
                          last edited by

                          OK, so now the printer's back up I'd like to push on with this, despite the IR probe not being perfect.

                          When I run the mesh it seems to really help that first layer, but running G29 at the start of each print takes too long. Especially when my bed is extremely solid and made of precision ally plate, it doesn't seem to move or change at all.

                          I'd just like to run the mesh occasionally via the "calibration and compensation" tab in the DWC, and have every print just use the latest mesh.

                          Problem is that it doesn't seem to store the mesh after being shut down, as if I start a new print and open "calibration and compensation", it says there's no mesh compensation in play.

                          I really just want to do the G29 if there's some sign of first layer issues, rather than at the start of each print.

                          How can I store the last mesh, and make each future print use it?

                          ; bed.g
                          ; called to perform automatic bed compensation via G32
                          ;
                          ; generated by RepRapFirmware Configuration Tool v2.1.2 on Thu Nov 21 2019 10:53:55 GMT+1100 (Australian Eastern Daylight Time)
                          M561 ; clear any bed transform
                          G29 ; probe the bed and enable compensation

                          sebkritikelundefined droftartsundefined 2 Replies Last reply Reply Quote 0
                          • sebkritikelundefined
                            sebkritikel @Corexy
                            last edited by

                            @Corexy said in Mesh Compensation:

                            I'd just like to run the mesh occasionally via the "calibration and compensation" tab in the DWC, and have every print just use the latest mesh.

                            Problem is that it doesn't seem to store the mesh after being shut down, as if I start a new print and open "calibration and compensation", it says there's no mesh compensation in play.

                            I really just want to do the G29 if there's some sign of first layer issues, rather than at the start of each print.

                            How can I store the last mesh, and make each future print use it?

                            I have G29 S1 at the end of both my homez.g and homeall.g. When I first power the machine on it says no compensation is in use, however if I were to start a print (start gcode calls for a homeall/homez) or press the home z or homeall buttons, the compensation file is loaded once complete.

                            Large(ish?) IDEX - 6HC, 1HCL
                            Stratasys Dimension 1200es to 6HC Conversion

                            1 Reply Last reply Reply Quote 1
                            • droftartsundefined
                              droftarts administrators @Corexy
                              last edited by

                              @Corexy Exactly as @sebkritikel says. As it says here: https://duet3d.dozuki.com/Wiki/Gcode?revisionid=HEAD#Section_G29_Mesh_bed_probe
                              G29 or G29 S0 - Probe the bed, save the height map in a file on the SD card, and activate bed compensation. The height map is stored in file is /sys/heightmap.csv.
                              G29 S1 - Load the height map from file and activate bed compensation. The default filename is as for S0 but a different filename an be specified using the P parameter.

                              Add it to any script AFTER Z has been zeroed. If you do it before, it will generate an error that the heightmap has been loaded without the Z datum being set.

                              Ian

                              Bed-slinger - Mini5+ WiFi/1LC | RRP Fisher v1 - D2 WiFi | Polargraph - D2 WiFi | TronXY X5S - 6HC/Roto | CNC router - 6HC | Tractus3D T1250 - D2 Eth

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