Notifications
Clear all

MultiMaterial on other printers?  

  RSS
dan.m2
(@dan-m2)
New Member
MultiMaterial on other printers?

Apologies if this has been asked before... I'm wondering if I can purchase the multimaterial kit and fit it to my non-prusa printer.

Fundamentally, I'd like to understand what's involved in the multimaterial process.
Slic3r PE slices and outputs the gcode, I understand that much. Are there gcode post-processor steps?
I also understand that there's an extruder multiplexer. What's involved there? Is there some kind of gcode that sends a signal to the multiplexer board? Do you have to have a specific motherboard?

I personally have a dbot with ramps/re-arm (smoothieware). I'd certainly be willing to pre-order the kit if it's possible to fit it to my dbot. I'm not concerned with mounting hardware etc. I can design that stuff. I just want to make sure that the workflow/software chain will be compatible with my setup before I commit to it.

Publié : 28/08/2017 3:46 pm
jettoblack
(@jettoblack)
Trusted Member
Re: MultiMaterial on other printers?

I have a D-bot w/RAMPS controller and was thinking about the same thing. I will happily buy the MMU from Prusa because I think it has solid engineering worth the price, but only if I can use my D-bot. No offense to the MK2S, it's a great machine, but doesn't meet my needs.

Slic3r uses G-code M701 & M702 (and maybe some others) to unload & load filaments when switching colors, then selects the color to print by addressing extruders E0 - E3. When the firmware gets a G1 command sent to, e.g., E3, it must either have a physical E3 stepper driver on the controller, or it must know how to tell the Prusa "super switch" multiplexer to route the physical E0 output to the E3 extruder. The multiplexer uses 3 data pins from the control board to switch the relays to the right output. RAMPS boards have these data pins, but I'm not sure if Smoothieware-based boards have the extra data pins needed. The other option, if your board supports enough extruders natively, you may be able to skip the multiplexer and run all the extruders directly off the controller.

The official MK2 firmware is a fork of Marlin, and Marlin already added support for the extruder multiplexer in 1.1.5, but they haven't yet added the new G-code commands to load/unload filament (M701 & M702). Fortunately it looks like it won't be difficult to port the MK2 changes back to regular Marlin. It's something I plan to look at soon. I doubt Smoothieware supports any of these yet, so you may want to consider switching to RAMPS.

Publié : 13/09/2017 12:19 am
PJR
 PJR
(@pjr)
Antient Member Moderator
Re: MultiMaterial on other printers?

M701/702 are not required to change filaments.

The load and unload code for filament change is very simple and is easily replicated (as in my KISS post-processor). If you can make the firmware work with the demux ("Super Switch" - which I believe uses only 2 data pins for motor selection, plus power and the E-Motor driver), you can use KISS or Slic3r PE for slicing.

Peter

Please note: I do not have any affiliation with Prusa Research. Any advices given are offered in good faith. It is your responsibility to ensure that by following my advice you do not suffer or cause injury, damage…

Publié : 13/09/2017 12:31 am
jettoblack
(@jettoblack)
Trusted Member
Re: MultiMaterial on other printers?

Thanks for the reply Peter. So, the filament swap during print procedure is encoded as a bunch of regular G-code commands, not using M701/702? Do you have an example of the g-code sequence?

Then is M701/702 just used to manually load and unload filament e.g. via the LCD controller?

Publié : 13/09/2017 1:29 am
PJR
 PJR
(@pjr)
Antient Member Moderator
Re: MultiMaterial on other printers?

Humm. Not sure; I don't use Slic3r, only KISS.

Initially with Slic3r, there was a post processor, then the unload was incorporated, didn't know about the proprietary load/unload commands.

Looking at the code, 701 asks whether the filament is feeding "clean"; that's not something you would want on every tool change; only on a M600 or maybe when loading at start. The 702 has the option to unload used, current or all. I didn't look to deep, but these do look like they are something more intended to be used as menu commands.

If Slic3r is using those now, It's easy enough to replace all instances with unload and load code, but you still need to retain the tower purging code.

The biggest issue you may have will be the inability to change (increase) motor power during unloads/loads, so you may have to run the extruders hotter all the time, which may be problematic.

Here's an example of a tool change, including the purge tower:

; MMPP Unload
G4 P0
M104 S210
G1 Z0.6 F7200
G1 X103.25 Y66.25 E-2 F7500
G1 Z0.3 E2 F7200
M907 E750
G1 Z0.3 F7200
G1 E2.551758 F2400
G1 X103.25 Y74.818182 E0.534335 F1500
G1 X140.75 Y74.818182 E2.338603
G1 X140.75 Y66.25 E0.534335 F1750
G1 X103.75 Y66.25 E2.307422
G1 X103.75 Y74.318182 E0.503154 F2000
G1 X140.25 Y74.318182 E2.27624
G1 X140.25 Y66.75 E0.471973 F2250
G1 X104.25 Y66.75 E2.245059
G4 P0
M104 S215
G1 X104.25 Y82.25 E-15 F5000
G1 X104.25 Y72.25 E-50 F5400
G1 X104.25 Y82.25 E-15 F3600
G1 X104.25 Y67.25 E-12 F3000
G1 X104.25 Y73.818182 E10 F1600
G1 X104.25 Y67.25 E-10
G1 X104.25 Y73.818182 E5 F2400
G1 X104.25 Y67.25 E-5
G1 X104.25 Y73.818182 E5 F3000
G1 X104.25 Y67.25 E-10
G1 X104.25 Y73.818182 E5 F2400
G1 X104.25 Y67.25 E5 F1200
G4 P0
; MMPP Unloaded
T2 ; Select extruder 2
M104 S215
G92 E0 ; Reset Extruder position
; TOOL_CHANGE_END
; MMPP Load
G4 P0
M104 S220
G1 X104.1 Y73.818182 F2000
G1 X104.1 Y67.25 E20 F1400
G1 X104.1 Y73.818182 E45 F3000
G1 X104.1 Y67.25 E20 F1600
G1 F1800
G1 X139.9 Y67.25 E2.32189
G1 X139.9 Y67.797348 E0.034134 F1800
G1 X104.1 Y67.797348 E2.32189
G1 X104.1 Y68.344697 E0.034134 F1875
G1 X139.9 Y68.344697 E2.32189
G1 X139.9 Y68.892045 E0.034134 F1950
G1 X122 Y68.892045 E-5
G1 X104.1 Y68.892045 E5
G1 X104.1 Y69.439394 E0.034134 F2025
G1 X139.9 Y69.439394 E2.32189
G1 X139.9 Y69.986742 E0.034134 F2100
G1 X122 Y69.986742 E-5
G1 X104.1 Y69.986742 E5
G1 X104.1 Y70.534091 E0.034134 F2175
G4 P0
M104 S217
G1 X139.9 Y70.534091 E2.32189
G1 X139.9 Y71.081439 E0.034134 F2250
G1 X104.1 Y71.081439 E2.32189
G1 X104.1 Y71.628788 E0.034134 F2325
G1 X139.9 Y71.628788 E2.32189
G1 X139.9 Y72.176136 E0.034134 F2400
G1 X104.1 Y72.176136 E2.32189
G1 X104.1 Y72.723485 E0.034134 F2475
G1 X139.9 Y72.723485 E2.32189
G1 X139.9 Y73.270833 E0.034134 F2550
G1 X104.1 Y73.270833 E2.32189
G1 X104.1 Y73.818182 E0.034134 F2625
G1 X129.9 Y73.818182 E1.608959
G1 X139.9 Y73.818182 E-0.919597 F1000
G1 Z0.6 E-2 F7200
G4 P0
M104 S215
M907 E550
G1 X164.554 Y41.469 E-2 F7500
G1 E2 F2400
; MMPP Loaded

This is generated using a KISS G-code file and my post-processor (see: http://www.kisslicertalk.com/viewtopic.php?f=27&t=1988 )

Peter

Please note: I do not have any affiliation with Prusa Research. Any advices given are offered in good faith. It is your responsibility to ensure that by following my advice you do not suffer or cause injury, damage…

Publié : 13/09/2017 9:51 am
Partager :