Quote Originally Posted by Alexandr0s View Post
Could someone please explain the problem of a not completely closing mosfet to me? I don't think I'm getting it :P. What exactly causes it, and what are the effects?
the idea of PWM is to have the mosfet either completely switched ON or completely switched OFF. the power and thus rpm of the fan is controlled by the duty cycle of the signal.

in theory:
50%on/50%off -> 50%rpm
25%on/75%off -> 25%rpm
10%on/90%off -> 10%rpm

anyway, the mosfet should know just two states, either completely on or completely off at any given moment!

in both states the dissipated power (heat of the mosfet) should be almost 0 (ZERO):

when switched OFF this is obvious: no current is flowing through the mosfet while all 12V are across the switched off mosfet leaving 0V for the fan. this results in 0A * 12V = 0W for the mosfet to transform into heat.

when switched ON there is of course current flowing through the mosfet (lets say 2A just for fun) but as the mosfet has a very low Ron (resistance when switched ON) there are just a few mv (may be 20 milli volt) across the mosfet leaving almost all 12V for the fan. now, the power the mosfet has to transform into heat is 0,02V * 2A = 0,04W which is almost nothing!

thats why - if PWM is working as expected - the mosfet should not even be warm!

in your circuit, unfortunately the mosfet is not switching off completely, thus there is a small amount of current flowing even when you dial in lets say 10% pwm. this results in having some voltage across the moset and some voltage on the fan. add the current which flows through the fan now an the mosfet starts to heat up, while the fan refuses to regulate to lower rpm.

cant tell you the reason for this behavior, its just the explanation for the unexpected heat on the mosfet. may be another mosfet type, or different gate voltage might help. but as said before, i stopped playing with PWM and moved on to linear voltage control.

getting rid of the heatsink would be the main advantage of PWM to me. if i need a heatsink for the mosfet i can even use linear voltage control which requires a heatsink by design. and of course i even wont run into rpm reading problems or unwanted switching noise with linear voltage control.

give me some time. will post my solution as soon as its ready. some of my ideas are:
  • microcontroller based
  • usb interface to system
  • read tempsensors already available in the system
  • read external DS1820 sensors
  • communicate with rivatuner
  • control fans via motherboard pwm headers
  • low power (1.5A) and high power (3A) outputs (although i don't think anybody needs 3A)

and much more