Request for change to M302.
-
I'm not sure what can be done about this. My new hot end has two heat zones. The primary heat zone is around the nozzle, the secondary heat zone is where the (six) filaments get combined. The two are separated by a heat break and each zone has its own heater and thermistor. The secondary zone can run at a very much lower temperature than the primary zone (<140 deg C and maybe even a lot lower). By default DWC will not allow extrusion below (I think) 160 deg C and I assume the firmware default for printing would be the same. BUT, this seems to apply to all heaters. So even if the nozzle is heated to circa 200 deg C, extrusion is prohibited unless the temperature of the secondary zone is also above 160 deg C.
I can use M302 to get around the problem. Either M302 with no parameters to allow cold extrude or something like M302 S120 R100 would allow extrusion at >120 and retraction at >100 deg C. But this isn't ideal because bad thing will happen if the nozzle is at such a low temperature.
I can think of a couple of ways to get around it but there may be others. Either change the behaviour such that extrusion permission is based only on the primary tool temperature sensor and ignores the secondary sensor. Or (preferred) expand the capability of M302 to accept multiple values for multiple heaters (sensors). i.e. something like M302 S160:120 R120:80 (or some such).
-
-
@fcwilt said in Request for change to M302.:
Are both heaters referenced in the tool definition (M563)?
Frederick
Yes.
-
@deckingman said in Request for change to M302.:
something like M302 S160:120 R120:80 (or some such).
my initial thoughts is this would be a good way to implement this because then people who have multiple heaters, but either have no M302 command (so get the default) of have a M302 command in the old format would not need to change anything, and the behaviour for them would not change.
Actually thinking about it a bit further this is complicated with a machine with multiple tool s as well as multiple heaters. So maybe the best way forward is to have M302 take another parameter, (H?) to specify the extruder heater it applied to, and if that parameter was not present then it was set for all extruder heaters. We normally like to set things per tool though so potentially have the optional parameter apply to the tool and then use an single value for a tool with only one heater, or an array for a tool with multiple heaters. The default would be to apply the same to all heaters on all tools.
-
@t3p3tony said in Request for change to M302.:
@deckingman said in Request for change to M302.:
something like M302 S160:120 R120:80 (or some such).
my initial thoughts is this would be a good way to implement this because then people who have multiple heaters, but either have no M302 command (so get the default) of have a M302 command in the old format would not need to change anything, and the behaviour for them would not change.
Actually thinking about it a bit further this is complicated with a machine with multiple tool s as well as multiple heaters. So maybe the best way forward is to have M302 take another parameter, (H?) to specify the extruder heater it applied to, and if that parameter was not present then it was set for all extruder heaters. We normally like to set things per tool though so potentially have the optional parameter apply to the tool and then use an single value for a tool with only one heater, or an array for a tool with multiple heaters. The default would be to apply the same to all heaters on all tools.
That would work I guess. As you say, it does get complicated the more one thinks about it. Actually it's sensors that we need to talk about, rather than heaters (although we tend to think of them interchangeably).
In my case, zone 2 has both a heater and a cooling fan. There is some heat transfer between the two zones. So with the nozzle temperature at 200 deg C, the combining block above will get up to about 143 deg C - roughly 60 degrees cooler. But it takes about 20 minutes after the nozzle gets up to 200 for zone 2 to reach that 143 deg C. Hence the need for the second heater (because I don't want to wait 20 minutes after the nozzle has heated before I can extrude and print).
Conversely, if I want to restrict the maximum temperature for the combining block to (say) 200 deg C, so that loaded but lower temperature filaments don't get cooked, but I want to print some other filaments at more than (say) 260 deg C, I need to run the fan to cool the second zone. I've so far managed to get the nozzle up to 295 deg C with the combining block at 149. So almost 150 deg C temperature separation between the two zones. With a bit bigger heater and/or some fan baffles, I should be able to print up to around 350 deg C whilst maintaining the other loaded filaments at <200 deg C. This temperature separation could be pushed further with a couple of design tweaks but I digress......
-
Pending a firmware change could you remove the 2nd heater from the tool definition and control the 2nd heater and/or 2nd fan in the daemon.g file by monitoring the 2nd temp sensor?
Frederick
-
related github issue:
https://github.com/Duet3D/RepRapFirmware/issues/625