(Filename: aht8-cSolarPwred.htm)
For years, I have been on a quest. It isn't as simple as it seems to create what I want.
I fear that I don't (yet!) have an answer for you. I've posted this, as a carefully crafted statement of my understanding so far, in hopes that experts will study and comment.
How do I put together a system with an Arduino, a solar panel, and a battery, so that I can just put it where it will see sun, and it will Just Work? (Or at least work for as long as there's been sufficient sun, and then die gracefully, and return to life when there's been enough sun, long enough.) A bit like those nice little LED garden path lighting devices! (Brilliant design that... they only work for a few hours after dusk each day... but for the hours you might be wanting some light!)
Here's how far I've got...
The Arduino MK1000 is probably not the cheapest route to my Nirvana, but it has some features which, for now, I'm willing to pay for. The nice people at Sparkfun have said...
"... design includes a LiPo charging circuit that allows the Arduino to run on battery power or external 5V, charging the LiPo battery while running on external power. Switching from one source to the other is done automatically."
Before I go further, let me interject: If you too have my want, and have the skills, Nick Gammon's excellent supercap/ solar panel power microprocessor supply may be all that either of us needs. (He doesn't use the MKR1000, just something small.) Even if you don't adopt all of what he explains so clearly, the bits about providing alternate voltages (3V3 from 5) and using an external watchdog timer are grist for the mill.
I had some help from people in the Sparkfun community...
"the Vin input goes to an AP7215-33YG-13 voltage regulator through a shottky diode. The regulator has a maximum input of 5.5V, and the shottky diode will have a drop of around 0.2V. So max input is 5.7V absolute maximum.
"To use a solar cell, add a buck/boost switching regulator with an output of 5V between it and the MKR1000 Vin pin.
"Note: The minimum input voltage for the regulator is 3.4V to 3.55V depending on load current, so you will not get full use of a LiPo battery which has a range of 3.0V to 4.2V. You need to look at the characteristics of the cell you use to check how much capacity is available above 3.5V."
Of course, all of this requires some close attention to the "details" of which LiPo, which solar panel, what demands your Arduino program and peripherals will be making, etc... but is the basic idea sound?
"LiPo": I should probably start a separate page all about the joys of LiPo batteries. Remember that they need to be treated with respect. They can be very nasty, if abused. A subtle twist: It is "okay" to discharge one excessively. But if you do, you should dispose of it. (A whole issue in itself.) The problems start (potentially, fires) when you try to charge an overly dis-charged LiPo. Or so a senior BAE engineer told me, after being flown across the Atlantic for a 36 hour visit to investigate the failure of a LiPo battery the size of a sofa. I guess BAE thought he knew a bit about them.
Some... avoid them... of the cheap LiPos available via eBay have no internal protection. "Any decent" LiPo, so I've read on the internet, has internal circuitry to "disconnect" it, if the voltage it can supply gets too low. But someone took trouble to send me the following: "You need your own circuit that will cut off the battery at 3.0V, or, preferably 3.3V, to prolong the life of the battery and keep is safer.
"Batteries with internal so- called 'protection circuits' cut off as low as 2.4V and are not suitable to be used on their own." (And no, he didn't sell protection circuit modules!)"
So now the question is: What's the circuit for that?
"Switch": The "Switch" in the diagram may not be necessary. I was worried that maybe there should be something to "disconnect" the solar panel when the voltage it is producing falls below some level. Maybe a diode would be appropriate, even though it will "cost" a little voltage?
Die gracefully?: I said it was important that the unit "die gracefully". As I've researched the design issues of this want, I've come across worrying suggestions that Arduinos do not take kindly to a slow decline in the voltage they are fed.... sometimes lock up, if voltage doesn't plunge to zero suddenly? But perhaps the "lock up" can be overcome "simply" by pressing the reset button? (Of course, that is not always so simple, and it would be nice if the need could be avoided.)
At least one of the chips Arduinos are built around has a "brownout handling" feature, but it is "expensive" in terms of current consumption, and requires Doing Things to the chip's internal fuses, and doesn't fully solve the problem anyway. (All of that: My reading, perhaps wrong, of some of the information in Nick Gammon's excellent article, cited earlier.)
I apologies for the lack of a simple comment form here. This is also open as a discussion in the Arduino forum, or, if you are feeling very kind, my email address isavailable through the link below, with a little(?) trouble.
Much of the above discussion remains valid if you would like to use the public power supply as your primary source of power for your project, but want the project to "survive" across times when the public supply is not working.
A crude, but reliable(?) high capacity "answer" occurs to me... though I haven't tried it, nor do I have the expertise to speak to whether it is a good answer...
You could buy a standard "emergency lighting" unit, or burglar alarm standby power unit, with 6 or 12 volt battery, and trickle charging. Then use a DC-to-DC converter to obtain the right voltage for the Arduino.
If you visit 1&1's site from here, it helps me. They host my website, and I wouldn't put this link up for them if I wasn't happy with their service.
Click here to visit editor's Sheepdog Software (tm) freeware, shareware pages.
Click here to visit the homepage of my biggest site.
Click here to visit the homepage of Sheepdogsoftware.co.uk. Apologies if the "?FrmAht" I added to that link causes your browser problems. Please let me know, if so?
Page tested for compliance with INDUSTRY (not MS-only) standards, using the free, publicly accessible validator at validator.w3.org
....... P a g e . . . E n d s .....