Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Inductor saturation in LTspice

1,997 views
Skip to first unread message

Paul E. Schoen

unread,
Apr 19, 2008, 5:49:37 PM4/19/08
to
I have been doing simulations of various switching power supplies in
LTSpice, and it seems like the inductors never show any saturation
behavior. I have even tried, for example, a stock 10 uH 10 amp inductor
from their database, and applied 10 VDC. The dI/dt stays just about
constant at 0.9 A/uSec up to at least 80 amps, and it only flattens out at
about 2 mSec at about 438 amps, due to the 0.0226 ohms series resistance.

The documentation shows a way to simulate saturation and hysteresis with
the following:

*
L1 N001 0 Hc=16. Bs=.44 Br=.10 A=0.0000251
+ Lm=0.0198 Lg=0.0006858 N=1000
I1 0 N001 PWL(0 0 1 1)
.tran .5
.options maxstep=10u
.end

I am not sure how to enter this information into an inductor model or a
schematic. The standard models do not seem to allow parameters to be
entered. I'll look into how I might be able to insert a new symbol that can
use these parameters and provide a more accurate inductor model, but if
anyone has already done this I'd appreciate some help.

It surprises me that LTspice does not include even a rudimentary modeling
of real world inductor saturation, given that SwitcherCad essentially
revolves around the use of inductors in almost every switching supply
model. Most inductors specify inductance values at minimum current and
maximum current, and then the inductance essentially drops to zero at
saturation current. It seems that it would be simple enough to add this
function to the inductor equation, and then simulations would be much more
realistic.

Paul


Paul E. Schoen

unread,
Apr 19, 2008, 6:20:23 PM4/19/08
to

"Paul E. Schoen" <pst...@smart.net> wrote in message
news:480a699a$0$19783$ecde...@news.coretel.net...

OK, I found the <Ctrl>-Right Click to access the inductor parameters, and
it seems to work. I played with the value of N in the above parameters and
found that N=14 gives about a correct value for dI/dt up to about 15 amps,
after which it rises at a much greater slope.

The LTSpice ASCII file for my test jig follows. Any suggestions on even
better modeling will be appreciated. I am weak in magnetics theory. Thanks.

Paul

=========================================================================

Version 4
SHEET 1 952 260
WIRE -400 64 -576 64
WIRE -576 96 -576 64
WIRE -400 96 -400 64
WIRE -576 208 -576 176
WIRE -400 208 -400 176
WIRE -400 208 -576 208
FLAG -576 208 0
SYMBOL voltage -576 80 R0
WINDOW 123 0 0 Left 0
WINDOW 39 0 0 Left 0
SYMATTR InstName V1
SYMATTR Value 10
SYMBOL ind -416 80 R0
WINDOW 40 36 108 Left 0
SYMATTR InstName L1
SYMATTR Value 10µ
SYMATTR SpiceLine Ipk=10 Rser=0.0226 Rpar=942 Cpar=0
SYMATTR SpiceLine2 Hc=16. Bs=.44 Br=.10 A=0.0000251 Lm=0.0198 Lg=0.0006858
N=14
TEXT -610 232 Left 0 !.tran 1m startup


Helmut Sennewald

unread,
Apr 19, 2008, 7:49:55 PM4/19/08
to
"Paul E. Schoen" <pst...@smart.net> schrieb im Newsbeitrag
news:480a70a8$0$19817$ecde...@news.coretel.net...

Hello Paul,
If you only need saturation but no hysteresis,
then there is a much simpler way.

Just replace the value 10u with the formula below.
(Watch the 12.5 = 1/0.08, x is the coil current)

flux=10u*12.5*tanh(x*0.08)

Best regards,
Hlmut


legg

unread,
Apr 19, 2008, 7:56:50 PM4/19/08
to

Mike Engelhardt put together an interesting range of saturable
magnetic structures that were dependant on varying parameters.

You should be able to find 'non_linear_inductor.asc' (~16K), and
others, in the yahoo group SWCAD files page. Go to 'all_files.htm' and
text search for the file name.

RL

legg

unread,
Apr 19, 2008, 8:30:53 PM4/19/08
to

I think you can see nonlinear effects more easily if you define a
source impedance and give your inductor some turns. See attached.

RL

Paul E. Schoen

unread,
Apr 19, 2008, 9:04:03 PM4/19/08
to

"legg" <le...@nospam.magma.ca> wrote in message
news:hh3l04lersmpk4s15...@4ax.com...

The Lg and N need to be in the Spiceline as I changed it above. It also
worked well using the flux idea suggested by Helmut. Thanks all!

Paul


Paul E. Schoen

unread,
Apr 19, 2008, 9:32:52 PM4/19/08
to

"Helmut Sennewald" <helmuts...@t-online.de> wrote in message
news:fue0f0$508$00$1...@news.t-online.com...

> Hello Paul,
> If you only need saturation but no hysteresis,
> then there is a much simpler way.
>
> Just replace the value 10u with the formula below.
> (Watch the 12.5 = 1/0.08, x is the coil current)
>
> flux=10u*12.5*tanh(x*0.08)
>

This worked very well, and it is simpler. Now, for a coil that saturates at
5 amps, do I use:

flux=10u*5*tanh(x*(1/5))

or more generally:

flux = L * Isat * tanh(x/Isat)

That seems to work, although I'm not sure just how. I suppose one must
understand how the term flux is used in the model.

Thanks!

Paul


Jim Thompson

unread,
Apr 19, 2008, 9:48:23 PM4/19/08
to

In the late '80's I was using (in PSpice)...

L = Lo/(1 + (I/IH)^2)

where I is the current in the inductor and IH is the current where the
inductance falls to half of its no-current value.

...Jim Thompson
--
| James E.Thompson, P.E. | mens |
| Analog Innovations, Inc. | et |
| Analog/Mixed-Signal ASIC's and Discrete Systems | manus |
| Phoenix, Arizona Voice:(480)460-2350 | |
| E-mail Address at Website Fax:(480)460-2142 | Brass Rat |
| http://www.analog-innovations.com | 1962 |

America: Land of the Free, Because of the Brave

legg

unread,
Apr 20, 2008, 11:51:26 AM4/20/08
to
On Sat, 19 Apr 2008 18:48:23 -0700, Jim Thompson
<To-Email-Use-Th...@My-Web-Site.com> wrote:

>
>In the late '80's I was using (in PSpice)...
>
> L = Lo/(1 + (I/IH)^2)
>
>where I is the current in the inductor and IH is the current where the
>inductance falls to half of its no-current value.
>

I think that's useful only if the part itself is carved in stone.

Determining IH every time a turn is added, or shim altered to vary a
gap is mental-labour intensive.

For a specific core shape and material, there is an interesting
boundary showing up in the Hanna curves that might be useful to
characterize in a brick wall saturation model, if those two features
are unchanging.

RL

Jim Thompson

unread,
Apr 20, 2008, 12:13:06 PM4/20/08
to
On Sun, 20 Apr 2008 11:51:26 -0400, legg <le...@nospam.magma.ca> wrote:

>On Sat, 19 Apr 2008 18:48:23 -0700, Jim Thompson
><To-Email-Use-Th...@My-Web-Site.com> wrote:
>
>
>
>>
>>In the late '80's I was using (in PSpice)...
>>
>> L = Lo/(1 + (I/IH)^2)
>>
>>where I is the current in the inductor and IH is the current where the
>>inductance falls to half of its no-current value.
>>
>
>I think that's useful only if the part itself is carved in stone.
>

[snip]

Military/space application. Part _was_ "carved in stone", and that
particular expression matched measurements quite closely.

IH was around 88 Amps BTW ;-)

Helmut Sennewald

unread,
Apr 20, 2008, 12:13:38 PM4/20/08
to
"Jim Thompson" <To-Email-Use-Th...@My-Web-Site.com> schrieb im
Newsbeitrag news:c08l04psgdaeolojg...@4ax.com...

Hello Jim,

The equivalent inductance definition in LTspice would be

flux= Lo*IH*atan(x/IH)


My recommended function with tanh() has a steeper descent
of the inductance versus current.

flux= Lo*IH*tanh(x/IH)


Best regards,
Helmut

Jim Thompson

unread,
Apr 20, 2008, 12:25:44 PM4/20/08
to
On Sun, 20 Apr 2008 18:13:38 +0200, "Helmut Sennewald"
<helmuts...@t-online.de> wrote:

>"Jim Thompson" <To-Email-Use-Th...@My-Web-Site.com> schrieb im
>Newsbeitrag news:c08l04psgdaeolojg...@4ax.com...

[snip]


>>
>> In the late '80's I was using (in PSpice)...
>>
>> L = Lo/(1 + (I/IH)^2)
>>
>> where I is the current in the inductor and IH is the current where the
>> inductance falls to half of its no-current value.
>
>Hello Jim,
>
>The equivalent inductance definition in LTspice would be
>
>flux= Lo*IH*atan(x/IH)
>
>
>My recommended function with tanh() has a steeper descent
>of the inductance versus current.
>
>flux= Lo*IH*tanh(x/IH)
>
>
>Best regards,
>Helmut
>

I use TANH quite often now in behavioral modeling...

(1) It's closely equivalent to the transition width of a diff-pair.

(2) It's convergence stable.

analog

unread,
Apr 20, 2008, 8:17:19 PM4/20/08
to
legg wrote:

> Mike Engelhardt put together an interesting range of saturable
> magnetic structures that were dependant on varying parameters.

He may have, but that would not be the file you refer to below. :)

> You should be able to find 'non_linear_inductor.asc' (~16K), and
> others, in the yahoo group SWCAD files page. Go to 'all_files.htm'
> and text search for the file name.

I created and posted a file of this name to the LTspice group about
four years ago. But the one you are probably thinking of is named
"saturating_inductor.asc". It contains twelve examples of inductor
modeling approaches. Four are based on LTspice's unique flux=f(x)
method, three are based on a method using standard b-sources, three
use a generalized impedance converter to create an equivalent
magnetic circuit (which can then have a "Bm" limit), and one uses
current controlled switches.

The examples model saturation with "hardness" varying in degrees
from no saturation, soft (continuous) up through abrupt (stepped).

LTspice Yahoo group members can download the file here:

http://groups.yahoo.com/group/LTspice/files/adventures%20with%20analog/magnetics

Group membership requires registration but is free of charge.

Regards -- analog

0 new messages