Living in Upstate New York, USA we get a reasonable amount of snow every year. In the fall of 2003 we put a 1-Wire Weather Station together. One of the local TV stations ( WRGB Channel 6) has put together a web interface for local weather spotters to report weather information ( WeatherNet6). In the winter this includes snowfall.
What surprised me was the inconsistency of how people / agencies measure snowfall.
The local TV station uses a snow board which they clear after every
inch of snow. Other people say you have to clear the board at least once
a day but no more than four times a day.
Mother Nature also makes measuring snowfall interesting because of drifting, compresssion,
and melting.
Here are some snow measurement references I found on the web:
I was interested in how much snow was on the ground and at what rate it was falling and melting. I thought developing a sensor that measured this continuously would be of interest. If the sensor could be made inexpensively, then the power of the Internet could be used to collect a large number of samples over large areas.
The popular weather data collections sites ( Weather Underground, Citizen Weather Observer Program) currently don't provide fields for snowfall, but this is changing. I noticed that WeatherMatrix has started a beta system for reporting snowfall.
The National Climatic Data Center U.S. Snow Monitoring web site now shows recent snowfall and snowdepth maps.
There are two classes of inexpensive devices available for making non-contact distance measurements.
Ultrasonic sensors have a wide beam so it is hard to focus them on a particular area. They need to be mounted perpendicular to the snow surface. The speed of sound changes with the temperature, so for accurate readings the sensor must be temperature compensated. Ultrasonic sensors have a good range and recently several low-cost ultrasonic sensors have become available.
For my first attempts I chose the Sharp GP2D12 infrared triangulation measurement sensor. It has a lower cost, smaller foot print, and has a small spot size. It is available from Acroname for less than $12. It works on the principal of triangulation. An infrared LED emits a beam of light. If an object is in range, the light is reflected back to the detector. The detector lense focuses the reflected light onto a linear CCD array. The location that the reflected lights hits the detector is dependent on the distance of the object from the sensor.
The GP2D12 outputs a non-linear analog voltage corresponding to the distance of the reflective object. The Sharp specification chart below shows the relationship. The sensor can measure in the range from 10-80 cm. The voltage is approximately 2.4V at 10cm and at 0.52 at 60cm. The sensor draws about 34mA. The maximum is stated to be 50mA.
I've done several experiments. In my first attempt I used a DS2450 1-Wire Quad A/D converter. I thought I could drive multiple proximity sensors with the single DS2450. A second prototype , built with a DS2438 had a light sensor and thermometer to compensate the Sharp sensor for the sun and temperature. From the specification sheets I originally didn't think the DS2438 AD converter would be accurate with the low voltages. But in tests it did fine. The current prototype is built on a PCB. The photodiode now faces the same direction as the Sharp sensor in order to detect sensor saturation.
The sharp sensor draws too much power to use a parasitic approach. AAG a maker of several 1-Wire weather sensors and other devices has two products that work nicely.
The following are available from Home Depot or your local hardware store:
Using an inexpensive web camera that doesn't have an IR filter, you can see the beam size and location. In the following images, the sensor beam was aimed straight down (34 CM from sensor face). The spot size has an approximate diameter of 1 CM.
Data was taken for an hour (1041 samples) to see the sensor voltage distribution. The mean voltage supply was 4.98 VDC. The mean range voltage was 0.799 VDC with a 0.01 VDC standard deviation. The minimum voltage was 0.77 VDC and the maximum was 0.86 VDC. The mean sensor temperature was 78F. The mean light sensor reading was 0.3 mV.
One hundred feet of wire was added between the power supply and the sensor. Another hour of data was collected. The mean voltage supply dropped to 4.786 VDC. The mean range voltage dropped to 0.787 VDC with a 0.01 VDC standard deviation. The minimum voltage was 0.76 VDC and the maximum was 0.81 VDC
Bright sunlight can interfere with the Sharp sensor. The range sensor voltage and it's deviation increase when the photodiode reports > 50+ mV. Since it usually doesn't snow when the sun is out, one approach is not to make measurements in bright sunlight. If you want to watch the snow melt and compact in the sun light, the data can be corrected using a cubic polynomal and a moving average. Accuracy in the lower light range can be improved by using interpolation.
To calibrate the sensor, measurements are taken at different heights and the voltages recorded. A Cubic is fit to the data and the four parameters, the calibration temperature and the calibration source voltage are stored in the DS2438's 32-byte nonvolatile memory (pages 3-6). Storing the calibration data in the sensor makes the snowfall sensors easily field replacable.
A C program based on the 1-Wire SDK Version 4.00 Beta was written to read the DS2438 Vdd, Vac, temperature, and rsense voltage. Multiple samples are averaged and then used in the polynomial to calculate the snow height. Data is logged to a file with the name created from the DS2438 ROM ID and current date.
Six versions of the latest V3 prototype have been built and are calibrated. They are now collecting data:
1-WireŽ is a registered trademark of Dallas Semiconductor