[3.4.0b7 - 3.4.0b7+2] Something amiss with heating
-
This probably relates to a couple of other posts regarding strange things happening with heating.
Apologies for the verbosity, but wanted to ensure it's explained properly.I noticed the other day that my filament change macros were failing with a heater error saying that the maximum excursion limit had been exceeded.
This was occurring at the final stage of the macros.
So the basic sequence was
1: The filament is heated to just over the cold retract value.
2: The filament is withdrawn
3: The filament is heated to just over the cold extrude value
4 The filament is fedThe config.g of each filament contains the cold retract and extrude temps.
The load & unload macros for all filaments simply call a universal load/unload macro.
So the actual process involves several macros and setting/resetting temps and values several times.With 3.4.0b7 (also tried 3.4.0b7+2), when it gets to the final command to set the extrude temperature, the temp increases to the command value, but rather than settling at that temp, the temperature drops continually as if the heater was turned off, despite it still showing as active.
The macro continues as can be seen by the attempts to wait for the temp to settle on extrude temp which occur after the error.
Ultimately the change fails when it continually tries to extrude below the temp.I spent a day adding comments and trying to debug my code thinking I had screwed something up, and tried reducing the calls to external macros in case it was a nesting limit, but no change.
If I roll back to 3.4.0b6, the sequence completes successfully!
I have attached all the relevant macros in a zip file (renamed to txt to allow upload)
There's a lot more echos etc than normal as I was trying to see where it went pear shaped. -
@dc42
I have narrowed the source of the issue to the use ofG10 R0 S0
in my do_moves_for_unload.g file
If I replace that with
M568 A0
Then everything works fine.
So it seems if you turn off a heater with G10 S0 R0, it will not turn back on.
.This only seems to be the case when it comes from a macro.
Sending the commands from the command line works normally, even if you mix G10 and M568 -
@owend thanks for pinning this down. I have reproduced this issue and I am investigating it.
-
I have now tracked this issue down. The issue occurs when you use a heater and you then let it cool down to below 25C. I will have a fix soon.
-
This is fixed in 3.4.0beta7+2, see https://forum.duet3d.com/topic/26787/unofficial-rrf-3-4-0beta7-2-files.
-
@dc42
3.4.0b7+4 does appear to have fixed the issue I was experiencing when G10 R0 S0 was used.
I put it back in and the macros perform correctly.Given the graphs I showed and the fact that the ambient temp is in excess of 30 degrees here, I disagree with the 25 degree thing, but it's a moot point.
Thanks for the quick action!
-