💬 Supercap solar charger
-
The LDO in the original BOM could handle input voltages up to 12v. I just now added an alternative LDO, which is pin compatible, to the BOM that can handle input voltages up to 30v.
:grinning:
-
Maybe the cleanest way to settle this would be to use an op-amp to buffer the voltage that's to be measured.
A potentially simple solution would be to use very high megaohm values on the voltage-divider and to use a 0.1uF capacitor between GND and the sensing point on the voltage-divider. Evidence: https://jeelabs.org/2013/05/16/measuring-the-battery-without-draining-it/
Because of the very low current flowing through such a voltage-divider, the 0.1uF may require a small amount of time to charge (after the solar cell is isolated from the MCU by setting the EN pin low) before the atmega328p reads its voltage level.To summarize: Unlike the Jeelabs example, we're not worried about "draining" the solar cell, at least not in the sense that Jeelabs was trying to avoid a permanently connected voltage-divider from draining a battery. Rather, since in our case the goal is to read the open circuit voltage of the solar cell at a particular instant in time, our requirement is that the voltage flowing through the voltage divider be sufficiently minuscule that it does not skew the sampled voltage that we're trying to measure. Thus, one could imagine that under extremely low light conditions, where the solar cell may produce extremely little current, there might be a slight difference in the voltage measured on a voltage divider as compared with the voltage on a solar cell's true open circuit voltage. On the other hand, since both values would likely be approaching zero volts under such a worst-case scenario, perhaps it would be a wash, especially considering the 10-bit resolution of the atmega328p's ADC. Therefore, it seems worth a little testing to see whether this might be a viable solution.
-
A potentially simple solution would be to use very high megaohm values on the voltage-divider and to use a 0.1uF capacitor between GND and the sensing point on the voltage-divider. Evidence: https://jeelabs.org/2013/05/16/measuring-the-battery-without-draining-it/
Because of the very low current flowing through such a voltage-divider, the 0.1uF may require a small amount of time to charge (after the solar cell is isolated from the MCU by setting the EN pin low) before the atmega328p reads its voltage level.To summarize: Unlike the Jeelabs example, we're not worried about "draining" the solar cell, at least not in the sense that Jeelabs was trying to avoid a permanently connected voltage-divider from draining a battery. Rather, since in our case the goal is to read the open circuit voltage of the solar cell at a particular instant in time, our requirement is that the voltage flowing through the voltage divider be sufficiently minuscule that it does not skew the sampled voltage that we're trying to measure. Thus, one could imagine that under extremely low light conditions, where the solar cell may produce extremely little current, there might be a slight difference in the voltage measured on a voltage divider as compared with the voltage on a solar cell's true open circuit voltage. On the other hand, since both values would likely be approaching zero volts under such a worst-case scenario, perhaps it would be a wash, especially considering the 10-bit resolution of the atmega328p's ADC. Therefore, it seems worth a little testing to see whether this might be a viable solution.
@neverdie Do you know, I was just thinking about this scenario last night when I couldn't sleep.
Is there a reason a mosfet could not be added to the voltage divider (in series with it) and a pin on the arduino or whatever could turn it on for a reading and then off again for normal function?
-
@neverdie Do you know, I was just thinking about this scenario last night when I couldn't sleep.
Is there a reason a mosfet could not be added to the voltage divider (in series with it) and a pin on the arduino or whatever could turn it on for a reading and then off again for normal function?
@skywatch said in 💬 Supercap solar charger:
@neverdie Do you know, I was just thinking about this scenario last night when I couldn't sleep.
Is there a reason a mosfet could not be added to the voltage divider (in series with it) and a pin on the arduino or whatever could turn it on for a reading and then off again for normal function?
It could be done, but I can see only one benefit from doing so, which is that whatever current that would be lost/wasted by a permanently connected voltage divider could instead be captured as harvested energy. You would still need to solve the existing dilemma, which is finding a good technique to measure the open-circuit voltage of the solar cell without crashing the very voltage that one wishes to measure. Bear in mind that a small solar cell like that from an LED keychain may produce a net of only 8ua under normal indoor lighting conditions, and obviously only a fraction of that under more dim conditions. Below a certain dimness level the leakage currents inherent in the cell will likely exceed the current produced, resulting in zero current flowing even though some amount of light is still present.
I suppose a viable alternative might be to use a dedicated luminosity sensor of some kind, instead of forcing the solar cell to serve that purpose as well. The hope would be that, when calibrated, it could serve as a proxy for the solar cell and be used to gauge the amount of current and power being generated, which is what I'm most interested in anyway. On the other hand, different types of solar cells respond to different light wavelengths differently (as proven in the earlier discussion on the thread which this thread grew out of), so finding a luminosity sensor that responds in the same way as any particular solar cell might be difficult. i.e. it no doubt could be a proxy, but it might not be a good proxy, let alone an accurate one. I suppose some kind of spectroscopy would be the right kind of measuring tool, at least from a technical viewpoint. From a practical/economic viewpoint, maybe not so much, unless such sensors are both small and can be had at a reasonable price (and, purely as a wild guess, I'd wager they're probably neither small nor cheap).
-
Wow, I just now checked, and the price on spectrometers has really come down a lot! Something like this:
https://www.adafruit.com/product/3779
together with something similar for infrared might possibly be "good enough", provided that you worked out the conversion factors for the solar cell. Nonetheless... nearly $20 more than taking measurements from the solar cell directly.
It's the cheapest I've found so far. For something with better quality, the prices can be a lot more: e.g.
https://www.digikey.com/product-detail/en/seeed-technology-co-ltd/114991292/114991292-ND/7622897 -
I tested the Version 11 design, and it works. Therefore, I'm removing the "work in progress" moniker.
-
@Mishka Ah yes, that is true. In this case though I went out of my way to keep the PCB dimensions as small as possible so that someone could have it made at OSH-PARK for super cheap--just $0.30 per board.
If I ever figure out how to post a complete set of KiCAD files, then I guess maybe then everyone can modify it to suit their circumstances. Until then, it will be hard to have one's cake and eat it too.