cooling and ventilation control

I need help with what i know is an ambitious project for a beginner, basically i want to control 16 4pin fans individually and their speeds, control 16 servos individually that will open or close a vent, 4 temp. sensors which i know can share a single signal wire and read their serial no. to tell them apart, and as an extra an lcd screen preferably with touch input and design a system ui.
I can go into further detail if someone is willing to work with me on this project or even just help me out from time to time.

Many thanks TrippyT

According to this:
http://www.formfactors.org/developer%5Cspecs%5Crev1_2_public.pdf
The PWM control of the fans should be about 25 kHz (21 to 28 kHz). You can get chips that provide 16 channels of PWM output but they are usually used for LEDs or servos and have maximum speeds under 2 kHz. You can do it all with timer interrupts but will have a limited range of PWM values and will use up 16 output pins.

There is at least one 6-channel fan control chip (MAX31785) and it looks like you could use three of those on I2C to control your fans. They can also sense temperature. It's a surface-mount chip so you will need a circuit board. You can get a basic breakout board here: http://www.proto-advantage.com/store/product_info.php?products_id=2200075

at $2,00 for a mini you can use one per fan/servo and one for everything else.

i could not get the kink to work, but googling the tile name gave me this.

Unless there's a requirement for exact RPM from the fans you can get away with just PWMing their power lines. The fans I've played with all worked pretty well when I used them that way.

Chagrin:
Unless there's a requirement for exact RPM from the fans you can get away with just PWMing their power lines. The fans I've played with all worked pretty well when I used them that way.

I have never tried a 4 wire fan. almost seems like a stepper at first glance.
also, the way a lot of pancake fans are designed with the cross members close to the blades, will make noise.
and the lack of a of a nacelle to guide the air around the hub, both leading and trailing, causes noise.

i was thinking of using a arduino mega, and preferably 4pin fans so i can change the rpm with manually or automatically.
thanks for all the replies guys, im really racking my head over this

"4 pin fans" sounds like brushless motors. Brushless will require a specialized driver. Do you have a datasheet you can share with us?

http://www.adafruit.com/products/815 will control 16 servos. Adafruit also has a motor driver shield that can be stacked to control large numbers of motors.

Usually "4 pin fan" in this context refers to 12v computer fans, which are either "3-pin" (power, ground, speed sensor) or "4-pin" (power, ground, speed sensor, PWM control).

I've controlled 4-pin computer fans like that with analogWrite() - though they wouldn't turn off completely for me (there was a minimum speed) that is consistent with the standard linked above. I thus conclude that these fans (or at least the brand I used) is not particularly picky about the PWM frequency. Try it with normal PWM frequencies before taking exotic measures to get high frequency PWM.

dave-in-nj:
i could not get the kink to work, but googling the tile name gave me this.

Motherboard Form Factors

Url encode?

DrAzzy:
Usually "4 pin fan" in this context refers to 12v computer fans, which are either "3-pin" (power, ground, speed sensor) or "4-pin" (power, ground, speed sensor, PWM control).

I've controlled 4-pin computer fans like that with analogWrite() - though they wouldn't turn off completely for me (there was a minimum speed) that is consistent with the standard linked above. I thus conclude that these fans (or at least the brand I used) is not particularly picky about the PWM frequency. Try it with normal PWM frequencies before taking exotic measures to get high frequency PWM.

yeah 12v pc fans are the type i was thinking of, i was hoping i could wire them so the power is to a relay which will also be controlled by the arduino then to a 12v source, then the pwm and rpm wires to the arduino