Temps in shared nozzle setups with two filaments
-
Which firmware version are you running, and what GCode appears in the file you are printing when you change filaments?
-
V1.21RC4 is what Im using.
According to the script author that Gcode is correct.
http://distechforum.com/showthread.php?tid=127&pid=484#pid484 -
Just testing simple single colour Cube prints for calibration.. problem still there!
Basically if you have any defined tools with temps it sets the highest temp from any "extruder" as the standby temp for "all extruders". For reasons I dont understand, any "standby" temp seems to trump "active" temps, so it becomes the actual temp on the extruder hotend.So even if I'm only printing with Ext2, it sends Ext1's temp setting as Standby, forcing Ext2 to be a completely diff temp than it should be. It then (after it starts printing), brings the temp down to the actual active setting for Ext2.
When doing a single colour print this likely only happens once.. but when doing a multi colour print (or with Support filament) then this happens 100's of times.. if the temps are not "friendly" across all filaments chaos ensues.
This is surely a bug?
-
The M104 and M109 commands set both the active and standby temperatures of the specified tool. In your GCode, the M109 S210 command is the last one. So it sets T1 to 210C. Because T1 and T0 share the same heater, this overrides the previous M109 S200 command. Any printer firmware will behave the same way with that sequence of GCodes.
If you want to use the active/standby temperature feature of RRF, configure your slicer to generate G10 commands instead of M104/M109, and M116 commands when you want to wait for a tool to reach temperature. However, as you have only one tool heater, you have no need of standby temperatures.
-
@dc42
Thanks for clarifying, glad to know I'm not going mad!So when you say "configure my slicer to generate G10 commands instead of M104".. I'm using S3D, it doesnt support this does it?
Also you mention I don't need standby temps.. I know this!.. As far as I'm concerned I'm not setting them, but Duet/RRF (unlike Repetier) is interpreting S3D's gcode's temps for the other extruders as "standby temps". On the Duet side.. how can I just remove Standby support entirely?
-
@kodachrome said in Temps in shared nozzle setups with two filaments:
@dc42
Thanks for clarifying, glad to know I'm not going mad!So when you say "configure my slicer to generate G10 commands instead of M104".. I'm using S3D, it doesnt support this does it?
Also you mention I don't need standby temps.. I know this!.. As far as I'm concerned I'm not setting them, but Duet/RRF (unlike Repetier) is interpreting S3D's gcode's temps for the other extruders as "standby temps". On the Duet side.. how can I just remove Standby support entirely?
The problem you are getting is nothing to do with standby temperature support. It is caused by the slicer assuming you have two different heaters when you have only one.
-
@kodachrome said in Temps in shared nozzle setups with two filaments:
So when you say "configure my slicer to generate G10 commands instead of M104".. I'm using S3D, it doesnt support this does it?
Would also be possible:
Just share the factory file, maybe one can help.
-
When using G10 to set temperatures, use M116 to stabilise temperatures, not M109 or M190.
Also bear in mind that G10 doesn't actually select the tool, so there needs to be a T command somewhere in the start GCode.
-
Unfortunately brings a stabilization nothing if previously no temperature was specified, and since I have not found for S3D. (Two lines do not work)
But fortunately, S3D does not write M109 into program code, so I left that on M109.
M116 is only in Tool Changes Macro
That works for me.
-
Hello, new use here in the forums. I'm the author of the Filaswitch tool and pondering about how to fix this temperature problem. I've previously had a Marlin based board and with it, tool change after M104-command doesn't force the temperature to change to something that was set for that tool. So Marlin seems to behave differently in this regard.
In Filaswitch the temperature change is initiated before the actual tool change, just to make sure that nozzle is closer to correct temperature before new filament is fed to the nozzle. So for example we have active tool T0 (210C) and we are going to be switching to T1 (220C). The sequence would be:
T0
.
.
.
M104 S220 T0
(filament long retract g-code...)
T1
(filament long feed g-code...)If I understand correctly, in Duet the tool change will result in the temperature being changed to whatever T1 is set to be.
So perhaps the fix would be:
T0
.
.
.
M104 S220 T0
M104 S220 T1
(filament long retract g-code...)
T1
(filament long feed g-code...)
.
.
.
M104 S210 T0
M104 S210 T1
(filament long retract g-code...)
T0
(filament long feed g-code...)Support for G10 is a possibility, but will need more time as I need to understand all the changes the new command entails.