I read this as "some devices don't correctly signal what amperage they want, so the anker pack ramps up until it detects some change that indicates the device is charging at full speed."
I'm referring to the charge rate of the packs themselves. Amperage doesn't work the same way voltage does. You could hook your phone up to a 1000 amp supply as long as it's 5V so there's no point in starting lower and ramping up the output since the device will only use what it can take.
(for clarification, the principle is V=IR, you could hook a 5V incandescent lightbulb or LED up to that same 1000A supply and it would only draw I=V/R (Current = 5v / series resistance). Yes, there is silicon controlling the battery, but at the most basic level, if the series resistance of all that plus the battery is 5 ohms, it will only draw 1A)
The charger could push more current by increasing the voltage, but that would be dangerous and most likely damage the device--unless the charger could somehow sense the resistance of the charging cable and compensate for the voltage drop, then the output would be >5V at the charger, but =5V at the end of the cable. That would take some sorcery I'm not aware of though.
LEDs use constant current power supplies with variable voltage, and I've seen some hybrid designs with exotic combinations of constant current / constant voltage regulation.
It's incorrect to think of the charger as "pushing" current. Not only in general electrical theory, but also in the context of charging lithium ion batteries. The real 'decision' as to how much current is used is in the management IC for the battery, which converts the 5V from the 'charger' to a variable voltage and current based on the charge state of the battery and its input power specification.
See, for example, this design note from Linear Tech: [0] which describes a 20V adapter, analogous to OP's 5V USB 'charger', that can provide 2A (40W total) to the laptop. If the laptop battery charge management IC says that the battery can use up to 2.2A at 12.6V = 27.7 W, but the laptop computer is using more than 40-27.7=12.3W, it will reduce the charge current to the battery to avoid damaging the 20V 2A adapter. The problem that pdelbarba's USB battery packs are solving is that they can be plugged into various adapters - perhaps a port on a laptop limited to 500 mA, or a 1A 'phone charger' or a 2.1A 'tablet charger'. Some manufacturers solve this by adding resistors to their chargers so that the device can sense the resistance and know it can use up to 0.5, 1, or 2.1A. But everyone uses different resistors.
So Anker does a functional test rather than the electrical equivalent of user-agent-string parsing to set the current limit.
> unless the charger could somehow sense the resistance of the charging cable and compensate for the voltage drop, then the output would be >5V at the charger, but =5V at the end of the cable. That would take some sorcery I'm not aware of though.
That's pretty standard for lab power supplies. It also is used in precision metrology with sensors like load cells. All it takes is a pair of non-current-carrying wires to sense the voltage at the device. The current-carrying wires experience a voltage drop, but the sense wires are only feeding into high-impedance measurement inputs. This is known as a Kelvin connection.[1] With a device that takes an excitation voltage, you'd use a 6-wire connection.[2]
Thanks for detailed reply with references. Knowledge enhanced. :)
Yes, I suppose it's incorrect to think of the charger as pushing current; but with a resistive load, with LEDs, with raw lithium cells, most batteries, and with most loads in general, the current can be expected to increase as the voltage increases. And some power supplies regulate output by current rather than voltage. I didn't know that about lab power supplies, very interesting!
Awesome writeup! Another thing that I should probably have mentioned earlier is that the resistors are across D+ and D-, allowing the device to know that it's A) not plugged into anything it should be talking to and B) what the output of the charger is. This get's really entertaining when you start talking about USB C where if the resistor is used incorrectly, you can start doing real damage to device and charger.