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

    when will the new Z-height actually be saved?

    Scheduled Pinned Locked Moved
    General Discussion
    6
    45
    2.2k
    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.
    • Phaedruxundefined
      Phaedrux Moderator @holco62
      last edited by

      @holco62 said in when will the new Z-height actually be saved?:

      is there a way to bring up the temps first?

      You could add a bed heat up command to the start of your bed.g. something like.

      M140 S60 ; set bed to 60 and continue
      G28 ; home towers
      M116 ; for for tempts to be reached
      G30.... etc ; probe for calibration

      Z-Bot CoreXY Build | Thingiverse Profile

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

        @holco62 said in when will the new Z-height actually be saved?:

        ...is there a way to bring up the temps first?

        Short answer - yes - @Phaedrux has shown a simple approach.

        Long answer - there are several different ways to do all that is needed to start a print.

        For example, instead of putting everything in bed.g you leave just the essential commands there (the commands you already have) and put everything else (setting temps, waiting for temps, etc) in start.g including the G32 to invoke bed.g.

        As you become more comfortable with the firmware there are lots of things possible.

        I'm including my equivalent of "start.g" just to give you an idea of the possibilities BUT I am NOT suggesting that you try to adopt anything I have done at this time.

        There are lots of extra ; characters there that I added because {1} appeared at the start of empty lines when I pasted the code

        ; select tool and configure based on filament selected
        
        T0							; select tool 0 so extruder commands below will work
        M703							; configure selected filament (sets bed/extruder temps, extrusion multiplier)
        
        ; check for selected filament
        
        if move.extruders[0].filament = ""
          M291 R"No Filament Selected" P"Cannot Continue" S2 T0
          abort
        
        ; check bed heater active temp setting
        
        if heat.heaters[0].active = 0 
          M291 R"Bed Heater Active Temp = 0" P"Cannot Continue" S2 T0
          abort
        
        ; check extruder heater active temp setting
        
        if heat.heaters[1].active = 0 
          M291 R"Extruder Heater Active Temp = 0" P"Cannot Continue S2 T0
          abort
        ;
        ; check if homed - allows homing (OK button) or canceling (CLOSE button)
        ;
        if !move.axes[0].homed || !move.axes[1].homed || !move.axes[2].homed
          M291 R"Printer has not been homed" P"Home and Continue?" S3 T0
          G28
        ;
        ; setup to print
        ;
        M291 R"Preparing to print" P"Please wait..." T0
        ;
        M106 P2 S255					; lights on
        M106 P3 S255					; lights on
        M106 P4 S255					; lights on
        ;
        G90						; absolute moves
        G1 Z100     F1200				; position for cleaning
        G1 X0 Y-145 F6000				; position for cleaning
        ;
        M291 R"Heating Extruder/Bed" P"Please wait..." T0
        ;
        M116							; wait for temps to reach set points
        ;
        M291 R"Priming Extruder" P"Please wait..." T0
        ;
        G92 E0							; reset the extruder logical position
        M83							; extruder relative mode
        G1  E10 F120					        ; prime the extruder
        M400							; wait for extruding to finish
        G92 E0							; reset the extruder logical position
        ;
        M98 P"beep_alert_1.g"                                   ; beep paneldue
        ;
        M291 R"Clean Nozzle and Bed" P"Click OK to begin printing" S3 T0
        ;
        M98 P"mesh_comp_map_load.g"		                ; load height map as needed
        ;
        M118 L0 P4 S"FT5|Print begun"
        

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

        holco62undefined 1 Reply Last reply Reply Quote 2
        • holco62undefined
          holco62 @fcwilt
          last edited by

          @fcwilt said in when will the new Z-height actually be saved?:

          @holco62 said in when will the new Z-height actually be saved?:

          ...is there a way to bring up the temps first?

          Short answer - yes - @Phaedrux has shown a simple approach.

          Long answer - there are several different ways to do all that is needed to start a print.

          For example, instead of putting everything in bed.g you leave just the essential commands there (the commands you already have) and put everything else (setting temps, waiting for temps, etc) in start.g including the G32 to invoke bed.g.

          As you become more comfortable with the firmware there are lots of things possible.

          I'm including my equivalent of "start.g" just to give you an idea of the possibilities BUT I am NOT suggesting that you try to adopt anything I have done at this time.

          There are lots of extra ; characters there that I added because {1} appeared at the start of empty lines when I pasted the code

          ; select tool and configure based on filament selected
          
          T0							; select tool 0 so extruder commands below will work
          M703							; configure selected filament (sets bed/extruder temps, extrusion multiplier)
          
          ; check for selected filament
          
          if move.extruders[0].filament = ""
            M291 R"No Filament Selected" P"Cannot Continue" S2 T0
            abort
          
          ; check bed heater active temp setting
          
          if heat.heaters[0].active = 0 
            M291 R"Bed Heater Active Temp = 0" P"Cannot Continue" S2 T0
            abort
          
          ; check extruder heater active temp setting
          
          if heat.heaters[1].active = 0 
            M291 R"Extruder Heater Active Temp = 0" P"Cannot Continue S2 T0
            abort
          ;
          ; check if homed - allows homing (OK button) or canceling (CLOSE button)
          ;
          if !move.axes[0].homed || !move.axes[1].homed || !move.axes[2].homed
            M291 R"Printer has not been homed" P"Home and Continue?" S3 T0
            G28
          ;
          ; setup to print
          ;
          M291 R"Preparing to print" P"Please wait..." T0
          ;
          M106 P2 S255					; lights on
          M106 P3 S255					; lights on
          M106 P4 S255					; lights on
          ;
          G90						; absolute moves
          G1 Z100     F1200				; position for cleaning
          G1 X0 Y-145 F6000				; position for cleaning
          ;
          M291 R"Heating Extruder/Bed" P"Please wait..." T0
          ;
          M116							; wait for temps to reach set points
          ;
          M291 R"Priming Extruder" P"Please wait..." T0
          ;
          G92 E0							; reset the extruder logical position
          M83							; extruder relative mode
          G1  E10 F120					        ; prime the extruder
          M400							; wait for extruding to finish
          G92 E0							; reset the extruder logical position
          ;
          M98 P"beep_alert_1.g"                                   ; beep paneldue
          ;
          M291 R"Clean Nozzle and Bed" P"Click OK to begin printing" S3 T0
          ;
          M98 P"mesh_comp_map_load.g"		                ; load height map as needed
          ;
          M118 L0 P4 S"FT5|Print begun"
          

          Thanks, I'll see if I can put something together myself.

          1 Reply Last reply Reply Quote 0
          • holco62undefined
            holco62
            last edited by Phaedrux

            I've tried

            M109 ; Set Extruder Temperature and Wait

            M116 ; Wait for tools

            in the start.g file with as last line

            G32 ; call bed.g

            but when I issue a print command generated by Cura the printer directly starts with G32 and after calibration the bed starts to warm up.

            What am I doing wrong?

            https://picturepush.com/public/16329875

            https://www1.picturepush.com/photo/a/16329875/1024/3D-printers/start-g.png

            Phaedruxundefined 1 Reply Last reply Reply Quote 0
            • holco62undefined
              holco62
              last edited by

              This post is deleted!
              1 Reply Last reply Reply Quote 0
              • Phaedruxundefined
                Phaedrux Moderator @holco62
                last edited by Phaedrux

                @holco62 said in when will the new Z-height actually be saved?:

                M109 ; Set Extruder Temperature and Wait

                Have you set a temperature? M109 by itself does nothing. See here for how you would use M109

                https://duet3d.dozuki.com/Wiki/Gcode?revisionid=HEAD#Section_M109_Set_Extruder_Temperature_and_Wait

                Z-Bot CoreXY Build | Thingiverse Profile

                holco62undefined 1 Reply Last reply Reply Quote 0
                • holco62undefined
                  holco62 @Phaedrux
                  last edited by

                  @Phaedrux
                  Ok, I was under the impression that the Cura slicer controls the temp

                  1 Reply Last reply Reply Quote 0
                  • Phaedruxundefined
                    Phaedrux Moderator
                    last edited by

                    It does, but in start.g Cura has no input yet. Cura can't control anything until the print gcode starts.

                    Start.g happens before any slicer code. You can use it for preparing the printer to receive the print gcode.

                    Heat up, home all, leveling, etc. Then Cura will take over, set the final print temperatures as you've set in the slicer.

                    Z-Bot CoreXY Build | Thingiverse Profile

                    1 Reply Last reply Reply Quote 0
                    • holco62undefined
                      holco62
                      last edited by

                      Ok it starts to get a bit clearer (very small bit 😏 )

                      Btw, how can I prevent the printer from homing after G32?

                      I would like to have this sequence,

                      First manually set bed temp / hotend temp in Duet control

                      Load print command> homing axes> G32> start printing, so no homing after G32.

                      fcwiltundefined holco62undefined 2 Replies Last reply Reply Quote 0
                      • Phaedruxundefined
                        Phaedrux Moderator
                        last edited by

                        Post your Cura start gcode. That's where it would be defined.

                        Technically you don't need to use start.g at all. You could do it all in Cura.

                        M116; Wait
                        G28 ; home printer
                        G32 ; bed.g for leveling

                        Or just use Start.g to preheat. Since it's a progression you can split it up however it makes sense. If you want you can even call a macro file in your slicer start gcode section.

                        Z-Bot CoreXY Build | Thingiverse Profile

                        holco62undefined 1 Reply Last reply Reply Quote 1
                        • fcwiltundefined
                          fcwilt @holco62
                          last edited by

                          @holco62 said in when will the new Z-height actually be saved?:

                          Ok it starts to get a bit clearer (very small bit 😏 )

                          Btw, how can I prevent the printer from homing after G32?

                          As mentioned start.g executes before any code from the slicer.

                          There are places in the slicer where you can insert you own code which is usually executed shortly after the first slicer generated code. Exactly when depends on the slicer and the slicer settings used.

                          I use S3D and it generates the following code just BEFORE inserting code that I might enter into the slicer. What is shown assumes the temp settings are 60 and 190.

                          G90                      ; absolute XYZ moves
                          M83                      ; relative E moves
                          M106 S0                  ; fan off
                          M140 S60                 ; bed temp to 60
                          M104 S190 T0             ; extruder temp to 190
                          ; my code would appear at this point
                          

                          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
                          • holco62undefined
                            holco62 @holco62
                            last edited by

                            @holco62 said in when will the new Z-height actually be saved?:

                            Ok it starts to get a bit clearer (very small bit 😏 )

                            Btw, how can I prevent the printer from homing after G32?

                            I would like to have this sequence,

                            First manually set bed temp / hotend temp in Duet control

                            Load print command> homing axes> G32> start printing, so no homing after G32.

                            Removed the start.g file and added G32 in the Cura exstruder start-g code, everything now works exactly as I want 😎

                            1 Reply Last reply Reply Quote 1
                            • holco62undefined
                              holco62 @Phaedrux
                              last edited by

                              @Phaedrux said in when will the new Z-height actually be saved?:

                              Post your Cura start gcode. That's where it would be defined.

                              Technically you don't need to use start.g at all. You could do it all in Cura.

                              M116; Wait
                              G28 ; home printer
                              G32 ; bed.g for leveling

                              Or just use Start.g to preheat. Since it's a progression you can split it up however it makes sense. If you want you can even call a macro file in your slicer start gcode section.

                              Sorry for quotting myself yesterday 😊 I was supposed to quote you in my penultimate post, but better late than never, you nailed it again so thank you 👍

                              1 Reply Last reply Reply Quote 0
                              • holco62undefined
                                holco62
                                last edited by

                                G32 works well in Cura (Extruder Start Gcode), but with the start of a print when all temps have been reached the effector first slowly approaches the bed, just before the nozzle hits the bed, it's homing and then starts the G32 calibration and goes printing.

                                Is there any way to skip that initial slowly going to the bed?

                                I am also curious if other changes / settings are needed with regard to Cura 4.8 which I have now set as a standard Anycubic Predator, especially stringing (PLA) gives me a hard time to get it right with a Mosquito hotend.

                                I shot a short video of it

                                https://youtu.be/cFRNCrjWwww

                                Phaedruxundefined 1 Reply Last reply Reply Quote 0
                                • Phaedruxundefined
                                  Phaedrux Moderator
                                  last edited by

                                  Everything it does at the start of the print is dictated by the slicer start gcode. Can you copy and paste the first 50 lines or so of a slicer gcode file? Also include your current homedelta, bed.g and config.g so we can see exactly what's going on and can tell you what needs to change.

                                  Z-Bot CoreXY Build | Thingiverse Profile

                                  1 Reply Last reply Reply Quote 0
                                  • holco62undefined
                                    holco62
                                    last edited by

                                    Cura doesn't let me copy the start G-code, so I took 2 pictures

                                    Start G-code-1.png

                                    Start G-code-2.png

                                    I'll post the rest in a moment

                                    1 Reply Last reply Reply Quote 0
                                    • holco62undefined
                                      holco62
                                      last edited by

                                      homedelta (1).g bed (1).g config (1).g

                                      1 Reply Last reply Reply Quote 0
                                      • Phaedruxundefined
                                        Phaedrux Moderator @holco62
                                        last edited by

                                        @holco62 said in when will the new Z-height actually be saved?:

                                        (Extruder Start Gcode),

                                        So I don't see G32 in your start gcode, but you say you have it in the Extruder start gcode section? Why there? What else do you have there?

                                        The reason for the double homing is that you have G28 at the beginning of your bed.g file.

                                        Can you post the first 50 lines of a sliced gcode file so I can see what the slicer is actually outputting?

                                        Z-Bot CoreXY Build | Thingiverse Profile

                                        1 Reply Last reply Reply Quote 0
                                        • holco62undefined
                                          holco62
                                          last edited by

                                          four_square_retrac.8mm.gcode

                                          1 Reply Last reply Reply Quote 0
                                          • holco62undefined
                                            holco62
                                            last edited by

                                            The G32 is in the Extruder Start G-code.

                                            Extruder Start G-code.png

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