Electronic – Charging capacitor bank with current limiting circuit

capacitorchargingcurrent-limiting

I would like to charge a capacitor bank with a 4.8 volt supply that I have. With the help received in response to this question, I now have a a useful current limiting circuit (shown below), that allows me to select a maximum current through a load. I have reimplemented the solution in CircuitLab . . .

enter image description here

The circuit is set to give a 480 mA max current. As the load resistance increases, the SER of the limiting circuit drops away. The following plot shows current through the load versus load resistance . . .

enter image description here

However, what happens if I want to charge a capacitor bank using this circuit. Where would I put it? Current needs to flow through R_sense to cause a voltage drop in order for the circuit to function. If I just add a capacitor after the sense resistor . . .

enter image description here

. . . and then measure the voltage across the capacitor, some crazy stuff happens . . .

enter image description here

What am I doing wrong ( -120V .. really )?

EDIT:

Following Oli's advice by adding a leakage resistor and paying attention to initial conditions . . .

enter image description here

.. I now get a logical looking output, although the voltage is not up to Vcc

enter image description here

If I place the capacitor where R_Load is,

enter image description here

Then the voltage of the cap jumps up to 4.8 volts immediately (which I'm guessing would draw a massive current, fry my supply, and negate the point of the current limiting circuit)

enter image description here

This looks pretty logical to me. If a cap is connected to an ideal voltage source, it will get an infinite current and be at 4.8 V instantaneously. What do I need to do in order to reproduce the effect shown in Oli's lowest plot?

Best Answer

As Madmanguruman says, the capacitor is in the wrong place.

The opamp is trying to keep the voltages on it's inverting input the same as the non-inverting input, which is 240mV in your example above. To do this with just Rsense present, it must keep 480mA flowing through Rsense as you say.
Now, with the cap in series, it will actually work to charge the capacitor as you have it. However, the catch is that it will not be at a constant current, and the cap will only charge to 240mV, since this it what the opamp needs to keep the balance.
The cap does not pass DC, so the current is initially 480mA, and drops exponentially down to 0 as the voltage rises (and the voltage across the resistor drops)

Another thing to understand here is that a simulation is only as real as you make it, and in some cases the ideal components cause problems. It's quite common for the simulator not to converge or produce odd results if there is no DC path available. Also with a transient simulation, you sometimes need initial conditions set to observe a process.
For example, if I simulate the above circuit in LTSpice with an ideal 1F capacitor, the simulation does not converge (never finishes) If I add a high value of parallel resistance (10MΩ, this is actually very conservative for such a large value, probably be much lower) to provide a DC path, and (very roughly) simulate real world imperfect capacitor leakage, the simulation works:

Cap Charge not constant

Simulation:

Cap Charge Simulation

The 240mV is produced by the 24nA across the 10MΩ resistance (24e-9 * 10e6 = 0.24V) However, the cap starts the simulation at 240mV. Is this what will happen in real life? It's unlikely, so we need to simulate things as it will be when power is switched on, or at least with the cap starting with 0V across it. The reason this happens (in SPICE at least) is because there is an initial DC operating point simulation done before the transient simulation starts.

If we do the same simulation with an initial condition specified, we can see the "interesting" bit that happens prior to reaching a steady state:

Cap Charge with initial condition

So remember to be aware of the difference between ideal and real world components. If simulation results appear strange, then try adding some ESR/ESL (equivalent series resistance/inductance) and parallel resistances to simulations that correspond with the components you intend to use (datasheet will give values usually)
Also be aware of tolerances, for which monte carlo simulation is very useful.

Finally, here is the circuit with the cap placed in the right place, (although you may want high side current limiting in your final circuit):

Constant Current Cap Charge

Simulation of current through cap and voltage across it, notice the constant 480mA up until the cap is fully charged to 4.8V (initial condition used again to see the cap charging):

Constant Current Cap Charge Simulation

One last thing, make sure you do not use the LM741 in your final circuit, it's completely obsolete. Choose a decent general purpose rail to rail input/output opamp (rail to rail means it can swing all the way to each rail at the output and handle voltages up to each rail at the input, many opamps, including the 741, cannot do this - another departure from the convenient world of ideal components)

Related Topic