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

    Bed compensation test?

    Scheduled Pinned Locked Moved
    Tuning and tweaking
    5
    23
    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.
    • FelixHundefined
      FelixH
      last edited by

      Hi all,

      Yesterday I sent a gcode to print to my tornado-Duet system. I have an IR sensor as a probe and I use the bed compensation on my initial gcode. The first layer was so nice, I had to share it with some buddies over whatsapp... Ultimately the print fail and today I woke up to a mess of hairy plastic. The piece was somehow pushed off the pinter although my surface is quite adherent.
      This afternoon, I cleaned the mess, the bed, cleaned the nozzle (outer side) and I sent the piece again to print... First layer fail. I tried to calculate the Z trigger distance again and the value I got wasn't much different as the one I already had. I run the bed compensation again and again, it failed. Watching closely, I saw how on some parts of the bed the nozzle was too high. I watched the Z-motors and I saw no indication of them moving to compensate for irregularities...

      Some questions:

      -what could have caused the system to miserably fail from one day to the next?

      • How can I be sure that the printer is compensation for bed irregularities?

      I'm sure some will think that precisely the surface the piece is to blame, but the piece was exactly on the same place as yesterday, when the piece started magnificent...

      Anyhow, I'm looking forward for a constructive chat

      Thanks

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

        Can you post an image of your heightmap?
        What is the bed surface?

        Z-Bot CoreXY Build | Thingiverse Profile

        FelixHundefined 1 Reply Last reply Reply Quote 0
        • FelixHundefined
          FelixH @Phaedrux
          last edited by

          @phaedrux said in Bed compensation test?:

          Can you post an image of your heightmap?
          What is the bed surface?

          The surface I'm using is a GFK, glass fiber. I add a coat of Plastik 70, which I found to be the best thing to help adhesion. Much better that specific products, actually.

          0_1552677448807_Screenshot_2019-03-15 Tevo Tornado.png The

          1 Reply Last reply Reply Quote 0
          • FelixHundefined
            FelixH
            last edited by

            Well, today I put some time into it. I checked that the bed was structure-wise as level as it could be and I recalibrated everything from zero. I don't know why but the Z-trigger distance has changed from 1.48 to 1.25. I checked it twice. I followed the instructions laid here to calibrate the Z-trigger height and save it into the firmware. When calibrating, the nozzle grips a piece of paper as indicated... However, when I send a Benchy to test, the nozzle is way to high. I used babystepping to sink the nozzle down and I had to up as low as -0.50 I stopped the print and I modified the gcode to incorporate the following line:

            G31 Z1.70 ;adjust Z-trigger 1.25+0.45

            Now the printer is delivering a Benchy as the plastic once again hits the surface. I looked very closely and I see the Z motors moving a bit to compensate, so that part of the problem seems to be sorted out.

            The question remains... why I cannot get the first layer to stick? Why do I have to use a workaround.

            Just a couple of days ago the first layer was perfectly without any babystepping or anything else...

            BTW the initial Gcode of my prints is the following:

            G28 ; home all axes
            G29 S1 ;use mesh grid to compensate
            G1 Z5 F5000; Lift Nozzle

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

              It's not unusual to have to make a small adjustment to the trigger height using baby stepping. Some of this can be explained by the fact that when starting the print both the bed and the hotend are at temperature and have expanded slightly. So if you didn't have your bed and nozzle at printing temp when measuring the trigger height it would be a little off.

              There's also the fact that probes aren't 100% reliable and repeatable. You can mitigate for this a bit by using some of the additional parameters for M558.

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

              Rnnn Z probe recovery time after triggering, default zero (seconds) (RepRapFirmware 1.17 and later)
              Annn Maximum number of times to probe each point, default 1
              Snnn Tolerance when probing multiple times, default 0.03mm
              Bn If 1, turn off bed heater while probing, default (B0) leaves heater on. (RepRapFirmware 1.21 and later)

              M558 P9 H3 F100 T6000 A10 R0.5 S0.003 B1

              A10 means that it will probe twice, and if the results of the two probes aren't within the S0.003 value, it will probe again until at least two consecutive values are. So you can make the probe results more or less strict by adjusting the S value. This can lead to up to 10 probe attempts as denoted by A10. This can add time, but it's not much. If after 10 probes it hasn't got a match, it will take the average.

              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.

              R introduces a brief pause to allow the printer to settle which can help accuracy.

              B can disable the heaters during probe moves to eliminate electrical interference.

              When measuring the trigger height I take 10 readings and use the median or average value, whichever looks the most stable. Then a test print to see how it went, and baby stepping to fine tune it. And the baby stepped value worked back into the G31 Z trigger height value.

              Z-Bot CoreXY Build | Thingiverse Profile

              thweundefined 1 Reply Last reply Reply Quote 0
              • thweundefined
                thwe @Phaedrux
                last edited by

                @phaedrux said in Bed compensation test?:

                M558 P9 H3 F100 T6000 A10 R0.5 S0.003 B1

                Are 0.003 not too low?
                I ask, beacuse the default is 0.03 in the doku

                Thomas

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

                  @thwe it can be as high or as low as you need it to be. If it is set too low you'll end up probing the max of the A value every time. In my case, usually it probes twice, but occasionally it will probe 3 or 4 times. So for my BLTouch 0.003 seems to be alright. For me, 0.03 was too forgiving since my probe results could vary each time.

                  Z-Bot CoreXY Build | Thingiverse Profile

                  thweundefined 1 Reply Last reply Reply Quote 1
                  • thweundefined
                    thwe @Phaedrux
                    last edited by

                    @phaedrux said in Bed compensation test?:

                    it can be as high or as low as you need it to be. If it is set too low you'll end up probing the max of the A value every time. In my case, usually it probes twice, but occasionally it will probe 3 or 4 times. So for my BLTouch 0.003 seems to be alright. For me, 0.03 was too forgiving since my probe results could vary each time

                    ah, thanks for the tip. at the moment I have S0.01, I will play with smaller values 👍

                    Thomas

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

                      @thwe I assume that it maxes out at three significant digits as that's the resolution reported by the G30 S-1, but I'm not certain.

                      Z-Bot CoreXY Build | Thingiverse Profile

                      1 Reply Last reply Reply Quote 0
                      • FelixHundefined
                        FelixH
                        last edited by

                        Holly Molly @Phaedrux thanks a lot for your comprehensible answer and the time you took...

                        Both nozzle and bed were at working temperature when measuring the Z-trigger height, but the sensor can have obviously systematic errors nonetheless. I will try to adjust those parameters.

                        I was aware that the probes are not 100% precise ore repeatable, but I thought 0.5 mm of error with babystepping was way too much, isn't it?

                        I'll report back asap...

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

                          @FelixH, how do you home Z? If you are homing Z using the IR sensor, where on the bed do you do that? The centre of the bed is usually best. It's a good idea to use a point that is also one of the points on the mesh used for bed 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
                          • FelixHundefined
                            FelixH
                            last edited by

                            @dc42 I modified the corresponding .h file (I don´t remember which one it is) so that the Z homing takes place on the center of the bed.

                            Yesterday I was able to print a Benchy again. But after following all the indications, I still had to put the nozzle down with babystepping by 0.300 mm

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

                              @felixh said in Bed compensation test?:

                              @dc42 I modified the corresponding .h file (I don´t remember which one it is) so that the Z homing takes place on the center of the bed.

                              Yesterday I was able to print a Benchy again. But after following all the indications, I still had to put the nozzle down with babystepping by 0.300 mm

                              If you home Z and then send G1 X0 Y0 Z0 with no babystepping active, does it put the nozzle right on the bed surface?

                              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

                              FelixHundefined 1 Reply Last reply Reply Quote 0
                              • Hornetriderundefined
                                Hornetrider
                                last edited by

                                @FelixH

                                HI
                                please check your system folder if a "resurrect" file is there. Delete and try again to print...

                                Cheers

                                1 Reply Last reply Reply Quote 0
                                • FelixHundefined
                                  FelixH @dc42
                                  last edited by

                                  @dc42 said in Bed compensation test?:

                                  G1 X0 Y0 Z0

                                  If I do a homing on X150 Y150, followed by a G1 Z0, the nozzle lands at a height of 0.15mm. When I send a G1 X0 Y0 Z0, it lands at 0.30mm from the bed. I´m using feeler gauges (I think they are called that).

                                  @Hornetrider there is no "resurrect" folder...

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

                                    @felixh said in Bed compensation test?:

                                    If I do a homing on X150 Y150, followed by a G1 Z0, the nozzle lands at a height of 0.15mm.

                                    That indicates that your G31 Z parameter is not right. It should land at 0mm.

                                    When I send a G1 X0 Y0 Z0, it lands at 0.30mm from the bed. I´m using feeler gauges (I think they are called that).

                                    Did you definitely load a height map before that, either by running G29 S0 to probe again, or G29 S1 to load the existing height map?

                                    You mentioned Z motors (plural). Are you taking steps to correct them if they get out of sync?

                                    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

                                    FelixHundefined 2 Replies Last reply Reply Quote 0
                                    • FelixHundefined
                                      FelixH @dc42
                                      last edited by

                                      @dc42 said in Bed compensation test?:

                                      @felixh said in Bed compensation test?:

                                      If I do a homing on X150 Y150, followed by a G1 Z0, the nozzle lands at a height of 0.15mm.

                                      That indicates that your G31 Z parameter is not right. It should land at 0mm.

                                      When I send a G1 X0 Y0 Z0, it lands at 0.30mm from the bed. I´m using feeler gauges (I think they are called that).

                                      Did you definitely load a height map before that, either by running G29 S0 to probe again, or G29 S1 to load the existing height map?

                                      You mentioned Z motors (plural). Are you taking steps to correct them if they get out of sync?

                                      I did not load the map before doing the test. I will try again.
                                      I check both sides of the x axis to check they are at the same height. Perfection is difficult, but they are in the range of 0.05mm max

                                      1 Reply Last reply Reply Quote 0
                                      • FelixHundefined
                                        FelixH @dc42
                                        last edited by

                                        @dc42 Loading the bed map, homing Z and going to Z0 leaves the nozzle touching the surface. On X0 Y0 Z0 leaves the nozzle 0.20mm above the surface

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

                                          @felixh said in Bed compensation test?:

                                          @dc42 Loading the bed map, homing Z and going to Z0 leaves the nozzle touching the surface. On X0 Y0 Z0 leaves the nozzle 0.20mm above the surface

                                          Three possibilities:

                                          1. Height map is not being used because loading it failed. Run m122 and look for "Bed compensation in use:".

                                          2. Height map is wrong because something has moved. Try running bed probing again, then do the same test.

                                          3. Height map is inaccurate because the IR sensor doesn't work well with your bed surface. Try measuring the sensor trigger height at various points and see how consistent it is.

                                          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
                                          • FelixHundefined
                                            FelixH
                                            last edited by

                                            will do, and report back

                                            Thanks

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