Home
Arashi - Open Weather Station | Print |
Written by Akiba   
Thursday, 07 June 2012

This is the project page for Arashi. This is mainly a public development log and I'm hoping to show the steps I go through and the reasons for the decisions I make through this journal.

Arashi means "storm" in Japanese and I thought it was appropriate for this project. I was contacted by Marco from WSN Blog  and ICTP in early 2012 about an interesting project to collaborate on a remote weather monitoring station for a UNESCO project. I've never done a professional weather monitoring project but the chance to work with the ICTP climate scientists and also put together a sophisticated communications platform sounded too good to pass up. The goal of Arashi is to provide a remote weather monitoring station for developing countries, mostly in Africa. The communications will be via cellular modem (either 3G data or SMS) or satellite modem. I'm especially interested in the power management aspect of this project since a very special power supply will be needed to power these things over long periods of time. Best of all, there was no problem with my requirement that this design be completely open source, both hardware and software. I'm excited by the potential applications of an open source professional grade remote weather monitoring station, especially since it will be designed in collaboration with climate scientists, meteorologists, and little ol' me :)

2012-06-09

Studying the rain gauge today. We can't use a standard rain gauge like a tipping bucket since the hard requirement is no moving parts. Because of that, we're using an optical rain gauge from rainsensors.com . It doesn't look like it's built for low power since it uses as 12V input and seems to drive a relay output. There seems to be a 5V input on the test connector so I'm going to see if it can function using that input. Otherwise, it's going to be a pain in the ass to add a boost for a 12V rail on the board. A 5V rail is about as high as I want to go. Here are some pics from the teardown:

Rain gauge assembled  rain gauge

In any case, I should be able to make it work for the first version. Now I need to plan out the power management strategy. This is going to be interesting since this device needs to be very low power. I'm planning to run the AVR and whatever components I can at 1.8V. There will also be other enhancements to the power management like tiered power reservoirs where I'll be using a supercapacitor and a battery. The supercap will be used to reduce the duty cycling of the battery so that the battery will last longer. This will be important since the solar cell will charge and discharge the reservoir multiple times a day. 

2012-06-20

I've been working on the project all last week and also a bit today. There were a lot of nasty gotchas that had to be thought out, mostly with the power supply. I've been thinking a lot about remote weather monitoring recently and have come to the conclusion that there are two main parts to it: the base station and the sensors. The base station is the part that handles the power management, communications, and processing. The sensors are obviously the sensors. This was actually a major breakthrough for me because all of the weather expertise mainly goes to the sensors, ie: positioning, housing, calibrating, etc. However the base station requires a lot of electronics design expertise such as low power design, power distribution, communications/RF, and of course software architecture and design. 

This means that if I partition the design this way, I can do the base station architecture on my own and then try and gather help from the climate scientists and weather experts on dealing with the sensors portion. I have a couple of ideas on that too. One of the ideas I'm toying with on the sensors is to make them all share a similar interface, most likely I2C. I2C is "not as" proprietary as 1-wire and many popular MCUs support it with dedicated hardware. Forcing all the sensors to share a similar digital interface will make it easier to have modular sensors. From a software point of view, it would make the weather station more "plug and play" with sensors. I'll probably need to describe this in more detail later on.

On the base station, I'm currently using a fairly sophisticated power management methodology. I have a solar cell input feeding both a lithium-ion-polymer (LiPo) charger IC w/battery and also a 5V supercapacitor set. The primary power source is from the supercapacitors and the LiPo is for backup if the supercaps get depleted. The main reason to use this setup is because supercaps can be duty cycled quite a bit without losing any charge capacity whereas LiPo's will lose capacity over time. Because of this, the supercaps act as an energy buffer to reduce the cycling of the LiPos. The switching mechanism is complex though and it has to be automatic and failproof. Once power is lost to the system, the system is dead which is a catastrophic failure in the field.

The communications will be via a 3G modem on the first version and will support either a digital satellite modem or 3G modem on the final design. The satellite modem will be challenging because it uses a 5W radio which means that I'm probably going to need to make major modifications to the power supply to handle that type of output, even if it's just for a short time. 

For this first prototype, there will be three major goals to achieve. The first is obviously power. The sizing of the solar cell and characterizing/optimizing the circuit to reduce power consumption will be important. The second is to verify the communication will work. That means writing some basic software to get the 3G modem to connect to a server or send an SMS/email. The final goal is to write and verify software that will allow remote field upgrades. This is crucial and I don't want to release a remote weather station unless it can be remotely upgraded and there's no chance of bricking. I learned quite a bit when I did the Safecast deployment and it taught me that it's painful to upgrade software on deployed devices. If those three things can be verified, then I'd consider the first prototype a success.

Here are a couple of pictures of the modems I'm playing with. The first one is my 3G modem test setup. The second one are some more of the 3G modems. The third one is my digital satellite modem evaluation system.

3G Modem 3G Modems Satellite Modem

2012-06-21

 I was playing around with the Hydreon Optical rain gauge today because I needed to know how it would work before I designed the interface to the system. The rain gauge has two outputs. The first output is a 12V relay output that can drive things like motors. This is definitely undesirable for me because 12V is nasty to implement in a low power system and I definitely don't need a relay since there won't be any high current loads driven by the rain gauge. The second way to interface to the system is via a serial port interface. The manual says that it supported an RS-232 interface but actually, it was just a 5V serial interface and only the transmit side (output) was supported.

The serial port was a bit finicky. The first strange thing I noticed was that it was an open drain output but on the low side. That means you needed to tie a pulldown resistor to it to get it to work. Once I figured this out, then I still had trouble getting my FTDI USB/Serial converter to understand the data. It turned out that the serial data didn't have good timing accuracy or stability at 1200 bps. Most likely, it was being bit-banged by the microcontroller rather than using a true hardware UART. I was able to get around this by using my PC serial port (yes, it still has a serial port) which is very tolerant. Once I could see that I was getting data as expected, then I wrote a short program in Processing to parse the data. Here's a circuit diagram of how I hooked things up:

Serial conn

Also, here's an example of the raw output from the device as well as the parsed output:

s000083001600100e80
s000083001600100f0c
s00008300160010000c
s000083001600100180
s00008300160010022a
s00008300160010030a
s000083001600100454
PeakRS =  00
SPeakRS = 00
RainAD8 = 83
LRA = 00
TransRat = 16
AmbLNoise = 00
RGBits = 10
Slow Reg Index = 0d
Slow Reg Value = 00

PeakRS = 00
SPeakRS = 00
RainAD8 = 83
LRA = 00
TransRat = 16
AmbLNoise = 00
RGBits = 10
Slow Reg Index = 0e
Slow Reg Value = 80

In case you're interested, here's the Processing script that I used to parse the output data from the serial port. You'll need to modify the COM port selection to match your PC though. 

Anyways, now that I know how it works, I can proceed to design in the interface to the sensor. This is what my test setup looks like.

rg11

 
Hits: 9504
Trackback(0)
Comments (12)Add Comment
Thanks
written by Chris Crowe, June 23, 2012
Thanks for providing this - I have one of these rain sensors and currently it sits in my drawer.

I appreciate you providing the diagram and and breakdown of the serial interface.

One question - On your breadboard you have a red wire (from the Rain Sensor) going to the Channel (pin 20 - I assume 5v) on the Breadboard but it looks like there is no other wires or anything connected to this channel - is that correct? or is your breadboard 5v fed from somewhere else?

I posted a link to your project on WXForum.net but I missed that you joined yourself a couple of hours earlier.

Look forward to what you do in this project - it looks really interesting.

Cheers

Chris
report abuse
vote down
vote up
Votes: +0
...
written by Akiba, June 24, 2012
Nice catch. Actually when I took the picture, I had already removed the 5V wire from my bench supply. The photograph was an afterthought when I was finished testing and taking measurements. I was actually using the bench supply rather than the Fredboard supply since I wanted to measure the power consumption at 5V. Incidentally its about 15mA @5V which is not bad.
report abuse
vote down
vote up
Votes: +0
...
written by Bobb Craig, August 17, 2012
So, do I take it that using Radio Frequency Energy Harvesting for nighttime energy use and storage, would not be helful due to the location of the remote weather stations?
report abuse
vote down
vote up
Votes: +0
...
written by Akiba, August 18, 2012
RF energy harvesting is still relatively new and you need to be near a strong source to get any decent amount of energy. Solar is still the best source, with wind coming in close too. Geothermal is also there, but I'm not very familiar with it. RF is still more of a buzzword along with vibration harvesting in my mind. That may change though if I can see something compelling.
report abuse
vote down
vote up
Votes: +0
WX-Stations and sensors
written by Gary Stofer, October 25, 2012
Hi Akiba,

I have not visited your blog in a while, but found a link to it somewhere on weather-undergrounds forums.

I have made a bunch of stand alone weather stations for aviation use that up-link their readings to weather-underground at rapid intervals. I'm now working on the 3rd generation device, Wifi based this time.


The sensors I use are I2c for Baro/Temp and Humidity/Temp. I'm currently using a HP03s from HopeRF, or a BMP085 from BOSH for the barometer and a HIH-6130 from Honeywell for the hygrometer. The HP03s from Hope is cheaper, but it requires an extra 32Khz Xtal, so no real gain there.

For the Hygrometer I used the HIH-4030 and a SHT10/SHT15 before, but the 4030 comes uncalibrated and is an analog only device, the SHT1x is very precise all the way to 98%, but has a non standard (not quite I2C) interface that does not get along with other I2C devices well. The HIH-6130 is a new device from Honeywell and seems to be just as precise as the SHT1x devices, but I have not had a chance to do a side by side comparison over the entire spectrum.

Solar irradiation in my opinion is best done with a solar cell, operation in shortcut mode (current is linear to irradiation). Then, with an op-amp, convert the current to voltage and read that directly with the ADC of the mpu. Make sure that the cell is not highly affected by the incidence angle. Poly-crystalline cells are better in that regard. I tried a couple of light to frequency converters (cpC1822,TSL230) but they would saturate under full sunlight.

I guess you are going to use a 4 way ultra sound anemometer for your wind data then, since you say that there is not supposed to be any moving parts in the system. While they certainly have no moving parts, other then the piezo discs they used more power than my cup anemometer and wind vane. Your situation might be different if you are only interested in spot readings every now and then. For my application I have to continuously measure the wind for wind gust and wind-average calculations. Also I found that the bugs don't mind the ultrasound coming from the transducers and found wasp nests in the ultra-sound horns. ommit the horns and the rain and dust plugs the sensors up over time. I'm now using a magnetic rotary encoder for the wind direction (255 steps) and a hall effect switch with a 7 pole circular magnet for the anemometer.

Rain, I currently don't do rain, but I experimented with a pressure sensor. Basically a funnel that feeds into a U shaped tube which has a pressure sensor at the other end. When the rain fills up the tube the air in the pressure sensor leg gets compressed by the water column. But you definitely need a valve at the bottom to drain and start over again...

And then there is the whole science of how to enclose the thing so that you don't read the temp and humidity of stale, heated air. I ended up using active air circulation, a small PC fan running at about 6 Volts to keep just a little bit of draft over the sensors.

gary
report abuse
vote down
vote up
Votes: +0
...
written by Akiba, October 25, 2012
Hi Gary.
I need to post some updated pics. I've made a test setup for the sensors that I'm checking right now. Once it's done, I'll be sending it to NCAR in Boulder where they'll be doing long term tests side-by-side with their expensive weather equipment. Basically they want to calibrate and also check the accuracy.

I'm currently using a Davis solar radiation shield to hold the pressure, temp, and humidity sensors. The humidity sensor I'm using is the HIH-5031 (has a protective cover on the sensor). It's also analog and I'm finding its quite accurate, however I'm using a precision 3.0V voltage reference. The pressure sensor is the MEMS based BMP085 and the temperature sensor is MCP9804 ( /-0.25 deg C typ).

I have these sensors feeding into a wireless transmitter outside the shield but enclosed in a IP65 (waterproof, dustproof) box transmitting the data to a gateway connected to the internet.

Currently, there is no anemometer and I haven't brought the rain gauge up yet. That should come next. The "no moving parts" requirement is mainly for Africa. There's also discussion to use this system for radiation monitoring here in Japan and in other countries as well. In those cases, I think its possible to assume that the devices will be somewhat maintainable (ie: not having to venture far into the bush) to service them so I believe the requirement will be relaxed. Otherwise, the acoustic anemometers are too expensive for the agencies we're dealing with (and the numbers they're going to need).

The HIH-6130 is really interesting. I'll be keeping an eye on that. Also, nice call on the SHT15. I really like that module, but I'm curious how committed Sensirion is on the continuation of that device. The price of temperature/humidity sensors is dropping like a rock.

Once the design stabilizes, I'll be publishing the latest files on my github account. Hopefully that will include a tutorial. I suspect the best way I can contribute though is learning how the pros calibrate their equipment and hopefully writing that up. I'm really curious about that process and what equipment they use and hopefully we can try to emulate that in the open source world and of course make it cheaper smilies/smiley.gif
report abuse
vote down
vote up
Votes: +0
...
written by Akiba, October 25, 2012
Hi Gary.
I cross-posted this to WXForums because I thought your post was really interesting and I also wanted to update people on how this project was doing. I hope you don't mind. If you do, let me know and I'll take it down:

http://www.wxforum.net/index.php?board=70.0
report abuse
vote down
vote up
Votes: +0
WX Sensors and stuff
written by Gary Stofer, October 26, 2012
The 5031 I think was similar to the 4031 except for the supply voltage and a smidgen better accuracy. I did some side by side comparisons with the SHT1x in a vessel with fully saturated salt solution. Off the top of my head I think NaCl develops something like 60% RH right over the undisturbed solution at steady temperature. The 4031/31 where up to 10% off I recall, while the SHT1x was right on. I understand that you can get these devices calibrated by Honeywell and get the cal data, but that's extra $'s. I like the 6131 so far because it's factory calibrated, you don't have to apply temperature compensation yourself and it's supposed to provide the temperature reading as well. However it seems that there are two versions of the device, one that provides the temp data and one that doesn't, and it's unclear to me what the part identification is to distinguish these two kinds.

I found it very difficult to calibrate the RH sensor with simple means. The salt/silica gel method only gives you 2 or 3 points and it is harder then you think to keep the temperature stable over 3-4 hours, and by stable I mean less than 0.5 degC variation. Styrofoam boxes inside Styrofoam boxes inside... The other method with a dry/wet bulb thermometer works a lot better, but you have to wait for days with high and low humidity in between. Sometimes it stays dry or humid for a long time ..

You should be able to eliminate the temp sensor in your design and use the output of either the baro or RH device. To not have the temp influenced by the heat generated by the MCU etc I made a little pcb off to the side and run the I2C appropriately slow. The HP03s baro has a shutdown/sleep pin that is used to prevent self heating of the device.

The Solar guard from Davis is nice, but appropriately expensive. I noticed that people who mount their station on a pole on the roof oftentimes read temperatures that are too high in the summer especially on calm days, probably something to do with the re-radiation off of the asphalt shingles roofs we have here in California. I'm now using a force aspirated post that sits on the ground. Much easier to get the power to it as well.

I still use a wire to get the wind data down to the base station. I have been putting this off because of the solar panel/battery issues (wind load, weight, cost) of the wind tree. I figure I have a ~30 ma constant draw plus the current it takes to transmit the data once per second. I was planning on a 6V SLA since the rotary encoder runs on 5V, single LiPo will not work, plus they don't like it hot or cold. I'm afraid that I will have to size the solar panel rather large to have this thing work through the night in the winter months( in the N hemisphere) when the irradiation is low and the battery cold.

I would assume that you are using your chibi modules for the link. Does that penetrate well through walls and floors ? How about current consumption during TX?
report abuse
vote down
vote up
Votes: +0
...
written by Akiba, October 26, 2012
For wireless transmission, I'm using my chibi currently. Later on, I'll be replacing it with a cellular modem or digital satellite. Currently I need to focus on the sensors to get them out to NCAR though.

For humidity sensors, I think the SHT15 is nice, but at $30-40, then it's difficult to justify the cost across many weather stations if cheaper solutions exist. I do like the fact that they're pre-calibrated. At /-2%, I can talk with the climate scientists and if they're okay with this spec and willing to pay the extra price, it's a viable alternative to remove the need for humidity calibration.

For keeping stable temperature, you might want to consider using a PID controlling a heat source. The heat source could be something as simple as a power LED. There should be plenty of examples using an arduino as a PID controller.

For the wireless links, during TX, the consumption of the system is about 25 mA. It can go into a deep sleep mode so the consumption in this mode is on the uA scale. I'm currently using 2.4 GHz since I have them lying around. I also have 900 MHz which I would probably be using for the actual test. It goes through walls quite nicely and can easily do a few hundred meters of range at 10 mW which is the power of the AT86RF212 that I'm currently using.

The Davis shield is quite nice but it is a bit expensive. I need to discuss with the other guys to see if there's a cheaper way to go with the radiation shield. I also want to check the one from ambient weather, but they don't ship to Japan. Unfortunately, an aspirated shield is not an option since the fan is a moving part. In any case, if needed, the first prototypes can use either Davis or someone else since they'll mainly be proof of concept.
report abuse
vote down
vote up
Votes: +0
How is progress ?
written by Gary Stofer, January 04, 2013
I was wondering if you had some progress on your WX station lately. Did you settle on what sensors to use?
report abuse
vote down
vote up
Votes: +0
...
written by Akiba, January 04, 2013
Hi Gary.
I put together an initial prototype. As usual, software was the most time consuming task. The sensor boards are modular and they all contain a microcontroller that speak the same protocol via I2C. Currently, I'm using the HIH-5031 for humidity, MCP9804 for high accuracy temp ( /-0.25 deg C), and the BMP085 for pressure and as a check on the temp ( /- 1 deg C). The rain gauge is the Hydreon RG-11 optical rain gauge.

The sensors can easily change though based on the needs of the scientists which is why I wanted to make them modular. The idea is that there will be a common component which includes power management, battery, charging, and communications. Then the areas that will probably not be common across different applications would be the sensor boards.

Things are still rough and the unit has not been through thorough testing. I just shipped it off to be tested in Italy at the International Center for Theoretical Physics and there will probably be more tweaking. Once things stabilize, then I'll probably prepare a first release of design and source code.
report abuse
vote down
vote up
Votes: +0
...
written by Chris Crowe, April 11, 2013
Hi

Still interested in this project and wondered if you have any news since the last comment you made in Jan 2013?

Chris
report abuse
vote down
vote up
Votes: +0

Write comment

busy