Simplest single-cell supercap charging circuit?

I managed to charge a 2.7v supercap with USB on a small footprint pcb.
Some requirements:

  1. the cap shouldn't get discharged by the circuit when USB is unplugged.
  2. the cap shouldn't be charged to over 2.7v
  3. I don't plan to use this device at somewhere <20 deg C or >60 deg C, it should work in between -20 ~ 60 deg C most of the time.
  4. I don't plan to charge a very large supercap (like 3000F ones...), the supercap should be around 10~20F.

I came up with something like this (see attachment).

  1. The LDO (LM1117) has a short circuit current Isc = 1.1A
  2. The Vout of the LDO will drop at larger current (like 0.35v at 1A)
  3. D1 prevent supercaps dumping current back to the LDO (when external power disconnected)
  4. The Vf of D1 is related to current, greater the current, higher the Vf.

My idea is:

  1. when the supercap is empty, plug-in the USB will draw a massive power, but shouldn't exceed 1.1A (limited by LDO, and it has a thermal shutdown). at this point, the LDO should provide no more than 3v (as the LDO has a Vdrop related to the current).
  2. as this massive current flow through D1, it will create a higher Vf (like 0.8V~1.1V), so the cathode side should have a 1.9~2.2v output, which is lower than the Zener breakdown voltage, so it won't conduct and there is no current flows through it (only a small reverse current).
  3. as the supercap charging up, Vdrop on LDO and Vf on D1 begins to drop, so the voltage at cathode of D1 will slowly raise to 2.7v, and this is where zener begins to conduct, this limit the voltage to Vz (which is 2.7v).
  4. when zener begins to conduct, there'll be a current flow through LDO and D1. but Vf and Vdrop are current related, so it shouldn't be too much. there should be a sweet spot where the current is just big enough to make Vldo - Vf > Vz, but not big enough to make Vldo - Vf < Vz. so this current should be relatively small (like < 50mA).
  5. as the LDO and D1 cools down (because they don't have to provide such massive current to charge the caps anymore), Vdrop and Vf will raise, further decrease Iz.

when I unplugs it from the USB:

  1. D1 prevents supercap from dumping current back to LDO, I only have a very tiny reverse current (like few nA) flowing through it.
  2. Zener is open, because supercap won't get charged over Vz, I only have a tiny reverse current (like few uA) flowing through it.

So, the conclusion is:

  1. I need a fairly high power diode (>1A), 1N4001 should suffice.
  2. I don't need a high power zener, because the current will be little, 250mW should suffice.
  3. current from the 5V line shouldn't exceed 1.1A (the Isc of LDO), and LDO won't stay in this high-output region for long, maybe only 10~15 sec if the supercap is completely empty.

am I correct?

or, if I have to add some protection somewhere (like current limiting resistors?), how do I calculate the power ratings of those parts?

Untitled Sketch 3_???.png

Keep in mind that the USB standard for current output capacity is 500mA max and if exceeded the PC generally will shutdown the USB port. Even being allowed to use 500mA requires your device to 'negotiate' for permission in software with the USB host.

USB 3.0 has higher current capacity but is still pretty new and not on many machines.

dunno, I don't see those USB-powered fan or USB-powered LED lights to "negotiate" with the comp in software.

and those phone chargers easily put out over 1A (there's even 2A "fast charging" charger).

maybe a voltage reference (such as TL431?) and a MOSFET at the 5v rail to "monitor" the input voltage, make sure it doesn't drop below certain voltage (like 4.5v or 4.75v)?

Why not an adjustable ldo? Eliminating the need for a zener..

because I got to use a diode to prevent the supercap from dumping current back to the output pin of the LDO.
and diodes are like, Vf varies according to current, higher the current, higher Vf its got.

like you get Vf=0.7v @ 100mA, but Vf=1.1v @ 1A (and it's temperature-sensitive, that's why I limit the working environment within -20~60 deg C).
and when the current is really tiny like <10mA, Vf drops to 0.55 to 0.6v.

if the user leaves the device on the USB port, it will eventually charge the supercap to over 2.8v (I tested, left it charging overnight, and the cap charged to >2.9v according to the voltmeter), which is what I don't want to see.

I don't really care about the efficiency and power draw when the power comes from a wall charger (because I'm just running out of board space...), but I do care about how long the device will stay alive while unplugged.

Does the regular shut down if the current is too high, or does it limit at that current ?

If I don't have the diode there, when the 5v power removed, the energy in the capacitor just leak through the LDO from the red path.
If I have a voltage control circuit (like the 2 resistors), the energy just leak through the blue path.

Even if I put a diode between output and R1, the cap is still gonna dump current through R1 and R2.

even though R1 + R2 will be like 60k ~ 80k ohm, the current leaked will be like 2.7v / 70k ~= 38.5uA?
that's a lot more than zener leakage current (like if I choose some low reverse leakage current zener, it's like 1uA @ 1V, so I assume no more than 10uA @ 2.7v).

Does the regular shut down if the current is too high, or does it limit at that current ?

according to the datasheet, the short circuit current should be around 1A to 1.5A.
it varies from different XXX1117 chips, TI's LM1117 is 1200mA (800mA ~ 1500mA), ON Semi's NCP1117 is 1500mA (1000mA ~ 2200mA), AMS's AMS1117 is like 1500mA (1100mA+, upper limit unspecified).

All of them have infinite short circuit time, and thermal shutdown (at 125C, 175C, 165C respectively).
although these are absolute maximum rating, which shouldn't be used as normal operation condition.
however something should get overheated, no smd resistors provide 1w+ power rating. 3.3v * 1A = 3.3W, if I put a resistor there it will melt I guess... so I'll just overload the LDO instead.

this overloading condition should get removed very fast, like a 5~10 sec, because only the first few sec it will draw 1.5A, and slowly decrease overtime, as the supercap gets charged.

looks like a no-go, reverse leakage current is HUGE when reverse voltage close to breakdown voltage.

looking at bi-directional mosfet switch (solid state relay?)

Amc7135 current regulators, they'll supply a constant current

Simply feed that straight Into the voltage regulator? I've never tried but why not?

dunno, feels like i need a ideal diode...

but placing a USD$3 ideal diode (like ltc4358) alone with a $0.03 LDO feels like a stupid idea.

maybe a parallel-able LDO would do the job better? for example the LT3080?