You can use several elements and models to analyze switching regulators, transformers, and mutual inductive circuits. These elements include magnetic winding elements, mutual cores, and magnetic core models.
You can use the Star-Hspice saturable core model for chokes, saturable transformers, and linear transformers. To use the model, you must provide a mutual core statement, specify the core parameters with a .MODEL statement, and provide specification of the windings around each core element with a magnetic winding element statement.
.MODEL mname L (<pname1 = val1>...)
.MODEL mname CORE (LEVEL=1 <pname1 = val1>...)
|
Value of the model parameter. Each core model can include several model parameters. |
.MODEL CHOKE L(BS=12K BR=10K HS=1 HCR=.2 HC=.3 AC=1. LC=3.)
Obtain the core model parameters from the manufacturer's data. Magnetic Saturable Core Model illustrates the required b-h loop parameters for the model. The model includes core area, length, and gap size, as well as the core growth time constant.
*file: bhloop.sp b-h loop nonlinear magnetic core transformer
* plot in avanwaves i(l1 versus 22 to get b-h loop
.option acct method=gear post rmax=.05
.probe mu=lx0(k1) h=lx1(k1) b=lx2(k1) L1=lv1(l1) L2=lv1(l2)
+ i(l1)
.model mag2 l bs=6k br=3k hs=1 hcr=.1 hc=.8 ac=1 lc=16
|
Model selector. For the Jiles-Atherton model, set LEVEL=1. LEVEL=2, the default, selects the Pheno model, which is the original Star-Hspice model |
|||
Star-Hspice writes a warning message to the output listing file if an inductive element value exceeds 0.1 Henry. This feature helps you identify elements with missing units or wrong values, particularly those in automatically produced netlists.
The effective inductance as a function of temperature is provided by the following equation:
Create coupling between inductors with a separate coupling element. Specify mutual inductance between two inductors by the coefficient of coupling, kvalue, defined by the equation:
Linear branch relation for transient analysis:
Linear branch relation for AC analysis:
The Jiles-Atherton ferromagnetic core model is based on domain wall motion, including both bending and translation. The hysteresis-free (anhysteretic) magnetization curve is described by a modified Langevin expression. This leads to:
where is
Magnetization level, if domain walls could move freely.
Effective magnetic field.
Magnetic field.
MS Model parameter that represents the saturation magnetization.
A Model parameter that characterizes the shape of the anhysteretic magnetization.
ALPHA Model parameter that represents the coupling between the magnetic domains.
The above equation generates anhysteretic curves when the model parameter ALPHA has a small value. Otherwise, it generates some elementary forms of hysteresis loops, which is not a desirable result. The slope of the curve at zero (0) can be calculated by:
The slope must be positive, therefore the denominator of the above equation must be positive. Star-Hspice generates an error message if the slope becomes negative.
The anhysteretic magnetization represents the global energy state of the material if the domain walls could move freely. But the walls are displaced and bent in the material. If the bulk magnetization m is expressed as the sum of an irreversible component due to wall displacement and a reversible component due to domain wall bending, then:
By solving the above differential equation, the bulk magnetization m is obtained. The flux density b is computed from m:
where
, the permeability of free space, is
, and the units of
h
and
m
are in amp/meter. Then the units of
b
would be in Tesla (Wb/meter2).
This example demonstrates the effects of the ALPHA, A, and K model parameters on the b-h curve.
Variation of Anhysteretic b-h Curve: the Slope Increases as ALPHA Increases shows the b-h curves for three values of ALPHA.
Variation of Anhysteretic b-h Curve: the Slope Decreases as A Increases shows the b-h curves for three values of A.
Variation of Hysteretic b-h Curve: as K Increases, the Loop Widens and Rotates Clockwise shows the b-h curves for three values of K.
* Test the Jiles-Atherton model
.options post
* the following analysis studies the effect of parameter ALPHA.
*.param palpha=0.0 pk=0.0 pc=0.0 pa=26
*.tran 0.01 1 sweep palpha poi 3 0.0 5.0e-5 1.0e-4
* the following analysis studies the effects of parameter A.
*.param palpha=0.0 pk=0.0 pc=0.0 pa=26
*.tran 0.01 1 sweep pa poi 3 10 26 50
* the following analysis studies the effects of parameter K.
.param palpha=0.0 pk=5 pc=1.05 pa=26
.tran 0.01 1.25 $ sweep pk poi 2 5 50
rl 1 2 1
l1 2 0 nt=50
k1 l1 ct
igen 0 1 sin(0 0.1a 1hz 0 )
.model ct core LEVEL=1 ms=420k k=pk c=pc a=pa
+ alpha=palpha area=1.17 path=8.49
.probe b=lx2(k1) h=lx1(k1) i(rl) v(1)
.probe dmdh=lx3(k1) m=lx4(k1) man=lx6(k1)
.probe l=lv1(l1)
.alter
.param pk=50
.end
This example creates multiloop hysteresis b-h curves for a magnetic core. Discontinuities in the inductance, which is proportional to the slope of the b-h curve, can cause convergence problems. Hysteresis Curve and Inductance of a Magnetic Core demonstrates the effects of hysteresis on the inductance of the core.
*file tj2b.sp Multiloop hysteresis test using Jiles-Atherton model.
.options post
.tran 0.01 5
rl 1 2 1
l1 2 0 nt=50
k1 l1 ct
igen 0 10 sin(0 0.1a 1hz 0 )
ipls 0 20 pwl(0,0 1m,0.5 1s,0.5
+ 1.001,1.0 2.000,1.0
+ 2.001,1.5 3.000,1.5
+ 3.001,2.0 4.000,2.0
+ 4.001,2.5 5.000,2.5)
gigen 0 1 cur='v(10)*v(20)'
rpls 0 20 1
.model ct core LEVEL=1 ms=420k k=18 c=1.05 a=26
+ alpha=2e-5 area=1.17 path=8.49
.probe b=lx2(k1) h=lx1(k1) i(rl) v(1)
.probe dmdh=lx3(k1) m=lx4(k1) dmandh=lx5(k1)
This example demonstrates the usage of optimization in the parameter extraction of the Jiles-Atherton model. Output Curves Before Optimization (top), and After Optimization (bottom) shows the plots of the core output before and after optimization.
*file tj_opt.sp for Jiles-Atherton model parameter optimization.
.options post
+ delmax=5m
.param palpha=0.0
.param pms= opt1(150k,100k,500k)
+ pa =opt1(10,5,50)
+ pk=opt1(5,1,50)
+ pc= opt1(1,0,3)
.tran 0.01 1.0
.tran 0.01 1.0 sweep
+ optimize=opt1 results=bsat,br,hc model=optmod
.model optmod opt itropt=40
+ relin=1e-4 relout=1e-6
.meas bsat find par(`abs(lx2(k1))') when lx1(k1)=5.0 goal=3.1k
.meas br find par(`abs(lx2(k1))') when lx1(k1)=0 td=.25 goal=1k
.meas hc find par(`abs(lx1(k1))') when lx2(k1)=0 td=.25 goal=.4
rl 1 2 0.01
l1 2 0 nt=20
k1 l1 ct
igen 0 1 sin(0 2a 1hz 0 )
.model ct core LEVEL=1 ms=pms k=pk c=pc a=pa
+ alpha=palpha area=1.17 path=8.49
.probe b=lx2(k1) h=lx1(k1) i(rl) v(1)
.probe dmdh=lx3(k1) m=lx4(k1) dmandh=lx5(k1)
+ man=lx6(k1)
.probe l=lv1(l1) heff=lx7(k1)
.end
****** transient analysis tnom= 25.000 temp= 25.000
optimization results
residual sum of squares = 1.043893E-12
norm of the gradient = 1.411088E-06
marquardt scaling parameter = 1.267004E-04
no. of function evaluations = 30
no. of iterations = 11
optimization completed
norm of gradient < grad= 1.0000E-06 on last iterations
**** optimized parameters opt1
.param pms = 267.5975k
.param pa = 27.8196
.param pk = 37.2947
.param pc = 316.4197m
*** Measure results
bsat = 3.1000E+03
br = 9.9999E+02
hc = 3.9880E-01