Using a fan to cool the extruded plastic helps a lot to get better prints, but having it at a fixed speed it’s not the best way at all.
A variable speed fan can be used more efficiently during different moments of the printing process: first layers, bridges, small layers…
THE PROBLEM: on my board the pin dedicated to regulate the fan speed (via pwm) gets its current from an unregulated source. The Ultimaker board uses pin 7 to control the fan speed, but this pin has not a 12v maximum tension, instead it gets it power directly from the power supply (in my case a 18v transformator).
If I had used this feature out of the box my fan would have received a voltage of 0/18V not suitable for the popular 12v fan commonly used for this task.
POSSIBLE SOLUTION 1: Use a 24v fan, but this would also have been impractical since at 18v (maximun voltage of my transformer) the fan would have worked at a very low speed.
In fact, computer fans have a working range that’s not 0 to 100% volts since you need to kick in some power to make it turn first, for instance my fan can effectively operate in the range of 5 to 12v. Under 5v my fan doesn’t even start turning. But once it does you can lower it a little more, I will discuss it later on this post about this.
POSSIBLE SOLUTION 2: in your slicer program limit the maximum fan speed to a value safe for your fan. It works, but it’s not really practical nor intuitive and if you are using a controller (like the utilpanel, ultimaker controller ecc.) it’s not safe at all since you coul easily burn your fan using some functionality these controller provide.
MY SOLUTION: I modified the firmware and set a parameter to define the maximum voltage suitable for my fan. Now I can safely use any slicer/controller in their full range of 0/100% fan speed. The firmware will then handle all the conversions for me.