Cheap, lightweight and easy to configure anemometer.

Hi,

I’ve been working on application that requires a very lightweight anemometer. The one I’ve been using is actually designed to be plugged into a smart phone.......

The company have been extremely helpful to me (providing samples and wiring diagrams) so in return, here’s some information on how to interface it to an arduino. The windmeter uses a single 4-way 3.5mm jack connector, so I’ll start with some naming conventions. I’ll refer to the tip as the tip, the next contact down is ‘ring1’ followed by ‘ring2’ and then the sleeve. I’ve been asked not to publish the internal schematic, so I’ll limit myself to a description of the external connections required....

Tip – connect to 5 volts via a 160 ohm resistor.
Ring 1 – connect to ground.
Ring 2 – connect to ground.
Sleeve – connect to 5 volts via a 1.8k resistor, and connect to an interrupt pin on an arduino

The code I've written is too embarrassingly bad to be included here, so I’ll just give an overview of what’s need. The anemometer will produce 3 pulses for every complete rotation, so count the pulses on the interrupt pin, use this to work out the impeller speed in terms of revolutions per minute, and then use the formula......
Speed = 0.000975 x RPM + 0.341;
To get airspeed in meters/second. (For impeller speeds of less than 200 RPM, assume a airspeed of zero)

Note - The value of the resistor connected to the sleeve will effect the voltage levels at the input pin that trigger the interrupt. If you set the anemometer up as described above and it doesn't work first time, then try adjusting this resistor by +- 100 ohms.

Feel free to ask questions (but you're still not going to get my code - it's far too bad for publication I'm afraid!

Post-script.....
I've just done some work on a more recent version of the probe, and unfortunately the manufacturer has changed the design so some hardware mods are required. The design is based around an opto-interupter, in the original design the internal LED that drives it was driven by a DC voltage, unfortunately the new design is designed for use with an AC signal, so the method described above won't work.
That's the bad news, now for the good! the manufacturers seems to have stuck with the original PCB and merely soldered on a couple of extra components, a diode and capacitor. With a steady hand and a good microscope these can be removed as follows.....

  1. remove the blue silicon sheath on that covers the unit.
  2. using a sharp knife gently prize the two halves of the meter apart and remove the PCB. be careful not to dislodge the leads from the PCB itself.
  3. examine the PCB under a microscope. You'll see that most of the leads are soldered directly to pads on the PCB, however one of the leads is soldered to a capacitor (a tiny beige component) which in turn is soldered to the pad marked R1.
  4. Simply remove the capacitor, and make sure the lead goes directly to R1. The wind meter should now work as before. note that there's also an extra diode soldered between the pads marked R1 and T, this is now redundant. If it falls off during the modifications it doesn't matter, but it doesn't have to be removed to get it working.

Hi, thanks for this. I contacted the company and they referred me to your post for details. I am trying to integrate the anemometer into a project running on a 32 bit Atmel UC3 mcu. I seem to be having a problem though, I have it wired up correctly, +5V to Ring via 150 ohm resistor, both rings to ground and 1.8k pullup to 3.3v on the sleeve (I have tried 3.3v and 5v). Everything appears fine but the output remains at 1.9v and does not change when the turbine spins. I have taken it apart and it is the older version running off DC current. Any ideas? My only thought is that the 150 resistor value is too large and the LED is not lighting or is not bright enough.

Thanks,
Caleb.

running on a 32 bit Atmel UC3 mcu

Is it worth trying on an arduino? So far I've got them working on mini-pros, megas and Unos.

I have it wired up correctly, +5V to Ring via 150 ohm resistor

Have you tried a 160ohm resistor as per my original post?

output remains at 1.9v and does not change when the turbine spins.

How have you checked this? on a multimeter, or an oscilloscope. Unless you are moving it the blades very, very slowly a multimeter won't be good enough.

I have taken it apart and it is the older version running off DC current. Any ideas?

Are you 100% sure? They upgraded the hardware nearly a year ago, so I would expect most models in circulation to be the new version.

Does the unit work in a phone? Both the new and old models should work with the iPhone app, even after my modification has been made.

I have worked with one 'original' version, and two of the new versions all without problems.

I suggest you make 100% sure which version you've got. If the lead from the plug goes directly to a pad on the PCB it's the old version, if it goes via a capacitor glued to the PCB then it's one of the new ones.

One final thought, the Mrk II versions that I've worked with have involved a few extra components soldered ad-hoc onto the Mrk I pcb. Maybe they've moved on to actually modifying the pcb in which case it might make it a bit harder to identify the version you're working with.

I suggest you examine the PCB very closely, if you really do have the Mrk I version, then the only thing you should have on the LED side of the light-shutter is a single resistor, if you've got more than that you must have a newer version.

Hope this helps.

The code I've written is too embarrassingly bad to be included here...

Does the code work?

After reading this I have taken it apart again and had a look. Turns out it is a new version but the capacitor and diode are soldered to the board so it must be an updated pcb. I'll have a go at removing the capacitor and see how it goes. Thanks.

Hey folks. Just to say I got some good help from them too, including a copy of the circuit diagram, which they've asked me not to share.

Now I thought that since it's designed to be powered by an AC signal supplied through Tip and Ring1, why not just power it by an AC signal generated by the arduino instead of all that desoldering and potentially breaking the device?

I mocked up the circuit (there's a 10uF capacitor in series with the power line) and did some experiments.

It turns out that the Pulse Width Modulation, which is how the arduino analog output is implemented, provides good enough AC signal to transmit power through to the other side of the capacitor. Set this the analogWrite 128 (50%) for maximum efficiency and hope that the frequency isn't too high for this circuit to perform.

I'll need an oscilloscope and some time to finish this and check that the signal on the other side can be made clean enough to drive an interrupt pin. But at least it looks like a solvable problem.

For the moment I'm working with a much more expensive wind-speed probe with a metal prop and a hall sensor.
http://www.freesteel.co.uk/wpblog/2015/01/11/decoding-the-airspeed-probe-with-a-wheatstone-bridge/