Electronic – Inexpensive circuit architecture for power supply voltage adjustment

ldoswitch-mode-power-supply

This is not a sourcing question; I don't need part numbers or manufacturers.

Most DC/DC converters (LDO, buck, etc) with an adjustable output voltage have you set that voltage using a resistor divider or equivalent. The divider takes the output voltage and ground and uses them to produce a feedback voltage.

If the output voltage needs to be (digitally) adjustable, then the resistor divider needs to be adjustable too. The most straightforward way of doing this is to have one half of the divider be a digital potentiometer (digipot) or digital rheostat. The problem here is that even in large quantities (>3000 units) digipots are very expensive — even the cheap ones are around $0.40 in large quantities, which can be more than the inductor or even the regulator!

Is there some trick for achieving an adjustable output regulator without needing this expensive component? Technically a digital resistor is overkill since (if you make the low-leg of the divider the programmable one) you know that one side of the resistor is always at ground. So I've looked into digitally adjustable current sources but they seem to be pricey too.

Also, in my particular situation absolute accuracy is not terribly important; I can accept the regulator voltage output being wrong by as much as 10-20% (there's enough headroom to avoid damaging other components). The fine adjustment of the voltage output (down to ~1%) is then done by a software feedback loop that seeks out the maximum operating frequency of the rest of the system at a particular voltage and then finds the optimal voltage=power/performance tradeoff. So I don't need the output at exact X volts, just X+/-20% and then the ability to nudge it up or down by ~1%.

Best Answer

It's really hard to do this with a generated voltage without degrading the voltage accuracy of the regulator.

But if you have a handful of digital outputs that you can dedicate to this, you can use a resistor digital-resistance-converter (DRC?) like this. I've represented the regulator as an op-amp.

schematic

simulate this circuit – Schematic created using CircuitLab

The four trim resistors are switched out of the circuit by setting microcontroller pins to inputs and they are switched into the circuit by setting microcontroller pins as digital output lows.

When all four pins are inputs, the voltage divider is R1 and R2. When some pins are set, the divider is R1 and the parallel combination of R2 and the trim resistors.

I would suggest setting the lowest voltage with R1 and R2, the select the trim resistors to pull the voltage over the range that you want. Do not choose all four resistors the same value. Instead you will want something like a 1k,2k,4k,8k sequence so you can get 16 different values out.

For extra credit:

  • If your microcontroller has switchable high-side outputs (open-drain) you can do that instead of switching input to output, then
  • If your microcontroller has outputs as bits in a PORT register, arrange the resistors with the largest value on the least-significant output bit. Then with careful resistor value choice, you can write 0-15 to the port register to get monotonically increasing voltage.