I played around with an LT3081 version in LTSpice the last weeks and honestly think there are some issues in the uSupply USB revB design.
Firstly, I guess it will be pretty slow. Especially since the opamp supply to generate the Vset voltage is created from the preregulator voltage which again raises only with Vset.
Besides, with this kind of design, it will be hard to have little ripple in current regulation and fast regulation. It's always a tradeoff.
Also in a short circuit situation, it won't be able to limit the current as much a it should do. Issues include
- LM324 not reaching 0V (up to 20mV)
- Vce saturation of the NPN (about 100mV)
- offset current coming from the LT3080 and always dropped at the 120Ohm resistor (-> 1.2mV), for the LT3081 this is even worse due to 50µA current source
- constant 5mA current source not working below 0.7V (which is the case in a short circuit situation).
So the voltage can't be dropped to 0 and thus the current flowing will be much larger than the set limit.
These issues can be partly overcome by using two opamps, a N-FET instead of the NPN and a negative rail supply.
Also the constant current source can be reworked to use FETs which extends the range to below 0.1V or so.
One more thing: the LT3080 used in Dave's design uses separate IN and VControl pin where the manual says
"The current flow into this pin is about 1.7% of the output current" which means 17mA at 1A.
The current measured is however only the one going into the IN pin. Which looks correct at first sight,
but the current through the load is Iin + Icontrol - Iset (where Iset is fixed to 10µA and thus can be ignored).
So when the current measured at the shunt is 1A, the current going through the load is 17mA higher.
The LT3081 is different in that it has only one common supply/input pin.
Also note that a clamping diode is missing from Vset to Out. Even for the LT3081 which has internal clamping diodes,
the manual warns that the internal clamping diodes are build to handle only up to +/-10V but e.g. a hard short circuit
on the output while Vset is still 15V could possibly damage the device.
Note that this clamping current is also not handled by the current limitation. It should flow only shortly though
to remove the charge from the Vset capacitor.
I have something that is somewhat working in LTSpice, but I'm not 100% happy with it.
As discussed above, it's hard to find a tradeoff between fast current regulation and low ripple.
When playing around with low resistance short circuits and/or high capacity loads, things soon get ugly.
Partly this might be caused by the simulation and using to "ideal" parts.