Toolhead preheat prior to a tool change.
-
There is a 3rd party PrusaSlicer post processor for this if your interested?
-
@hestiahuang I proposed to establish a tahead.g macro which runs, as soon as the look ahead planner finds a toolchange.
This could probably be too late, depending on the length of look ahead.
Finding the best solution is way harder, since each line of code can take longer or shorter.
My dual extruders always run at full temperature. Even when a tool is parked. I park the nozzle over a piece of nylon to prevent oozing and purge the tool, when it's reactivated. -
@hestiahuang its part of the multiple motion support. https://github.com/Duet3D/RepRapFirmware/wiki/Changelog-RRF-3.x-Beta#reprapfirmware-350beta1:~:text=[Duet 3 MB6HC] [Duet 3 MB6XD] [Duet 3 Mini] Multiple motion systems are supported. See https%3A//docs.duet3d.com/en/User_manual/RepRapFirmware/Multiple_motion_systems. Caution%3A this feature is experimental and may not be fully working in this release.
there are now 2 gcode streams. however, how a user chooses which gcode stream is used I am unsure of -
@jay_s_uk I guess these links won't work
-
@o_lampe works fine here (using googles copy link to highlight function)
-
@jay_s_uk You've posted one link, but it contains two http....addresses?
-
@o_lampe click it and see.....
-
@jay_s_uk said in Toolhead preheat prior to a tool change.:
there are now 2 gcode streams. however, how a user chooses which gcode stream is used I am unsure of
What I'm gathering from it is:
- you slice two different parts (located at different places on the bed)
- each part has it's own gcode file
- In their start code you specify the tool number with M596 (both files will have X,Y and E components, but we don't need postprocessing to rename XY axes)
What I don't get is, how it will handle layer changes
And it doesn't preheat a tool, since both tools are working -
@jay_s_uk said in Toolhead preheat prior to a tool change.:
@hestiahuang its part of the multiple motion support. https://github.com/Duet3D/RepRapFirmware/wiki/Changelog-RRF-3.x-Beta#reprapfirmware-350beta1:~:text=[Duet 3 MB6HC] [Duet 3 MB6XD] [Duet 3 Mini] Multiple motion systems are supported. See https%3A//docs.duet3d.com/en/User_manual/RepRapFirmware/Multiple_motion_systems. Caution%3A this feature is experimental and may not be fully working in this release.
there are now 2 gcode streams. however, how a user chooses which gcode stream is used I am unsure ofGreat to hear that, even it is for Duet3 6HC. Thanks a lot!
-
@o_lampe said in Toolhead preheat prior to a tool change.:
@hestiahuang I proposed to establish a tahead.g macro which runs, as soon as the look ahead planner finds a toolchange.
This could probably be too late, depending on the length of look ahead.
Finding the best solution is way harder, since each line of code can take longer or shorter.
My dual extruders always run at full temperature. Even when a tool is parked. I park the nozzle over a piece of nylon to prevent oozing and purge the tool, when it's reactivated.Any link about your tahead.g? Oh... I think I can check your post history and locate it. Thanks!
-
Just came across this old thread, and some of the thoughts in it are relevant to some work I am currently doing.
A few years ago when I was using a Marlin based IDEX machine with a fairly slow heating element I did write a gcode post processor that parsed the gcode and inserted pre-heat commands into the gcode stream approximately the right number of instructions ahead to take into account the likely execution time of the individual gcode instructions, plus the amount of heating time required based on approximate heat up rate, plus previous cool down rate.
I don't think the multiple motion systems enhancements really help with this so I am embarking on looking at preheating again based on a multiple motion systems/multiple idex/tool changer system I am working on:
Things that need to be considered are:
- The faster heat up times of more modern extruders meaning timings need to be fairly accurate - or maybe they are fast enough to largely negate the benefits of preheating.
- Gcode queuing/multiple queues means that working out where in the gcode stream to place the preheat instructions is fairly complicated.
- Working out how long each move/extrude is actually going to take it quite tricky too given acceleration/slow downs both prior and after each instruction.
I guess ideally the slicer and firmware would handle this, but in the meantime
I'm thinking maybe some global variables indicating future preheat timings, and use of daemon.g might end up being part of the solution.