Close
0%
0%

Weather Pyramid

Measures wind speed via inertial sensors and rain with capacitive. Maintenance free, LPWAN, 3D printed
(Not yet another AWS)

Similar projects worth following
This is not yet another automatic weather station! This is an all-in-one completely solid-state, maintenance free, energy and communications autonomous weather sensing device, designed for mass scale deployment.

Novelties include, wind speed and direction measurements using inertial sensors and rain intensity measurements using capacitive sensors, with a 3D printed enclosure having an active role in sensing.

Weather Pyramid will connect to the Internet using low power, long range wireless technology (LPWAN such as LoRaWAN, SIGFOX, NB-IoT) and over WiFi (for urban deployments or development purposes) and runs on batteries charged with solar power.

Weather Pyramid aims to start an open-hardware framework (competitive to the traditional commercial weather stations), to overcome the weather data availability global problem. Building a maintenance-free, compact, DIY friendly, open hardware device based on low-cost components, is the first step.

Problem with today’s weather data and stations

Weather is perhaps the single largest external swing factor in business performance – yet, accurate weather prediction is still an open scientific question and ground weather conditions are still scarce on a global scale .

Traditionally, automatic weather stations (AWS) can easily monitor temperature, pressure and humidity, using solid state sensors and proper solar shielding, however wind and precipitation typically involve mechanical parts, higher cost to achieve robustness/reliability, periodic maintenance and cumbersome installation. They cost from a few hundred $ up to a few thousands and usually come with additional running expenses due to GSM/3G data plans of the required SIM cards.

As a result, only in large cities one can typically find few public AWS deployed by weather enthusiasts, universities, etc. and most rural/poor areas worldwide have no ground weather data at all - which is often where they are needed the most.

Even in large cities with a plethora of AWS, there are not enough weather data to provide modern weather services such as real-time rain radars hyper local weather alerts and nowcasting. Data required for these services traditionally require doppler weather radars which are rarely deployed due to extremely high costs.

An alternative approach would be deploying a large number of low-cost, automatic weather stations, and make their data available so that new innovative weather services can be realized.  These AWS would have to be ridiculously low cost, and maintenance free in order to be deployed in large quantities over areas that lack actual weather data. Todays dramatic cost reduction of IoT hardware enables me to vision disposable, fire and forget, weather sensors.

Introducing Weather Pyramid

I propose a low cost solution which is competitive to traditional weather stations; a maintenance-free, energy autonomous, solid state (no moving parts), compact, easy to install and cost efficient, Internet-connected weather monitoring device,

This is not yet another weather station build on low-cost sensors. This project proposes a novel approach to wind and rain sensing, never tried before.

Inertial sensors are used to track the motion of the entire unit as it freely swings from a tether in order to estimate wind intensity and direction.  Wind has a unique effect on the unit’s motion when combined with an appropriate enclosure shape, hence a rough estimate on wind’s speed and direction can be extracted from the motion data. The Weather Pyramid freely swinging from a tether due to wind can be modeled in 2D as a pendulum subject to an additional force from airflow. The pendulum angular displacement from the equilibrium depends on the airflow speed and the aerodynamic characteristics of the given mass.

A low cost 6-axis IMU such as the InvenSense MPU-6050 will be used to realize the proposed wind measurement technique. According to preliminary estimations and tests, the tethered WP modeled as a pendulum, accelerates at 0 - 3g due to 0 - 12 Beaufort scale wind respectively, while the minimum difference between two consecutive Beaufort numbers is 2.02mg. The ±2g - ±16g accelerometer range with 2 mg/LSB sensitivity @ ±4g and the ±250°/s - ±2000°/s gyroscope range with 17.50mdps/digit sensitivity @ ±250°/s meet the requirements for wPyramid attitude measurement due to the wind effect. Sensor data sampling rate for the proposed application is defined @ 1Hz, satisfying the project scope for wind speed and direction measurements.

In addition, rainfall intensity can also be measured without mechanical parts, by using capacitive touch sensor technology on the inner-side of the enclosure. With the proper internal wire grid connected on a multi-touch MCU (MPR121...

Read more »

  • 1 × Wemos LoLin32 ESP32 Any ESP32 module with proper low-power deep sleep
  • 1 × MPU 6050 or 9150 module
  • 1 × BME280 Temperature / Humidity / Pressure sensor
  • 1 × 5V Solar panel
  • 1 × Solar LiPo charger

View all 6 components

  • Past attempt and my plan for the future

    Manolis Nikiforakis04/23/2018 at 03:30 0 comments

    This solid state weather station concept is stuck in my mind for quite some time now. I did give it a shot in the past  but never had time to complete a fully working prototype. My first attempt was based on Arduino nano (Atmega328) with nRF24 using ESP8266 as a gateway. Software wise, it was build on the excellent mysensors.org framework . More info here:

    https://forum.mysensors.org/topic/1973/esp8266-as-wifi-gateway-controller-node

    https://github.com/ellak-monades-aristeias/WeatherXM/wiki/WxM-prototype

    Lets call this old attempt version v0.1.


    For my new attempt v0.2 I will develop in Arduino flavor to keep things simple, using of the shelf modules, while keeping communications over WiFi only. This version will focus to get a bit of everything kind of working essentially creating the development platform together with a 3D printed enclosure for real-world tests. Follow up versions will improve on major flaws found, improve measurements' accuracy, power management and add more features like LoRaWAN and/or other LPWAN communications.

    I've done an extensive research on many hardware modules that fit the description and I am not sure if I should use ESP32 being a more futureproof MCU and connect additional LPWAN modules it in the future (or hope they will become available) or go for a LoRaWAN all-in-one board like SODAQ one, which has almost everything that I need or SeeedStudio LoRaWAN board (both are based on SAMD21). Unfortunately there many ESP32 - LoRa boards but no LoRaWAN ones and I dont want to have the LoRaWAN LMIC stack in my code.

    Hopefully the arduino code should be easily made compatible with both architectures, atleast in early stages until I decide where to focus.

    The reason I'm compering SAMD21 with ESP32 is due to the low power modes (with modem off)  of the later, you can still chose it as an general purpose MCU and keep WiFi a free bonus to use when needed.  Found some recent examples / libraries to kickstart the inertial sensor:

    https://github.com/natanaeljr/esp32-MPU-driver

    https://github.com/tobozo/Rotatey_Balls

    https://github.com/whyengineer/esp32_snow/tree/master/example/3d_show

    Any feedback / comments / useful links, more than welcome!

View project log

Enjoy this project?

Share

Discussions

Andi wrote 11/04/2018 at 09:54 point

would it be possible to add 4 ultrasonic sensor at the bottom of the pyriamid with a square base?
http://embedded-lab.com/blog/making-an-ultrasonic-anemometer/
they would be maintenance free, covered from snow and stuff. but i don't know how much power they consume.

  Are you sure? yes | no

Simon Merrett wrote 05/23/2018 at 12:20 point

Hi @Manolis Nikiforakis , I have been catching up with my HaD feed and this really caught my eye. I read through all the HaD blog and HaD.io comments and I don't think I saw any discussion of an idea I had when thinking about how to make a solid state wind velocity (including direction) sensor. Initially, I started thinking about a pivoting element, which one could measure the angle of to determine the magnitude and direction. I was thinking about using linear Hall Effect in 3 positions in XY plane (like some of the ultrasonic anemometer designs) and magnets on the beam which was being blown. This seems similar mechanically to your cable being blown in one direction when the wind blows. For a constant wind velocity, it could produce a stable representation of the wind velocity but intermittent velocity would result in erroneous readings as the element swung back beyond the neutral position, due to its own potential/kinetic energy. 

I decided that as ML was beyond my appetite for this application, the damping of the oscillating around the centre point would be very challenging if I was measuring displacement. So then I considered keeping the pivoting element (thinking a cylinder, perhaps with a sphere on the end) constrained in an upright position and using force sensors in the three XY positions to determine which way it was being dragged by the wind. It wouldn't move (so fluid mechanics resultant force calcs would be simpler). The pivot may not need to be complex, just a thread with negligible length or a very soft rubber coupling if light damping is desired). 

Two analogues spring to mind. Firstly, the pivoting element may be like a bell clapper (https://en.m.wikipedia.org/wiki/Bell) with an extension into the free space below the bell that has an aerodynamic drag form attached (cylinder/sphere seems suitable). The second analogue relates more to the coupling of sensors to the pivoting element. The design of cnc touch probes shows how, although they are binary/digital devices, there are a few options to match the mechanism to the sensor's sensitive range (http://www.adamdavid.me/home/router/better-touch-probe).

One would still need deal with the difference between the resultant drag force under laminar flow conditions and turbulent conditions but that seems relatively trivial if you plan to apply ML to your captured data. 

I'm interested in seeing how this goes forward. For now, I'm looking at pressure sensor versions because I don't need to worry about insect infestation and size constraints. Keep in touch via your logs! 

  Are you sure? yes | no

Manolis Nikiforakis wrote 06/27/2018 at 01:48 point

Hi Simon,

The almost-not-moving bell clapper with force sensors is a very interesting and good idea. Would the sensors survive outdoor conditions? Which force sensors would you recommend for this with reasonable sensitivity? I guess energy consumption wise this will be very efficient.

btw regarding pressure sensors I found this proof of concept:

https://developer.sensirion.com/applications/directional-wind-meter-using-sdp3x/ 

  Are you sure? yes | no

Simon Merrett wrote 06/27/2018 at 07:28 point

Yes, that's one of the types of pressure based sensor I have looked at too. The components aren't low price AFAIK. 

You would only need three force sensors, so you could look at FSRs (small, perhaps lower cost than strain gauges), or strain gauges (maybe bulky but perhaps more sensitive than FSRs). Finally, I started looking at velostat sheet (plastic which varies resistance with pressure) against pcb traces. I think this is promising because it can be very customised and would scale up nicely with low costs. It would need careful characterisation, calibration etc. I also don't know about thermal coefficient of resistance etc but I'm sure you can make it work. Final thought is piezo sensors but I don't know how to measure them other than when their load is dynamic - i.e. If the wind is blowing steadily the voltage across the piezo will disappear through the high value resistor that is usually placed in parallel with the piezo. 

Keep me posted! 

  Are you sure? yes | no

gabdaten wrote 05/17/2018 at 21:15 point

If you wanted to eliminate the "mechanical components" for wind sensing, you could measure the wind by using two or three barometers and calculating the wind speed from the pressure differential.

  Are you sure? yes | no

Manolis Nikiforakis wrote 05/19/2018 at 08:54 point

can you pls suggest hardware? I have a felling that air pressure sensors will not survive exposed outdoor.  

  Are you sure? yes | no

gabdaten wrote 05/24/2018 at 07:33 point

I'm sorry for replying so late. There are special differential pressure sensors for that purpose. (Just type "differential pressure sensor" into aliexpress search)

  Are you sure? yes | no

Manolis Nikiforakis wrote 06/27/2018 at 01:37 point

Thanks for the tip on pressure sensors

I found this:

https://developer.sensirion.com/applications/directional-wind-meter-using-sdp3x/

I have concerns on the wind pressure tubes cleanness in external environment, dust, insects etc. 

  Are you sure? yes | no

Manolis Nikiforakis wrote 04/24/2018 at 20:32 point

wow, never thought of caves as a potential use-case. Can you please elaborate on the requirements and why you think this is a good fit?

My plan it to have everything inside the pyramid but theoretically you could only keep the sensors but why? To have a larger battery outside? or a larger antenna maybe?

The cable have some impact on the motion but this can be compensated. However I assume a endless moving cable will brake internally at some point, unless some kind of special material is used. 

Regarding rotation, yes absolutely there will be rotation involved making the calculation of direction of wind harder than estimating the speed. Depending on the inertial sensor used there can be a digital compass build in thus, at least theoretically, rotation will tracked.  I'm starting with the cheapest most common IMU (MPU-6050) 6DOF but will have to upgrade at some point to something better like MPU-9150/9250 10DOF in order to complete my goals. 

Here is a nice comparison of the two: http://www.edtracker.org.uk/index.php/13-diy/38-mpu-6050-or-mpu-9150

and library for the later: https://github.com/jrowberg/i2cdevlib/tree/master/Arduino/MPU9150

Now, rotation tendency is a double edged sword.  Depending on the shape of the enclosure, and how well rotation is measured, it could be a good thing. For example imagine a screw-shape* that forces the unit to rotate upon strong wind. This could be another indication of the wind force / speed. On the other hand, if the shape is not rotating at all, (e.g. it has some kind of aerodynamic shape that make it so that it smoothly flies pointing to the incoming direction of the wind) then wind speed measurement will be based on the angle that its hanging, which might be less accurate than a rotating approach.

* this ideally would need a horizontal bearing to enable free rotation, but then we introduce moving parts...

anyways.. I'm a hands on person, so let me get a basic version of the concept up and running, in a way thats it is easy for anyone interested to also reproduce it, and we will see how we will deal with all these complexities. 

  Are you sure? yes | no

Klaus Keppler wrote 04/23/2018 at 09:42 point

Great idea! I'm looking for a maintenance-free wind sensor in rough environments (actually for caves) for a long time. Logging is planned both online (LoRaWAN) and offline (eg. SD card), because of limited LoRaWAN connectivity in caves. :-)

I'll follow this, maybe I can contribute some ideas.

Technically: does the pyramid contain all electronics or only the sensors? I wonder if one could use a 3-wired cable for fixing the pendulum (VCC, GND, Data) and have the electronics externally. However, the cable should not impact the movement characteristics. And: is rotation of the pyramid (due to crosswind) a problem? Maybe that could be compensated with a compass.

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates