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

Standard Filament Change Option?

Scheduled Pinned Locked Moved
Tuning and tweaking
6
18
2.8k
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
    deckingman @pro3d
    last edited by 16 Jul 2018, 18:54

    @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/@deckingman

    undefined 1 Reply Last reply 16 Jul 2018, 19:08 Reply Quote 0
    • undefined
      Phaedrux Moderator
      last edited by Phaedrux 16 Jul 2018, 19:03

      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

      undefined 1 Reply Last reply 16 Jul 2018, 19:10 Reply Quote 0
      • undefined
        pro3d @deckingman
        last edited by 16 Jul 2018, 19:08

        @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

        Valkyrie DIY High Temp 3D Printer

        R&D - Engineering Designer - Viking 3D Printers
        https://vkingprinter.com/

        1 Reply Last reply Reply Quote 0
        • undefined
          pro3d @Phaedrux
          last edited by 16 Jul 2018, 19:10

          @phaedrux

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

          Valkyrie DIY High Temp 3D Printer

          R&D - Engineering Designer - Viking 3D Printers
          https://vkingprinter.com/

          undefined undefined 2 Replies Last reply 16 Jul 2018, 19:17 Reply Quote 0
          • undefined
            Phaedrux Moderator @pro3d
            last edited by 16 Jul 2018, 19:17

            @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

            undefined 1 Reply Last reply 16 Jul 2018, 19:25 Reply Quote 0
            • undefined
              pro3d @Phaedrux
              last edited by 16 Jul 2018, 19:25

              @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 😞

              Valkyrie DIY High Temp 3D Printer

              R&D - Engineering Designer - Viking 3D Printers
              https://vkingprinter.com/

              undefined 1 Reply Last reply 16 Jul 2018, 19:31 Reply Quote 0
              • undefined
                resam
                last edited by 16 Jul 2018, 19:31

                @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
                • undefined
                  Phaedrux Moderator @pro3d
                  last edited by 16 Jul 2018, 19:31

                  @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
                  • undefined
                    T3P3Tony administrators @pro3d
                    last edited by 16 Jul 2018, 19:38

                    @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.

                    www.duet3d.com

                    1 Reply Last reply Reply Quote 0
                    • undefined
                      pro3d
                      last edited by 16 Jul 2018, 20:13

                      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

                      Valkyrie DIY High Temp 3D Printer

                      R&D - Engineering Designer - Viking 3D Printers
                      https://vkingprinter.com/

                      undefined 1 Reply Last reply 16 Jul 2018, 20:32 Reply Quote 0
                      • undefined
                        deckingman @pro3d
                        last edited by 16 Jul 2018, 20:32

                        @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/@deckingman

                        undefined 1 Reply Last reply 16 Jul 2018, 21:08 Reply Quote 0
                        • undefined
                          pro3d @deckingman
                          last edited by 16 Jul 2018, 21:08

                          @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

                          Valkyrie DIY High Temp 3D Printer

                          R&D - Engineering Designer - Viking 3D Printers
                          https://vkingprinter.com/

                          undefined 1 Reply Last reply 16 Jul 2018, 21:18 Reply Quote 0
                          • undefined
                            T3P3Tony administrators @pro3d
                            last edited by 16 Jul 2018, 21:18

                            @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!

                            www.duet3d.com

                            1 Reply Last reply Reply Quote 0
                            • undefined
                              resam
                              last edited by 16 Jul 2018, 21:18

                              @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.

                              undefined 1 Reply Last reply 16 Jul 2018, 21:28 Reply Quote 0
                              • undefined
                                pro3d @resam
                                last edited by 16 Jul 2018, 21:28

                                @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 🙂

                                Valkyrie DIY High Temp 3D Printer

                                R&D - Engineering Designer - Viking 3D Printers
                                https://vkingprinter.com/

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