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

Bed compensation condition

Scheduled Pinned Locked Moved
Gcode meta commands
4
10
360
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
    Marco Bona
    last edited by Marco Bona 30 Aug 2020, 15:44

    Hello, I'm optimizing processes and wanted to figure out if it was possible to perform with conditional programming this step:
    if I start printing run G29 S0 instead if I start printing after the previous print (M0) load the map with G29 S1.

    Alternatively I should delete the file map at the end of the program manually, I think there is no possibility to delete it via gcode.
    I know that it may seem useless but in doing so I would avoid some repositioning errors due to the homing of the z-axis. Any help or advice is welcome.
    Thank you

    1 Reply Last reply Reply Quote 0
    • undefined
      fcwilt
      last edited by 30 Aug 2020, 16:54

      Unless you have some issues with your hardware you should not need to create your height map frequently.

      At the start of a print if you set the Z=0 datum using G30 and load the existing height map with G29 S1 things should work well.

      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

      undefined 1 Reply Last reply 30 Aug 2020, 19:22 Reply Quote 1
      • undefined
        Phaedrux Moderator @fcwilt
        last edited by 30 Aug 2020, 19:22

        @fcwilt said in Bed compensation condition:

        At the start of a print if you set the Z=0 datum using G30 and load the existing height map with G29 S1 things should work well.

        Provided you used G30 at the same point before creating the heightmap and your probe is reliably repeatable.

        Z-Bot CoreXY Build | Thingiverse Profile

        1 Reply Last reply Reply Quote 0
        • undefined
          Marco Bona
          last edited by 30 Aug 2020, 19:39

          @fcwilt, @Phaedrux thank you for the answers.
          So, I tried to make a lot of comparisons of the detected heights and noticed that in some cases I have differences of about 0.1mm. I can not quantify whether it is so much or little but when I start a new print I would like to start from the optimal conditions, instead, in my case, if I canceled last print I would avoid probing the points again because I don't bring the Z axis home.
          Now that I think it would be more logical to start printing after canceling the previous print without even probing or loading the last map, but I don't have much clear how to set instruction in start.g

          undefined 1 Reply Last reply 30 Aug 2020, 20:22 Reply Quote 0
          • undefined
            Marco Bona
            last edited by 30 Aug 2020, 19:50

            Just to give you an idea of what the code was like

            If M0-false
              G28
              G29 
              etc.
              etc.
            
            G1 X0 Y0 Z1 F5000
            

            I know it's wrong but it's to have an idea

            1 Reply Last reply Reply Quote 0
            • undefined
              fcwilt @Marco Bona
              last edited by 30 Aug 2020, 20:22

              @Marco-Bona said in Bed compensation condition:

              Now that I think it would be more logical to start printing after canceling the previous print without even probing or loading the last map...

              Why do you thing that is more logical?

              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
              • undefined
                Marco Bona
                last edited by 30 Aug 2020, 20:27

                @fcwilt, theoretically it should already be loaded

                undefined 1 Reply Last reply 30 Aug 2020, 20:54 Reply Quote 0
                • undefined
                  fcwilt @Marco Bona
                  last edited by 30 Aug 2020, 20:54

                  @Marco-Bona said in Bed compensation condition:

                  @fcwilt, theoretically it should already be loaded

                  Understood.

                  I have one macro that is called by the slicer at the start of the print.

                  • It starts the hotend and bed to heating
                  • It cancels baby-stepping and mesh compensation
                  • It homes the printer if needs be
                  • When the hotend is up to temp it primes the hotend
                  • A pause take place for cleaning the nozzle and bed
                  • The Z=0 datum is set using G30
                  • The existing height map is loaded using G29 S1

                  So it doesn't matter to me if it is a new print or a restart of a canceled print.

                  While it may not be the ultimate in efficiency what does it matter given that the actual printing consumes much more time than any other phase.

                  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
                  • undefined
                    Marco Bona
                    last edited by 31 Aug 2020, 19:49

                    @fcwilt, what your macro does is very similar to what I do at start printing, obviously I do not load the map but start the probing. Nowever I would like to add an additional condition, but I understand that it is not possible

                    1 Reply Last reply Reply Quote 0
                    • undefined
                      ofliduet
                      last edited by 1 Nov 2020, 20:15

                      I use this code in my homez.g to run automatic tramming (three motor bed) and mesh levelling only if the machine has been off or been reset:

                      if move.calibration.numFactors = 0  ; no bed levelling run yet
                      	G32
                      	M98 P"homing/unsafe-homez.g"
                      	G29
                      else
                      	M98 P"homing/unsafe-homez.g"
                      

                      with unsafe-homez.g containing

                      G1 X{move.axes[0].max/2} Y{move.axes[1].max/2} F15000    ; move to homing position 
                      M558 H10 ; careful when homing
                      G30      ; home precise with Z-probe
                      M558 H3  ; back to speed
                      
                      1 Reply Last reply Reply Quote 0
                      • First post
                        Last post
                      Unless otherwise noted, all forum content is licensed under CC-BY-SA