0
\$\begingroup\$

I'm trying to understand the SMPS operation.

enter image description here

The goal is to select inductor (L1) & capacitor (C1) values that satisfy the working condition below:

  • V1: 22-26 V range.
  • Power supply required: 1 A.
  • Ripple voltage less than 100 mV.
  • The frequency of the oscillator is 100 kHz.

I tried to calculate the inductance as below:

Vin = 24 V, Vout = 12 V, Vout-ripple (ΔIL) = 50 mV, Fs: switching frequency: 100 kHz

Peak-to-peak inductor ripple current (ΔIL): \$ΔVout ripple/2*Vout*Fs= 20.83 uA\$.

\$L= (Vout⋅(Vin−Vout))/(ΔIripple⋅Fs⋅Vout)\$\$L=(12V⋅(24V−12V))/(20.83×10^−6 A*100,000Hz*12V)= 689.57 H\$.

The inductor value is very huge. In general, we use low inductor values in uH.

I believe my mistake is on the switching frequency. I considered the frequency of the oscillator as the switching frequency. is it correct or do we need to calculate it? Kindly let me know how to calculate the switching frequency.

\$\endgroup\$
3
  • 4
    \$\begingroup\$ Is this substantially different from electronics.stackexchange.com/questions/679118/… ? \$\endgroup\$ Commented Sep 2, 2023 at 9:56
  • 1
    \$\begingroup\$ Which SPMS chip is it? What does the data sheet say how to calculate the inductor value? Usually, there are just some rules of thumb for approximating the ripple, but it also depends on how each PWM cycle works; e.g. is the PWM cycle terminated at some specific max current. \$\endgroup\$
    – Justme
    Commented Sep 2, 2023 at 11:06
  • \$\begingroup\$ The inductor value is indeed huge - that is because the inductor ripple current value is tiny, just 20.83 micro-amps. Intuitively, you should understand that a tiny ripple current will require a large value for L1. You need to re-do your calculation for inductor ripple current because it does not include a very important consideration - the output capacitor, C1. \$\endgroup\$ Commented Sep 2, 2023 at 22:44

2 Answers 2

2
\$\begingroup\$

The determination of the buck inductor value - its inductance - operated in continuous conduction mode or CCM is a fairly simple exercise. Once you have the main operating parameters in hand like switching frequency and input/output voltages, you can determine the inductance value by choosing a ripple current.

As you know, the current in an inductor \$L\$ will linearly ramp and down if you apply a voltage \$V\$ across its terminals for a short time duration (we assume this duration to be way smaller than the inductor time constant involving its series resistance \$r_L\$). The current ramps up with a slope \$S_{on}=\frac{V}{L}\$ and ramps down with a slope \$S_{off}=-\frac{V}{L}\$. The slope is expressed in [A]/[s]. Therefore, if you multiply a current slope by a time, you obtain a current.

In a CCM buck converter, when the switch turns on, a voltage equal to \$(V_{in}-V_{out}\$) is applied across the inductor during the on-time, \$t_{on}\$. The current starts from a valley current and reaches a peak value at which the switch turns off. Then, the voltage across the inductor reverses to \$V_{out}\$ and the current falls from its peak to the valley point during the off-time, \$t_{off}\$. This is what I show in the below illustration:

enter image description here

The peak-to-peak current, from valley to peak, is called the inductor ripple current and that is the one you have to pick. Years ago, people were choosing 10% of the output current for various reasons. One of the them was core losses linked to the high-frequency current swing. A low ripple current implies big inductors and a slow response - an inductance naturally opposes current changes. These days, considering good-quality magnetic materials, the ripple can be significantly increased and a 40% ripple is a commonly-seen value, leading to slim inductors and fast converters. This is what I have chosen for the calculations below:

enter image description here

From the illustration I gave, you saw that the average inductor current is actually the output current. So the triangular wave shape is centered around the output current. From this observation, the peak and valley currents are equal to the output current plus/minus half of the ripple current. Then to obtain the inductor value, you see that the current will ramp up during \$t_{on}\$ and ramp down during \$t_{off}\$. If you know the on- and off-slopes and the ripple current, you can solve for the inductor value which is 150 µH in this particular example.

For the capacitance, there are many ways to determine it and one of them, that I like, is to consider a low-impedance square-wave source feeding the load via a \$LC\$ filter. Once you have the inductor value, you can choose a cutoff frequency based on the accepted voltage ripple. This is what I used in my book on SMPS. In the sheet, I used the more commonly-used approach using charge balance. Please note that this is true for a ripple solely due to the capacitance value and no ESR is considered here.

To check if it works, a simple SIMPLIS simulation template will do well:

enter image description here

You can see how simulation matches the values that I calculated. You can also observe an ac source feeding the model and it's there to obtain the control-to-output transfer function, the corner stone of any serious compensation strategy. If you want simulate some of these structures freely with the demo version Elements, you can freely download my ready-made templates from my webpage.

\$\endgroup\$
6
  • \$\begingroup\$ thank you for the answers. I totally understood.! \$\endgroup\$
    – umh
    Commented Sep 2, 2023 at 14:30
  • \$\begingroup\$ Glad if I could help! Try running a few sims in different configurations and change the inductor value to see how it affects the various parameters. \$\endgroup\$ Commented Sep 2, 2023 at 14:35
  • \$\begingroup\$ I have a question about SIMPLE and plotting the values. In your simulation, you have four plots each on a different "plain". And in my case the simulation plots the values on the same "plain". How do I change this? To get more "plains"? \$\endgroup\$
    – G36
    Commented Sep 3, 2023 at 8:54
  • 1
    \$\begingroup\$ Hello G36, you mean to have all curves distributed with its own axis? I agree, this is the default way SIMPLIS does and it is ugly. To distribute the curves with a single axis associated to each curve, two options: once you have the curves all stacked up, activate the window --> Curves<Stack all Curves. Yes, a hotkey is missing. What I do to skip this step, in the schematic capture, press B to get a probe then, once labeled, below the label, Axis Type, tick Use Dedicated Grid and it will do this automatically. \$\endgroup\$ Commented Sep 3, 2023 at 9:55
  • 1
    \$\begingroup\$ @G36, you can check my small tutorial on SIMPLIS, it's a good way to start with the program beside all the on-line doc. \$\endgroup\$ Commented Sep 3, 2023 at 10:02
1
\$\begingroup\$

Your somehow arrived at a peak inductor current ripple of 20.83 uA. This is an incredibly low value, and that is the cause of your inductor "needing" to be so huge.

The formula you used

Peak-to-peak inductor ripple current (ΔIL): \$ΔVout ripple/2*Vout*Fs= 20.83uA\$.

is just wrong. To relate inductor current ripple to output voltage ripple, you need to know the output capacitor value.

According to TI's Application Note slva477b, page 4, section on Output Capacitor Selection,

$$C_{OUT(min)} = \frac{\Delta I_L}{8 \times f_s \times \Delta V_{OUT}}$$

\$\endgroup\$

Not the answer you're looking for? Browse other questions tagged or ask your own question.