Toolchanger Tool Prep
-
@deckingman , excellent info, thanks. Very intriguing about the PetG. I've printed that some, but not a lot. Hmmm...
-
@Danal said in Toolchanger Tool Prep:
@deckingman , excellent info, thanks. Very intriguing about the PetG. I've printed that some, but not a lot. Hmmm...
Yes, that's a big drawback with mixing hot ends - all filaments have to be loaded at all times and they share a common heater. So "unused" filaments get held at print temperature. Keeping them moving forward even slightly helps enormously but even 1% white mixed with red will come out as pink so it's not always possible to keep them all moving. With PLA, if it's been at print temperature for more than say half and hour, I always purge 20 or 30 mm before printing with it. Otherwise, what's been held in the melt/mixing chamber just runs out in one big sloppy mess. But like I said, PET-G seems to hold up forever (well at least 8 hrs). That goes for Taulman T glass too (but I think that's likely a variant of PET-G).
-
@Danal Cura puts heating commands in the Gcode in advance of the tool change command so that the tool is up to heat by the time the change is due. The tool is parked at standby temp which can be whatever you like - off, if you prefer. I have found the timing works quite well, but I can see advantages to the firmware doing it
-
@pawPrinter said in Toolchanger Tool Prep:
@Danal Cura puts heating commands in the Gcode in advance of the tool change command so that the tool is up to heat by the time the change is due. The tool is parked at standby temp which can be whatever you like - off, if you prefer. I have found the timing works quite well, but I can see advantages to the firmware doing it
I did not know that Cura did that! Is there anything you have to "turn on"? I will play around with it.
-
Lots of great discussion above about various ways to set temperature in advance of a toolchange.
Any thoughts about ways to move the extruder on a parked tool? In terms of G-Code syntax?
-
@Danal No, it just does it. So there is no control, and you are stuck with what Cura decides. I rather took it for granted until I tried out PrusaSlicer recently, and found their tool change handling not so well developed. Which is a shame because otherwise it is easier to use with multiple tools. I suppose its all still early days
-
I've just discovered that IceSL-Slicer seems to have the functionality to preheat a tool so that it is heated to the correct temperature by the time it is called, based on a given slicer parameter degrees_per_second and the slicer's estimated print time.
I do not know how it is implemented, but I will look into it and add it to the RRF profile I'm building, of which I'm nearing the completion of the first version for beta release.
The feature is called active temperature control and is described as such:
When printing with multiple materials, only one extruder is active at a given time. Active temperature control is specifically designed to avoid material to degrade and ooze from idle extruders. The idle extruder is dynamically cooled down and heated during printing, such that it is ready when needed and cooled when not needed. Adjust extruder parameters idle_extruder_temp_degree_c and extruder_degrees_per_sec when using this feature.
Emphasis mine.
-
@pawPrinter said in Toolchanger Tool Prep:
@Danal Cura puts heating commands in the Gcode in advance of the tool change command so that the tool is up to heat by the time the change is due. The tool is parked at standby temp which can be whatever you like - off, if you prefer. I have found the timing works quite well, but I can see advantages to the firmware doing it
I've looked at the gcode, and I only see M104 and M109 right at the moment of toolchange. Is there something needed to get 'advance'?
-
@Danal said in Toolchanger Tool Prep:
@pawPrinter said in Toolchanger Tool Prep:
@Danal Cura puts heating commands in the Gcode in advance of the tool change command so that the tool is up to heat by the time the change is due. The tool is parked at standby temp which can be whatever you like - off, if you prefer. I have found the timing works quite well, but I can see advantages to the firmware doing it
I've looked at the gcode, and I only see M104 and M109 right at the moment of toolchange. Is there something needed to get 'advance'?
Impeccable timing on my part I think you need to install the "Machine Settings Plugin"
https://forum.duet3d.com/topic/16350/standby-temperature-definition-in-dual-extruder/29
Copied below:
Maybe a comment better suited for the tool changing thread from the other day -
Cura (with the "Machine Settings" plugin) has the capability to fine tune the standby temperature as well as the "expected" heat up and cool down rates.
Much like IceSL's "Heating/cooling rate (C/sec)" setting, the plugin allows you to set both heat up and cool down speeds (C/sec), as well as minimum standby times.
When the M104 commands are injected into the GCODE is driven by the layer time / print speed, as well as the heat up and cool down values entered. Changing the heat up speed from, for example, 1°C/s to 4°C/s will result in the M104 Tx command being injected a number of lines later. It appears that, if the layer time where the heat up would occur is too short to allow for the nozzle to heat up from the standby temperature to active temperature, Cura will modify the standby temperature so that the nozzle will be ready in time.
Left columns are at 4°C/s, right is at 1°C/s. You can see that the print temperature for T0 is set many layers (233, 237, 104, etc) later in the file for hotends that can heat up faster. Looking at some of the highlighted cells you can see where Cura modulated the standby temperature to account for the limiting heat up speed.
Obviously a hotends heat up/cool down speed is not some magic, made up number - its based on the actual heater performance. I believe* that where the M104 commands are injected is based on print speed and the heat up/cool down values, and is not impacted by acceleration, jerk, etc. These heating values can get someone really close to reducing time spent waiting during tool changes, but really Cura (or any software) doesn't have a clue what the "machine model" (acceleration, jerk, dynamic acceleration, tool change files, etc) is.
*I tried adjusting acceleration values in Cura and saw no change in where the lines were inserted.
As far as firmware looking ahead - I think that this would be the best solution, as the firmware should know what the "machine model" is - the config.g is loaded on the machine anyways ! However, how far should the firmware look ahead? Is the real solution to determining when to heat up hotends, priming the a different tools extruder, etc, to simulate a print file, and allow the firmware to rewrite the print file to include the relevant lines needed - a similar approach that is taken to determine realistic print times by simulating the print first. I am far from an expert, but I feel that there would be limits to looking ahead, and a full simulation of a print file would be needed.
-
Nice!! I will check that out!
-
@sebkritikel excellent! Thanks. Nice to know that you can do a bit of tuning contrary to what I thought - Cheers