Pages: 1 [2]   Go Down
Author Topic: Fan Control Theory  (Read 2752 times)
0 Members and 1 Guest are viewing this topic.
Worst state in America
Offline Offline
God Member
*****
Karma: 32
Posts: 799
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

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.
Logged

Gentlemen may prefer Blondes, but Real Men prefer Redheads!

Offline Offline
Newbie
*
Karma: 0
Posts: 21
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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

United Kingdom
Offline Offline
Tesla Member
***
Karma: 224
Posts: 6619
Hofstadter's Law: It always takes longer than you expect, even when you take into account Hofstadter's Law.
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

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.
Logged

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.

Offline Offline
Newbie
*
Karma: 0
Posts: 2
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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?
Logged

United Kingdom
Offline Offline
Tesla Member
***
Karma: 224
Posts: 6619
Hofstadter's Law: It always takes longer than you expect, even when you take into account Hofstadter's Law.
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

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.

« Last Edit: January 07, 2013, 03:33:11 am by dc42 » Logged

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.

Offline Offline
Newbie
*
Karma: 0
Posts: 2
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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.
Logged

Pages: 1 [2]   Go Up
Jump to: