Powering mote 24/7 using only a supercap and solar
-
TI makes an "ultra low leakage load switch" which might be a good fit: http://www.ti.com/lit/ds/symlink/tps22860.pdf
-
TI makes an "ultra low leakage load switch" which might be a good fit: http://www.ti.com/lit/ds/symlink/tps22860.pdf
OK, I just put together a breakout board for the TPS22860 to audition it for this new role. I just now sent it to the fab, so it will be another two weeks (!) before I'll know. I just hate how these fab iterations stretch these projects out far too long.
-
So, what should the programmed voltage cut-off's be? Here's my first pass at that:
VBAT_UV = 0 volts. // it's a capacitor, so you can't overdischarge it.
VBAT_OV = 3.6 volts // because we don't want to run the mote at more than 3.6 volts.
VBAT_UV_HYST = 1.9v. // Note sure. To avoid the cold start inefficiency if the supercap is flat, it shouldn't be lower than 1.8v. If the VSTOR cap is ultra low leakage, then maybe 1.9v would keep the BQ25504 out of the cold start zone for long enough (?). If not, I might need to utilize a higher capacitance VSTOR.
VBAT_OV_HYST = 2.0v. // Another guess. Needs to be higher than VBAT_UV_HYST, or there won't be any charge to transfer to the supercap. On the other hand, a higher voltage would lead to greater inefficiency if the supercap voltage is low.
As long as the supercap's voltage is above VBAT_UV_HYST, then the supercap and VSTOR will remain connected.
-
So, what should the programmed voltage cut-off's be? Here's my first pass at that:
VBAT_UV = 0 volts. // it's a capacitor, so you can't overdischarge it.
VBAT_OV = 3.6 volts // because we don't want to run the mote at more than 3.6 volts.
VBAT_UV_HYST = 1.9v. // Note sure. To avoid the cold start inefficiency if the supercap is flat, it shouldn't be lower than 1.8v. If the VSTOR cap is ultra low leakage, then maybe 1.9v would keep the BQ25504 out of the cold start zone for long enough (?). If not, I might need to utilize a higher capacitance VSTOR.
VBAT_OV_HYST = 2.0v. // Another guess. Needs to be higher than VBAT_UV_HYST, or there won't be any charge to transfer to the supercap. On the other hand, a higher voltage would lead to greater inefficiency if the supercap voltage is low.
As long as the supercap's voltage is above VBAT_UV_HYST, then the supercap and VSTOR will remain connected.
Translating the above programmed voltages into resistor values that can be purchased on Digikey yields the following:
ROV1 = 5.1M
ROV2 = 4.7M
ROK1 = 6.2M
ROK2 = 3.3M
ROK3 = 510K
RUV1 = 10M
RUV2 = 0 or 1 ohm (doesn't matter which) -
I received the MCP1640 boost converter board from the fab yesterday, and so I put it together. It works, but I can see now why it' (and probably most boost converter boards not intended for solar) is a bad fit for solar: basically the lower the input voltage, the higher the input current that's required in order to generate current at the output voltage. However, under low light circumstances, when a small solar panel will have low voltage, it is precisely the time when it also won't be able to supply much current either. So, without modification, it's a poor match for what's needed.
What would be needed to make it work is a mechanism to throttle the output voltage and output current to better match the limited input voltage and input current that's available. I suspect that mechanism is basically what MPPT is. So, if one were to replace the fixed resistors on the MCP1640 board with a potentiometer, one could manually do MPPT. But that obviously isn't practical, so one could instead use an mcu and a digital potentiometer, together with voltage and current sensors, to accomplish the same. That would probably work, but it leaves open the bootstrap problem: how could you power that equipment from a cold start scenario?
So, I think this does give insight as to why the BQ25504 behaves as it does. Rather than using an mcu and generic voltage and current sensors, it uses specialized hardware to accomplish the same result. However, just like an mcu, that hardware can't work from a cold start, and so the whole setup wallows in high inefficiency until it can emerge from the cold start.
-
I received the MCP1640 boost converter board from the fab yesterday, and so I put it together. It works, but I can see now why it' (and probably most boost converter boards not intended for solar) is a bad fit for solar: basically the lower the input voltage, the higher the input current that's required in order to generate current at the output voltage. However, under low light circumstances, when a small solar panel will have low voltage, it is precisely the time when it also won't be able to supply much current either. So, without modification, it's a poor match for what's needed.
What would be needed to make it work is a mechanism to throttle the output voltage and output current to better match the limited input voltage and input current that's available. I suspect that mechanism is basically what MPPT is. So, if one were to replace the fixed resistors on the MCP1640 board with a potentiometer, one could manually do MPPT. But that obviously isn't practical, so one could instead use an mcu and a digital potentiometer, together with voltage and current sensors, to accomplish the same. That would probably work, but it leaves open the bootstrap problem: how could you power that equipment from a cold start scenario?
So, I think this does give insight as to why the BQ25504 behaves as it does. Rather than using an mcu and generic voltage and current sensors, it uses specialized hardware to accomplish the same result. However, just like an mcu, that hardware can't work from a cold start, and so the whole setup wallows in high inefficiency until it can emerge from the cold start.
On the other hand, since I'm sure to have an mcu in just about any mysensor-type project, why not leverage it? If there exist (?) low-voltage boost converters that are easily mcu controllable, that might be worth exploring.
-
On the other hand, since I'm sure to have an mcu in just about any mysensor-type project, why not leverage it? If there exist (?) low-voltage boost converters that are easily mcu controllable, that might be worth exploring.
@NeverDie you have probably already seen this, but in case you havent: mouser has a great article on mppt http://www.mouser.se/applications/solar-panel-power-tracking/
http://www.limpkin.fr/index.php?post/2011/12/07/Indoor-solar-energy-harvesting%3A-a-platform-to-(finally)-get-some-numbers has some hard data on how much power one person managed to get.
I haven't built anything like this yet, but I am following your progress because I would like some of my sensors to be self-powered in the future.
-
i read this one too. his next article is http://www.limpkin.fr/index.php?post/2012/03/20/Indoor-solar-energy-harvesting%3A-3-months-data
and i studied this one http://www.ti.com.cn/cn/lit/ug/tidub22b/tidub22b.pdf when i did my choice about overall cost, if i wanted reliable delivery and signing packet, for my multisensors..so i thought that would add too much overhead on my specific device (cost) but this chip is very nice for simple, low power BLE like, short burst ;) -
i read this one too. his next article is http://www.limpkin.fr/index.php?post/2012/03/20/Indoor-solar-energy-harvesting%3A-3-months-data
and i studied this one http://www.ti.com.cn/cn/lit/ug/tidub22b/tidub22b.pdf when i did my choice about overall cost, if i wanted reliable delivery and signing packet, for my multisensors..so i thought that would add too much overhead on my specific device (cost) but this chip is very nice for simple, low power BLE like, short burst ;)Thanks for the articles, guys.
The TI article takes the approach of running off a battery when there's not enough solar. Although that feels a bit like cheating, it might be valid if used just to power an MCU rather than do a full cold start before that's possible. Another approach would be to use something like an LTC3108, which is a boost converter optimized to boost very, very low voltage/current values. Maybe that could power an MCU much more quickly than rely only on the cold start abilities of the BQ25504. Perhaps it would turn out that an LTC3108 would be sufficient, all by itself. I think it's worth exploring.
-
Also, a larger, higher voltage panel coupled with a buck-boost converter (https://www.openhardware.io/view/276/33v-Buck-Boost-DC-DC-Converter) might offer another solution, perhaps one that isn't so affected by cold start issues.
Of course, some might simply use a larger, higher voltage panel directly wired to the supercap, without any intermediating converter. I'm not sure how that compares in performance, but it does have the virtue of simplicity.
-
Jeelabs has some nice posts on startup power:
http://jeelabs.org/2013/03/29/jeenode-micro-start-up-power/index.html
http://jeelabs.org/2012/12/29/rfm12b-startup-power-consumption/index.html
http://jeelabs.org/2012/09/09/delayed-power-up/index.html
http://jeelabs.org/2012/05/29/its-about-survival/index.html -
I built the pass-through boost converter (https://www.openhardware.io/view/285), and it works. :) However, for use with a small, low voltage solar cell, it has a cold-start problem: in order to enable the boost converter, the SHDN pin must be held high by continuously applying at least 1 volt to it.
-
I built the pass-through boost converter (https://www.openhardware.io/view/285), and it works. :) However, for use with a small, low voltage solar cell, it has a cold-start problem: in order to enable the boost converter, the SHDN pin must be held high by continuously applying at least 1 volt to it.
-
@NeverDie would the mosfet solution suggested in the delayed power-up post from jeelabs work?
@mfalkvidd
I guess you're seeing something that I don't, because I don't see how it relates. -
@mfalkvidd
I guess you're seeing something that I don't, because I don't see how it relates. -
@mfalkvidd
Aw gee, I was hoping you saw something in it that was blindingly obvious that I was, uh, blind to. In fact, I'm still hoping that. :)jcw is a really good author. Too bad that lately he has gone off the deep end into FORTH and the like rather than exploring solar energy like he should be. LOL. Then maybe I wouldn't have to be doing it. Surely someone out there has figured out this topic already. I mean, solar calculators have been around for decades, and they have tiny solar cells. Maybe I should use one of those solar cells? Now it has me wondering what voltage solar calculator cells produce.
-
Moving on, I built a different boost converter using the LTC3525-3.3 (not the LTC3525D-3.3, as previously, which was the bypass version of the chip).
The LTC3525-3.3 is, I think, a better choice than the D version, because when the voltage on SHDN falls below 0.4v, it disconnects itself from the output. That means the supercap won't drain itself to zero by draining current backwards through the boost converter. When the voltage on SHDN is greater than 1.0v, then the chip is reconnected to the output (a supercap in our case). What happens when the voltage on SHDN is between 0.4v and 1.0v? Good question. That's undefined.
-
I put together my buck-boost project (https://www.openhardware.io/view/276/33v-Buck-Boost-DC-DC-Converter), and it works. I thought that if I were to charge a supercap (or series of supercaps) to a higher voltage (say 5v), it might be a good way to use the stored energy. At the moment, though, I don't think that's the near-term direction this solar project is heading.
-
I put together my buck-boost project (https://www.openhardware.io/view/276/33v-Buck-Boost-DC-DC-Converter), and it works. I thought that if I were to charge a supercap (or series of supercaps) to a higher voltage (say 5v), it might be a good way to use the stored energy. At the moment, though, I don't think that's the near-term direction this solar project is heading.
I assembled and tested the cheapest of the boost converters (https://www.openhardware.io/view/278). It works. Ironically, because it lacks an enable pin, one could argue that it actually has less of a cold start problem than its more expensive counterparts. Its startup voltage is 0.8v, and after that it can drop to 0.5v (where it draws about 12ma of current in a no load scenario). For weak indoor lighting, its current demands are too high for a small solar cell. However, in direct sunlight, it could definitely provide 3.3v.
-
Good news! I jerry rigged one of the above mentioned load switches inline with the BQ25504, and Lo! It can sustain a lightly loaded voltage of 3.1v output all the way down to an input voltage of 0.21v before collapsing.
So, I hooked up my el cheapo solar cell, and I confirmed that it does the business even in ambient light. :)