# LM317 Voltage Regulator With Inversely Selected Output

I am dealing with an old circuit that used a curious form of voltage regulator control. It relied on seven resistors that it would control individually, and the parallel combination of this resistance set the output of a voltage regulator. This was done using a L200, which is no longer obtainable, and was easily done because the "lower" feedback resistors could be switched in very easily. This can also be done with a LM317, however, one has to make the "upper" feedback resistor the parallel combination. A spice sketch shows the basic idea: Here, R4 sets the minimum output voltage. Then, one can increase the output voltage for each resistor that is added in parallel to R4. In this application, the feedback array consists of seven resistors, ranging in values from 55 ohms to 3k. The power supply runs at 36 V and logic supply is at 5 V. The resistor combination is updated once per second, so no high speed switching here.

I've learned that this is a sensitive part of the circuit, meaning the resistance and voltages can't be altered much before accuracy is lost. BJTs won't work because the base currents will alter the resistor voltages. FETs would be better but my circuit sketches have resulted in instability if the gate drive tries to relate to VOUT or VADJ. Analog switches with low Rds(on) that can go into a 36V application are hard to find and expensive. Regular mechanical relays could work as well but may run into physical size constraints, and maybe life span issues as well. Optocouplers seem to have trouble with getting a low enough "closed" impedance. Or maybe one of the above options works and I haven't found the right part or circuit yet, which brings me to the question:

My question for the group is if anyone could please recommend a control scheme for each parallel resistor that would cause less than one ohm of impedance across the switching element when engaged, and an effective open circuit when disengaged? The best answer would use commonly found discretes.

• Why does the "upper" resistor has to be adjustable? There is a reason it usually isn't and the "lower" resistor is made adjustable. Including digital control with transistors selecting resistors for selecting voltage. May 23, 2022 at 21:13
• @Justme, yes you are correct that this is the hard way to do it. However, the application worked in a particular manner and that can't really be modified. Here the goal is to get a regulator that works off the same control scheme, which basically had a base output voltage (5.5 V), and could incrementally add a voltage based on which resistor was activated. Doing this with the "lower" resistor on a LM317 would invert the scheme: you'd have a max voltage, and incrementally lower it with each resistor that is activated. May 23, 2022 at 21:30
• To explain the original control scheme more, it had a base output of about 5.5 V (due to the one fixed feedback resistor). Then each switchable resistor represented an additional voltage that could be added to the base amount, and these amounts varied from fine to gross amounts, based on the resistor. Putting them in parallel caused them to add together in terms of VOUT. That is trying to be repeated here. May 23, 2022 at 21:37
• " the application worked in a particular manner and that can't really be modified. Here the goal is to get a regulator that works off the same control scheme" - please show the circuit of the L200 control scheme. May 23, 2022 at 22:40
• If you insist on defining the question so narrowly ("less than one ohm of impedance across the switching element when engaged, and an effective open circuit when disengaged... use commonly found discretes") then it becomes a specific product recommendation, which is not allowed here. But you also say "the application worked in a particular manner and that can't really be modified" - yet you appear to have modified it. I am trying to understand 1. why you cannot switch the lower resistors on the LM317 2. how you can change the circuit without affecting how the application works. May 24, 2022 at 5:46

Sounds like you need a high-side "load switch", which is at the minimum a logic level N-channel MOSFET that then pulls the gate on the P-channel MOSFET low to turn it on. They commonly sell these in integrated form (search for "integrated load switch") with a bunch of extra features such as slew-rate control and a bonus output discharge circuit when off. Here is a snip from the onsemi FDC6331L datasheet, which a minimalist version so you get the basic jist of it.

However, if you don't need the fancy stuff and/or the integrated ones don't meet your exact requirements you can also build one from discrete FETs. The $$\V_{GS}\$$ of the PMOS needs to support your max output voltage of the regulator, and so should the NMOS's $$\V_{DS}\$$ especially if you're gonna have a large chain of these switching blocks in parallel. Also aim for low $$\R_{DS(on)}\$$ on the PMOS so it doesn't interfere with the resistor you're trying to switch in.

The below simulation gives an example of how you can make a single switching block using this scheme. I used FET models built into LTspice to make it easier to deal with, but you should select the actual components based on your exact requirements. The logic signal driving the NMOS gate goes high to 5V at the 100ms mark. This is when the additional parallel 291ohm resistor gets switched in and the output voltage goes from ~5.6V to ~9.9V (as expected). The slow transition is due to the 10µF capacitor at the ADJ pin (recommended in the datasheet).

Contents of above LTspice .asc file in case you want to run it on your own machine:

Version 4
SHEET 1 1928 692
WIRE -144 144 -208 144
WIRE 0 144 -64 144
WIRE 64 144 0 144
WIRE 416 144 320 144
WIRE 640 144 416 144
WIRE 800 144 640 144
WIRE 944 144 800 144
WIRE 1088 144 944 144
WIRE 800 176 800 144
WIRE 1088 176 1088 144
WIRE -208 192 -208 144
WIRE 0 192 0 144
WIRE 640 192 640 144
WIRE 944 192 944 144
WIRE 736 208 688 208
WIRE 416 240 416 144
WIRE 736 288 736 208
WIRE 800 288 800 256
WIRE 800 288 736 288
WIRE -208 304 -208 272
WIRE 0 304 0 256
WIRE 944 304 944 256
WIRE 1088 304 1088 256
WIRE 640 320 640 288
WIRE 800 352 800 288
WIRE 192 432 192 240
WIRE 416 432 416 320
WIRE 416 432 192 432
WIRE 640 432 640 400
WIRE 640 432 416 432
WIRE 976 432 848 432
WIRE 192 464 192 432
WIRE 416 464 416 432
WIRE 976 464 976 432
WIRE 800 496 800 448
WIRE 192 576 192 528
WIRE 416 576 416 544
WIRE 976 576 976 544
FLAG 0 304 0
FLAG -208 304 0
FLAG 416 576 0
FLAG 192 576 0
FLAG 944 304 0
FLAG 1088 304 0
FLAG 976 576 0
FLAG 800 496 0
FLAG 1088 144 Vout
FLAG 976 432 logic
FLAG -208 144 Vin
SYMBOL PowerProducts\\LT317A 192 144 R0
SYMATTR InstName U1
SYMBOL voltage -208 176 R0
SYMATTR InstName V1
SYMATTR Value 36
SYMBOL res -48 128 R90
WINDOW 0 0 56 VBottom 2
WINDOW 3 32 56 VTop 2
SYMATTR InstName R1
SYMATTR Value 10m
SYMBOL cap -16 192 R0
SYMATTR InstName C1
SYMATTR Value 22µ
SYMBOL res 400 224 R0
SYMATTR InstName R2
SYMATTR Value 291
SYMBOL res 400 448 R0
SYMATTR InstName R3
SYMATTR Value 1k
SYMBOL cap 176 464 R0
SYMATTR InstName C2
SYMATTR Value 10µ
SYMBOL cap 928 192 R0
SYMATTR InstName C3
SYMATTR Value 10µ
SYMBOL current 1088 176 R0
WINDOW 123 0 0 Left 0
WINDOW 39 24 108 Left 2
SYMATTR InstName I1
SYMATTR Value 100m
SYMBOL pmos 688 288 R180
SYMATTR InstName M1
SYMATTR Value FDC5614P
SYMBOL res 624 304 R0
SYMATTR InstName R4
SYMATTR Value 291
SYMBOL res 784 160 R0
SYMATTR InstName R5
SYMATTR Value 100k
SYMBOL nmos 848 352 M0
SYMATTR InstName M2
SYMATTR Value 2N7002
SYMBOL voltage 976 448 R0
WINDOW 123 0 0 Left 0
WINDOW 39 0 0 Left 0
SYMATTR InstName V2
SYMATTR Value PWL(0 0 +100m 0 +1m 5)
TEXT -106 432 Left 2 !.tran 300m

• Thanks. I didn't think of a high side driver per se, but usually the only ones that go up to 36 V are heavy-duty automotive types. Also, floating a HSD could be problematic. Your PFET circuit works on my spice too. I tried that previously but got an unstable output, so I must have done something wrong with my earlier attempt. May 24, 2022 at 17:39
• I would say that your circuit needed a couple more components to make it work in spice. The circuit is nominally 36 V, and so a high output could easily exceed the PFET Vgs and destroy it. A zener diode and relief resistor are needed to guard against that. I'll give you the green check. Thanks! May 24, 2022 at 17:40
• @Smith Yep. I mentioned all that in the answer. The example simulation was just giving the basic concept (not a full design) as jumping off point for you, and also what to watch out for. May 24, 2022 at 19:09