Due to their very high energy density, supercapacitors are a viable means of storing electrical current for low power devices and have a number of advantages over traditional rechargeable batteries:
- Millions of recharge cycles (compared to most batteries with 500-1000 recharge cycles)
- More environmentally friendly than batteries due to the longer useful life of supercapacitors and less waste generated
- Highly efficient, high power output
- Able to charge almost instantly
Combined with a solar cell, a supercap can be used to produce a low maintenance, environmentally friendly, and durable power supply for low power devices like remote sensor nodes. This combination is particularly interesting for devices that spend most of their time in low power mode, and only intermittently 'wake-up' to read some sensors and process the results, but are not required to be in constant activity. The main difficulty in setting up a solar cell and a supercapacitor as a power supply is simply determining the size of the solar cell and capacitor that you'll need for your situation, but with a few relatively simple calculations you should be able to make an informed choice.
Determining the Board's Power Requirements
As an example, we'll assume that we are powering a 3.3V microcontroller that requires approximately 30mA when active and 50µA when in power-down mode. The MCU will be run on a 60:1 duty cycle, meaning that it will be put in a very low-power 'sleep' mode for 59 minutes and 'awake' for 1 minute per hour to read some sensors, log and transmit the results, and go back into low-power mode.
Using the above information, we can calculate that, on average, our mcu will (in an ideal world) use 0.55mA averaged over a one-hour priod, as you can see below:
Calculating average mA usage/hour
Power-down mode = 0.05mA (or 50µA) * 60 sec = 3mAs/minute
Active mode = 30mA * 60 sec = 1800mAs/minute
Which for a 60:1 duty cycle = (3mAs/minute * 59 minutes) + 1800mAs/minute = 1977mAs/hour, which averages out to 0.55mA in a 1 hour period (1977 / 3600 seconds in one hour)
Once we know how much power we are likely to need (0.55mA), we simply need to find a solar cell that provides enough electrical current, and a supercapitor with enough 'capacity' to power our MCU for a fixed period of time when insufficient solar power is available.
Getting Past the 2.5V Limit
The first problem you're likely to encounter when searching for an appropriate supercap is that most supercapacitors are only rated between 2.3 and 2.7V (2.5V being the most common). This means that if you provide around 2.5V or higher to that beefy little capacitor, it may very well go 'boom' -- and at 50F that can get pretty ugly indeed. Since we are using a 3.3V MCU (well beyond the safe upper limit for one supercap), we can get around the 2.5V limitation by placing two capacitors in series (one connected directly to the other, side by side). This results in double the V, but half the capacitance. For example, if we place two 50F/2.5V super caps in series, we would end up with 25F and 5.0V, which should be enough to safely power a 3.3V MCU and peripherals (you always want a margin of error with the V ratings with any type of capacitor).
Calculating How Much Energy Supercaps Provide
If we continue with the example of two 50F supercaps in series, meaning we have 25F capacitance, we can easily calculate how much energy (in joules) they will give us fully charged with the following formula E = V² * (C/2) (where E = energy in joules, V = volts, and C = capacitance in farads)
Calculate energy in joules
E = 3.3V² * (25F / 2)
E = 10.89 * 12.5
E = 136.125 joules
Calculating How Long The Supercap Will Last
Now that we have the maximum capacity of our supercap in joules, and we know how much current out MCU will draw, we can finally figure out what interests us the most: how long will a fully charged supercap last? To figure this out, we need to convert the joules in our supercap to something more useful. You can do that with the formula E / V = I * t (where E = energy in joules, V = volts, I = current in amps, and t = time). In our case:
Convert Joules to mAh for Known Voltage
E / V = I * t
136.125 Joules / 3.3V = 41.25A
41.25A / 3600s (3600 seconds per hour) = 0.0114583 Ah
Which means 136.125 Joules of power at 3.3V will give us 0.0114583Ah or 11.4583mAh (11.45mA over a 1 hour period).
The rest is simple division. We know the mA requirements for both our board (0.55mA averaged over 1 hour) and the mAh of our fully charged supercap (11.4583mAh), so you simply need to divide the two values together to determine how long the caps could power your board:
Calculate duration in hours that the supercap can power the board
T = SuperCap mAh / Board mA average over 1 hour
T = 11.4583 / 0.55
T = 20.83 hours
A big thanks to Ed Davies
for pointing out a number of problems in an earlier version of this post, and for recommending some changes. It's nice to be proven wrong every now and again just to make you go back and dig a bit deeper into things (not to mention the side-effect of keeping the ego in check as well).