Anyone know if it's possible to wake up a USB battery pack that has gone to sleep?
I'm using a battery pack to power a blinker circuit, but the pack goes to sleep like right away. I was hoping that the blinker circuit drawing power would be enough to wake it up, but apparently not.
Most of what I'm finding when I search for this are ways to keep the battery awake all the time (for powering low-power circuits), but I really just want to wake it up when I'm actively using the blinkers, and let it sleep otherwise.
@pganssle
The simplest version I've seen uses a 555 to pulse the line. But as you say, this will keep the pack awake all the time.
https://www.tindie.com/products/plop211/power-bank-keep-alive-based-on-555-timer-kit/
Not really sure how you could wake on demand. Maybe if you had a microcontroller running in a low-power mode off of a supercap, listening for the blinker signal. But that's a lot more involved, and likely will add delay.
@tomnardi But what would the microcontroller do? I've never seen a description of any sort of protocol that wakes up battery packs from sleep, they just wake up when they detect something has been plugged in or if you press the button on the side.
@pganssle
Just like the 555 circuit, the MCU would need to trigger a load large enough for the pack to see as a new device being connected. The docs for that particular project say ~130 mA is enough to do it, but you'd probably need to experiment a bit.
Whatever the value is, a MOSFET shorting a couple of resistors across the power line should get the desired result. But again, this action would need to be powered by something like a supercap or small internal battery.
@tomnardi I think I figured out why my blinkers weren't waking it up — there's a step-up transformer between the USB output and the blinker switch, and I think the step-up needs to have enough power to run it before the input impedance depends on the impedance across the outputs.
I think if the blinkers ran on 5.5V natively this would be no problem.
The solutions I see to this are:
1. Use a DPDT switch instead of the SPDT switch that's in there now, and with the second pole connected to a resistor across the 5.5V outputs. I don't mind pulling an extra 50mA or whatever for the time the blinker is on, but if you want to get fancy you can probably have this connected to a simple circuit that spikes the impedance when first turned on, then turns off.
2. Add a battery or capacitor to the input of the step-up that is sufficient to power the circuit when the battery pack is off, and where the quiescent current of the step-up would take 3-7 days to discharge the cap. That way any time you turn on the blinker, the circuit draws current and the battery pack wakes up (and recharges the capacitor).
I'm probably going to look for another solution that involves either pulling power from the bike itself or adding a drill battery or something, but I think the capacitor thing would probably work if I was really married to the battery pack solution.