Go Down

Topic: Fan Control Theory (Read 3611 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
 


Please enter a valid email to subscribe

Confirm your email address

We need to confirm your email address.
To complete the subscription, please click the link in the email we just sent you.

Thank you for subscribing!

Arduino
via Egeo 16
Torino, 10131
Italy