prusa3d / PrusaSlicer

G-code generator for 3D printers (RepRap, Makerbot, Ultimaker etc.)
https://www.prusa3d.com/prusaslicer/
GNU Affero General Public License v3.0
7.79k stars 1.94k forks source link

MMU - Change Temperature/Material Purge Order Issue #1207

Open hanswwilson opened 6 years ago

hanswwilson commented 6 years ago

Version

1.41.0+win64

Operating system type + version

Windows 10 Professional

Behavior

When printing an object using multiple dissimilar materials that use different print temperatures the order in which the temperature change, material change, and purge event becomes important to prevent extruder jams. Currently the behavior of multi-material sliced objects using different print temperatures proceeds with the following behavior:

Material change begins - Print temp is changed - Material is changed - Purge occurs - Printing Resumes

By the time the purging occurs the extruder will be at the temperature required to print the new material. This order is fine if you are going from a lower temperature material to a higher temp one as the lower temp material is purged at the higher printing temp. However, if you change from a high temp material to a low temp one, since the purge occurs after the temperature has changed, it will try to purge a material from the extruder while using a temperature far below its normal printing temperature. As an example printing PLA at 205c and ABS at 255c it will potentially be trying to purge ABS from the nozzle at 205c while swapping from the ABS to the PLA.

This behavior will occur for any object sliced for multi material using materials with dissimilar print temperatures.

Expected Results

During the gcode generation of the material change procedure it should check whether or not it is changing from a lower print temp to a higher one, or a higher temp to a lower one. It should then change the ordering of the purge and temperature change so that the purge always occurs while the extruder is at the hotter print temperature.

Higher temp to low temp order: Change material - Purge - Change print temp

Lower temp to high temp order: Change print temp - Change material - Purge

Actual Results

When printing and changing materials it always follows the same order of Change print temp - Change material - Purge

MMUTempChangeExample.zip

jfestrada commented 4 years ago

Hi,

This issue still present in the 2.2.0 release and is very disapointing. In my case I have had issues even with different types of PLA whose works at different temperatures from 205ºC to 215ºC. To my mind is easy to fix even with a python script.

Br Juanfra

Unismo commented 4 years ago

Hello,

The same goes for the latest firmware version, many problems with different PLAs like 870, PLA + and normal PLA in the same print, many errors in the loads when the temperature is different between filaments.

amarfil commented 4 years ago

Hi,

I have this issue too in version 2.2.0. Mixing different filament brands causes loading filament problems on color changes because generally they need different temperatures. Please consider fix it soon.

Thanks

amatulic commented 2 years ago

The same goes for the latest firmware version

I don't believe this has anything to do with firmware. Neither the printer nor the MMU are aware of filament types. PrusaSlicer controls the temperature during tool changes. All that needs to be done here is to use the higher of the two temperatures for purging during a tool change.

There may be some nuances required, such as setting the new temperature immediately before ejecting one filament so that the nozzle warms up while the new filament is being loaded, and waiting for the second temperature to stabilize before purging or printing.

amatulic commented 1 year ago

I have fixed this issue in this pull request.

The fix required some minor changes to /src/libslic3r/GCode/WipeTower.cpp in the functions toolchange_Unload() and toolchange_Wipe().

See the PR for the description about how it works. Hopefully this chage can get merged into the main branch.

rasssta commented 1 year ago

Great work @amatulic!

Anyone knows of a way to get Prusa to actually look at this issue, and its linked PR? Seeing as the issue is from 2018 it feels like something has to be done to get their attention to it.

rasssta commented 1 year ago

Lets try and tag @Prusa-Support to see if that will draw their attention to the problem at hand, or rather its solution. With the MMU3 shipping, this really should be fixed ASAP to avoid it getting a reputation as bad as its predecessors.

Jackjan4 commented 1 year ago

Today I printed PLA + TPU on the MMU3 and can now understand the problem. This really needs to be fixed for the MMU3 to be a real multi material solution.

Mike8-I commented 1 year ago

@Prusa-Support: this is a really needed feature. It makes the MCU (multicolour unit) that it is at the moment really a multi material unit (MMU) as the name says and what I bought it originally for, years ago. It never really worked. I will give it another try with the 3.0 firmware. Then I need the multi material ability.

amatulic commented 1 year ago

@josefprusa I have been using the fix in PR #9737 for several months to print PLA with PETG support using the soluble support preset. It's been working well. Now that the MMU3 is out, it really needs to be a multi-material unit, not just a multi-color unit, and PR #9737 accomplishes that, simply by using the correct temperature on the wipe tower.

It's a really simple fix for a long-term problem. Without the fix in PR #9737, you get a jammed nozzle when switching to a cooler-temperature filament.

michaelbryan commented 5 months ago

@josefprusa Just echoing the above. Lots of MMU3s are rolling out. Lots of us want real multi material solutions.

amatulic commented 5 months ago

Today I printed PLA + TPU on the MMU3 and can now understand the problem. This really needs to be fixed for the MMU3 to be a real multi material solution.

You managed to print TPU in the MMU3? I tried it with the MMU2S and couldn't get it to work, but I was printing rather soft 87a TPU, which is like pushing a wet noodle. I had to bypass the MMU entirely. I'm about to start building my MMU3 upgrade.

JGeiger2024 commented 1 month ago

Anyone know whether there is a fix in progress by Prusa?