Long time ago, I posted about Cool stepper drivers, but still many seems to never have heard about it.
So what can you use it for? And why should you use it?
Let’s start with what.
If your stepper drivers get hot, or maybe a motor is getting so warm it needs active cooling, you can control a fan with this function. All you need to do is to connect a transistor to the pin on the micro controller you set in the firmware, and then connect the fan to that transistor. For more info about this, please have a look at M42, which shows how to connect this.
The reason for using this build-in function to turn the fan on and off, instead of using M42, is because by using this function you don’t forget to turn the fan on or off. All you do is to decide what pin to use, how long the fan should be running after the last driver has been disabled, and then forget about it. You don’t need to remember to put something in the gcode to turn the fan on, you don’t have to press any button to do it, and that is how vital functions should be, in my opinion.
In this following video, I have used these settings
#define CONTROLLERFAN_PIN 66 //Pin used for the fan to cool controller, comment out to disable this function #define CONTROLLERFAN_SEC 10 //How many seconds, after all motors were disabled, the fan should run
If you still are puzzled about what this is doing, it is simple. As soon as any stepper driver is enabled, it will start the fan. As soon as all drivers are disabled again, it will wait the amount of seconds, defined by CONTROLLERFAN_SEC before turning the fan off again. This allows the fan to cool the motor or stepper drivers down before stopping.