Navigation

    Duet3D Logo

    Duet3D

    • Register
    • Login
    • Search
    • Categories
    • Tags
    • Documentation
    • Order

    Standard Filament Change Option?

    Tuning and tweaking
    6
    18
    1958
    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.
    • pro3d
      pro3d last edited by

      Does this fabulous tool have any options for Filament change or do I have to script that as well?

      I can not see M600 anywhere in the list of gcodes so do we have a macro for this that is like a standard of some kind so I dont have to make the wheel all over?

      Not much luck in search options

      V-King 3D Printer - All Wheels and Belts Running Smooth on the Rails!

      R&D - Developer/Engineering Designer - V-King 3D Printers
      https://vkingprinter.com/

      1 Reply Last reply Reply Quote 0
      • whosrdaddy
        whosrdaddy last edited by

        You mean this?

        pro3d 1 Reply Last reply Reply Quote 0
        • pro3d
          pro3d @whosrdaddy last edited by

          @whosrdaddy

          Well.. I guess - Though I was lost trying to read it but I am kind of slow. I just want to pause, then change filament as M600 does for me in Marlin

          Do I need to make macros for every filament and call them with M701 and M702 in some other macro?

          In the Tool dropdown I have Load filament and nothing more

          I se the example macros but I get lost in the description on how to implement the whole thing - Is this easy peasy or lots of macrotime

          V-King 3D Printer - All Wheels and Belts Running Smooth on the Rails!

          R&D - Developer/Engineering Designer - V-King 3D Printers
          https://vkingprinter.com/

          deckingman 1 Reply Last reply Reply Quote 0
          • deckingman
            deckingman @pro3d last edited by

            @pro3d Never used Marlin so can you explain how M600 works. For sure, there will be a way to do it in RepRap firmware.

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

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

              Is all you want a pause for a mid print filament swap? I think what you want is M226 to insert a pause into the gcode file.

              You can edit the pause.g macro to move the head away from the print, then you can swap filament by hand and hit resume. It can be as simple as that.

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

              Z-Bot CoreXY Build | Thingiverse Profile

              pro3d 1 Reply Last reply Reply Quote 0
              • pro3d
                pro3d @deckingman last edited by

                @deckingman

                Well I cant explain it as it just do everything needed by default when activating it in the firmware so you can change filament at height or just refill. But here is an overview: http://marlinfw.org/docs/gcode/M600.html

                V-King 3D Printer - All Wheels and Belts Running Smooth on the Rails!

                R&D - Developer/Engineering Designer - V-King 3D Printers
                https://vkingprinter.com/

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

                  @phaedrux

                  Yes but that option is like 2011... We want something 2018 but I might be a high demanding customer 🙂

                  V-King 3D Printer - All Wheels and Belts Running Smooth on the Rails!

                  R&D - Developer/Engineering Designer - V-King 3D Printers
                  https://vkingprinter.com/

                  Phaedrux T3P3Tony 2 Replies Last reply Reply Quote 0
                  • Phaedrux
                    Phaedrux Moderator @pro3d last edited by

                    @pro3d Well I doubt you could script your own customized filament swap command in 2011, but I get what you mean.

                    The M600 command is limited to what Marlin gives you. With the Duet you can get as custom as you require. With multiple tools, heaters, print heads, etc a single command wouldn't fit a lot of use cases.

                    Here's what you could do though, create a macro called M600.g and add the commands that would duplicate the Marlin function and then call that macro with M98 where you wanted to do a filament swap. 😉

                    Z-Bot CoreXY Build | Thingiverse Profile

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

                      @phaedrux

                      Ok - So basically I need to configure my own firmware all the way? Nothing basic like this is standardized? Or is that what you linked to maybe.. I guess I need to read and write codes again 😞

                      V-King 3D Printer - All Wheels and Belts Running Smooth on the Rails!

                      R&D - Developer/Engineering Designer - V-King 3D Printers
                      https://vkingprinter.com/

                      Phaedrux 1 Reply Last reply Reply Quote 0
                      • resam
                        resam last edited by

                        @pro3d everyone has a different machine and different needs. It's not easy to write a one-size-fits-all firmware/g-code/etc. Thats we most people really love the way Duet and RRF use the config-by-gcode and custom macros approach.

                        Maybe you find my "Filament unload" macro useful:

                        M83                                    ; relative extruder mode
                        M291 P"Hotend is heating up..." S1 T0  ; display message
                        G10 S200                               ; turn hotend heater on
                        M116                                   ; wait for the temperatures to be reached
                        
                        M300 S200 P500                         ; beep
                        G4 S1
                        M300 S200 P500
                        G4 S1
                        M300 S200 P500
                        
                        M292                                   ; hide message
                        M291 P"Filament ready to unload?" S3   ; ask the user
                        G1 E-10 F300                           ; retract slow
                        G1 E-750 F2000                         ; retract fast
                        M400                                   ; wait for moves to complete
                        
                        M300 S200 P500                         ; beep
                        G4 S1
                        M300 S200 P500
                        G4 S1
                        M300 S200 P500
                        
                        M291 P"Disable hotend heater?" S3      ; ask the user
                        G10 S0                                 ; turn hotend heater off
                        M18 E0                                 ; disable extruder stepper
                        

                        I can use it together to add a "pause and change filament" command in the slicer of my choice:

                        M226
                        M98 P"Filament unload"
                        

                        I have a similar script for "Filament load", that I can directly call after unload.

                        Hope this helps.

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

                          @pro3d Well M226 is the same as hitting the pause button. And the pause button just executes a macro.
                          Mine is pretty basic. I don't think I've made any changes from what the configurator gave me other than to move to my front left corner in case I want to swap filament.

                          ; pause.g
                          ; called when a print from SD card is paused
                          ;
                          ; generated by RepRapFirmware Configuration Tool on Wed Feb 07 2018 13:21:45 GMT-0600 (CST)
                          M83            ; relative extruder moves
                          G1 E-2 F5000  ; retract 2mm of filament
                          G91            ; relative positioning
                          G1 Z5 F300     ; lift Z by 5mm
                          G90            ; absolute positioning
                          G1 X0 Y0 F6000 ; go to X=0 Y=0
                          

                          When I do a filament swap I just pull the filament and load a new one. Then hit resume.

                          Z-Bot CoreXY Build | Thingiverse Profile

                          1 Reply Last reply Reply Quote 0
                          • T3P3Tony
                            T3P3Tony administrators @pro3d last edited by

                            @pro3d so:

                            0_1531768858957_cac74084-bfd2-473d-bd0f-488954ba62db-image.png

                            Breaking this down, the macro has to:

                            1. retract an amount of filament
                            2. at the same time or afterwards move to a certain point (X,Y Z lift)
                            3. unload a certain amount

                            So a macro that does just do what M600 does is below

                            G91 ;relative positioning for Z move
                            G1 Z1 ; lift Z by 1mm
                            G90 ;back to absolute mode as the macro want to go to a specific point for filament unload.
                            M83 ; set extruder to relative mode
                            G1 E-5 F3000 ; Retract 5mm of filament at 3000mm/min
                            G1 X50 Y10 F6000; move to unload point of X50, Y10
                            G1 E-500 F3000 ; Retract 500mm of filament at 3000mm/min
                            M400 ; Wait for the moves to finish
                            

                            The equivalent load macro would be a little more complex depending on how you wanted to handle prime/wipe (very printer specific) however with that aside:

                            M83 ; set extruder to relative mode
                            G1 E480 F3000 ; Load 480mm of filament at 3000mm/min
                            G1 E20 F300 ; Load 20mm of filament at 300mm/min
                            ; put any move to a prime/wipe area here
                            
                            ;continue with filament loading
                            G1 E5 F100 ; Load 5mm of filament at 100mm/min
                            
                            
                            G91 ;relative positioning for Z move
                            G1 Z-1 ; drop Z by 1mm to undo the lift
                            G90 ;back to absolute mode
                            M400 ; Wait for the moves to finish
                            ;assume at this point the extruder is loaded and ready to go back to printing (if that is the desired action)
                            
                            

                            This is assuming you are manually pressing Pause, when you want to interrupt a print to change filament, and one the filament is loaded and ready to go you press resume.

                            How you use the load and unload macros is completely up to you. You can have a specific one for each type of filament you define](https://duet3d.dozuki.com/Wiki/Filaments) (that means you can have specific routines for getting the nozzle to the right temperature for loading and unloading a specific filament. have the extruder move different speeds for a flexible or non flexible filament etc. Or you can just have one macro for load and another for unload which you choose whenever you want to load or unload filament.

                            Duet Hardware Designer
                            www.duet3d.com

                            1 Reply Last reply Reply Quote 0
                            • pro3d
                              pro3d last edited by

                              Thanks for trying to help. I will try to digest this sometime in between r&D... And hope soon I will not hate RRF so much as I currently do

                              V-King 3D Printer - All Wheels and Belts Running Smooth on the Rails!

                              R&D - Developer/Engineering Designer - V-King 3D Printers
                              https://vkingprinter.com/

                              deckingman 1 Reply Last reply Reply Quote 0
                              • deckingman
                                deckingman @pro3d last edited by

                                @pro3d

                                I don't know why you find the concept of macros so difficult. It's not writing code as you keep saying it is. RepRap firmware is all about gcode. There are gcodes for everything. You can enter a single gcode command pretty much at any time to do a single action - during a print, after a print, before a print. If you repeatedly want to do two or more commands, then put them in a file and save it. That is called a macro. It simple carries out each gcode command one after the other. So you don't need to write code. You do need to spend some time learning what gcode to use I'll grant you but it ain't rocket science. They are all listed here https://duet3d.dozuki.com/Wiki/GCode. I'm an old age pensioner (well will be in 3 weeks time), an ex automotive engineer with no formal training in anything much apart from mechanical engineering, who currently makes a living by cutting and screwing bits of wood together. So I don't understand why someone with a masters degree in machine design is finding it so hard to grasp.

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

                                pro3d 1 Reply Last reply Reply Quote 0
                                • pro3d
                                  pro3d @deckingman last edited by

                                  @deckingman

                                  It is just a big timethieve and a hazzle dealing with the macros. I guess now I understand that with the Duet you dont get firmware but some bare base for customizing by writing your own macro-base to control everything you need and dont need

                                  These macro files will be stored in a clutter on your controller and nobody else than yourself can know what is going on on your printer - For me this is frustrating and RRF seems to be in a continuous non release BETA stage

                                  I know you guys thinks the world of the way you can control everything you dont need but for most people it is a nerds-nest and could not be recommended to the broad audience and casual user

                                  V-King 3D Printer - All Wheels and Belts Running Smooth on the Rails!

                                  R&D - Developer/Engineering Designer - V-King 3D Printers
                                  https://vkingprinter.com/

                                  T3P3Tony 1 Reply Last reply Reply Quote 0
                                  • T3P3Tony
                                    T3P3Tony administrators @pro3d last edited by

                                    @pro3d I get your frustrations, but it think they are rather specific to what you are trying to do. If you are an new to 3d printing user you will by a printer with the firmware already configured normally. now that can be configured through customising marlin (or other firmware) or customising RRF. So these, very printer specific, routines will be there for a new user. The reason RRF went down the road of providing so much customisation though gcode is because of the complexities of trying to support so many different printer requirements though compile time changes to Marlin or similar. That ended up with Marlin codebase being fractured so there were loads of different versions each with some features but none with all.

                                    Where I think we need to improve is having the configurator produce settings that works better for a wider variety of machines. Its on the list!

                                    Duet Hardware Designer
                                    www.duet3d.com

                                    1 Reply Last reply Reply Quote 0
                                    • resam
                                      resam last edited by

                                      @pro3d not sure what you mean by "continuous non release BETA stage", but the most recent stable releases are:

                                      • 2.0 on June 5, 2018
                                      • 1.21 on March 21, 2018
                                      • 1.20 on March 8, 2018
                                      • 1.19.2 on September 1, 2017
                                      • 1.19.1 on August 26, 2017
                                      • 1.19 on August 14, 2017

                                      I call that a pretty good track record for stable releases, and bugfix releases.

                                      Regarding your "nerds-nest" comment:
                                      Well, I suppose you did buy a 3D-printer controller board without any actual printer hardware around it? This kinda means you need to build something yourself, don't you think? Same with buying 2020 profiles, you need to cut them to length, drill and tap holes, screw them together, etc. You don't buy a fully assembled frame, do you?

                                      If you want a fully working out-of-the-box printing experience, I would recommend you buy a Prusa i3 MK3 or similar.

                                      pro3d 1 Reply Last reply Reply Quote 0
                                      • pro3d
                                        pro3d @resam last edited by

                                        @resam

                                        That was purely frustration - sorry for the beta comment. Just that it seems like RRF is in a stage where it is not ready to run right of the bat as what I am used to.. I am just tired I guess.. Good Night 🙂

                                        V-King 3D Printer - All Wheels and Belts Running Smooth on the Rails!

                                        R&D - Developer/Engineering Designer - V-King 3D Printers
                                        https://vkingprinter.com/

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