Electrical – Use motherboard PWM to control non-PWM fans with MOSFET

fanmosfetmosfet-driverpwm

So heres my problem: I have lots of fans but most of them have no PWM input. I want to drive clusters of 12v fans by PWM using only one signal.

In my spares i found a Fuji Electrics K2647 MOSFET.

I had some failed attempts trying to use it, but according to the internet it should work somehow. The PWM signal is coming from an Asus P8P67 motherboard (CPU fan channel). Its 18.75kHz (Measured in AC mode by a Fluke175) and ranges from 20% (1.074V avg) to 100% (5.056V avg) duty cycle. This whole circuit is placed inside a computer, so there are 12V, 5V and 3.3V rails available. Efficiency doesnt matter. There is also plenty of airflow. One fan pulls 400mA when blocked, but there will be 4 identical fans.

I need a circuit that can PWM control a 12V 1.6A load, can anyone design one?

EDIT: The motherboard hardware makes a duty cycle under 20% impossible (safety reasons perhaps?). Is there a way to add a gain/threshold to address this problem?

I found lots of people with a similar problem, but noone had a good solution.

FOLLOWUP: I built the circuit in the accepted answer using a FQP30N06L and it works great. I can recommend this as simple and cheap solution for fan controllers.

Best Answer

There is a well established standard for the 4 pin PWM fan output on Motherboards.

The PWM output is open collector BJT or FET so needs to be pulled up externally to 3-5 V. The PWM frequency should be from 21-28 kHz and from 20% to 100%. The reason the PWM does not go below 20% is that many fans will not start or run at the lower speeds. The computer BIOS will normally start the fans at 100% for several seconds on power on to get them started, then backoff to temperature controlled speeds. Some BIOS's will allow you to set a minimum fan speed higher than 20% or to set 0% to turn the fan off completely.

The fan PWM controller is also responsible for counting the Tach signal, this is used to detect slow or stalled fans. If you don't enable this (supply the Tach signal to the controller) you might find your fan controller continually raising the speed of the fans. The solution is of course to feed the signal from one fan back to the motherboard controller.

I'd suggest a low side fan drive like this would work:

schematic

simulate this circuit – Schematic created using CircuitLab

The FQP30N06 you mentioned in the comments would work but if you look at Figure 1 in the datasheet you have to remember you are operating on the extreme left hand side of the graph where V(DS) approaches zero. You will see here that to ensure good operation you really need to have a V(GS) of abut 4.5 V to assure a current of 2 A and a V(DS) of 0.1 V.

enter image description here

There are a stunning new class of low V(GS) threshold FET's like the IRF7401 that feature Gate thresholds in the 1 V range. These can operate directly from 3 V microprocessor ports, but unfortunately they typically come in small surface mount packages ...so not particularly hobbyist friendly to wire up.

Related Topic