MMU - Single nozzle, multi material (filament)
-
@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.
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.
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
-
@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.
-
@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
-
@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.
-
@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
-
@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. -
@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 -
@droftarts From which DWC version is tool grouping visible?
-
@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
-
@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.
-
@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? -
@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
-
@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!!