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

    G29 on CoreXY does not move correctly

    Scheduled Pinned Locked Moved Solved
    General Discussion
    3
    50
    2.1k
    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.
    • TechButterflyundefined
      TechButterfly @fcwilt
      last edited by

      @fcwilt Thanks! Makes sense the way you do it with the start and end files. I have mostly used prusaslicer for the last several years, but I do have a simplify3d license and also have Cura installed, so making the printer as slicer-agnostic as possible makes sense.

      I am not afraid of more advanced stuff - could you explain more about the filament handling?

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

        @techbutterfly said in G29 on CoreXY does not move correctly:

        @fcwilt Thanks! Makes sense the way you do it with the start and end files. I have mostly used prusaslicer for the last several years, but I do have a simplify3d license and also have Cura installed, so making the printer as slicer-agnostic as possible makes sense.

        I am not afraid of more advanced stuff - could you explain more about the filament handling?

        The DWC implements a basic filament handling system for dealing with different types of filaments. Each filament you add to the system creates three files specific to that filament:

        • load.g
        • unload.g
        • config.g

        Here is an entry on my printer for Amazon Gray PLA. I make entries for different colors because I have found that sometimes they needed different settings.

        Filament Files.png

        Here is an example of one of the filament specific config.g files:

        M221 S100 D0                       ; set extrusion multiplier
        M568 P0 S190 R60 A2                ; set extruder temps
        M140 S60 30                        ; set bed temps
        
        set global.print_beg_prime   =  10 ;
        set global.print_beg_retract = 0.5 ;
        set global.print_end_retract = 0.5 ;
        

        Here is an example of one of the filament specific unload.g files:

        M221 D0 S100	; reset extrusion multiplier
        M568 P0 A0      ; turn off extruder
        M140 S-299      ; turn off bed heater
        

        If you load a filament from the DWC both the filament specific load.g and config.g are executed.

        There is a also a command M703 which executes the filament specific config.g file.

        In my print start code there is a T0 to select the starting tool and a M703 to invoke the filament specific config.g file.

        You with me so far?

        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
        • TechButterflyundefined
          TechButterfly
          last edited by

          Yes, I follow. I was also just reading about filaments on the dozuki wiki. Does the selected filament remain loaded even when the machine is rebooted?

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

            @techbutterfly said in G29 on CoreXY does not move correctly:

            Yes, I follow. I was also just reading about filaments on the dozuki wiki. Does the selected filament remain loaded even when the machine is rebooted?

            Physically yes but after a re-boot everything returns to the default states which means no filament is loaded.

            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

            TechButterflyundefined 1 Reply Last reply Reply Quote 0
            • TechButterflyundefined
              TechButterfly @fcwilt
              last edited by

              @fcwilt If I set up to use the DWC filament handling, I’m guessing I will need to turn off some stuff in prusaslicer? For instance, I know it has setting for things like extrusion multiplier. How do you deal with that stuff?

              fcwiltundefined 2 Replies Last reply Reply Quote 0
              • fcwiltundefined
                fcwilt @TechButterfly
                last edited by

                @techbutterfly said in G29 on CoreXY does not move correctly:

                @fcwilt If I set up to use the DWC filament handling, I’m guessing I will need to turn off some stuff in prusaslicer? For instance, I know it has setting for things like extrusion multiplier. How do you deal with that stuff?

                I have that slicer installed but I don't use it.

                Let me look at it's settings tomorrow (May 19) and see what needs to be done.

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

                  @techbutterfly

                  OK I installed the most recent version of Prusa Slicer - 3.4.2

                  I selected the default item for print settings, filament settings, printer settings.

                  In the filament settings I set extruder temps to 0 (bed temps were already 0).

                  In the printer settings I added M98 P"print_begin.g" to the Start G-Code section

                  Here is the generated code at the beginning of the print file:

                  M107   ; fan off
                  
                  ;TYPE:Custom
                  ;;;G28         ; home all axes (this was from the printer "Start G-Code" section - I commented it out)
                  ;;;G1 Z5 F5000 ; lift nozzle   (this was from the printer "Start G-Code" section - I commented it out)
                  
                  M98 P"print_begin.g" ; this I added to the printer "Start G-Code" section
                  
                  G21    ; set units to millimeters
                  G90    ; use absolute coordinates
                  M82    ; use absolute distances for extrusion
                  G92 E0 ; set extruder logical position to 0
                  
                  ;;; Filament gcode (this was from the filament "Start G-Code" section - I commented it out)
                  
                  M107   ; fan off
                  

                  The two lines of code that proceeded the M98 were not needed so I commented them out but left them so you could see what the defaults did.

                  The four lines of code the follow the M98 are just fine and should not be a problem.

                  The two M107 command are just fine and should not be a problem.

                  So you should have no problem using my approach with Prusa.

                  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

                  TechButterflyundefined 1 Reply Last reply Reply Quote 0
                  • TechButterflyundefined
                    TechButterfly @fcwilt
                    last edited by TechButterfly

                    @fcwilt Thanks for looking into that. I have a couple more questions:

                    1. You mentioned that everything resets - including the “loaded” filament - when the machine is restarted. The examples I saw in the docs showed the gcode for physically loading the filament is in the load macro. When you restart and the filament is already loaded, how do you set the “loaded” filament without physically loading a filament? Please let me know if I didn’t describe that clearly enough.

                    2. What are the advantages of using this system over say, just having a collection of macros like LoadPLA.g, LoadPETG.g, Unload.g? Or perhaps HeatPLA, HeatPETG, Load.g, Unload.g?

                    Thanks!

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

                      @techbutterfly said in G29 on CoreXY does not move correctly:

                      1. You mentioned that everything resets - including the “loaded” filament - when the machine is restarted. The examples I saw in the docs showed the gcode for physically loading the filament is in the load macro. When you restart and the filament is already loaded, how do you set the “loaded” filament without physically loading a filament?

                      I have no code in any of my filament specific load.g files. When I select the new filament to use in the DWC it will execute the associated load.g file and the config.g file. But since the load.g file does nothing there is no problem. The heaters are activated which is good since I need to install the new filament.

                      If the old filament needs a significantly higher extruder temperature so it can be easily purged from the extruder I simply increase the temperature from the DWC. Once it is purged the temperature can be reduced if desired.

                      I physically load the filament by:

                      • moving to Z=100
                      • cutting the old filament just above the extruder
                      • dismount the old filament spool
                      • mount the new filament spool
                      • when the required extruder temp has been reached push the remaining bit of old filament down until it is even or a bit below the top of the extruder
                      • routing the new filament as needed place the end of the new filament so it can push down on the top of the remaining bit of old filament
                      • push the new filament by hand until it is far enough in so that the hob gear (or whatever) can engage it
                      • use the DWC command to feed the new filament as many times as needed to purge all the old filament from the extruder
                      1. What are the advantages of using this system over say, just having a collection of macros like LoadPLA.g, LoadPETG.g, Unload.g? Or perhaps HeatPLA, HeatPETG, Load.g,
                        Unload.g?

                      To me it means I simply select the desired filament from the DWC and all the settings I desire to be specific to that filament are set in the filament specific config.g file. Some settings are achieved by commands in the file such as setting bed and extruder temp. Others are achieved by setting global variables which are used in other places, such as my print start code, as parameters to commands.

                      The existing folder structure as created by the filament handling feature of the DWC keeps things nicely organized.

                      I have no idea if the filament handling feature is popular or not. I know that slicers usually have their own filament handling feature but, as I mentioned, from time to time I use different slicers and I want to keep as much code and settings as possible in the Duet and minimize having to duplicate stuff in each slicer.

                      I've used the system for a few years now and have found no reason to change. I have added to my system such as using global variables to change the behavior of commands in other code.

                      On person was asking about the slicer feature that allows one temperature for the first layer and another for the remaining layers. That sort of thing can easily be done within my system by the user of global variables and adding a bit of code to be executed on layer changes. Most slicers have a place for doing this and I put there M98 P"print_layer_change.g".

                      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

                      TechButterflyundefined 1 Reply Last reply Reply Quote 0
                      • TechButterflyundefined
                        TechButterfly @fcwilt
                        last edited by

                        @fcwilt Thanks again for the detailed explanations!

                        One more thing - do you use a filament runout sensor? I purchased the BTT one and I’m looking for how to set it up. I know that in standalone mode, I could just hook it up to an IO pin and there’s a setting specifically for this kind of pulsing sensor. But I’m set up in SBC mode, so I don’t know if the setup is the same. Do you have any insight on that?

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

                          @techbutterfly said in G29 on CoreXY does not move correctly:

                          @fcwilt Thanks again for the detailed explanations!

                          I certainly hope I don't end up confusing you.

                          One more thing - do you use a filament runout sensor? I purchased the BTT one and I’m looking for how to set it up. I know that in standalone mode, I could just hook it up to an IO pin and there’s a setting specifically for this kind of pulsing sensor. But I’m set up in SBC mode, so I don’t know if the setup is the same. Do you have any insight on that?

                          I have the E3D magnetic sensor but had some initial problems and put it on the back burner for now.

                          Currently I use a TriangleLads sensor which simply provides a go/no-go indication that filament is present or not.

                          I don't think using the SBC would change how you connect and configure a filament sensor.

                          I tried the SBC setup and it was interesting but development seemed to always be a step or two behind the standalone stuff so I put the SBC on the back burner as well.

                          I'm not a really good source for SBC advice so take anything I might post as possibly 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

                          TechButterflyundefined 1 Reply Last reply Reply Quote 0
                          • TechButterflyundefined
                            TechButterfly @fcwilt
                            last edited by

                            @fcwilt Okay. Thanks again for all your help getting my printer going. @Phaedrux too. I’ll open a new topic for the filament sensor stuff if I can’t find the answer with search.

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