M106 for cooling board with a fan
-
@mwinterm said in M106 for cooling board with a fan:
Hello,
I'm using a DuetWifi and have a housing with a fan specifically to keep the TMC2660 from overheating. In my config.g file I configuered the fan with
M106 P0 F25000 L0.5 B4 H101 T50:100 C"DuetFan"
Like that the fans turns on every few seconds for maybe a second or two. Like that I still get every now and then a
Warning: high temperature reported by driver(s) 1
My understanding is that the TMC2660 does only report when it gets two hot and does not provide a specific temperature and therefore the Fan only turn on shortly at full speed and then turn off again until the next warning comes in. I think without a temperature reported back from the TMC2660 there is not much more it can do. However it would be helpful to set at least a minimum run-time of of the fan for e.g. 5seconds. Is there a way to achieve this?
There is code to delay warning about high driver temperatures if a fan was turned on in response to a driver temperature warning. I guess that code isn't working perfectly. Try the suggestions made by @Phaedrux.
-
@dc42 : Could you point me to that code i.e. which file?
-
@mwinterm said in M106 for cooling board with a fan:
@dc42 : Could you point me to that code i.e. which file?
It's the block of code starting around line 1566 in Platform.cpp. It relies on Fan::Check being called before this at line 1538, after the driver warning status has been fetched. Also see line 315 of Fan.cpp.
-
Dumb question: if your controller needs to be cooled with a fan to prevent overheating, why not just connect the fan to the power supply and be done with it? I know DC42 writes great code, but if the board has a problem for any reason (component failure, maybe overheat?), "protection" schemes that depend on the controller working properly may not "protect" anything. ' An ounce of prevention is worth a pound of cure.'
I know a fan makes a little bit of noise, and we all want silent printers, but you don't need a lot of air movement to keep the board cool. If you have a 12V power supply you can connect a 24V fan and it will turn slowly and quietly. You can always use a cheap (about $1) DC-DC converter to run a 12V or 24V fan at lower-than-rated voltage. My printer has a 5", 230VAC fan connected to the switched 117V power input and I cannot hear it running, even in a silent room. Yes, it does run, and yes it moves air.
-
@mrehorstdmd said in M106 for cooling board with a fan:
Dumb question: if your controller needs to be cooled with a fan to prevent overheating, why not just connect the fan to the power supply and be done with it?
My thoughts exactly, and it's simpler, too. I use a 40mm Noctua 12V fan run off a cheapo buck converter from my 24V supply. Whisper quiet and holds the board at about 25C all day long.
Heat kills electronics, and I don't want my $180 board going through cool-warm-cool-warm cycles. The fan runs constantly any time the printer is on, keeping the board at a constant temperature.
-
@plasticmetal @mrehorstdmd My main reason for not wanting the fan to run all the time is dust. When the printer is sitting idle, there's no need to actively cool the electronics. In most cases the board itself is perfectly fine running passively cooled anyway.
-
Both good points. Ironically, running a fan can cause dust to build up and act as an insulator, thereby increasing the heat, thereby needing a fan. Kind of a "chicken before the egg" scenario.
-
Years ago I saw an article in Electronic Design magazine about fan controllers. The traditional method was to do what you're trying to do- measure the temperature and when it gets to some point, switch on the fan. The article described a different approach- switch on the fan based on current drain. Current is instantaneous and current is what leads to heating. If you wait for something to heat up before you turn on the fan it may already be too late.
-
Agreed with all of you, and I could as well use one of the two always on fans. I just like it to be quite. Especially at the moment where I'm still optimizing the set-up and the firmware my duet is constantly switched on even though nothing is machining.
Btw does anyone know what the TMC2660 do when they overheat. Do they switch themselves off at a certain point or do they go on and die heroically?
-
@mwinterm said in M106 for cooling board with a fan:
Btw does anyone know what the TMC2660 do when they overheat. Do they switch themselves off at a certain point or do they go on and die heroically?
They report over-temperature warning at about 100C. If the temperature rises further to about 130C, they go into shutdown and turn the output mosfets off. RRF doesn't provide a facility to reset them via SPI, so to reset them you would need to remove and re-apply VIN power.
-
@dc42 : Thanks a lot for the info!