Introduction: Anemometer on the Cheap

We have all kinds of telemetry in our data center to help us prevent and diagnose problems. One of the major areas we watch is the environment. We can tell how cold the air is coming in and going out, but thats only part of the picture. in order to keep machines cool you have to move lots of air continuously. The temperature under the raised floor could be 40 degrees but it does you no good if you aren't pushing it into the room.
We wanted a way to tell if the air was flowing in our data center but real air flow instrumentation can be expensive. Air handlers move air very fast and a simple wind speed gauge would fall apart in a matter of days. There are some proprietary solutions that are relatively cheap and would work for our needs but they wouldn't easily integrate into our current home built monitoring solution. This is my somewhat cheesy but working solution.

Step 1: Supplies

Heres the items you will need.
1) Computer cooling fan
4) General purpose diodes
Resistors + potentiometer (I used a 10k pot and ~2.8k resistor)
200-300 micro ferrads worth of capacitance
small perf board
some wire

optional
small project enclosure (An Altoids tin would work fine)
some sort of connector (I used an rj45 and a keystone jack that I had disassembled)

Tools
Needle nose pliers
Jewlers screwdriver
Soldering pencil
Solder
Rosin Flux
Super Glue
Multimeter

Total cost to build 2 units ran me around $40 US with parts to spare.
I bought the resistors, dioeds and capacitors in a "variety pack" and saved a couple of bucks

The fan that you use is the biggest factor, you want one that turns very easily preferably with large surface area across the blades. For my purposes I needed a fan capable of generating 0-10 volts DC
After quite a bit of experimentation I settled on a Radio Shack "Brushless 12VDC Cooling Fan" #273-238
The equipment that all this will plug into is a Veris Industries H8820 Acquisuite which in a nutshell is an embedded linux device for doing power and building monitoring. It has several a 0-10VDC pins to use. These are not cheap but we already have one so why not use it to its full capacity.
Another (cheaper) option might be a Z2TEN one-wire device and associated bus master like a HA7Net.

Because I'm using the H8820 as input I measured the impedance of the inputs and determined that its ~12.7K so my rectifier circuit will closely match that value (10k pot +~2.8k resistor)

Step 2: Prepping the Fan

As I said the fan is the key to this project. My original "proof of concept" design consisted of a 5VDC motor with a makeshift prop attached. It worked well enough to say the idea was sound but didn't produce enough voltage for our needs. The problem with using a cooling fan as a generator is most computer fans are "brushless". What this means is the coil is fixed and the magnets are around the outside. There is also a fair amount of circuitry utilizing a hall effect IC to keep the correct portion of the coil energized. In order to use it as a generator we only want the coil and magnet so we will need to remove or disable the rest of the circuitry. The fan I got from Radio Shack came with a "mostly" accurate schematic of the guts of the fan so I used them to determine where I needed to tap onto the coil. Since you may be using a different fan in a nut shell you want to connect your leads to each end of the coil, with no other circuitry in parallel (which is the reason I remove several components later on).
  • The first step in prepping the fan is to remove the label on the back side
  • Next remove the rubber plug from the center.
  • Inside you will find a retaining ring, these usually require a special snap ring tool to remove, but you can get them off with a pair of needle nose pliers, a small screwdriver and a good bit of patients. Be very careful not to break the ring. Remove the ring and any associated washers and rubber seals. Do not clean out the grease, leave it there and be careful to keep it clean.
  • Remove the blades of the fan, they should just come out the front, you will see the magnet inside the center of the blades and a metal pole through the center.

This same procedure can be used to modify other computer fans, however determining where to tap into the coil can be hard because you cant really see how things are connected.

Step 3: Modifying the Circuit

First you will cut off the original wires as close as you can get to where its soldered. If you will be reusing the wires for your new leads you may have to strip back the heat shrink.

For this particular fan you will need to remove the 3 components indicated with the red arrows (C1,C2 and PTC??) and solder the new leads to the middle pins on the 2 transistors (yellow arrows). Removing the 3 components is nothing fancy. Since you can't get to the back side to desolder properly just cut them off with a pair of dykes. When soldering on the new wires use lots of flux, the last 2 fans I modified had been tinned with some really cheap solder and it took awhile to get a clean shiny joint. The reason for soldering the new lead here is its electrically the same point as the coil wire. You could just as easily clip the coil wires from the board and solder directly to them but felt that the probability of breaking the coil wire was too high so I went with the middle leads on the transistors instead.

Route your wires around and out the original wire track being careful to make sure the fan will spin freely and not rub against the wire.

Check your connection. Set your multimeter to ohms and measure across the two wires. I got around 14 ohms. Next set the multimeter to AC volts. Gently replace the fan blades and give them a good spin. Be sure the wires are not in the way and the fan spins freely, you should see a volt or two with a good spin with your fingers.

Finally Super glue the wires in place to prevent movement and reassemble the fan. Be sure the clip is on securely and the rubber plug is seated. I also put the sticker back over everything.

Step 4: Rectify the Output

Since the fan will only generate AC voltage and we need 0-10 VDC you will need to "rectify" the signal.
Originally I tried just counting the pulses (which in practice worked) but connecting it to the Veris would require opto-isolation and I didn't want to mess with that. I chose to build a simple full wave bridge rectifier with a cap to smooth out some of the bumps.
In the schematic R1 is the pot and resistor R load is the Veris.
You can calculate the required capacitance to sufficently smooth out the signal "using this" but I've found that 200-300 micro-ferrads to be sufficient (I'm using a 220 micro-ferrad cap)

Sorry, I dont have any pics of the construction on the rectifier. It's construction was pretty simple. Since I'm running 2 fans I actually have 2 separate rectifier circuits on the same board. I also made a portion of R1 variable so that I could "calibrate" the output. I do this by waiting until the CRAC unit has had its filters changed and belts checked and is in optimal working condition, then I adjust the output to a specific voltage (as close to 8.5 volts as i can get). Since the air handler is supposedly operating at peak output right after maintenance its very unlikely it will put out more air (which means more voltage) , so I chose a setting towards the top end of my 0-10v scale.

Step 5: Piece It All Together and Calibrate

The two wires coming off the fan connect to the input of our rectifier. Since its AC it doesn't matter which wire goes where. The output from the rectifier plugs into the Veris or what ever you are using to measure with. Since this is DC the polarity is important. Place the fan in the air stream and fasten it down to something that will not move. I used zip ties and connected the fan to one of the raised floor supports. WATCH YOUR FINGERS HERE! the fan spins very fast and will bite you if given the chance.

Connect the outputs to your measuring device and attach a multimeter set to measure DC volts. It's important to make your measurements with everything hooked up so there is a load across the output. Adjust the pot to your desired nominal voltage. Since my measurements indicate a 1 volt fluctuation and it is far more likely we get less air and not more I set mine in the range of 8-9 volts. It may take a little while to get this adjusted as the readings are constantly changing. Just keep an eye out for the highs and lows over a 30 second period, divide the difference by 2, add and subtract your target voltage then tweak accordingly.

I'm storing the momentary readings in our home grown environmental monitoring application using rrdtool. Something like Cacti could easily be adapted for the same purpose. It occurs to me now that I could possibly smooth things out more by storing the average as reported by the Veris. After trying this I notice that the stored readings only fluctuate about +/-.1VDC, which to me is pretty stable (+/-1%).

This whole set up doesn't give us the actual rate of air flow but it does tell us:
1. The air is in fact moving.
2. The air is moving faster or slower than before.
I've set up alerts for various lower readings to alert whoever is working of potential problems with the air handler so that action can be taken before the temperature begins to rise.