Go Down

Topic: Controller PC fans 3-Pin vs 4-Pin (Read 3657 times) previous topic - next topic


I want to make a fan controller using Arduino. I can control the fan using PWM on the 3-Pin connectors but the problem I am having is the frequency noise coming from the fan is just a little too annoying. I am wondering exactly what drives the fans and what can I do to eliminate the noise.

I believe the 4 pin connectors have a pin assigned for the PWM signal, I just haven't experimented with it yet.

Note: I am using a mosfet IRF540N to drive the fan.


Yes, the 4-pin fans have a PWM input, which can be driven from an Arduino using a small signal NPN transistor, a small signal N-channel mosfet, or even just a diode. The PWM frequency is supposed to be 25KHz, which can be generated from timer 1 or 2 on a Uno if you don't need to use the other PWM pin on the same timer for PWM.
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.


I've notice on the 3 pin fans, if you change the voltage you can changes the speed. is there a way I can implement that with the arduino?


I think I am going to try to use an RC Low pass filter.


Filter worked and change some stuff with timing worked great.
I am using the mega 2560

Instead of using the define PWM pins, I am wondering if I can use any digital pin as PWM?
Code: [Select]

int fan = 12;
int dT = 500;//uS

void setup()
  pinMode(fan, OUTPUT);
void loop()
  digitalWrite(fan, LOW);
  digitalWrite(fan, HIGH);

has anyone played around with this?
Are there any libraries?
Can I achieve high frequencies by doing it this way or will have have issues?


Feb 23, 2013, 04:06 am Last Edit: Feb 23, 2013, 10:10 am by dewy721 Reason: 1
I don't know if the topic is still live or not but making an Arduino multi-channel fan controller has already been done, it gets the temp readings from the PC's on-board temp sensors.

The post covers 2,3 and 4 wire fans as well as the differences of how to use a 3.3v vs 5v Arduino for the controller. Even RGB programmable LEDS are supported as an addon option.

If anyone is interested the post can be found at http://www.silentpcreview.com/forums/viewtopic.php?f=9&t=65801&p=571959#p571959

If you would like more of a basic howto guide I posted one on my blog.

Go Up