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

    Filament Management - Duet 6HC

    Scheduled Pinned Locked Moved
    General Discussion
    5
    8
    298
    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.
    • Garfieldundefined
      Garfield
      last edited by Garfield

      Is there a 'feature' to permit changing out filament in mid print such as the one in Marlin ?

      I don't mean load and unload when not printing I mean a sequence executed mid print i.e.

      Pause current print
      move extruder / hot end to safe location
      unload current filament
      confirm unloading successful
      load and purge new filament - repeat purge until user confirms OK.
      resume printing from last step

      What value if any would a 'Rotating Magnet Filament Monitor' be - some threads I've read indicate it needs calibrating every time the printer is power cycled. Can information from the monitor be used to pause the print whilst the operator 'fixes' something and continues or aborts the print ?

      Could a similar 'feature' to the filament change be created to allow an external nozzle clean if some blobs or otherwise are threatening to destroy a print ?

      Pause current print
      move extruder / hot end to safe location
      wait for operator to say OK to proceed
      purge some small amount of filament
      after short delay resume print from last step

      1 Reply Last reply Reply Quote 0
      • Luke'sLaboratoryundefined
        Luke'sLaboratory
        last edited by

        You Mean M600?

        https://duet3d.dozuki.com/Wiki/Gcode#Section_M600_Filament_change_pause

        Make your own macro named filament-change.g, set it up to be whatever ya like, and there ya go!

        Luke
        http://lukeslab.online

        1 Reply Last reply Reply Quote 0
        • Garfieldundefined
          Garfield
          last edited by

          Thanks, guess I'll need to experiment. I'd seen the macro's option but how this all works isn't something I'm used to (no need with a Prusa).

          It isn't clear though how this all hooks into the web gui - say I wanted to run such a gcode script and allocate it a 'button' on the GUI - that much isn't very clear to me currently. I see that you can edit and manage files but actually adding to a menu option for excecution so more reading to do I guess.

          I don't think I'll be bothering with the filament monitor - seems a lot of people have more trouble with it than I think it is worth, I always disable the one on my Prusa for similar reasons oddly enough.

          Garfieldundefined 1 Reply Last reply Reply Quote 0
          • Garfieldundefined
            Garfield @Garfield
            last edited by

            Figured the GUI thing - is there anywhere that describes M600 behaviour / sequence beyond the GCODE i.e. the unload and subsequent purge I don't want to be coding macros for stuff that is already built in.

            Seems like M600 is just a 'pause' that triggers execution of a gcode script so would I be correct in thinking that I need to code for the unload and purge within that script - since M600 simply seems to pause and move to a specific location.

            Sorry if I seem a little dim.

            deckingmanundefined dc42undefined 2 Replies Last reply Reply Quote 0
            • deckingmanundefined
              deckingman @Garfield
              last edited by deckingman

              @Garfield Not within the pause script but a separate macro called "filament-change.g" and put that macro in the .sys directory. https://duet3d.dozuki.com/Wiki/Gcode#Section_M600_Filament_change_pause

              But you don't need to use M600 although you can do. A macro is simply a bunch of commands which get carried out in sequence. To initiate the macro you run M98 https://duet3d.dozuki.com/Wiki/Gcode#Section_M98_Call_Macro_Subprogram

              So a macro to carry out you last "feature" might look like :

              M25 (pause print)
              G1 Xnn Ynn (move to safe location)
              M291 (display message and optionally wait for a response)
              G1 Enn Fnn (extrude an amount of filament).
              G4 Snn (wait a few seconds)
              M24 (resume print).

              Save those commands and give it a name like "NozzleClean" and put it in the macros folder. Then whenever you want to run it send M98 P"0:/macros/NozzleClean" (or whatever path you need).

              Ian
              https://somei3deas.wordpress.com/
              https://www.youtube.com/@deckingman

              1 Reply Last reply Reply Quote 0
              • Garfieldundefined
                Garfield
                last edited by

                Total thumbs up ... it's starting to make sense now, definitely a bit more powerful than I thought with multiple options to achieve objectives.

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

                  @Garfield said in Filament Management - Duet 6HC:

                  multiple options to achieve objectives.

                  RepRapFirmware in 5 words or less.

                  Z-Bot CoreXY Build | Thingiverse Profile

                  1 Reply Last reply Reply Quote 0
                  • dc42undefined
                    dc42 administrators @Garfield
                    last edited by

                    @Garfield said in Filament Management - Duet 6HC:

                    Figured the GUI thing - is there anywhere that describes M600 behaviour / sequence beyond the GCODE i.e. the unload and subsequent purge I don't want to be coding macros for stuff that is already built in.

                    Seems like M600 is just a 'pause' that triggers execution of a gcode script so would I be correct in thinking that I need to code for the unload and purge within that script - since M600 simply seems to pause and move to a specific location.

                    Sorry if I seem a little dim.

                    M600 is only supported for compatibility with Marlin. One example of using it would be if your slicer inserts a M600 command in the GCode file to allow you to swap filament types at that point.

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