Capacitor parasitics - Page 1
Forum section: electronics / beginners

author: Power-Electronics
author_rank: Contributor
timestamp: August 05, 2021, 03:38:02 pm
content: I'm trying to simulate a film capacitor with its parasitic elements. The manufacturer provides both a plot of Impedance and ESR vs frequency, and a SPICE model that captures the parasitic elements. I tried reproducing the plot with both LTspice and MATLAB, but I get a constant ESR, which does not match.I assume that "Impedance" refers to the hypotenuse of the impedance triangle, and ESR refers to the real-axis component. So in LTspice, I plot ESR=Re(V/I). And in MATLAB, I calculate the total equivalent impedance and again take the real part.Am I misunderstanding the plot or calculating ESR incorrectly, or this just a limitation of the model?Manufacturer site, which unfortunately cannot link directly to the plot and SPICE model:https://ksim3.kemet.com/capacitor-simulation

author: TimFox
author_rank: Super Contributor
timestamp: August 05, 2021, 03:47:56 pm
content: Yes, "impedance" in this discussion is the magnitude of the complex variable, which can be expressed as the hypotenuse of a right triangle with reactance and resistance on the other sides.A problem with capacitors is that the ESR is not constant with frequency: part of it is "parasitic", due to lead resistance and resistance of the electrodes, and part of it is "dielectric loss".Very, very roughly, dielectric loss for a plastic film has a somewhat constantQ= 1/Dvalue, which gives a strong dependence of ESR on frequency.I don't believe Spice allows a straightforward capacitor model given by a constantQ.

author: Power-Electronics
author_rank: Contributor
timestamp: August 05, 2021, 04:12:29 pm
content: I see now what you mean about there being no easy way to capture a nonlinear ESR. Murata has models that include current sources to approximate it better. Thank you.https://article.murata.com/en-us/article/mlcc-dynamic-model-supports-circuit-simulations

author: TimFox
author_rank: Super Contributor
timestamp: August 05, 2021, 05:06:10 pm
content: Technically, this is not a non-linear ESR, it is a frequency-dependent ESR.

author: Power-Electronics
author_rank: Contributor
timestamp: August 05, 2021, 05:11:19 pm
content: That could partially explain my lack of success using that as a search term ...

author: TimFox
author_rank: Super Contributor
timestamp: August 05, 2021, 05:17:32 pm
content: It can be difficult finding ESR over frequency from manufacturers. The self-resonant frequency and Q or ESR at one or two frequencies may be found in a good data sheet. In my own measurements on leaded capacitors at, say, 0.1 to 30 MHz. I found that the parasitic series inductance seemed to depend mainly on the total length (including body) of the capacitor.

author: T3sl4co1l
author_rank: Super Contributor
timestamp: August 05, 2021, 05:35:20 pm
content: Read the fine print carefully -- SPICE models are often calculated at/around a given frequency, and that's it. How wide that range is, who knows. If you have to enter a test frequency, it must be a type like this.A more general model needs to include a distributed or absorptive element, so that ESR effectively rises with reactance.Here's what that looks like for an inductor model:https://www.seventransistorlabs.com/Images/CurveFit1.pnghttps://www.seventransistorlabs.com/Images/CurveFit2.pngSpecifically the three R+Ls on the right, which fit the gently sloping region 20-500kHz.This extends down to long time scales (low frequencies), where it's called dielectric absorption. The general approach for a lumped-equivalent model, is a geometric series of these lossy elements (R+C in this case), spaced out as frequently as model accuracy demands (in practical terms, probably one or more per decade is a good idea; more density is required for the same fit at lower Q). That is, the time constant R*C and impedance (R) go up geometrically (i.e., each subsequent element being a constant factor times the previous), the factor (for each type) being determined by the desired equivalent. In this way, impedances of different exponents can be modeled; for Z ~ f^{-1 | 0 | 1}, just one element is required (C, R or L respectively), while for intermediate values, some distribution is required.So, note that the R's in the above example have a ratio ~sqrt(2) between each other; and the inductors ~4.7. The resulting slope is Z ~ f^0.5. I'm honestly not sure offhand how to solve for the latter quantity, but the former seems clear enough.Tim

author: Power-Electronics
author_rank: Contributor
timestamp: August 05, 2021, 08:08:46 pm
content: I noticed that ESR over frequency is missing from datasheets. It seems that when manufacturers do specify one or two values, they tend to be around the most favorable frequency for a low ESR. For sizing a capacitor bank, I would think using the lower bound of ESR would be more conservative, in which case that one value would be fine.Regarding parasitic inductance, I just read this article about how and why body inductance varies with aspect ratio (and other geometry) for surface-mount capacitors.

author: TimFox
author_rank: Super Contributor
timestamp: August 05, 2021, 08:21:43 pm
content: To be fair, often the manufacturer will specify ESR at two frequencies typical of power supplies: e.g., 120 Hz and, say, 20 kHz, for conventional and switching supplies, respectively.

author: Power-Electronics
author_rank: Contributor
timestamp: August 05, 2021, 08:33:56 pm
content: I did notice that the SPICE model specified a center frequency, but I didn't know why.Regarding the "distributed or absorptive element", I guess I'm unsure about the absorptive part. The R+C elements on the right are distributed. Are any absorptive elements depicted in the circuit? If so, would they be the resistors? If not, would it be one of those electrochemistry circuit elements such as the Warburg element?I went on a long tangent yesterday trying to figure out how to fit impedance data to an equivalent circuit model, but I couldn't find much information on how those equivalent circuits are designed other than vague references to basing them on physical models sometimes. I really like the structure of your example where the resistor and inductor values scale by a constant factor. Do you know where I might read more on how that works? I searched the manufacturer's site for a model or an application note, but couldn't find something similar.

author: TimFox
author_rank: Super Contributor
timestamp: August 05, 2021, 08:46:05 pm
content: In a simple Spice model for a physical capacitor, you can easily add a resistor and inductor in series with the capacitance, and a second resistor in parallel with that series combination, and maybe a second capacitor in parallel with the second resistor to cause a higher parallel resonance. I made a half-hearted attempt to fit this model to measurements (between 1 and 100 MHz) decades ago. Perhaps you can fit the models posted above into this format.In Spice, there are two basic computation modes past “.DC” for dc levels..AC is a linear algebraic calculation as a function of frequency for a linear circuit (either a passive circuit or the result of linearizing the behavior of the active devices around the quiescent point calculated by .DC.). Since it literally performs the same calculation you would do from the resistances and reactances in a passive circuit, the answer should be exact..TRAN is a numerical integration as a function of time, where the results are not assumed to be linear functions of the inputs. Frequency does not appear explicitly in the calculation, although the reactances are frequency dependent. The calculation is done in the time domain. There are limits to the accuracy due to finite time steps in the integration, etc.

author: T3sl4co1l
author_rank: Super Contributor
timestamp: August 06, 2021, 12:11:37 am
content: The general method is something like:https://en.wikipedia.org/wiki/Pad%C3%A9_approximantFor a ladder network, you can essentially write out the continued fraction equivalent of the function: subtract the least impedance at all frequencies (that the subtrahend fits -- since inductors and capacitors are sloped Z ~ F or 1/F, of course, and you can only pick some combination of those three at a time), then take the reciprocal, and repeat ad nauseum. It's notquitethis, because the behavior of impedances in parallel, is the ratio of a product to a sum: Zpar = Z1 Z2 / (Z1 + Z2). But that ends up a small adjustment, and it works out pretty well.And continued fractions, and reciprocal spaces (impedance and admittance, in turn), are very cool, and quite useful reading; I do recommend!Well, not quite "reciprocal spaces", that's more of a phase space or Fourier thing, most directly relevant to studies like x-ray diffraction; but the part that's relevant is still cool.So, there are algorithms to perform this, or you can do the adjustments by hand and it's not too rough. The congested appearance of that plot, is because I literally just set the background as a screenshot of the part datasheet, and started adjusting values, followed by plotting results of the AC steady state analysis on top (which happened to be easy enough to do in Multisim). Once you know what you're doing, it's probably less than an hour to prepare a model like that.I'm probably abusing terms a bit and should use something more precise, but I'll explain at least; by "distributed element", I mean an equivalent model approximating an irrational function. Transmission lines are a distributed element, which can be modeled as LC ladders; the model works for finite size given limitations (namely, some amount of delay, at up to some bandwidth), but only works in general for an infinite network (of infinitesimal values; the network has an infinite number of poles, all at infinity). And, absorption, yes, dissipation; resistance.Oh, and for terminology -- poles and zeroes are the zeroes of the denominator and numerator, respectively, of a rational function corresponding to the lumped (RLC) model. Remember, real components are inherently distributed -- they have finite nonzero dimensions -- whereas schematic representations have either zero dimension, or infinite speed of light. Neither of which is too realistic. So we have to be careful to measure these things, and check that we're doing what's right, given the assumptions we're working with.In this case, we can more or less take the datasheet curves as measurements, so our task is merely to fit curves.And yes, Warburg element -- a fine example, and precisely the same thing at work in that region of the model! Skin effect is a diffusion mechanism, so exhibits Z ~ sqrt(F), an irrational function that can be only approximated to arbitrary precision by a finite rational function. So, they tend to take up a lot of elements. Skin effect occurs in metals, but also anything where the physics apply -- so, a magnetic core with loss component, similarly has a skin effect, even though the loss component might have a very different physical mechanism (hysteresis vs. eddy currents). Or in batteries, ionic diffusion plays the same role with respect to terminal voltage or ESR; or in ionic double-layer capacitors.It seems similar (if less pronounced) effects are found in diverse materials, so a distributed model is also needed to approximate ESR at low frequencies, for ceramic, film, electrolytic and other types.I have a bit of a "play around" tool, with discussion, here:https://www.seventransistorlabs.com/Calc/Coilcraft1.htmlwhile it was made for one particular source of data, you can superimpose anything on the plot region and match it in the available curves. I've made models for other inductors, ferrite beads, etc. in this way. (Short of embedding the picture on the plot in the first place (which would be a nice feature to add, I'll admit..), I recommend using something like OnTopReplica to make a transparent overlay on screen.)Going back to approximation methods, you can also have a parallel array of series elements; or reciprocally, a series array of parallel elements. (I use the latter in my Warburg model linked above.) When the elements are RLC networks, it's an effective method for modeling many resonances, such as mechanical components (a complete model of a quartz crystal, for example -- the standard model only gives values for the strongest (fundamental or lower overtone) mode), transmission line stubs, and other spectral phenomena. Sometimes you'll just mix and match, which is kind of what I did in the above pictures.Tim

author: TimFox
author_rank: Super Contributor
timestamp: August 06, 2021, 03:37:58 am
content: Another comment on my Spice discussion above:In .AC, the reactances are the normal functions of frequency.In .TRAN, the reactive elements are described by derivatives:I=CdV/dtfor a capacitor andV=LdI/dtfor an inductor, all in the time domain, so nothing is described as frequency-dependent.

author: The Electrician
author_rank: Frequent Contributor
timestamp: August 06, 2021, 04:58:46 am
content: Power-Electronics, why does capacitor C2 in your circuit have a value of zero? Also, the value of R3 is so large that it might as well be an open circuit. If I give R3 a value of 1 megohm and plot |Z| and the real part of Z, I get this:

author: T3sl4co1l
author_rank: Super Contributor
timestamp: August 06, 2021, 05:49:52 am
content: Quote from: TimFox on August 06, 2021, 03:37:58 amNote that AC analysis permits some functions, like arbitrary Laplace expressions; this is more or less trivial to compute at each frequency, but extremely nontrivial in transient analysis: the typical solution is to just completely ignore it (function block simply does nothing -- e.g. 3f5 SPICE compatible, or uh, circa whenever LAPLACE was introduced I'm not quite sure offhand?), or to use a nasty but mostly correct method to force it to work (as I understand it, LTspice converts the block into an impulse response, which is then convolved with the waveform at every timestep -- needless to say, this is incredibly intensive and slow). So, it's not very useful to use such functions, or not very universal or performant. It's also very easy to create nonphysical (real and reactive components violate Kramers-Kronig relations) models, so must be used carefully. I explained this more or less on my linked webpage, I think.Tim

author: T3sl4co1l
author_rank: Super Contributor
timestamp: August 06, 2021, 05:55:07 am
content: Quote from: The Electrician on August 06, 2021, 04:58:46 amIt's a calculated value -- note the single-precision (or better?!) figures on everything, and, it seems that particular component simply rounded to exactly zero.R3 is of course intended to model DC leakage. Often, a model might be made correct at two frequencies, one of interest and the other at DC. Likewise inductor models typically don't include just ESR, but DCR as such, and the ESR is modeled in whatever way.I actually have a complaint about R3, but from a different angle: at 70G, it's larger than most parasitic simulation parameters (RSHUNT ~ 1e9 is a pretty common setting, or GMIN ~ 1e-9 to a similar end). So it will be simply ignored, or swamped, by what amounts to rounding errors, or tricks to improve numerical stability. (And yeah, we don't expect it to be relevant in any way at all, at most any AC frequency.)Tim

author: The Electrician
author_rank: Frequent Contributor
timestamp: August 06, 2021, 06:22:41 am
content: Quote from: T3sl4co1l on August 06, 2021, 05:55:07 amThe OP was wondering why his ESR plot is just a straight line. I'm simply pointing out to him that with R3 so large and C2 = 0, his ESR plot is the real part of the impedance of a simple RLC series circuit. Without any parallel resistance, the real part is just the value of R1 which is constant with frequency. If he wants ESR to vary with frequency he needs some kind of parallel loss like dielectric loss, or non-negligible leakage.

author: Power-Electronics
author_rank: Contributor
timestamp: August 06, 2021, 10:59:57 am
content: The manufacturer provides a subcircuit model, which I drew to make it easier to see. They seem to use the same topology for all their capacitors. Their tool lets you choose the capacitor, temperature, and center frequency. Then it updates the component values to reflect those choices. I'm going to take all your suggestions and see if I can get a better fit across frequencies.

author: Power-Electronics
author_rank: Contributor
timestamp: August 16, 2021, 10:06:21 pm
content: Learned something interesting today about modeling capacitor parasitics with LTspice. The docs suggest using the built-in parasitic parameters instead of a separate components, claiming that it's faster and numerically better. But they don't warn that if you use some of the parasitics, the simulator may silently insert some of the other parasitics that you didn't specify.For example, if you specify Lser, it'll insert a small Cpar and a large RLshunt. This can cause a large distortion at higher frequencies, but maybe not high enough to be out of your way. So you have to check and choose the values yourself if it's a problem.http://ltwiki.org/index.php?title=C_Capacitor