Page MenuHomeAleph Objects Inc

Feature Request: Dual Extrusion Hot End Switch
Closed, DuplicatePublic

Description

In cura 2, there are advanced dual extrusion controls. Some of the items added were advanced temperature controls. We a Standby Temperature, Starting Temperature, and Final Temperature.

At the moment, the extruder not in use will sit at standby temperature. As the printing extruder finishes its layer, it will slow ramp down to the "final temperature" Once it reaches final temperature, it will switch to the inactive tool head.

The tool head will not move away from the print towards the priming tower until the previously inactive tool head goes from standby temperature, to initial printing temperature. This can leave defects in the final part as hot end(s) are still hot enough to melt directly below them.

We would like the tool head to move to the priming tower while this heatup and cooldown of the tool heads occurs.

@alexei I do not know how large of a lift this will be. I placed this in future release, but it would be great if we could get it in the 2.6 stable release.

Event Timeline

karrad created this task.Nov 2 2017, 3:40 PM
alexei reassigned this task from alexei to victor_larchenko.Nov 28 2017, 6:41 AM
alexei changed the edit policy from "Custom Policy" to "Cura LulzBot Edition (Project)".
alexei added a subscriber: victor_larchenko.

@karrad, as I know, engine modify that temperature values, so toolhead don't need time to heat and cooldown, it's done parallel to printing wit other toolhead.

@victor_larchenko

At the moment, if the standby temperature does not match the initial printing temperature, there is a slight pause while the second tool head heats up from Standby temp -> initial printing temp. Depending on how large of a difference that is, the tool head can be parked above the printed object causing defects.

I will try to get a video of it today

To add to the discussion, I've also noticed that with both soluble and flexible filaments there is some oozing that occurs during the heat up period. When the second extruder becomes active and moves over the print it can leave the oozing filament on the print and cause print quality issues. This would be solved with the above fix, moving the toolhead to the priming tower as soon as the layer is complete. The following prints used LulzBot green PLA and black Ninjaflex.

@DRobertson ,

I'm just wondering if you tried to enable/change any options under "Dual Extrusion"


Does "Enable Ooze Shield" for example improve the situation?

@karrad, which profiles\settings I need to set on dual v2 to get this issue?

@DRobertson Do have a gcode file that will show this for victor?

I suspect to exasperate the issue, we put a low standby temp and a high "initial layer printing temp". This large difference should highlight the issue.

Sorry for the delay Victor! You can see the pause at about 55sec into this video, while it is waiting for E2 to heat to printing temperature:

karrad renamed this task from Dual Extrusion Hot End Switch to Feature Request: Dual Extrusion Hot End Switch.Feb 15 2018, 12:58 PM
karrad lowered the priority of this task from Normal to Low.
karrad lowered the priority of this task from Low to Wishlist.Apr 4 2018, 10:38 AM
karrad moved this task from Testing release (v3.2.18) to Backlog on the Cura LulzBot Edition board.
karrad removed victor_larchenko as the assignee of this task.Apr 13 2018, 2:15 PM
karrad raised the priority of this task from Wishlist to Normal.

@victor_larchenko I wanted to give you a heads up, this will be the next major feature after T1708. I know there was some confusion earlier when first reported about what needed to be done, please let me know if that video needs further explanation

I would like to get some discussion going on this ticket.

Here is a quiver print example of how marlin/cura is currently handling the toolchange. This is causing cross contamination between colors and sub par print quality
Left nozzle (green)
Right nozzle (blue)

Currently cura is printing 1 color, finishes that line of g code, then sits in that position for a second (it looks like it drops the nozzle as well, maybe from the z offset for the toolhead or weird servo behavior). The nozzle is picked up, then the new nozzle is dropped in this same position, which causes some cross contamination. Now the nozzle is moved to the new position for the new color and begins printing the new color.

I think we would like for this to print 1 color. Finish that line of g code. stop and pick up the nozzle. Now move to the position for the new color and drop the nozzle and begin printing the new color.

tagging @marcio @west @kent @Steven

@samantha are you still seeing issues with the z offset between toolheads?

i had a bad z offset for the above video, hence why the blue plunges so deep into the green on the nozzle change. I an printing another now. I will post a new video tomorrow

@tutley Can you also attach the gcode file you are using for this along with the video?

@karrad
heres some quiver moai g code

Also, we are getting new actuators in that should settle into postition more accurately and move more smoothly.

Rev B actuator (what we have)
https://drive.google.com/file/d/1hR24dN4IAnvEcWYx5ODFc9Z-edn1WsYN/view?usp=sharing

Rev C actuator
https://drive.google.com/file/d/1DWXt65fQmXzzVy8n3nxva3P1OAaVQMK9/view?usp=sharing

We will need an example of how the gcode should be operating, vs how it is currently operating to implement this change.

heres a file laying out the toolhead change currently vs the desired motion

Please feel free to add any feedback etc

FYI, regarding the unknown 10mm Y move in the current code example in the post above, I have been looking through the Gcodes lately and have noticed that it sometimes inserts multiple moves into that section. Not sure what exactly it is doing or if that is something that we might need to be aware of for this change.

Example:

G1 F1800 X111.618 Y130.919 E44.94273
G0 F10500 X111.873 Y130.974
G1 F180 E36.94273
G92 E0
T1
G92 E0
M109 S195
M104 T0 S195
G1 F180 E6.25
G0 F10500 X113.735 Y132.36 Z8.68
G0 X121.39 Y145.475
G0 X121.953 Y145.961
G0 X122.64 Y146.191
G0 X135.663 Y149.971
G0 X135.726 Y150.021
G0 X140.835 Y154.125
G0 X140.869 Y154.153
G0 X240.653 Y234.293
M104 S205
;TYPE:SUPPORT
G1 F600 E8
G1 F1200 X241.89 Y235.53 E8

@samantha Yeah, it is problematic on the X/Y moves. It has been logged on T3474, it has been causing @anolen some issues on banded profiles. @alexei seemed confident he could handle that aspect.

@tutley Have you printed this gcode? Looking it over, it appears you just want a Z hop (or specified Z distance) inserted before a T0 or T1 command. How does this interact with Marlin when activating the servos?

@karrad we want a Z hop started before the change, and not un-hopped until after it is at the next start location. The servos activate on the T command, so this should result in

hop up
tool change/servos activate
move to new material start location
un-hop down
continue

This way, we wont have the nozzle change interact with the print, nor will we have nozzles dragged through the print.

For clarification based on conversation with @karrad just now:

Z up (not tied to z-hop variable)
Tool change (marlin will handle servos)
continue pathing until we reach the location the new material will start
Z down (back to layer height)
Continue

Thus, all we really need added to Cura is the Z up and Z down at the right points. Nothing needs to be done with the toolheads themselves, just the Z.

karrad raised the priority of this task from Normal to High.

@victor_larchenko Okay I think we have this one nailed down. We need to insert a G1 Z<extruder_change_lift> before a T0/T1 is inserted, and drop it back down after the T0/T1 command is complete.

This would make this example:

G1 F180 E327.26735
G92 E0
T0
G92 E0
M109 S210

Turn into this:

G1 F180 E327.26735
G92 E0
G1 Z<extruder_change_lift>
T0
G1 Z-<extruder_change_lift>
G92 E0
M109 S210

This would require an additional setting under travel.

There is currently a "Z Hop After Extruder Switch" option in Travel. This will raise the print head off the object after a switch (T0/T1), but this causes color contamination. Please let us know if you would prefer modify this function to a "Z Hop Before Extruder Switch" which will have the same functionality.

@karrad its not just the z hop up, then toolchange, then z back down.

it needs to be z hop up, toolchange, move to start position of new tool, then z hop down

@karrad i will try printing with that g code when my current print finishes

@karrad

More like

G1 F1800 X111.618 Y130.919 E44.94273
G0 F10500 X111.873 Y130.974
G1 F180 E36.94273
G92 E0
G1 Z<extruder_change_lift>
T1
G92 E0
M109 S195
M104 T0 S195
G1 F180 E6.25
G0 F10500 X113.735 Y132.36 Z8.68
G0 X121.39 Y145.475
G0 X121.953 Y145.961
G0 X122.64 Y146.191
G0 X135.663 Y149.971
G0 X135.726 Y150.021
G0 X140.835 Y154.125
G0 X140.869 Y154.153
G0 X240.653 Y234.293
M104 S205
;TYPE:SUPPORT
G1 Z-<extruder_change_lift>
G1 F600 E8
G1 F1200 X241.89 Y235.53 E8
karrad reassigned this task from victor_larchenko to alexei.Aug 30 2018, 2:42 PM

@alexei I won't be able to review until Tuesday, kicking to you

karrad added a comment.Sep 4 2018, 7:44 AM

@tutley @samantha How did the print come out with the modifications made at each T0/T1?