I was fascinated by the µSupply project from the beginning but I waited for so long now and it went into a direction that I don't fully like, so I toyed with the idea of building my own small mini supply.
I will replace the LT3080 with a LT3081, remove all the battery stuff, drop the USB power supply option and use just one DC supply. As a side note: I would have loved to use only the USB supply, but the measly 600mA from an USB2 would have limited the current capability too much, especially when using an isolated DC/DC with a typical efficiency <80%.
So in a nutshell I want to use something like a 5V/2.5A (or 3A) power supply which is cheaply available for USB ports and stuff like that and create an output up to 15V at 500mA (1A for <=5V or so). Another option would be a 9V supply. We'll come to this later.
Now I could use a step-up converter as the µSupply does, but then the voltage drop on the LT3081 would be relatively high for smaller voltages resulting in higher losses and temperature. E.g. when creating 1V at 1A (intentionally or in current regulation), instead of wasting 1.5W-2W at the LDO (1.5V worst case voltage drop + shunt), the losses at the LDO would be up to 4W. So I thought about using a step-up converter in a SEPIC (single ended primary inductance converter) configuration where it's possible to adjust the regulator output not only up to 17V or so, but also down to like 2V. The SEPIC configuration is not the most efficient one, but I like the idea to not burn power/energy at the LDO - mainly for thermal reasons.
I first thought about using a LM2577 as in the Chinese SEPIC converters sold on eBay, but it has a switch frequency of only 52kHz, so I investigated a little further, thought about a LT1170 (100kHz) and finally decided to use a LT1370 (500kHz). One of the benefits of using another LT part is obviously that I can simulate the circuit including the LT1370 and LT3081 in LTSpice.
However, lowering the regulator voltage creates some new issues. Since most high side current monitors like the ZXCT1009 or INA139 use the common mode voltage also as supply voltage, they would force me to create a regulator voltage of at least 2.5V (INA139: 2.7V) while the regulator voltage needs to be only ~2V above the output voltage (1.5V for the LT3081 + 330mV for the shunt + some safety margin). This would mean another half Watt wasted at 1A.
So I dropped the ZXCT1009 for a LT6105, mainly since it has a supply voltage independent of the common mode voltage. Well, and the availability is much better. Any hey, another LT part I can simulate.
Finally, I replaced the LM324 with the precision substitute LT1013. This decision is discussible since the price increase is probably much higher than the increased benefit, but for the moment I like the idea of lower offset voltage and having another LT part to simulate in LTSpice. However, the regulator output going down to e.g. 2V also affects the Opamp supply. The minimum supply voltage for the LT1013 is 3.4V (LM324: 3V), so I need another supply for pre-regulator voltages below that. I decided to use two diodes to use either the 5V supply or the pre-regulator output. This works despite of quite some ripple on the Opamp supply in current regulation scenarios which is probably not the perfect base of stability.
So the circuit works in principle (in LTSpice), but feeding the Opamps from the pre-regulator output still seems like a hack. The problem is that it limits the rising of the "set" voltage quite considerably. It takes like forever to raise the voltage from 0 to 15V because when you start at 0V, the preregulator voltage is e.g. 2V and so Vset can reach only 1.8V or so. Only when the pre-regulator voltage increases a bit, Vset at the LT3081 increases and the output voltages slowly rises. Besides the very slow gradient, there are also stability issues. I guess this is because any underswing on the pre-regulator voltage during a rising voltage also lowers Vset which creates an ugly oscillation.
Anyway, all the problems are cured when I provide the Opamp responsible for Vset with a stable 18V supply. Now the problem is how to create this voltage with a 5V DC supply. Using a 2nd DC/DC sounds like overkill. Maybe it would be possible to cascade two voltage doublers like ILC7660 (20mA) oder better MAX660 (100mA) to reach 20V, but this looks like a workaround as well.
The only other (more or less) simple option I can think of is to use a 9V DC supply as input for the SEPIC converter and create 18V from it with a charge pump (e.g. MAX660).
Any other ideas?
BTW: attached is my current LTSPice model. Some parts taken from the last USB uSupply design, some replaced. The microcontroller part (on-chip DAC for current setting, PWM for voltage setting, ADCs for I,U,Temp, display etc.) is missing. Values are not optimized and I didn't test excessively, but it looks somewhat promising. Constructive comments on the circuit so far?