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

    G32 doesnt save after True Bed Leveling

    Scheduled Pinned Locked Moved
    General Discussion
    6
    63
    2.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.
    • johnyundefined
      johny @droftarts
      last edited by

      @droftarts Yes, he bed compensation is enabled with the M375 P"heightmap.csv"

      Is the superpinda correctly defined?
      M558 P5 C"^zprobe.in" H5 F300 T8000 A3 S0.03 ; set z probe to SuperPINDA\

      Maybe i need to get a glass and try it out, with glass or mirror the flatness must be perfect.

      droftartsundefined fcwiltundefined 2 Replies Last reply Reply Quote 0
      • droftartsundefined
        droftarts administrators @johny
        last edited by

        @johny As far as I can tell the SuperPinda configuration is correct.

        If the bed is not flat, the aluminium plate will pull the glass over it; the glass won't pull the aluminium flat.

        If you do the manual probe procedure I outlined above, it will show if the bed is warped, or if the problem lies somewhere else. It will only take 5-10 minutes.

        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

        johnyundefined 1 Reply Last reply Reply Quote 0
        • fcwiltundefined
          fcwilt @johny
          last edited by

          @johny

          If you ever want to verify that mesh compensation is actually doing something you can load this heightmap for testing:

          mesh_comp_test_heightmap.csv

          It's strictly for testing. It is a 9 point 200x200 map, with 0,0 at bed center, with the left most 3 points and the right most 3 points set to 0 with the middle 3 points set to 10. The greatly exaggerated values make Z axis motion very obvious as you move X from -100 to 100.

          mesh_comp_test_heightmap.jpg

          Frederick

          Printers: a small Utilmaker style, a small CoreXY and a E3D MS/TC setup. Various hotends. Using Duet 3 hardware running 3.4.6

          1 Reply Last reply Reply Quote 0
          • johnyundefined
            johny @droftarts
            last edited by johny

            @droftarts ![alt
            image.jpg
            image.jpg

            The picture of the axis
            Since i don't use mesh.g maybe its a good idea to try it?
            I tried to manually do the mesh but with G29 k1 but didn't find in the documentation how can i validate each position

            fcwiltundefined droftartsundefined 2 Replies Last reply Reply Quote 0
            • fcwiltundefined
              fcwilt @johny
              last edited by

              @johny

              As I think I mentioned G32 runs bed.g which is where you put the code to level the bed, either manually or automatically.

              And G29 runs mesh.g which is where you put the code to create the height map needed to use mesh bed compensation.

              It seems the config utility doesn't adhere to the intended use of these two files and may put the code that should be in mesh.g into bed.g as well.

              In any case you have been using G32 to do automatic bed leveling using the two Z steppers.

              But in the pictures I think I see thumb-screws. Are they for leveling the bed by hand?

              If that is the case you can use G32 to help with that.

              Let me know I can explain how.

              Frederick

              Printers: a small Utilmaker style, a small CoreXY and a E3D MS/TC setup. Various hotends. Using Duet 3 hardware running 3.4.6

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

                @johny said in G32 doesnt save after True Bed Leveling:

                I tried to manually do the mesh but with G29 k1 but didn't find in the documentation how can i validate each position

                Just use a piece of paper under the nozzle at each point. Move the Z down until it just grabs the paper. Click OK to move on to the next point.

                Is the green arrow where the SuperPINDA is installed on your X carriage? Which side of the linear rail is it on? It really looks like the whole carriage is very front heavy, and any deflection caused by this makes the probe measure a very different distance from the bed than the nozzle. I think that is more likely to be your problem. I also don't think your G31 X and Y probe offsets from the nozzle are correct; the probe is offset a long way in Y. It is much better to place your probe next to your nozzle in the X axis, so it has no Y offset, then it will move around the same as the nozzle.

                Screenshot 2023-12-07 at 00.32.55.jpg

                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
                • johnyundefined
                  johny
                  last edited by

                  @fcwilt said in G32 doesnt save after True Bed Leveling:

                  In any case you have been using G32 to do automatic bed leveling using the two Z steppers.

                  I don't have mesh.g can you share it please?

                  fcwiltundefined 1 Reply Last reply Reply Quote 0
                  • droftartsundefined
                    droftarts administrators @fcwilt
                    last edited by droftarts

                    @fcwilt said in G32 doesnt save after True Bed Leveling:

                    It seems the config utility doesn't adhere to the intended use of these two files and may put the code that should be in mesh.g into bed.g as well.

                    The config utility can't create an axis with multiple motors, so it can't produce a bed.g for independent levelling. So it creates a bed.g with the commands to do bed mesh levelling. I generally use bed.g for mesh levelling, and have macros for 2-point gantry levelling and 3-point manual bed levelling (using levelling screws, see https://docs.duet3d.com/en/User_manual/Connecting_hardware/Z_probe_manual_levelling). mesh.g was introduced with RRF 3.2. I've updated the Gcode page to make mesh.g a bit clearer: https://docs.duet3d.com/en/User_manual/Reference/Gcodes#meshg

                    @johny example mesh.g

                    M561               ; clear any bed transform
                    G28                ; home all
                    G29 S0             ; probe the bed and enable compensation
                    G1 X160 Y160 F6000 ; move to bed centre
                    G28 Z              ; home Z to set Z datum
                    

                    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

                    johnyundefined 1 Reply Last reply Reply Quote 0
                    • fcwiltundefined
                      fcwilt @johny
                      last edited by

                      @johny said in G32 doesnt save after True Bed Leveling:

                      I don't have mesh.g can you share it please?

                      I can provide an example mesh.g file for creating the height map used for Mesh Compensation, using G29.

                      The only thing "special" about bed.g and mesh.g is that there is the command G32 which runs bed.g and G29 which runs mesh.g (if it exists).

                      I recommend using them as intended which keeps the DWC interface "in sync" with your code.

                      DWC Compensation Menu.jpg

                      You could put the code for bed leveling or height map creation in any file at all - they simply won't be run using G32 or G29.

                      Would you like the example mesh.g file?

                      Frederick

                      Printers: a small Utilmaker style, a small CoreXY and a E3D MS/TC setup. Various hotends. Using Duet 3 hardware running 3.4.6

                      1 Reply Last reply Reply Quote 0
                      • johnyundefined
                        johny @droftarts
                        last edited by johny

                        @droftarts This mesh.g is a non-ending loop 😧
                        I am in a death end 😞
                        I don't know what to do next, get a new bed? the firmware should compensate the difference on a 130mm cube its not even on the entire bed, its on a small 130mm cube 💀
                        I still believe there is something wrong with software, its not hardware

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

                          @johny Ooops! Sorry, the line should be

                          G29 S0             ; probe the bed and enable compensation
                          

                          Not just G29, because

                          In RRF 3.2 and later, if G29 is commanded with no S parameter, then file sys/mesh.g is run if it exists.

                          If you emergency stop, you should be able to get control back, then change the macro

                          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
                          • droftartsundefined
                            droftarts administrators
                            last edited by

                            @johny Did you ever do a mesh by hand? You might believe it's software, but many, many users use bed mesh without problems. I think the problem is the distance the probe is from the nozzle, and they are measuring different things. Probably your bed is flatter than the probe is reporting. You didn't answer my question earlier about the position of the probe, or if you had checked the bed with a straight edge, like a ruler.

                            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

                            johnyundefined 1 Reply Last reply Reply Quote 1
                            • johnyundefined
                              johny @droftarts
                              last edited by

                              @droftarts
                              As i understood to make the mesh manually the nozzle will travel to the first position then it waits for me to jog the Z and then I should click somewhere or send some command right? i tried to look for this and didn't found.
                              I have 3D printers since 2011 and i followed the innovations closely. I have a Cartesian (duet) with BLtouch that works fine, i don't touch the bed for years.
                              Maybe I need to flash the duet again?

                              fcwiltundefined droftartsundefined 2 Replies Last reply Reply Quote 0
                              • fcwiltundefined
                                fcwilt @johny
                                last edited by

                                @johny

                                You have a Z probe and it seems to be working. No point in creating a height map by hand when you have a Z probe.

                                Refresh my memory - did you ever verify that the Z trigger height setting in the G31 was correct?

                                You won't get a good height map if that setting is wrong.

                                Frederick

                                Printers: a small Utilmaker style, a small CoreXY and a E3D MS/TC setup. Various hotends. Using Duet 3 hardware running 3.4.6

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

                                  @johny can you take a couple more pictures of your X carriage, ie from the side?
                                  Have you put a straight edge across your bed?

                                  Either the bed is warped, or there’s a difference between what the probe is measuring and how fat the nozzle is from the bed, dependant on the position on the axis.

                                  As I said earlier, for the manual bed probe, use a piece of paper under the nozzle at each point. Move the Z down until it just grabs the paper. Click OK to move on to the next point.

                                  @fcwilt you have missed the point. The probed bed mesh doesn’t match what the nozzle is doing. Getting a manual bed mesh, the comparing it to a probe bed mesh, should show what the difference is. I think the bed is very likely has less deviation than 0.65mm, and the problem is caused by the gantry twisting under the weight of the hotend. Because I think the probe is offset in the Y direction (though the config does not reflect this) it is mismeasuring the mesh.

                                  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

                                  fcwiltundefined johnyundefined 2 Replies Last reply Reply Quote 0
                                  • fcwiltundefined
                                    fcwilt @droftarts
                                    last edited by

                                    @droftarts

                                    I understand your point. I simply don't agree with your theory as to what is wrong.

                                    Getting past "operator error" can be tricky. 😇

                                    Frederick

                                    Printers: a small Utilmaker style, a small CoreXY and a E3D MS/TC setup. Various hotends. Using Duet 3 hardware running 3.4.6

                                    1 Reply Last reply Reply Quote 0
                                    • johnyundefined
                                      johny @droftarts
                                      last edited by

                                      @droftarts Sorry for the late reply, with the end of the year/vacations, etc I didn't have the proper time to reply and work on this printer problem. Bellow the pictures asked.
                                      The bed is warped (I used a light source below the ruler to see it better but the bed compensation should compensate for that no?)
                                      787b999a-50d9-49c4-8b2b-44880899c959-image.png
                                      3d398b13-5fb4-4960-9306-eaf47eb6d991-image.png
                                      4b298215-1d1b-41de-b32b-273c6ce55598-image.png
                                      d0ccabcf-cd7b-4b36-b61b-ddf87d1c5ad4-image.png
                                      8d803af3-b63d-462e-8247-4f8308883779-image.png
                                      5d255ccf-d1ca-4244-a6c2-26eec42c4390-image.png
                                      cdd400aa-4def-44cb-bc3a-843fbdd68232-image.png

                                      oliofundefined 1 Reply Last reply Reply Quote 0
                                      • oliofundefined
                                        oliof @johny
                                        last edited by

                                        @johny with the wrong Y offset of the probe, the compensation applied is wrong.

                                        An exaggerated example: If your Y offset is 40mm physically but you defined your Y offset as 0 in your config, the printer will compensate for what it measured 40mm away

                                        In addition, the further away the probe is from the nozzle, the higher the risk for imperfections in the carriage and probe mount skewing results further.

                                        The recommendations are

                                        a) verify and adjust your Y offset
                                        b) try to reduce the distance between nozzle and probe (verifying and adjusting probe offsets after)

                                        In addition, I recommend to have the Z probe location match a point of your axis alignment and a point of your bed mesh, so you have a physical fix point between the three measurements that should not be further out than your probe repeatability.

                                        <>RatRig V-Minion Fly Super5Pro RRF<> V-Core 3.1 IDEX k*****r <> RatRig V-Minion SKR 2 Marlin<>

                                        johnyundefined 1 Reply Last reply Reply Quote 0
                                        • johnyundefined
                                          johny @oliof
                                          last edited by

                                          @oliof so you saying that G31 has the wrong X and Y values?
                                          G31 P1000 X23 Y5 Z0.1

                                          oliofundefined 1 Reply Last reply Reply Quote 0
                                          • oliofundefined
                                            oliof @johny
                                            last edited by

                                            @johny I would guess that the center of the probe is rather 50mm away from the nozzle than 5mm in the Y direction guessing from the photo you posted. after all, you have a 20mm extrusion between the two, and both the Z probe and the nozzle stick out. So yeah, that's likely off by a lot.

                                            <>RatRig V-Minion Fly Super5Pro RRF<> V-Core 3.1 IDEX k*****r <> RatRig V-Minion SKR 2 Marlin<>

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