Inductor saturation in LTspice

P

Paul E. Schoen

Guest
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" <pstech@smart.net> wrote in message
news:480a699a$0$19783$ecde5a14@news.coretel.net...
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
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
 
"legg" <legg@nospam.magma.ca> wrote in message
news:hh3l04lersmpk4s15tch0p6kachv3nthnp@4ax.com...
On Sat, 19 Apr 2008 18:20:23 -0400, "Paul E. Schoen"
pstech@smart.net> wrote:


"Paul E. Schoen" <pstech@smart.net> wrote in message
news:480a699a$0$19783$ecde5a14@news.coretel.net...
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


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

RL

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
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
 
"legg" <legg@nospam.magma.ca> wrote in message
news:hh3l04lersmpk4s15tch0p6kachv3nthnp@4ax.com...
On Sat, 19 Apr 2008 18:20:23 -0400, "Paul E. Schoen"
pstech@smart.net> wrote:


"Paul E. Schoen" <pstech@smart.net> wrote in message
news:480a699a$0$19783$ecde5a14@news.coretel.net...
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


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

RL

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
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
 
"Helmut Sennewald" <helmutsennewald@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
 
"Helmut Sennewald" <helmutsennewald@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
 

Welcome to EDABoard.com

Sponsor

Back
Top