Created by
Created November 20, 2012
Last modified December 02, 2012
Tags adjustable-voltage   behavioral-source   lm317   newbie   test  


CL’s LM317 adjustable regulator seems to be bad - but is it?
How to find “realistic” values for R_O and R_ADJ?
Also see @signality’s LM317 test cct 01.


When using the LM317 right “out of the box” of CL’s ”Unsorted Elements” one may be surprised because of poor stability of output voltage versus load. The cause is the default parameter set which is loaded and chained to the “LM317” simulation model in CL.

This original parameter set seems to reflect a high output voltage setting combined with a breadboard set up, or, not very likely but possible, a very bad designed printed circuit application.

To find out more about CL’s parameters they were compared to a real LM317 application.

This very basic circuit is for test purposes only, there is no protection (e.g. reverse voltage) or HF blocking cap at the in- and output.

The simulation compares two LM317 voltage regulators. The first one is CL’s LM317 with the default parameters, the second is a LM317 with “optimized” parameters picked from a “real” circuit and from TI’s data sheet (the data sheet has min, typical and max values, that’s not always easy to decide).

Both share a standard power supply with some noise. The internal resistance is (optimistically, as always) set to 0.2 Ohm, which is very low. Increasing R_i to 0.6 Ohm makes evident that the drop out voltage of 3V is easily reached at high load (1A) and some noise gets through. This suggests to use a higher supply voltage …

  • Keep in mind that there must be a minimum load current (about 5mA) through the IC. In this example the voltage divider to set the Output voltage is just above this limit, if it's the only load …

Parameters of the LM317:

When using CL’s LM317 default parameters it is apparent that the output voltage depends on the load, much more as one would expect, especially with low output voltage settings.

The reason is CL’s parameter “R_O” which is fixed to 0.1 Ohm when using CL’s “built in” LM317.

But this parameter depends on

  • a) The used voltage divider (to set the desired output voltage) and

  • b) Details how the IC is used in the real world circuit / wiring.

CL’s “R_O” is comparable to the “output impedance” in TI’s data sheet (see figure 8) and can be computed by using the formula:

R_O = Rs(1 + R2/R1)

The R2/R1 is clearly the voltage divider to set Vout.

  • But “Rs” is difficult to estimate, it depends on how the IC is physically connected to the voltage divider in the real world.

Let’s assume the voltage divider ratio would be extreme (about 18, high output voltage, 24 Volts).

To reach CL’s R_O = 0.1 Ohm in the example our Rs would have to be 0.005 Ohms, which may be realistic if you connect the IC from the heat sink by long and thin wires to your printed circuit.

But even when you have about 1 inch simple PCB trace between the IC and the voltage divider this could easily reach 5 mOhms:

E.g a standard (35 um) copper trace of 25 mm length and 2.5 mm width would have about 0.005 Ohms at 40 °C.

  • Keep current traces short and wide, add copper and solder!


Assuming a good design we can estimate the Rs to be about 0.001 Ohm - But keep in mind, this is already a standard trace 2.5 mm wide and 5 mm long !!!.

  • And it wouldn’t help to have the LM317 and the voltage divider “close” together, when your load is at the other end of your printed circuit ...

However, smaller output voltages have a smaller divider ratio, thus the resulting R_O value will be less in our “well designed” (print circuit) application.

In my example I’ve set the output to 14 Volts (ratio is 2400/240), thus my R_O is set to 0.011 Ohm.

The other parameter R_ADJ is a bit strange but the equivalent to R_O, only it is the ADJ - terminal. Thus the value may have to be similar to R_O, but this depends on the real design. Anyway, the 50 Ohm value is way too high, this must be a typo, i guess 50 mOhm.

  • Because of the very low and constant I_ADJ the exact value isn’t really important.

Time Domain Simulation:

The first graph shows the noisy and flickering power supply - and that the input voltage basically is too low for the application. It should be considered that the mains (voltage) may drop 20% so this would be catastrophic here.

  • Also C1 seems a bit low for 1A design. But increasing doesn’t really help with that heavy load.

  • The question would be if it is necessary to have a super stabilized voltage for the load, if possible remove heavy load from stabilizers or use separate stabilizers for “fine” and “coarse” circuitry (pre-amplifier and bass booster, ADC and relays).

The second plot shows the load simulation seen from the LM317. Check out the minimum load provided by the voltage divider. There is no capacitor used at the output, this is very unusual (and dangerous) in reality because spikes from switching and nearby circuits would run all over the circuit, but there are no spikes in my simulation.

My conclusion:

It’s not CL’s bad model . CL’s LM317 model is good, simply the R_O parameter was taken from a “bad designed circuit” (and R_ADJ is a typo).

But the basic problem here is CL’s “fixed” LM317 model parameter. You can change that, but then you have to switch to a custom IC type - which in fact is not fully correct, because it’s still the same IC model.

  • So the R_O (and R_ADJ) must not be a fixed “type” parameter. But yet there is no such kind of “flexible” parameter in CL.

  • There should be some documentation about the parameters and a reasonable default value.

TI data sheet:

To find out about the LM317 as a constant current source see:


No comments yet. Be the first!

Leave a Comment

Please sign in or create an account to comment.

Revision History

Only the circuit's creator can access stored revision history.