Arduino to controll serveral motors or PC Fans

Hello everyone i would like to know how can i make a matrix of computer fans (12V 0.2MA) basically 64 of them and connect this matrix to arduino. Im a complete knoob. i been seeing some led matrix examples but know i towards the servo motor example but they are all for 2 or 3 servos not 64 of them. Can anyone help.

thanks bern :D

look into shift registers and transistors. and i believe you have a typo, i doubt those fans are 0.2 milliamps.

The big issue here is wether you want to just stat / stop the fans or you want individual speed control over each fan.

If you just want to start / stop them, then you can use shiftregisters to expand the number of digital out pins and a simple transistor + diode driver for each fan.

Individual speed control is going to be much more complex with that many fans / motors.

weirdo557: you are right those are 0.2A sorry for the typo.

MikMo: Yes just start and stop would suffice for me right now.

thanks alot i will be back with some more questions for you guys.

One very important thing to take into consideration is the powersupply.

64 fans at 0.2A is close to 13 Amps if all the fans are on at the same time, this requires a VERY large power supply.

i am sorry MikMo how big a powersupply? can you please help me out and i how do i connect it to the fans or arduino?

i am sorry MikMo how big a powersupply? can you please help me out and i how do i connect it to the fans or arduino?

as MikMo says, your power supply would need to provide 13 amps if all fans were on. An old power supply from a computer should be sufficient.

How you connect to the arduino to switch the fans on depends on the application, can you say more about what you want to do.

mem: hey mem good news then because those are quite cheap here where i live. the thing that i want to do will be made in processing and while get make the fans work via webcam like a virtual mirror kinda of thing. as for the code i am looking to get some time to start studying all the manuals on these vacations. basically this:

webcam input ----> mac (processing getting data from 64 pixels on the image) ----> arduino -----> ????----> alot of computer fanas connected so that they can work individually.

You could use something like this http://octopart.com/info/Micrel/MIC5891YN.

Eight of them should drive your fans directly. Have a look at the datasheet, and I would thing google would help you find information on connecting serial latches to the arduino. Others may have suggestions for similar parts that would work in your app.

You could use something like this http://octopart.com/info/Micrel/MIC5891YN.

Please note that you can't have all 8 of the fans on at the same time from this driver because of the limit on the total package dissipation. At 200mA there is a saturation voltage of 1.9v this gives a total power dissipation of 0.38W per motor. The graph on the data sheet shows 2W as the maximum package dissipation at 25c. This would suggest you can only run 2 / 0.38 = 5.2 fans. The data sheet duty cycle table shows with all 8 outputs on at 200mA you can only run them on a duty cycle of 53% that is only on for about half the time. Otherwise the package will get too hot and the device will fail.

If you do need the fans to be all on at once then you have to restrict this chip to driving only four or five fans. :(

ok summer school electronics here i go. thanks a lot for all of the replys

mem: thanks for the part i searching on how to relay it with arduino

Grumpy_Mike: even if i put a heat dissipator on top of it it would drive the eight fans ? or even if i run it at lower than 200mA (about 100mA) - do you know of a way to do this?

thankx

Mike, good point, but perhaps a little conservative assuming the application is not mission critical. The 1.9v saturation voltage is a maximum value and rated at 85 degrees Celsius ambient.

And the duty cycle graph is for 50 degrees Celsius.

If this was my project (and some diligent searching didn't' turn up a more suitable part) I would be tempted to test the chip under load and see how many fans can be driven before the chip temperature gets anywhere near 50 degrees.

so if i have to ill run it inside a case with a fan extractin air from it.

so if i have to ill run it inside a case with a fan extractin air from it.

One would think that with this project, creating an airflow to keep things cool would be the least of your problems ;)

Seriously though, using more chips is probably cheaper than using an extra fan.

mem: yes i know was just playing around (sorry for the english i am portuguese).

still what i have to do is anything like this:

http://www.arduino.cc/en/Tutorial/ShiftOut

but replacing the chip with the ones you suggested?

The 1.9v saturation voltage is a maximum value and rated at 85 degrees Celsius ambient. And the duty cycle graph is for 50 degrees Celsius.

Point taken, but these are the only temperatures given in the data sheet and lowering the temp it won't make that much difference to the saturation voltage. Also it's better mistakes are cleared up in the planning stage as it's cheaper to rectify. I have used similar devices in the past and they do get very hot when all outputs are running a fair current.

even if i put a heat dissipator on top of it it would drive the eight fans

It's not as easy as that, it all depends on how good a heat dissipater you could make, you are in uncharted waters. You could probably calculate how good it needs to be in reduction of the thermal resistance of case to ambient (measured in degrees centigrade per watt) but how would you know that your heat sink was that good.

or even if i run it at lower than 200mA (about 100mA)

Yes that would help but you are saying the fan has to take half the amount of power, that means get a smaller fan or run it at half the voltage. I guess it wouldn't turn at that.

That tutorial looks useful for you.

Just a thought to consider, the 74hc595 is much cheaper than the chip I linked above. , I think you could save some money if you used 8 75hc595 chips and 50 low power FETs (like the 2n7000). There is more soldering you need to do (and Mike will correctly point out that the 2n7000 is rated at a max current of 200ma so you will either need to ensure you fans are less than this or find a similar cheap FET that is rated a little higher.) The advantage of an FET is that you don't' need to solder 50 series resistors to between the 595 output and drivers.

would this be any good i found a tutorial from this guy:

http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1138666403

but he uses a 16 channel chip multiplxeing the signal can i use to demux a signal?

mem: thanks a lot!

mike: still i´ll make the coolers

mem: when you have the time can you help me with posting a small and simple schematics i could follow?
thank you very much for your time

If you mean for the 74hc595 and 2n7000 , the circuit really simple.
For each of the eight outputs from the 74hc595 do the following:
You would connect the output of the 595 to the gate of the 2n7000, connect the 2n7000 source to ground, the 2n7000 drain connects to the negative lead from the fan. Connect the positive fan lead to +12v. When the 74hc595 output is high the fan will be on, off when low.
See the datasheets for the pinouts on the 595 and 2n7000.
For testing, you can connect the 2n7000 gate directly to an arduino output. This controls only as many fans as you have digital pins but allows you to check that things are working by doing a digitalWrite on the pins to directly control a fan.
Note that the 2n7000 maximum continuous current is 200ma so check your fans to see if they exceed this.

You should be able to find how to connect the 595 using a google search

p.s. the tutorial for the 16 channel mpx is for analog, it wont work for what you want to do.