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

    MMU - Single nozzle, multi material (filament)

    Scheduled Pinned Locked Moved
    Third-party add-ons
    3
    16
    1.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.
    • droftartsundefined
      droftarts administrators @aceranic
      last edited by

      @aceranic That macro does have temperature changes, so I'm not surprised it's pausing during filament changes. As far as I'm aware, you need to do this or you'll get stringing. But you can remove the temperature changes if you're using a filament cutter, and not retracting.

      Check in Prusaslicer > Printers > General > Capabilities that you have 'Extruders' set to '4' and 'Single Extruder Multi Material' selected. I think this second one should stop the tool commands being emitted in the Gcode.

      266c4087-a822-4b12-8eab-8a480bbbb937-image.png

      Then it 'should' only use T0. If that doesn't work, you can combine the tools in DWC; go to Settings > Machine specific and select 'Group identical tools', though tools 0 to 3 will still be required.

      e437f17d-3fd8-499f-8e1e-4fe2c053ad8d-image.png

      Another thought: rather than use the endstop to trigger the Arduino, you could connect the wire to a spare output on the Duet, define it as an output with M950, and control the signal with M42, and trigger it that way. You could also use the either the tool change mechanism built into RRF to do the filament change (see here for the tool change macros https://docs.duet3d.com/en/User_manual/Tuning/Tool_changing) or the built-in RRF/DWC filament management (see https://docs.duet3d.com/en/User_manual/Reference/DWC_filaments). That way the slicer only has to emit a tool change, or a filament change command, ie no macros in the slicer.

      I like the simple look of your MMU, though. It looks like it has one stepper for the extrusion, and a cam on the second stepper to engage each extruder's filament drive gears. Have you shared it anywhere?

      Ian

      Bed-slinger - Mini5+ WiFi/1LC | RRP Fisher v1 - D2 WiFi | Polargraph - D2 WiFi | TronXY X5S - 6HC/Roto | CNC router - 6HC | Tractus3D T1250 - D2 Eth

      aceranicundefined 2 Replies Last reply Reply Quote 0
      • aceranicundefined
        aceranic @droftarts
        last edited by

        @droftarts Hi again, I appreciate your response.

        I did exact things in Orca and Prusa, Single Extruder MM enable but same result.

        Stringing is not an issue as change is fast and I retract 35mm then cut it before change so no stringing involved.

        Regarding the option of grouping, didn't try yet, will do and let you know. Won't be home till Sunday though.

        I am however tempted to do the changes from Duet as the ones done by moving Y axis are dependent of the speed, exact switch position, I did tune it but still it is fiddly.
        Will give it a try, also will need assistance to code this.

        If you are interested I can post it on Thingiverse with files available, 2 steppers, yes as per your observation correct.

        droftartsundefined 1 Reply Last reply Reply Quote 0
        • droftartsundefined
          droftarts administrators @aceranic
          last edited by

          @aceranic I've had a play around with PrusaSlicer (2.8.0 so not the latest), and it still outputs tool commands (T0, T1, T2 etc) in Gcode, even if you select 'Single Extruder Multi Material'. Not sure, but this might be a PrusaSlicer bug. Probably the easiest thing to do is post-process the gcode, search and delete all the tool commands. Also adjust the macro so you don't get the cooling down part if you don't want it.

          I found a good video showing how the 3D Chameleon works: https://youtu.be/NUYJseo78tI?si=nNas8kzkU32kfK1s&t=438
          It seems a very neat and compact solution. Was it not reliable?

          I would think this, and your version, would be easily controllable by RRF directly, if you had spare drivers for the two stepper motors. For Duet 2, something like this offers simple driver expansion: https://github.com/bigtreetech/BTT-Expansion-module/blob/master/BTT EXP-MOT/BTT EXP-MOT V1.0User Guide.pdf

          @aceranic said in MMU - Single nozzle, multi material (filament):

          If you are interested I can post it on Thingiverse with files available, 2 steppers, yes as per your observation correct.

          Yes please!

          Ian

          Bed-slinger - Mini5+ WiFi/1LC | RRP Fisher v1 - D2 WiFi | Polargraph - D2 WiFi | TronXY X5S - 6HC/Roto | CNC router - 6HC | Tractus3D T1250 - D2 Eth

          aceranicundefined o_lampeundefined 2 Replies Last reply Reply Quote 0
          • aceranicundefined
            aceranic @droftarts
            last edited by

            @droftarts yes, I tried both Orca and Prusa, same.
            Is group identical tools hiding them or what is the catch there?

            I'll post on Thingie just have to change 2 holes for the spring bar which keeps the extruder idler open when not required, it makes filament path smoother.
            Also it is designed for BMG clones, clear plastic ones, they are 2mm narrower than black ones. Didn't know this initially.

            Will check expansion you posted for Duet 2.

            Chameleon is a bit tricky as it is tight, springs inside held between 2 halves, I like the concept but not the design of it. I think this is why it didn't get to the users enough. Shame really.
            Arduino and shield are working fine though and the concept I like really.

            Must go deeper into what you mentioned to have it controlled by Duet.

            droftartsundefined 1 Reply Last reply Reply Quote 1
            • droftartsundefined
              droftarts administrators @aceranic
              last edited by

              @aceranic said in MMU - Single nozzle, multi material (filament):

              Is group identical tools hiding them or what is the catch there?

              It just collapses the list. There’s a triangle to open the list of tools again, if needed.

              Ian

              Bed-slinger - Mini5+ WiFi/1LC | RRP Fisher v1 - D2 WiFi | Polargraph - D2 WiFi | TronXY X5S - 6HC/Roto | CNC router - 6HC | Tractus3D T1250 - D2 Eth

              aceranicundefined 1 Reply Last reply Reply Quote 0
              • o_lampeundefined
                o_lampe @droftarts
                last edited by

                @droftarts said in MMU - Single nozzle, multi material (filament):

                it still outputs tool commands (T0, T1, T2 etc) in Gcode, even if you select 'Single Extruder Multi Material'. Not sure, but this might be a PrusaSlicer bug.

                I guess the toolchange commands are required for different filament temps, diameter etc...
                One can leave the macros empty, if not needed.

                1 Reply Last reply Reply Quote 0
                • aceranicundefined
                  aceranic @droftarts
                  last edited by aceranic

                  @droftarts said in MMU - Single nozzle, multi material (filament):

                  Another thought: rather than use the endstop to trigger the Arduino, you could connect the wire to a spare output on the Duet, define it as an output with M950, and control the signal with M42, and trigger it that way. You could also use the either the tool change mechanism built into RRF to do the filament change (see here for the tool change macros

                  How would one do the above. Arduino board requires 5V to the pin, currently triggered by the limit switch, GPIO can also output 5V?
                  Is there an example for similar connections?
                  Ok, I believe I found that 3.3V is sufficient to trigger the input on Arduino.

                  Would this be good code?

                  ; Define GPIO pin 1
                  M950 P1 C"exp.heater4" Q500 ; Allocate GPIO port 1 to heater4 on expansion connector, 500Hz

                  ; Control GPIO pin 1 for 0.15 seconds
                  M42 P1 S1 ; Set GPIO pin 1 to high
                  G4 P150 ; Pause for 0.15 seconds (150 milliseconds)
                  M42 P1 S0 ; Set GPIO pin 1 to low

                  1 Reply Last reply Reply Quote 0
                  • aceranicundefined
                    aceranic @droftarts
                    last edited by

                    @droftarts From which DWC version is tool grouping visible?

                    droftartsundefined 1 Reply Last reply Reply Quote 0
                    • droftartsundefined
                      droftarts administrators @aceranic
                      last edited by

                      @aceranic From 3.5.1, according to the release notes: https://github.com/Duet3D/DuetWebControl/releases/tag/v3.5.1

                      Tools, beds, and chambers can be grouped as single items

                      Ian

                      Bed-slinger - Mini5+ WiFi/1LC | RRP Fisher v1 - D2 WiFi | Polargraph - D2 WiFi | TronXY X5S - 6HC/Roto | CNC router - 6HC | Tractus3D T1250 - D2 Eth

                      aceranicundefined 1 Reply Last reply Reply Quote 0
                      • aceranicundefined
                        aceranic @droftarts
                        last edited by aceranic

                        @droftarts thanks, I am on 3.4.5
                        I got GPIO working and tools are being selected, etc. But when print starts it messes up with loading filament. Checking now.

                        I found out that when required to give 5 seconds it is not working, not loading. Hm.

                        aceranicundefined 1 Reply Last reply Reply Quote 0
                        • aceranicundefined
                          aceranic @aceranic
                          last edited by aceranic

                          @aceranic updated everything.

                          One thing regarding the GPIO and Arduino. I connected pin13 and one ground pin from duet to arduino. Is this ok?
                          Does it require any additional resistors or other components?

                          droftartsundefined 1 Reply Last reply Reply Quote 0
                          • droftartsundefined
                            droftarts administrators @aceranic
                            last edited by

                            @aceranic said in MMU - Single nozzle, multi material (filament):

                            One thing regarding the GPIO and Arduino. I connected pin13 and one ground pin from duet to arduino. Is this ok?
                            Does it require any additional resistors or other components?

                            I think that should be okay. You're not pushing voltage from the Arduino into the Duet, so they are just sharing a GND. Should be fine, especially if they powered from the same PSU.

                            Ian

                            Bed-slinger - Mini5+ WiFi/1LC | RRP Fisher v1 - D2 WiFi | Polargraph - D2 WiFi | TronXY X5S - 6HC/Roto | CNC router - 6HC | Tractus3D T1250 - D2 Eth

                            aceranicundefined 1 Reply Last reply Reply Quote 0
                            • aceranicundefined
                              aceranic @droftarts
                              last edited by aceranic

                              @droftarts thanks on that. Still there is something not right as it does not react to pin low, 0V, for long pause.

                              Update - I had a problem with PS. Something with wiring as after I checked it, all is working now. Selection and loading as well. Still waiting for steeperonline motors as I use one from extruder pancake, not strong for selector to keep it in position.
                              Thanks!!

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