Connect with us

Inductor saturation in LTspice

Discussion in 'Electronic Design' started by Paul E. Schoen, Apr 19, 2008.

Scroll to continue with content
  1. 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
     
  2. 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
     
  3. 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
     
  4. legg

    legg Guest

    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
     
  5. legg

    legg Guest

    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
     
  6. 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
     
  7. 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
     
  8. legg

    legg Guest

    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
     
  9. 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
     
Ask a Question
Want to reply to this thread or ask your own question?
You'll need to choose a username for the site, which only take a couple of moments (here). After that, you can post your question and our members will help you out.
Electronics Point Logo
Continue to site
Quote of the day

-