Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add support for printers that have multiple extruders that share a single heater #5840

Merged
merged 1 commit into from
Nov 14, 2019

Conversation

smartavionics
Copy link
Contributor

This PR adds the machine_extruders_share_heater setting and an associated checkbox in the printer settings dialog. Defaults to false.

See #5770.

@smartavionics
Copy link
Contributor Author

Associated engine PR is Ultimaker/CuraEngine#1063.

@fieldOfView
Copy link
Collaborator

fieldOfView commented Jun 3, 2019

I think the single checkbox is a bit inflexible. I can already see the requests/complaints about people who have three extruder motors, two of which share a single heater/nozzle and the other is used for a different material with its own hotend.

Could this somehow be made into an extruder-option (grouping extruders) instead of a printer-option? Or would that needlessly complicate matters?

@smartavionics
Copy link
Contributor Author

Hi Aldo. The functionality provided is what was requested. I don't use a printer with a shared heater myself. Until the people with those printers put a case for making the functionality more complicated, I am not going to invent stuff that may never actually get used. If people use this simple implementation and decide that it needs to be made more capable then we can have that discussion in the future.

@Ghostkeeper
Copy link
Collaborator

Do we know of any printer that has 3 extruders but 2 heaters?

@nallath
Copy link
Member

nallath commented Jun 5, 2019

Not that I'm aware of. But I do remember that there is a 3 extruder 1 heater printer out there.

@andymozza
Copy link

This fulfils requests so far for all shared heater problems I have read through over the years on the this git. This change has been used so far in a test build with GEETECH A10M, M3D dual extruder ( 3 mix ratio tools defined) and CR10s ( the latter having only single extruder but used to check it didn't break things).

@Ghostkeeper
Copy link
Collaborator

Developers, see issue CURA-6579.

@Ghostkeeper Ghostkeeper added Category: Engine Type: New Feature Adding some entirely new functionality. labels Jun 13, 2019
@LisaErl
Copy link

LisaErl commented Jun 15, 2019

Sorry I'm so late describing my concerns and I apologize in advance if I do anything wrong, I'm brand new to Github. I just signed up for this comment.

In the closed Issue #5770 smartavionics explained that a possibly necessary temperature change should take place shortly before the toolchange, so that at the time of the toolchanges the target temperature is nearly reached.

In my opinion, this should be reconsidered for the following reason: Immediately after the toolchange, the new extruder starts to work, but the hotend still contains the filament fed by the old extruder. This filament is deposited in the PurgeBucket or on the PrimeTower during the Purge phase and actually still needs the "old" temperature. Particularly when changing to a lower temperature, too early cooling of the hotend to the new temperature could cause problems in the form of clogging.

Personally, I am convinced that 2:1 Hotends are only suitable for pure MultiColor without temperature differences, but there are users who actually want to print materials with different temperatures.

Apart from that, as the owner of an A10M with 2:1 Hotend, I'm really looking forward to the modification. Many, many thanks for that.

@smartavionics
Copy link
Contributor Author

Hi @LisaErl , many thanks for your contribution to this issue. As I do not use a printer that has a shared heater I can only base my implementation on what people tell me. So far, the testers have been happy. See smartavionics#8 for more discussion on this.

If you wish to try one of my builds that has this feature (Linux or Windows only), please go to https://www.dropbox.com/sh/s43vqzmi4d2bqe2/AAADdYdSu9iwcKa0Knqgurm4a?dl=0.

@LisaErl
Copy link

LisaErl commented Jun 15, 2019

Hi @smartavionics ,
If it works well, then forget what I wrote. I just sat yesterday at a Cura postprocessing script with which I wanted to remove the obsolete temperature commands and therefore I have such things right in my head.

P.S. Especially because you don't have such a printer, I think it's really great of you to make such a change for us. Once again a big thank you. I know a lot of people from the groups around the A10M/A20M who will be very grateful to you.

@smartavionics
Copy link
Contributor Author

If the early heat up / cool down does cause a problem when people use materials with greatly different print temps on a shared heater machine (sounds crazy to me) then I will consider adding a setting to disable the early temp change. However, it may then cause problems because when moving from a high temp material to a low temp material, the extruder has to cool and I am not sure that M108 R? is supported by all firmwares so waiting for the extruder to cool to the right temperature may not be possible.

@LisaErl
Copy link

LisaErl commented Jun 16, 2019

Yes, I think it's just a theoretical problem. Whoever tries to process materials with a significant temperature difference with a 2:1 Hotend will always get problems, no matter what the G-Code looks like.

@andymozza
Copy link

Indeed - we thought it through and this solution makes sense for most scenarios already reported to Cura dev. Massive temp differences even if you think you have purged the nozzle fully always come back to haunt you with partial clogs etc. I just don’t think it makes sense to use this setup if your filament is so different. The ramp up and down works perfectly for those small temp differences to optimise printing for filaments in roughly the same range.

@Bomberski
Copy link

Im a a10m user, and wish you could support 2 in 1 feature.

@nallath nallath merged commit 5163c8f into Ultimaker:master Nov 14, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Type: New Feature Adding some entirely new functionality.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants