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.
    • fcwiltundefined
      fcwilt @johny
      last edited by

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

      set the M208 Z-1 but the outcome its the same 😞

      You did use the correct syntax - not just what you posted?

      What is the current setting in G31 for the Z Trigger Height?

      Thanks.

      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 said in G32 doesnt save after True Bed Leveling:

        I set the M208 Z-1

        My mistake. I've checked with @dc42, and this isn't necessary. Bed mesh compensation is applied after the limits have been checked, so the nozzle is capable of going below Z0 when bed mesh compensation is enabled.

        Are you sure bed mesh compensation was enabled? Was the first layer exactly as it was before?

        Have you confirmed with a straight edge that your bed is actually the same shape as the mesh is showing? It is still possible this is a measurement error of the Z probe; for example if the weight of the extruder is causing the X axis to deflect, and either bend in the middle or rotate around the X axis. That would also give a bed mesh of this shape, though it would be an extreme example.

        Perhaps you could post a picture of the X axis setup of your printer.

        Another option, though slightly tedious, is to do a manual bed mesh. Set the probe to type 0, and choose a 4x4 bed mesh, then run a new bed mesh (save the old one with a name first, with G29 S3 P"mesh_name.csv"). This will probe the bed, but for each point it will ask you to jog the nozzle down until it touches the bed (or grips a piece of paper). This should help confirm if the bed shape is the same or different from what the Z probe sees. Something like:

        M561            ; clear any bed transform
        G28             ; home as normal
        
        M558 K1 P0 H5 F300 T8000 ; create a new manual probe
        M557 X25:275 Y90:320 P4  ; define a 4x4 bed mesh
        
        G29 K1 S0  ; probe the bed with the manual probe and enable compensation 
        G28        ; home to adjust bed mesh to Z0
        

        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 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
                                            • First post
                                              Last post
                                            Unless otherwise noted, all forum content is licensed under CC-BY-SA