Control many PC fans!

Hi Everyone,
I just want to control 16 or more 12V pc fans, These fans has no PWM capabilities! so the only way to control speed is regulating voltage!

What I need to know, Is simply how can I do it? is there any driver board for it?
Is it possible to use those 16CH servo moter drivers available for Aurdiono for this purpose?

The goal is to have multiple arduinos, with multiple temperature input, and fan controlling and set seed of every fan based on sensors values, I also need posibilities to turn off every single fan if needed!

Thanks a lot and Merry Christmas :slight_smile:

First up, can you show the fan type with electrical specs you intend to use??

PWM wouldn't be applicable to a mosfet to control motor speed???

Curious to if you plan to make a full variable speed motor or will two speeds do?

bluejets:
First up, can you show the fan type with electrical specs you intend to use??

Yes, Sure.
Here it is:

https://www.alphacool.com/shop/fans/fans/2641/yate-loon-d12sh-12-with-plug-2200rpm-120x120x25mm

LandonW:
PWM wouldn't be applicable to a mosfet to control motor speed???

As I know, this fan does not support PWM :frowning:

LandonW:
Curious to if you plan to make a full variable speed motor or will two speeds do?

Full variable of course is better. but im not sure about these type of fans!

Minimum voltage should 5V and maximum is 12V. also I need 0V to turn off the fan!
I believe the best method is regulate voltage, step up or down to control the speed of fan! but I don't know how for many fans!

is it possible to use servo motor driver to control a fan at all?

Thank you :slight_smile:

sonixax:
These fans has no PWM capabilities! so the only way to control speed is regulating voltage!

Why do you think that.
Controlling multiple 3-pin fans with PWM has been done before.
Did you search this site for something like "controlling multiple pc fans" (search box on top of this page).
Leo..

Don't quote me on this but "DC motors are dumb" they typically dont know if the signal is solid or PWM. they don't rely on frequencies that much. just volts and amps, all that really needs to be met are minimum voltage requirements and don't go over their max. If you find away to use PWM for this maybe mount the mosfets next to the fans so they get cooled too. I'm sure that goes without saying.

Yesterday I was working with two 12 volt fans like that. The electronics are in the fan hub. I tested with an adjustable power supply and they would not start until voltage got to around 10 volts.

If you want to control the speed you need to get fans that can be controlled.

Paul

Computer fans should be on full power when first turned on, and powered down to the speed you want after a few seconds.
The tach output (on 3-pin and on 4-pin fans) could be used to see if the fan is running.
The only difference between a 3-pin fan and a 4-pin fan is that the speed control electronics (including that full speed at startup) are internal or not.
Intel recommends a PWM frequency of ~25kHz (outside of our hearing range) for 4-pin CPU fans.
You can use Arduino's default PWM frequency, but if you don't want to hear a 3-pin fan, use >=20kHz or <=30Hz. 30Hz can still give a 'knockin' sound.
Leo..

Wawa:
Why do you think that.
Controlling multiple 3-pin fans with PWM has been done before.
Did you search this site for something like "controlling multiple pc fans" (search box on top of this page).
Leo..

I don't remember where, but somewhere on internet I read if we use PWM on 3 pin fans which does not support PWM, Fans running noisy and after a while the damaged cause they are not designed for this matter!

as I want to control about 112 fans, (7 Different controller with 16 fan on each) it is to expensive to replace damaged fans every week or month!!

So Please correct me if Im wrong!

Wawa:
Computer fans should be on full power when first turned on, and powered down to the speed you want after a few seconds.
The tach output (on 3-pin and on 4-pin fans) could be used to see if the fan is running.
The only difference between a 3-pin fan and a 4-pin fan is that the speed control electronics (including that full speed at startup) are internal or not.
Intel recommends a PWM frequency of ~25kHz (outside of our hearing range) for 4-pin CPU fans.
You can use Arduino's default PWM frequency, but if you don't want to hear a 3-pin fan, use >=20kHz or <=30Hz. 30Hz can still give a 'knockin' sound.
Leo..

Hmmm, I just connected them to the 5V Molex and they did worked, and when I connect them to the 12V Molex they working at high speed!

So is there any 16CH ADAFRUIT PWM controller suitable for these type of fans? should I use and mosfet to regulate voltage? if yes How?

Thanks a lot :slight_smile:

sonixax:
So is there any 16CH ADAFRUIT PWM controller suitable for these type of fans? should I use and mosfet to regulate voltage? if yes How?

A PCA9685 breakout board has basically the same 'signal' outputs an an Arduino pin.

So a PCA9685 can control a 4-pin fan directly, but not a 3-pin fan.
3-pin fans need mosfets between PCA board and fans that are capable of handling the current of the fan(s).

If you don't need/want to use the tach output of the fan, then you can PWM the fan low-side.
If you do want RPM feedback, you must switch high-side with a 2-transistor setup.
Low-side and high-side circuits can be found here.
PCA9685 boards already have the 220ohm series resistor, so the gate resistor can be omited.

Note that a PCA9685 can't do 25kHz PWM (40Hz-1kHz only).
Leo..

Wawa:
A PCA9685 breakout board has basically the same 'signal' outputs an an Arduino pin.

So a PCA9685 can control a 4-pin fan directly, but not a 3-pin fan.
3-pin fans need mosfets between PCA board and fans that are capable of handling the current of the fan(s).

If you don't need/want to use the tach output of the fan, then you can PWM the fan low-side.
If you do want RPM feedback, you must switch high-side with a 2-transistor setup.
Low-side and high-side circuits can be found here.
PCA9685 boards already have the 220ohm series resistor, so the gate resistor can be omited.

Note that a PCA9685 can't do 25kHz PWM (40Hz-1kHz only).
Leo..

Thanks :slight_smile:
Is it necessary to use 25kHz for fans or not?
I just want to control speed of fans, thats all.

sonixax:
Thanks :slight_smile:
Is it necessary to use 25kHz for fans or not?

No.
But you might hear the PWM frequency if it falls the range of human hearing.
Leo..

Wawa:
No.
But you might hear the PWM frequency if it falls the range of human hearing.
Leo..

Thanks a lot :slight_smile:
I just google for it and found I need Low Pass Filter to convert PWM to analog voltage, in this case RPM is readable and there is no noise! also I found my circuit should have some sort of mechanism to deal with the case micro controller crashed and mosfet remains on!

But cannot find any good 12V examples! which capacitors or resistors should use, etc ...

Is there any ready to use Low Pass filter (Nano size) or I must make it by my self?

sonixax:
I just google for it and found I need Low Pass Filter to convert PWM to analog voltage, in this case RPM is readable and there is no noise!
also I found my circuit should have some sort of mechanism to deal with the case micro controller crashed and mosfet remains on!
But cannot find any good 12V examples! which capacitors or resistors should use, etc ...
Is there any ready to use Low Pass filter (Nano size) or I must make it by my self?

You might not need it. Cross that bridge when you get there.
The fan will be on full speed when the mosfet stays on (unlikely). Shouldn't be a problem.
Try some PWM frequencies (code). You might not hear anything with a lower frequency.

The Arduino sends commands to the PCA9685 ONCE.
Then the Arduino is not needed anymore until you want to write a different PWM value to the PCA.
Unlikely that an Arduino crashes with proper code.
Leo..