8 September 2020 By Julian Spina 23

Simple DC Voltage and Current limiter

Protect circuits using LM317

What happened is this: I made my first low-cost photovoltaic system, a small 12V, 4 x 50W 36-cell panels to power a bunch of devices with an inverter (notebook, cell charger, a couple of lights). I’m using an entry level 20A 12/24V MPPT Regulator (used at 12V) which receives current from the panels and charges my AGM battery pack; as many already know, it does that using two input connectors (+/-) for the panels and has two output connectors (+/-) for the batteries. All the regulators have other two connectors (yes, again +/-) on which you can connect a 12V DC Load, it could be a lamp or something that doesn’t require too much current.

So, I use the regulator’s LOAD connectors to power two small displays which absorb less than 20mA each and show me some info on the solar system. One day something must have gone wrong (I disconnected the positive cable from a panel while system was all running, sunny day, circuit on) and the negative wire to my displays melted completely. I’ll show you what it looked like…

Actually, I didn’t expect anything to melt because I felt quite sure the regulator would keep everything under control, but obviously I was wrong. The displays didn’t burn out (yeeee!) but I didn’t feel safe anymore; what if it happens again? Could it start off a fire? Uhm… To avoid this happening again I wanted some circuit to protect my displays so I decided to make a small circuit on the fly using a couple of LM317 chips I had around. The LM317 is a very smart component, cheap and robust.

Here’s the schematics, the LM317 datasheet and the VC288 display datasheet.

The two LM317s are in series, the one on the left limits the current and feeds the second LM317 on the right, which instead limits the voltage. Input voltage coming from the solar panels should be between 12V and 19.5-20V (although the LM317 can handle higher voltage, see datasheet). The components I’m using are:

  • 2x LM317 (TO-220 package)
  • R1 10Ω (5W)
  • R2 680Ω (1⁄4W)
  • R3 5.1KΩ (1⁄4W)

The choice of the big cement R1 (5W) is because I don’t want it to melt, I didn’t actually do much calculations on R1 power, I simply choose the biggest resistor I had (yes… ehm… I’m no electronic guru!).

So, on the left side of the schematics, using a 10Ω resistor we have on the output pin (O) a circulating current of 0,125A (125mA which is well over the 40mA required by the two displays):

I = 1.25V / 10Ω = 0.125A (1.25V is the voltage between Out and Adjust pin of the LM317).

On the right side of the schematics, using the two resistors of 680Ω and 5.1KΩ we have an output voltage of:

Vout = 1.25 * (1 + R3 / R2) = 1.25 * (1 + 5100 / 680)

= 1.25 * (1 + 7.5) = 1.25V * 8.5 = 10.625V

Simulating the circuit with LT Spice III this is the output we have (green line) when changing the input voltage (blue line) from 12V to 30V. You can see the LM317 keeps voltage under 11V value which is good enough for the displays.


My idea was to limit both current and voltage to be on the safe side. Not knowing what exactly came out of the solar regulator to melt my cables I suppose it was a great load of current because a high voltage would have probably burnt the displays.

This is the final circuit mounted between the regulators LOAD 12V output and the displays.

The circuit limits current to about 0,1A and voltage to 10.8V which are values in the accepted range for the displays.

It works very simple, first reducing current and then reducing voltage. I’m no electronic guru so I’m sure there’s better ways to do it… but this worked well. Please do suggest anything to make it better!