| 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: 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. 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: Also, here's an example of the raw output from the device as well as the parsed output: s000083001600100e80 PeakRS = 00 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. Hits: 9504 Trackback(0)
Comments (12)
![]()
...
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
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
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
Write comment
|
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