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

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

      in the 1 layer print the nozzle its already too close to the bed; i want to figure out why and how to solve it

      M558 P5 C"^zprobe.in" H5 F300 T8000 A3 S0.03              ; set z probe to SuperPINDA\\
      M557 X25:275 Y90:320 P15 ; probe from X= to , Y= to  with a mesh spacing of mm
      G31 P1000 X23 Y5 Z-3.55
      

      Check your G31 Z probe offset: https://docs.duet3d.com/en/User_manual/Connecting_hardware/Z_probe_testing#calibrate-the-z-probe-trigger-height
      Usually the G31 Z parameter is positive; a negative number means your probe is lower than the nozzle.

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

        @droftarts you are right the Z on G31 its 0.5 instead of -3.
        @fcwilt i am in Europe its a very expensive to buy from USA 😞
        The correct G31 is Z0.5

        Any other anything else I can try to have the calibrated mesh working? maybe start with a new bed?

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

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

          Any other anything else I can try to have the calibrated mesh working? maybe start with a new bed?

          Do you mean a new bed, or a new bed mesh? It is easy enough to create a new bed mesh, just make sure that you cancel any existing bed mesh before you create a new one.

          If you are homing Z in the centre, but it is printing too close at this point, then your Z height calibration isn't correct. Use baby-stepping during the print to get the height correct at this point; See https://docs.duet3d.com/en/User_manual/Connecting_hardware/Z_probe_testing#fine-tuning-the-trigger-height

          Fine tuning the trigger height
          After you've done the procedure above, you can fine tune your G31 Z value to get a good first layer. During a test print, watch the first layer go down and adjust the Z position using the baby stepping function. If you have to move the nozzle closer to the bed, increase the G31 Z value by the amount of baby stepping used. If you have to move the nozzle farther away from the bed, decrease the G31 Z value by the amount of baby stepping used.

          The bed mesh should then correct for the rest of the bed, assuming that:

          1. Your probe is actually accurately measuring and creating the bed mesh
          2. If the bed is below the Z0 point, that you can actually reach it, by setting M208 Z-1 (or whatever it needs to be set to), as I said earlier.

          Due to the shape of your bed, you're going to get parts that don't have a flat base if you print over the full area of the bed. RepRapFirmware tapers off the amount of bed mesh, reducing the effect over a number of layers until it is printing flat again. This is configurable with M376.

          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 2 Replies Last reply Reply Quote 0
          • fcwiltundefined
            fcwilt @johny
            last edited by

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

            i am in Europe its a very expensive to buy from USA 😞

            I would think that Europe would have the same sort of vendors selling CATP cut to size.

            Google may be able to find what you need.

            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 That the issue, the print is ok in the middle but not okay in the corners, adjusting the Z trigger won't solve that problem.

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

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

                That the issue, the print is ok in the middle but not okay in the corners, adjusting the Z trigger won't solve that problem.

                True but setting Zmin to -1 may.

                I've never had a bed shaped like yours (high in the middle) and with so much deviation. So I've never had to consider if Zmin = 0 was an issue. I need to test it.

                You can just set Zmin to -1 and see if it solves the problems at the corners.

                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

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

                  @fcwilt Will try that thank you sir

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

                    @droftarts I set the M208 Z-1 but the outcome its the same 😞
                    The only solution is to source a new bed?
                    Thank you

                    fcwiltundefined droftartsundefined 2 Replies Last reply Reply Quote 0
                    • 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
                                            • First post
                                              Last post
                                            Unless otherwise noted, all forum content is licensed under CC-BY-SA