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

    Multi Material, Multiple Tools with Single Hotend/Extuder

    Scheduled Pinned Locked Moved Solved
    Third-party add-ons
    5
    6
    603
    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.
    • NZSmartieundefined
      NZSmartie
      last edited by NZSmartie

      I've just bought a 3D Chameleon, which is a multi-material selector that feeds down to a single PTFE tube that can be fed into the hotend. That allows up to 4 materials to be used with a single hotend/extruder.

      I'm guessing the best way forward is to specify four tools (each configured with the same heater and extruder) and then using the tpre#.g and tpost#.g etc to create macros for swapping out between the materials. This would also allow me to assign a filament to a particular tool, so that pressure advance, temperature, and other settings can be applied accordingly without needing to have post processing on the slicer. (As suggested by option 2, https://forum.duet3d.com/post/173368

      However when I create four tools that all use the same extruder, and then selecting a filament in Duet Web Control, all of the tools show they are using the same filament.

      ; Tools (generated by RRF Config Tool)
      M563 P0 D0 H1 F1                               ; define tool 0
      G10 P0 X0 Y0 Z0                                ; set tool 0 axis offsets
      G10 P0 R0 S0                                   ; set initial tool 0 active and standby temperatures to 0C
      M563 P1 D0 H1 F1                               ; define tool 1
      G10 P1 X0 Y0 Z0                                ; set tool 1 axis offsets
      G10 P1 R0 S0                                   ; set initial tool 1 active and standby temperatures to 0C
      M563 P2 D0 H1 F1                               ; define tool 2
      G10 P2 X0 Y0 Z0                                ; set tool 2 axis offsets
      G10 P2 R0 S0                                   ; set initial tool 2 active and standby temperatures to 0C
      M563 P3 D0 H1 F1                                  ; define tool 3
      G10 P3 X0 Y0 Z0                                ; set tool 3 axis offsets
      G10 P3 R0 S0                                   ; set initial tool 3 active and standby temperatures to 0C 
      

      b501b179-1d40-41ec-bef0-fe8691eb707a-image.png

      I will also note that the filaments.csv file only contains one entry for the selected filament, though the header does say the filament is associated with the extruder and not the tool itself.

      RepRapFirmware filament assignment file v1 generated at 2023-06-17 18:23
      extruder,filament
      0,eSun
      

      Is there a way to assign a filament to the tool instead?

      Hardware: Duet 2 Wifi
      Version: 3.4.5 (2022-11-30)
      Printer: Creality Ender 3
      Hotend: Hemera XS Revo

      o_lampeundefined RogerPodacterundefined chrishammundefined 3 Replies Last reply Reply Quote 0
      • o_lampeundefined
        o_lampe @NZSmartie
        last edited by

        @NZSmartie said in Multi Material, Multiple Tools with Single Hotend/Extuder:

        Is there a way to assign a filament to the tool instead?

        I'm just guessing, but isn't that what the toolchange macros are supposed to manage?

        1 Reply Last reply Reply Quote 0
        • RogerPodacterundefined
          RogerPodacter @NZSmartie
          last edited by

          @NZSmartie i dont fully understand the questions. but i have a custom created printer where i have 2 filaments going to one printhead nozzle. i have a single Orbiter extruder on the carriage, and i have 2 more orbiter extruders at each filament spool, so when i select tool 2 it uses one pair of extruders, and tool 3 uses another pair of extruders. i dont use the filament functions.

          not sure if this helps at all
          914b2df4-da52-4dfe-ac63-3b1ada38bf1e-image.png

          1 Reply Last reply Reply Quote 0
          • chrishammundefined
            chrishamm administrators @NZSmartie
            last edited by

            @NZSmartie said in Multi Material, Multiple Tools with Single Hotend/Extuder:

            Is there a way to assign a filament to the tool instead?

            No, you can only assign filaments per extruder. You may be able to work-around it by creating a few extra extruders and then map each tool to the corresponding new "virtual" extruder which could use the same driver.

            Duet software engineer

            NZSmartieundefined 1 Reply Last reply Reply Quote 0
            • NZSmartieundefined
              NZSmartie @chrishamm
              last edited by NZSmartie

              @chrishamm said in Multi Material, Multiple Tools with Single Hotend/Extuder:

              be able to work-around it by creating a few extra extruders and then map each tool to the corresponding new "virtual" extruder which could use the same driver.

              Ah-ha, "virtual extruders" was what helped me figure out the behaviour I'm after! Thank you!

              ; "Virtual" Extruder, where multiple extruders share the same driver. except each extruder 
              ; is disabled when they're not in use. 
              ; Tool switching will relinquish control of the extruder to the target tool
              
              ; config-override.g
              M584 E3:3:3:3 ; set drive mapping
              M92 E397.00:397.00:397.00:397.00 ; steps per mm (Hemera XS)
              M906 E1333:1333:1333:1333  ; set the motor currents
              M350 E16:16:16:16 I0 ; configure microstepping without interpolation
              
              M563 P0 D0 H1 F1 ; define tool 0
              G10 P0 X0 Y0 Z0  ; set tool 0 axis offsets
              G10 P0 R0 S0     ; set initial tool 0 active and standby temperatures to 0C
              M563 P1 D1 H1 F1, G10 P1 X0 Y0 Z0, G10 P1 R0 S0
              M563 P2 D2 H1 F1, G10 P2 X0 Y0 Z0, G10 P2 R0 S0
              M563 P3 D3 H1 F1, G10 P3 X0 Y0 Z0, G10 P3 R0 S0
              
              ; tfree#.g
              ; Retract the filament as per the E3D guide for the Revo Nozzel
              ; https://e3d-online.zendesk.com/hc/en-us/articles/4406857421213-Start-and-End-G-code-for-faster-nozzle-changes
              G91           ; move to relative mode
              G1 E2 F800    ; extrude slightly 
              G1 E-18 F800  ; retract filament from meltzone
              G4 S2         ; dwell 2 seconds
              G1 E-10 F800  ; retract filament into thermal break
              M18 E0:1:2:3  ; disable all virtual extruders associated with our tools
              
              ; tpost#.g 
              ; Wait for set temperatures to be reached
              M116 P0
              
              G91          ; move to relative mode
              ; Retreact any filament that may already be loaded (copy from tfree)
              G1 E2 F800    ; extrude slightly 
              G1 E-18 F800  ; retract filament from meltzone
              G4 S2         ; dwell 2 seconds
              G1 E-10 F800  ; retract filament into thermal break
              ; The filament will take 11 seconds after the macro returns to feed the filament at 1500mm/m.
              M98 P"0:/macros/3D Chameleon/Filament 1"
              G4 S10       ; dwell 9 seconds
              G1 E25 F1500 ; feed in the filament over the next second, that's coming in from the MMU.
              G1 E30 F200  ; extract some filament...?
              

              Note that 0:/macros/3D Chameleon/Filament 1 is a macro that will trigger the 3D Chameleon to switch to a particular filament

              DeadNewbieundefined 1 Reply Last reply Reply Quote 1
              • NZSmartieundefined NZSmartie marked this topic as a question
              • NZSmartieundefined NZSmartie has marked this topic as solved
              • DeadNewbieundefined
                DeadNewbie @NZSmartie
                last edited by

                @NZSmartie

                Hi, any chance you could share your filament 1 macro?

                Thanks

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