# Find suitable charging voltage for capacitor based on energy and time required for discharging

We need to calculate the charging voltage required to dissipate a certain amount of energy via R-Load.

The problem will be as follows:
If we need to dissipate 400 J through the R-Load in a time period of 10 ms what is the corresponding suitable voltage to deliver the energy in the correct time period and also not to lose more than 10% of the capacitor voltage.

Note: The Schematic has been changed to mitigate the limitation of the previous one, but in the core it is the same problem and i don't want the conversation to be about the values of the capacitor and the discharging time.

This circuit describes a programmable power supply unit which can deliver variable voltage 300~600 V; capacitor C1 is charged through R-Chr via M1 and discharged through R-Load via M2.
M1, M2 RDS(on) and also the leakage current are neglected.

MCU is controlling the PSU variable voltage and reads the charge on the capacitor via its internal ADC, the ADC readings are only used to check if the capacitor is fully charged corresponding to the charging voltage or not.

Some considerations:

1. The capacitor shouldn't lose more than 10~11 % of its charge i.e. (the capacitor voltage is allowed to be as low as 10 % of its initial value which equals to the charging voltage is this case).
2. ADC only monitors the voltage before the discharging operation.
3. If the calculated voltage is outside the circuit capabilities the operations will be inhibited.

The values which we are doing our calculations upon are the E (energy) and t (time)

$$E = P \cdot t$$

$$E = \frac{1}{2} \cdot C \cdot {V^2}$$

To summarize the problem, and based on a specified energy and discharging time values we need to calculate the proper voltage that when the C1 start to discharging through R-Load and after a specified amount of time the voltage on the capacitor is not lower than 90% of the initial voltage and the energy dissipation in the R-Load is as required.
This might be replicated with the same amount of energy but with another discharging time value as we controlling the voltage to get the required power which intern multiplied by the specified time value to give us the required energy.

We tried the energy difference equations but with no luck:
$$\Delta E = \frac{1}{2}C\left(v_i^2 - v_t^2\right)$$ $$t = R \cdot C \cdot \ln\left(\frac{V_i}{V_t}\right), v_i = v_t \cdot e^{\frac{t}{R \cdot C}}$$

where vi is the initial charging voltage and vt is the voltage after some amount of time

Edit e.g. using energy difference equations mentioned before i can get 400J from multiple voltage values $$400J = \frac{1}{2} \cdot 30mF \cdot \left(v_i^2 - v_t^2\right)$$ this is true for the following cases: $${v_i} = 342, {v_t} = 300, t=15ms$$ $${v_i} = 387, {v_t} = 350, t=12ms$$ $${v_i} = 400, {v_t} = 365, t=10ms$$ In the second case the Vt is nearly 90% of Vi and this is not the same case for the first case as Vt is nearly 87% of Vi. But the third case is the most correct one as it doesn't violate any of the constraints Vt is less than 10% of Vi, Discharging time to reach this voltage (365) is 10ms which is the required time and the Energy is 400J as required.

All of these values are by trial and error not calculated from the equations.

• What does "no luck" mean? What exactly was the problem? May 18, 2023 at 9:50
• No luck to find a way to calculate a suitable charging voltage for the capacitor based on the specified energy and time to deliver the energy in the time specified and not to lose more than 10% of the capacitor voltage. May 18, 2023 at 10:15
• The other thing you will need is the discharge equation, t=RCln(Vi/Vt) May 18, 2023 at 12:07
• It's 400 J and 600 V now? Not that it alters the problem. Your equation for E=tV^2/R only holds for constant voltage, not discharging a capacitor. For that you need the discharge equation in my previous comment. May 18, 2023 at 16:25
• @Finbarr i'm sorry if you got confused, but let's calculate values with each other, assume a 400J@10ms as the current assumption, 10ms = R.C.ln(vi/vt), (vi = vt . 1.087). vi and vt must be grater than 300v 400j = 0.5 * 30mF * (vi^2 - (vi*0.92)^2) 26.667 K = vi^2 - 0.8464*vi^2 173.611k = vi^2 vi = 416.67v, vt = 383.34v E = 0.5 * 30mF * (416.67^2 - 383.34^2) E = ~400J are you agree with this, because if you try to change some parameters it will not work. May 18, 2023 at 16:57

I don't want the conversation to be about the values of the capacitor and the discharging time.


Well, it sort of has to be as they're the key values that determine everything else. The capacitor discharge equation relates the discharge time, resistance and capacitance to the ratio of start and end voltages, not the absolute values:

$$t = R C \ln\left(\frac{V_i}{V_t}\right)$$

Rearranging gives

$$C = \frac{t}{R \ln\left(\frac{V_i}{V_t}\right)}$$

You want a drop of no more than 10% into 4 Ohms in 10 ms, so put your values in to calculate the minimum value of C that will achieve this:

$$C = \frac{0.01}{4 \ln\left(\frac{1}{0.9}\right)} = 23.7\space mF$$

So your chosen value of 30 mF is adequate in terms of voltage drop over the required time. You now need to derive the actual ratio between start and end voltage based on the actual capacitor value you've chosen. Rearranging the original formula:

$$V_t = \frac{V_i}{e^\left(\frac{t}{RC}\right)} = \frac{V_i}{e^\left(\frac{0.01}{4 \cdot 0.03}\right)} = 0.92V_i$$

Now you can work out the initial voltage that you must charge the capacitor to in order for that voltage drop to deliver your required energy in the time:

$$\Delta E = \frac{C}{2}\left(V_i^2 - V_t^2\right)$$

Putting in the values and rearranging:

$$400 = \frac{0.03}{2}\left(V_i^2 - \left(0.92V_i\right)^2\right)$$

$$V_i = \sqrt{\frac{400 \cdot 2}{0.03 \cdot 0.1536}} = 416.67\space V$$

At this point, you may have to go back and revise your capacitor value but as you already realised that's not necessary. Bear in mind that it can only go upwards from the minimum you calculated, so if you need to reduce it because your calculated voltage is too high you'll have to accept a drop in voltage of more than 10%.

I don't know if you're planning on actually making this, but you'll have some major challenges in finding a 30 mF capacitor capable of handling 600 V. You'll also have to switch a lot of current through the discharge MOSFET:

$$I = \frac{V}{R} = \frac{416.67}{4} = 104.17\space A$$

At that level RDS(on) can't be ignored. The circuit will also need redesign as the MCU output won't turn off the charge MOSFET or turn on the charging MOSFET without level shifting; it would be better to put the discharge MOSFET between the load and ground. I would suggest using separate MCU outputs to turn off the charge MOSFET before turning on the discharge to make sure extra current isn't supplied to the load because of its turn off time.