Go Down

Topic: Fan Control Theory (Read 3262 times) previous topic - next topic

Krupski


That should be fine, I've controlled a PWM fan like that, I think it was an Arctic F12 pwm too. Bear in mind that the Intel PWM spec only guarantees that fans will run from 30% pwm to maximum.


Look at what the OP said:

Quote
could I use a transistor as a switch connected to pin 3 set up so when the PWM duty cycle goes high it connect the grounds of the fans and allows me to throttle them that way?


I don't think he's talking about a PWM (4 wire) fan, but simply switching the fan on and off with the Arduino PWM output and the transistor.
Gentlemen may prefer Blondes, but Real Men prefer Redheads!

Dylfish

I was taking into account that not all fans are PWM so it might be safer to do it that way.

dc42



That should be fine, I've controlled a PWM fan like that, I think it was an Arctic F12 pwm too. Bear in mind that the Intel PWM spec only guarantees that fans will run from 30% pwm to maximum.


Look at what the OP said:

Quote
could I use a transistor as a switch connected to pin 3 set up so when the PWM duty cycle goes high it connect the grounds of the fans and allows me to throttle them that way?


I don't think he's talking about a PWM (4 wire) fan, but simply switching the fan on and off with the Arduino PWM output and the transistor.


Look again at his original post:

Quote
Im looking to control 3 fans (12v PC Case, Arctic f12 PWM) and i was wondering if my logic is correct.


... the Arctic F12 PWM is of course a 4-wire fan.
Formal verification of safety-critical software, software development, and electronic design and prototyping. See http://www.eschertech.com. Please do not ask for unpaid help via PM, use the forum.


PC fan PWM inputs are supposed to be driven from an open-collector or open-drain output, at a frequency of 25kHz. I posted suitable code in my response to your question in the Microcontrollers section. That code has been tested on a PWM fan - an Arctic F12 PWM afair.

The best way to drive the fan PWM input is one of the following:

1. Use a small signal npn transistor such as BC337 or 2N3904. Connect collector to fan PWM input, emitter to ground, and base to Arduino PWM output pin through a 10K resistor.

2. Use a small signal mosfet such as 2N7000. Connect drain to fan PWM input, source to ground, and gate to Arduino PWM output pin (no resistor needed when driving a small signal mosfet from an Arduino pin).

The Intel spec states that the max current sourced by the PWM input is 5 mA, so wouldn't it be safe to drive it directly without a transistor/FET?

dc42

#19
Jan 06, 2013, 06:17 pm Last Edit: Jan 07, 2013, 09:33 am by dc42 Reason: 1
You are supposed to drive the fan PWM pin from an open-collector output, i.e. you can pull it low but not high. With a direct connection to the Arduino, you could achieve that using software PWM but not using hardware PWM. However, you could connect a small signal diode (preferably Schottky) between the Arduino pin (cathode) and fan PWM pin (anode) instead of using a transistor.

One other thing to consider is what happens if the Arduino is powered off but the fan is powered up. With a direct or diode connection, the fan will run at minimum speed, which may not be a safe condition. Using a transistor or mosfet, the fan will run at maximum speed.

Formal verification of safety-critical software, software development, and electronic design and prototyping. See http://www.eschertech.com. Please do not ask for unpaid help via PM, use the forum.

That's a good point about what happens when the Arduino is unpowered. I'd guess that in most situations you'd want the fan to run at full speed in that situation.

Go Up