Home :: Projects :: Ultrasonic Wind Speed Measurement Device
This project is in the mypic32 design contest. My profile page
.
Personal home-built weather stations have taken off in recent years, as hobbyists are increasingly able to afford the devices that constitute them. It is relatively simple to set up Internet-enabled data loggers that monitor temperature, pressure, and humidity, as the digital sensors that form their backbone are relatively accurate, cheap, and easy to interface with consumer microcontrollers. But the most difficult measurements to take in a personal weather station remain those of wind velocity. Cup anemometers can only measure the speed, not direction of the wind. Windmill-type rotating anemometers are accurate, but because they contain moving parts, it is difficult to build them reliably. Jamming and wear plague such systems. Precision laser and hot wire anemometers, though they contain no moving parts, are usually outside the hobbyist’s budget.
Instead, a device based on the finite propagation speed of sound in air is proposed. This speed (on the order of 340 m/s), and its dependence on temperature under ordinary weather ranges is well known from fluid and thermal physics. When air moves, sound is propagated faster in the direction of air movement in proportion to the air speed and the square root of the absolute temperature. So if an ultrasonic pulse can be emitted by a transducer, and its arrival to another such transducer timed after propagating a known distance, then the wind speed along the line between the two transducers can be inferred. Placing two such sets of transducers orthogonally enables wind speed measurements in a Cartesian plane; hence wind direction can be gathered without any moving parts.
The system is controlled by a general-purpose PIC32 microcontroller ($7) operating in the MHz range. A 40 kHz tone is emitted by an ultrasonic transducer (4 × $2) and directed toward a receiving transducer about 50 cm away. The pulse arrives about 1.5 ms later, and after filtering, generates a timer interrupt. The microcontroller then calculates air speed based on the time-of-flight information. Because the speed of sound in air varies appreciably with temperature, measurements from an onboard temperature ($2) sensor are taken into account. This process is repeated for the second set of transducers, and data from several measurements are averaged together. They are logged onto an SD/MMC card ($5), and then burst- or real-time transferred over a radio link (RS232 over Bluetooth, $20) to a PC, which can then manipulate or present the data as necessary. An absolute pressure ($10) sensor, though not necessary for anemometer functionality, can be used to expand the station to a more fully-featured weather monitoring device. The data can then be made available on the Internet through a real-time web service.
The primary consideration is cost. A college student on educational loans can scarcely afford to spend more than $70 on a project of this magnitude, so when possible, the cheapest devices within acceptable accuracy and failure parameters will be used. It is not impossible that a wired serial link will be chosen instead of a radio link to reduce design cost and complexity. If necessary, a 128 MByte SD card can log over 12 months of wind velocity, temperature, and pressure data if a PC is unavailable to receive measurements in real-time.
The design needs to be weatherproof and capable of installation on the roof of a typical suburban home. A 4-prong PVC-pipe based design is perfect. The device should receive power from a regulated wall-based DC supply, and continue measurements for up to a week on battery backup, though this is not necessary. A sample rate of one (averaged) measurement every 2-5 seconds is ideal.
The design should be modular and well-documented enough that additional sensors can be added later to expand device into a more fully featured weather station if time and funds allow it.
The biggest trouble will be getting accurate measurements. Ideally, the measurements should be calibrated to a commercial precision anemometer, though access to such a device may prove impossible or too costly. To eliminate transducer cross talk, successive measurements need to be carefully coordinated. To increase reliability, it may be necessary to multiplex the transducers so they can both receive and transmit, and data from both forward and reverse transmits can be averaged.
Primitive error detection needs to be implemented on-board. For instance, if a transducer fails to receive a signal within a few milliseconds of the expected arrival time, the measurement should be thrown away. If a transducer fails, or the signal is too weak, the device should detect this and send a relevant message to the PC. If a PC signal is not detected, the device should log data to the SD/MMC card until such a signal is available.
Finally, the device itself changes the airflow around it, though the magnitude of this error may show itself to be sufficiently below other errors, that it would be unnecessary to consider it. The lowest-tech way to reduce this error is to pick the smallest transducers for the job and to elevate them in such a manner as to reduce drag. Ideally, airflow simulations around a computer model of the device should be performed to examine the magnitude of this error, and if necessary, an estimative means to correct it.