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

Still having problems with bed compensation with the dc42 probe

Scheduled Pinned Locked Moved
Tuning and tweaking
7
43
6.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.
  • undefined
    darookee
    last edited by 11 Jan 2017, 15:46

    A few days ago I wanted to print something bigger and noticed that it seemed that the bed compensation was not working anymore, because the filament was to squashed on one side and was coming loose on the other side. I thought everything worked, because everything is fine when printing smaller things (up to ~50x50, the buildplate is 200x200). So i started to investigate what might be wrong. So after fiddling with the rods and bed adjustment screws I got the bed quite level. Then I ran a test, the results can be found here http://imgur.com/a/GVPQ7.
    When adjusting everything I used a macro that used G30 to probe near the mounting screws of the bed to see if it would be level.

    Then, out of curiosity, I tried a probe with G29:

    I then alternated between my two macros and did the G29 two times and the G30 three times. After the third G30 macro I tried to print something, that is about 100mm wide:

    The left side is clearly too low, the right side too high. I removed the print and did another G30:

    And printed again (last picture in album).

    The bed is obviously not completely flat, but for this I thought the compensation would kick in.

    Another thing I wonder about is why the probe, using G29, is triggered sooner on the second probe point. The bed is a 5mm aluminium plate, completely flat, coated with PEI. Could this be a reflection issue? Another user on Facebook told me he had a similar problem (rocky mountains with G29) with his black painted PEI…

    1 Reply Last reply Reply Quote 0
    • undefined
      InSanity
      last edited by 11 Jan 2017, 15:56

      Are you doing just G29 or G29 S2 then G29 followed by G29 S1 , someone suggested this and it's been working for me.

      G29 S2 ;Clear map
      G29 ;probe grid and create new map
      G29 S1 ;load map for compensation

      Jeff

      Duet WiFi Powered FFCP with E3D legends hotend system. BLTouch grid leveling.

      1 Reply Last reply Reply Quote 0
      • undefined
        InSanity
        last edited by 11 Jan 2017, 15:59

        I'm going to toss in that I would love to see the grid definition accept the number of desired points and have the firmware figure out the best spacing.

        Jeff

        Duet WiFi Powered FFCP with E3D legends hotend system. BLTouch grid leveling.

        1 Reply Last reply Reply Quote 0
        • undefined
          darookee
          last edited by 1 Nov 2017, 16:04 11 Jan 2017, 16:03

          Sorry, the macros are in the imgur-album, but I'll post them here:

          G30:

          M561
          G28
          G30 P0 X0 Y10 Z-9999 H0
          G30 P1 X0 Y175 Z-9999 H0
          G30 P2 X195 Y175 Z-9999 H0
          G30 P3 X195 Y10 Z-9999 H0
          G30 P4 X100 Y100 Z-9999 S4
          G28

          G29:

          M557 X0:195 Y10:175 S50
          M561
          G28
          G29
          G28

          I added the M557 to be able to change it on the fly and repeat the tests under the same conditions everytime…

          Edit: And +1 for your idea! 😄

          1 Reply Last reply Reply Quote 0
          • undefined
            InSanity
            last edited by 11 Jan 2017, 16:14

            I so gave up on G30 and only use G29. Not sure what if anything harmful the G28 after the G29 could do. I'm a software engineer and I'm just too lazy to go look at the source code 🙂

            Jeff

            Duet WiFi Powered FFCP with E3D legends hotend system. BLTouch grid leveling.

            1 Reply Last reply Reply Quote 0
            • undefined
              darookee
              last edited by 11 Jan 2017, 16:26

              AFAIK G28 just executes homeall.g 😉

              G91
              G1 Z5 F200
              G1 X-240 Y-240 F3000 S1
              G1 X4 Y4 F600
              G1 X-10 Y-10 S1
              G90
              G1 X100 Y100 F2000
              G30

              And G30 should set Z to the triggerheight, but with taking the compensation into account…

              1 Reply Last reply Reply Quote 0
              • undefined
                InSanity
                last edited by 11 Jan 2017, 16:52

                @darookee:

                AFAIK G28 just executes homeall.g 😉

                G91
                G1 Z5 F200
                G1 X-240 Y-240 F3000 S1
                G1 X4 Y4 F600
                G1 X-10 Y-10 S1
                G90
                G1 X100 Y100 F2000
                G30

                And G30 should set Z to the triggerheight, but with taking the compensation into account…

                I just probe the center of the bed when I home the Z axis then G29 takes over for the rest of the bed. The delta world of course has a few more requirements.

                Jeff

                Duet WiFi Powered FFCP with E3D legends hotend system. BLTouch grid leveling.

                1 Reply Last reply Reply Quote 0
                • undefined
                  dc42 administrators
                  last edited by 11 Jan 2017, 17:43

                  Some comments on various things in this thread:

                  Another thing I wonder about is why the probe, using G29, is triggered sooner on the second probe point. The bed is a 5mm aluminium plate, completely flat, coated with PEI. Could this be a reflection issue?

                  Is it the Clever3D Dauerdruckplatte, or a sheet of aluminium with PEI glued to it? If it's aluminium with PEI glued to it, the problem is the strong and variable reflection from the adhesive holding the PEI to the aluminium (hence my recommendation to paint the back of the PEI black first). If it's the Dauerdruckplatte then I recommend the black version, although other versions may work too, especially with the new IR sensor with SMD optical components - but you may need to avoid the graticule markings.

                  G29 S2 ;Clear map
                  G29 ;probe grid and create new map
                  G29 S1 ;load map for compensation

                  G29 clears the height map, probes the bed, saves the resulting height map and activates it, So the G29 S2 and G29 S1 are not needed - but see my comment below on clearing the height map before homing Z.

                  I'm going to toss in that I would love to see the grid definition accept the number of desired points and have the firmware figure out the best spacing.

                  Added to the wish list.

                  And G30 should set Z to the triggerheight, but with taking the compensation into account…

                  I need to look at how G29 interacts with homing (including M208, G30 and G92) and G30. The problem is that in some cases, it is definitely necessary to take bed compensation into account. For now I recommend that you do the following, in this order

                  1. Clear bed compensation using M561
                  2. Home the printer
                  3. Run G29 to probe the bed, or G29 S1 to load an existing height map.

                  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
                  • undefined
                    InSanity
                    last edited by 11 Jan 2017, 17:59

                    @dc42:

                    1. Clear bed compensation using M561
                    2. Home the printer
                    3. Run G29 to probe the bed, or G29 S1 to load an existing height map.

                    Step #1, got it, been doing so, Step #2 got it, Step #3 I switched to the 3 step method as another member suggested it was needed. I'll switch back to just G29.

                    And thank you for adding my request to the wish list.

                    Jeff

                    Duet WiFi Powered FFCP with E3D legends hotend system. BLTouch grid leveling.

                    1 Reply Last reply Reply Quote 0
                    • undefined
                      darookee
                      last edited by 11 Jan 2017, 20:04

                      @dc42:

                      Is it the Clever3D Dauerdruckplatte, or a sheet of aluminium with PEI glued to it? … but you may need to avoid the graticule markings.

                      It's the Clever3D in black, but I'm not sure which markings you are refering to? Mine does not have any. 😕

                      @dc42:

                      1. Clear bed compensation using M561
                      2. Home the printer
                      3. Run G29 to probe the bed, or G29 S1 to load an existing height map.

                      I changed my test-macro to this and got this result:

                      But this still does not explain why it seems to compensate in the wrong direction. As I understand the three arrows in the UI are X0Y0? So it should compensate with going up on the left and down on the right, but either it does not do anything or it does the exact opposite. I just started my testprint again and watched closely, the Z axis does not seem to turn. I tried with the G30 compensation and with G29 (the one in the image above), both with the same result. Could it be that the compensation that is needed is too small, less than one step for the motors?

                      1 Reply Last reply Reply Quote 0
                      • undefined
                        InSanity
                        last edited by 11 Jan 2017, 20:13

                        @darookee:

                        But this still does not explain why it seems to compensate in the wrong direction. As I understand the three arrows in the UI are X0Y0? So it should compensate with going up on the left and down on the right, but either it does not do anything or it does the exact opposite. I just started my testprint again and watched closely, the Z axis does not seem to turn. I tried with the G30 compensation and with G29 (the one in the image above), both with the same result. Could it be that the compensation that is needed is too small, less than one step for the motors?

                        Interesting, I've seen this before and just didn't fully connect the dots. I've had the bed get tilted before and instead of the printer following the tilt it acted as if everything was tilted in the opposite direction and I end up with really squashed plastic. My bed normally sits like a pringle chip with both sides having about the same slope. I go out of my way to adjust the bed to maintain that balance because I've seen the effect your describing. It does act like it's flipped around.

                        Jeff

                        Duet WiFi Powered FFCP with E3D legends hotend system. BLTouch grid leveling.

                        1 Reply Last reply Reply Quote 0
                        • undefined
                          InSanity
                          last edited by 1 Nov 2017, 21:03 11 Jan 2017, 20:53

                          Stupid idea, but what if the math was inverted ? For a delta Z0 is on the bottom but for my printer Z0 is on the top. So adding an offset "might" just maybe be not taking this into account ?

                          Edit: Not sure how that makes any sense, perhaps the acetone fumes from trying to clean out my E3D hardened nozzle from a clog.

                          Jeff

                          Duet WiFi Powered FFCP with E3D legends hotend system. BLTouch grid leveling.

                          1 Reply Last reply Reply Quote 0
                          • undefined
                            dc42 administrators
                            last edited by 11 Jan 2017, 21:43

                            I test that the bed compensation is working and correcting in the right direction like this. Increase the dive height (M558 H parameter) to a larger value than normal e.g. 8mm so that bed probing can handle larger errors. Put an extra bed plate or a piece of thick card partially on top of the bed to create a raised area. Then probe. Be ready to move the extra bed plate or card if a head crash looks likely, in case the probe misses the raised area but some other part of the head doesn't. The height map should show where raised area is, and when you move the head in the XY plane it should rise it.

                            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
                            • undefined
                              InSanity
                              last edited by 11 Jan 2017, 22:01

                              @dc42:

                              I test that the bed compensation is working and correcting in the right direction like this. Increase the dive height (M558 H parameter) to a larger value than normal e.g. 8mm so that bed probing can handle larger errors. Put an extra bed plate or a piece of thick card partially on top of the bed to create a raised area. Then probe. Be ready to move the extra bed plate or card if a head crash looks likely, in case the probe misses the raised area but some other part of the head doesn't. The height map should show where raised area is, and when you move the head in the XY plane it should rise it.

                              Good idea, trying that now.

                              Jeff

                              Duet WiFi Powered FFCP with E3D legends hotend system. BLTouch grid leveling.

                              1 Reply Last reply Reply Quote 0
                              • undefined
                                InSanity
                                last edited by 1 Nov 2017, 22:53 11 Jan 2017, 22:28

                                Ok I put a piece of card stock on the right side of the bed, homed, hit auto bed compensation button, it hit 35 points and showed a nasty looking bed map. I then moved the carriage all the way left, lowered to 1.5 mm and then moved right , the print head skipped over the card stock as expected. I then changed the Y axis front to back and moved full bed, everything works.

                                Question, when it probes I'm about 15mm positive X on the probe and have the offsets all set with the G31 T1 command. Based on this does it apply the offset back to the nozzle position when it does Z height calcs as in does it artificially treat the probe points as if it was the nozzle itself probing ? I'm assuming so and it's not related to this "problem".

                                The problem at least for me on 1.17b doesn't appear to exist. I've experience the "problem" however being unable to produce it and seeing evidence all is well I have to chalk it up to random unrelated events.

                                Jeff

                                Duet WiFi Powered FFCP with E3D legends hotend system. BLTouch grid leveling.

                                1 Reply Last reply Reply Quote 0
                                • dc42undefined
                                  dc42 administrators
                                  last edited by 12 Jan 2017, 07:07

                                  Regarding the probe offset:

                                  1. In firmware 1.17 the coordinates you specify for probing are always the coordinates of the probe. The firmware will move the head taking account of the probe XY offset to place the probe at that point.

                                  2. When doing delta calibration, it is the effector position that matters. So the firmware assumes that the bed is flat and the height of the nozzle above the bed is the same as the height indicated by the probe.

                                  3. When doing bed compensation, the firmware assumes it is compensating for an uneven bed. So when it measures the bed height with the probe at a particular XY point, it assumes that is the amount of compensation required when the nozzle is moved to that point.

                                  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
                                  • darookeeundefined
                                    darookee
                                    last edited by 12 Jan 2017, 10:48

                                    I tried G29 with putting something in the way (a small printed thing, ~8mm high) and got this beautifull map:

                                    And it is definately doing the right thing. Here moving from X200 to X0:
                                    https://www.youtube.com/watch?v=uywAU4onu7I

                                    But the question still is - why does it squish so much when I'm printing? Could it be possible that it somehow gets deactivated while printing? Or, as I said earlier, that it thinks it is compensating, but the motor does not move such a small amount?

                                    1 Reply Last reply Reply Quote 0
                                    • darookeeundefined
                                      darookee
                                      last edited by 12 Jan 2017, 11:01

                                      So, after I've confirmed that the compensation works in general I probed the bed again

                                      And then tried my print

                                      And now I'm out of ideas again… Should I try this with the left side of the bed way lower than it currently is and see if compensation kicks in?

                                      1 Reply Last reply Reply Quote 0
                                      • dc42undefined
                                        dc42 administrators
                                        last edited by 12 Jan 2017, 13:55

                                        What does the print look like with no compensation applied?

                                        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
                                        • darookeeundefined
                                          darookee
                                          last edited by 12 Jan 2017, 14:31

                                          @dc42:

                                          What does the print look like with no compensation applied?

                                          Judging by the purge line on the front I'd say it's the same, but judging by the adhesion I'd say the nozzle is a bit higher on the right side than with compensation turned on…

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