A Weatherstation Update

It’s now been almost exactly 2 years since the last post about the weatherstation I built and put up outside the house, so I thought it would be good to talk about how it’s worked out.

In general, it’s worked well. However, a few things are showing their age:

  • Over the past few months, the anemometer (the spinny thing measuring wind speed) on the weather meter kit from Sparkfun gradually ground to a halt. When I got around to taking it down from its tall tower and pulled it apart, it was obvious that the tiny ball bearing that lets it spin was shot. It uses a 10mm OD x 5mm ID x 4mm width bearing, and luckily you can buy them from ebay for a few bucks. That got it spinning again.
  • The solar cell that powers the station is suffering severely from the UV exposure. According to Sparkfun’s description, they are sealed with “clear epoxy resin”. Whoever designed that must not have known that epoxy needs to be protected from UV. The solar cell quickly started looking like this:
    This is what the solar cell looked like after only 6 months outside. Now, after an additional 18 months, it looks way worse. It's still generating enough power, though.

    This is what the solar cell looked like after only 6 months outside. Now, after an additional 18 months, it looks way worse. It’s still generating enough power, though.

    I complained to Sparkfun and they agreed this was a good point and sent me a new one (which of course would just do the same.) However, I noticed that their current lineup of solar cells use a polyurethane coating instead of epoxy, so I guess my complaint had some effect. In any case, the cell is still generating enough power to run the station, so I’m going to leave it until it stops working completely

  • A last month, the connection to the station dropped out. When I opened it up, it turned out that the interior had been turned into an ant nest!
    Part of the weather station ant nest. This doesn't show the Xbee, which was totally covered in ant eggs.

    Part of the weather station ant nest. This doesn’t show the Xbee, which was totally covered in ant eggs.

    The reason for the station finally dropping out must have been that the Xbee and its SMA connector was covered in ant eggs. Ant eggs must be conductive or have a sufficiently different capacitivity than air that the feedline losses got high enough that the radio connection was lost…
    Incidentally, this species of ants have become more and more of a problem for us over the past year. They are coming into the kitchen and appear to be nesting in the old galleries where wood was previously eaten by termites. The guys at the Hawaii Ant Lab identified them as Ochetellus Glaber, an invasive ant species originally from Australia, where it is known as the “black house ant” due to its tendency to move into houses. Great…
    Anyway, after conducting massive “formicide” and cleaning out the parts, it mostly functioned again. There appeared to be some sort of partial short circuit in the Arduino, because occasionally it would start drawing more like 150mA compared to the normal 10mA. I initially thought this was because I had cleaned the parts in water, but looking at the data it actually started happening shortly before the station dropped out. I couldn’t figure out what caused it, so I just programmed a new Arduino Pro Mini and swapped it out.

  • The LiPo battery has swelled considerably. It still functions normally, with no obvious capacity decrease, but I attribute this to the fact that Sparkfun’s “Sunny Buddy” solar charger is set to charge the battery to 4.4V. This is much higher than a LiPo battery is supposed to be set to (the battery’s protection circuits cut it off at 4.3V) and likely leads to a much shortened life. I complained about this, too, and their updated version now uses a 4.0V float voltage, much more reasonable. I just got one of the new boards that I’ll swap in, hopefully that will forestall any further deterioration.

As far as the software goes, there is a bug that causes an occasional lockup in the Arduino. It has something to do with it waking up from sleep and counting the revolutions of the anemometer, because if I unplug it, it doesn’t happen. I believe there must be a race condition in how the interrupt code puts the chip back to sleep, causing it to fail to wake up and go into eternal sleep, but I’ve gone over the code several times and can’t find anything.

This is one of these frustrating bugs that happen just often enough to be a problem, but not often enough to be easily debugged. I’ve resorted to resetting the Arduino using the Xbee’s digital outputs if the data collection software hasn’t gotten data in a few minutes. This works, but it’s still annoying. If anyone can see anything wrong with the code, please let me know!

 

Leave a Reply

Your email address will not be published. Required fields are marked *