Computing stuff tied to the physical world

Solar power

In Hardware on Oct 20, 2009 at 00:01

The Lighty project described earlier on this weblog was an attempt to create a node for outdoor use, which periodically reports some light measurement details and powers itself indefinitely via solar energy.

At the time, I couldn’t figure out how to get the power consumption down far enough, nor how to prevent the LiPo battery from overcharging.

I think I found a solution for both, triggered by a recent article in Elektor:

Picture 2.png

The main idea here, is to simply short out the solar panel when the LiPo voltage reaches 4.15 V, using a MOSFET. The battery voltage has to be measured using a voltage-divider which doesn’t constantly drain the battery – this can be solved with a low-power op-amp in voltage follower mode, using a 2:1 voltage divider. The LT1494 op-amp will work with varying supply voltages and consumes only about 1 µA.

I think I’ve got the resistors attached wrong though – need to brush up on my op-amp knowledge…

When using the ATMega’s A4 (PC4) and A5 (PC5) pins, everything can be hooked up using just the PWR/I2C connector. If this works as intended, it’ll make a nice and simple solar power setup for any JeeNode.

Anyway, I’ve ordered a MOSFET and an op-amp to see whether this idea can be made to work.

Update – looks like the op-amp can be avoided, the ATmega328p datasheet says the ADC input impedance is 100 MΩ, so two 1 MΩ resistors should work fine as voltage divider, with less than 2 µA power consumption.

  1. Did you consider using NiMH AA/AAA rechargeables? These would tolerate an overcharge of less than C/10, through heat dissipation. Plus, they would be less expensive.

    • Yes – in fact, I was planning to switch to NiMh’s, but I want to figure out how to use LiPo because there are more size options, they have a lower discharge rate, and the 3.7V from a single cell is quite convenient. There are some very small versions which are not that expensive – such as the 50 mAh currently used with Lighty.

      With small capacities, it’ll be easier to debug I hope, since they will fail quicker if the daylight charge is insufficient to last through the night. A JeeNode with a small connect-and-forget / piggy-back battery-plus-solar-cell might be quite convenient.

  2. I guess that with one solar cell you don’t have enough current two charge big batteries, but if you figure out a way of switching between two small batteries you’d have less solar power ‘waste’ and energy for longer time…

    • The solar cells I have around here can supply between 4 and 4.5 V @ 5 .. 40 mA. I interpret that as meaning that the short-circuit current will be 5..40 mA in bright sunlight. So it should be a perfect match for a small LiPo battery. I’m not sure two batteries will counter the drawback of higher complexity – I’m hoping that it’s just a matter of figuring out just how much a JeeNode will need between two cloudy/wintery days, with as parameters both the battery and the solar cell capacities.

      The proof will be in the pudding, I s’pose…

    • Well, the idea is to use all the sun to charge as much batteries as possible… I’ll try to figure out a design for this if I have the time…

  3. How about using the analog comparator instead of the ADC? The comparator’s interrupt could wake up the CPU, which then switches the MOSFET on or off.

    • Is this about reducing power consumption? Wouldn’t the comparator require the analog section to stay on when sleeping? Also note that the MOSFET is being controlled at a point when there is ample power, not when the LiPo is running low – for which I don’t have a solution BTW, other than going back to sleep as quickly as possible perhaps.

  4. I thought it would simplify the design (sleep until an interrupt happens instead of staying awake looping over the ADS) and maybe save some power.

    Yes, you do have ample power at the point when you switch off the solar cell, but you might not want to wait until the battery runs empty before you switch it back on. During that time you cannot depend on having ample power, because it might be night when you reach that point.

    OTOH, switching back on is not so time critical, so that it might be “cheaper” to awake from time to time and look at the ADC than to keep the comparator on and idle (deeper sleep modes switch off the comparator automatically).

Comments are closed.