How to turn off heater fault detection (chocolate printer)



  • Hi folks

    A big shout out to all the developers of the Duet family! I am working on my fifth Duet based machine and for the first time, there is a problem that I cannot solve by myself.

    First a few words about the machine. It's not a classic machine, it's supposed to print finest swiss chocolate with a idex setup. Due to the fact that chocolate has a few crystallisation points, we're forced to keep the temperature within close limits. That’s why we are using a special extruder head and a compressor to cool down the print chamber. My print head weights 5kg and I'm using 2 separately controlled heated mats with 5 and 30 Watt per head. Because of geometric constrains I'm not able to fit a more powerful heater and for the process itself it would be all fine. Due to the slow heat up times I'm running now always into a heater fault with the 5 Watt mat and the chamber compressor (needs some time to cool down the evaporator plate).
    Is there a way to turn off the heater fault detection? In my special case it would be all right to turn off the safety features because there's no physical threat that can occur. At full power of the heaters I'm getting no more than 55°C.

    I'll soon be able to supply you with some images and videos for the one's interested at it 😉

    I'm grateful for any ideas and hints that might solve my problems.



  • @wavescout I don't about turning off fault detection altogether but have you considered setting the fault detection parameters to very high values? Something "silly" like P3600 T100 perhaps?
    https://duet3d.dozuki.com/Wiki/Gcode#Section_M570_Configure_heater_fault_detection



  • @wavescout You get a heater fault in case of defined deviations from the heating process parameters. Usually, these values are generated by auto-tuning the heater, but sometimes, the temperatures don’t rise fast enough.

    First try to manually define a heater model which comes close to reality, using M307 with estimated values for the A, C and D parameters. Try different values until heater faults become very rare. After that, it’s just fine to follow @deckingman’s advice.


  • administrators

    @wavescout, please explain how you are using the two heated mats and how you have configured them. Have you attempted heater tuning?



  • Thank's for all your replys. Yes, the fault was always due to the slowly rising temperature (~1°C per 20s). The two heat mats are wrapped around a stainless container and are defined together as one tool (M563 P1 S"Extruder-Links" D0 H3:4 F-1 X3)
    I had some troubles with auto tuning off the weak heater (5W). It failed due to a bad curve fit (A=17, C=231, D=1.7). The 30W heater was tuning fine at the first try.
    After changing the heater model (M307) manually to the parameters of the failed auto tune, it finally succeeded the auto tuning procedure. The auto tuner algorithm then calculated M307 H2 A11.4 C129.7 D4.1 S1.00 V23.8 B0
    I'm quite happy that I didn’t have to dive into my control theory lessons again to try it manually with Ziegler Nichols after a few years ^^

    The Heater fault parameters are now set to M570 P3600 T100 and it's heating without any faults. Thanks for that hint 😃

    Despite the success, there's still a problem to solve. I'm using the chamber heater for the cooling compressor in bang bang mode. But the hysteresis is so small that it's restarting the compressor all the time and that's reducing it's lifetime drastically. Isn't it possible to adjust the hysteresis to +-1 degree instead of the 1/10 degree as default? Sure, I could mount the air sensor to a thermal mass but then it's not as responsive anymore.

    Sadly, I'm not allowed to show you the printhead in detail at the moment but here is a picture of the idex research machine we're currently building and a youtube video of the predecessor single head machine. As soon as it's declassified I'll do a "my duet machine" blog post. Simplified it’s a melting chamber on top and some auger to extrude it. However, that’s where the magic happens 😉
    https://www.youtube.com/watch?v=GoGOHZAwIfY

    IMG-20191029-WA0002.jpg

    Thank you verry much for your support and keep going your exellent work! Makes me feel proud that that's all done with free soft- and hardware (big duet sticker on the controller side =P)



  • @wavescout Glad to hear that you got a working heater model. But why, then, do you allow for these extreme deviations from the intended operation of the heater? You should narrow down the fault tolerances in M570 to something you will expect of the heater under normal conditions.

    Despite of safety concerns (who might play a minor role in your special setup), heater faults are a pretty good means to alert you early of something going wrong - connections coming loose, component failures etc. That’s better than to wonder about a failed print.

    I have no clue how to change the narrow hysteresis of the temp. sensor in G-code, so adding a thermal mass might be a good idea. Equivalent to this is to enlarge the distance between cold air outlet and the sensor…



  • @wavescout said in How to turn off heater fault detection (chocolate printer):

    Despite the success, there's still a problem to solve. I'm using the chamber heater for the cooling compressor in bang bang mode. But the hysteresis is so small that it's restarting the compressor all the time and that's reducing it's lifetime drastically. Isn't it possible to adjust the hysteresis to +-1 degree instead of the 1/10 degree as default?

    Hmmm. There is 1 degree of hysteresis on fans that are set to control thermostatically. I know this because it was something I asked for and David (DC 42) implemented. So maybe you could control the heater via a Mosfet or some such connected to a fan output??? Just a thought but someone else may have a better suggestion.


  • administrators

    I agree with Ian, you can try treating the compressor as a thermostatically controlled fan instead of a heater. You can drive an SSR or even a mechanical relay from a fan output.


Log in to reply