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

Understanding bed levelling : G29 vs G32

Scheduled Pinned Locked Moved
Firmware installation
3
9
12.7k
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
    claustro
    last edited by 5 Sept 2017, 06:29 8 May 2017, 22:39

    I am still trying to understand the bed leveling procedure.

    Now what are the differences between G29 and G32 ?
    Which part of the configuration this 2 commands read?
    If I understand correctly the button in the web interface on "Machine Control " tab called "Auto bed compensation " run a G32 command .
    In my case this run a procedure of probing and at the end I can see the mesh grid map, so it seems to me that the G32 command run the bed.g commands, right?

    Now , with G29 command all seems to work the same except that the probel ( bltouc) doesn't deploy , so where I can add the deploy routine?

    In my other printer ,Marlin based ,I have a script that run G28 and G29 before all the printing , what script should I use for compensate bed in this case?

    Thank you for your patience

    My config.g part of bltouch
    [c];*** BLTouch
    M307 H3 A-1 C-1 D-1
    M558 P5 X0 Y0 Z1 H5 F200 T5000
    M574 E0 S0
    G31 P100 X0 Y-20 Z0.91 P1[/c]

    And my bed.g
    [c]G91
    G1 Z6 F200
    G90
    M98 Pdeployprobe.g
    G29 S2
    M557 X30:270 Y30:270 S60
    G29
    M98 Pretractprobe.g[/c]

    1 Reply Last reply Reply Quote 2
    • undefined
      dc42 administrators
      last edited by 10 May 2017, 04:31

      G32 just runs bed.g. In bed.g for a Cartesian printer you put one of two things:

      1. A sequence of 3, 4 or 5 G30 commands with coordinates. This is the old way of doing it. You are limited to just 5 points, and you can specify trigger height corrections for those points.

      2. A G29 command to do mesh leveling. You don't get to choose individual points (just the grid) and you can't specify trigger height corrections. But you can have a lot more points.

      Either way, if you use a deployable probe then you need to deploy it at the start and retract it at the end.

      Your bed.g file looks good to me, a!though you don't need the G29 S2 command because the height map is cleared at the start of the G29 probing command anyway.

      HTH David

      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
        claustro
        last edited by 10 May 2017, 06:25

        thank you very very much for your kind answer , as usual 🙂
        Excuse me but I am still mising some concept.
        the point I am missing is :
        If I understand correctly I can make mesh levelling in 2 way

        1. run G29
        2. run G32 with a bed.g containing a M557 command

        In my case if I run G32 , the probe deploy correctly and mesh levellingwill be completed without errors , while If I run G29 the probe miss the deploy even if the deploy command is present in the bed.g routine.
        Where the Duet read the mesh levelling info while running G29 command?

        Other question.
        I can't undestand how bed compensation is achieved during printing.
        What I undrestand is that the mesh levelling map is stored in the firmware , is this map checked every print if not cancelled?
        Do I have to make mesh levelling every print as I am doing on my marlin based printer?

        My start printing script should contain G32 only for bed levelling compensation to work ?

        Please be patient with my bad English and my dumb questions .
        Regards
        Andrea

        1 Reply Last reply Reply Quote 0
        • undefined
          dc42 administrators
          last edited by 10 May 2017, 16:44

          At present, G29 does not deploy and retract the probe. I may change this in a future release; but it is no big deal because you can wrap the G29 command in either bed.g or another macro file that deploys the probe, does G29, and retracts the probe.

          The height map generated when you run G29 is stored in a file on the SD card. The default filename is sys/heightmap.csv. If you don't want to probe each time you turn the printer on, you can use the existing height map by running G29 S1. This loads the height map from the file on the SD card.

          Once you have a height map stored in memory, it will be retained until you turn the printer off, or run G20 to probe again, or run G29 S1 to load a height map from file, or run G29 S2 or M561 to clear the height map, or perform old-style bed probing using G30 Pnnn commands.

          Most of this is covered at https://duet3d.com/wiki/Using_mesh_bed_compensation.

          HTH David

          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
            claustro
            last edited by 10 May 2017, 20:56

            Thank you for your answer ; i read the wiki many times but many basic concept is supposed as "already know " and not explained from the basics. I am reading the reprap site also and I am starting to understand.
            Please can you answer to the last question regarding this subject,
            If I want to use a fresh bed level for every print it is sufficient put G32 in the slicing software start script

            1 Reply Last reply Reply Quote 1
            • undefined
              dc42 administrators
              last edited by 10 May 2017, 21:39

              Yes you can use G32 in your slicer start gcode, with the bed.g file set up as you listed in your earlier post. Or use G29 S1 in your start script to load the most recent height map you generated.

              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
                digiex_chris
                last edited by 11 May 2017, 02:03

                Is it sane to use G29 S1 in config.g? I'd like it to load the heightmap when the machine is turned on, rather than in my start gcode, since I like to run the same print file on multiple machines.

                1 Reply Last reply Reply Quote 0
                • undefined
                  claustro
                  last edited by 11 May 2017, 06:05

                  Perfect now it seems clear thank you dc42!

                  1 Reply Last reply Reply Quote 0
                  • undefined
                    dc42 administrators
                    last edited by 11 May 2017, 08:40

                    @digiex_chris:

                    Is it sane to use G29 S1 in config.g? I'd like it to load the heightmap when the machine is turned on, rather than in my start gcode, since I like to run the same print file on multiple machines.

                    Yes that should be ok. Or you could put it at the end of homeall.g.

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