USB论坛
直播中

邹媛媛

7年用户 223经验值
私信 关注
[经验]

可变R-L-C元件的SPICE模拟行为建模

一些仿真器没有包含LRC元件的ABM方程,采用本文所述的简单子电路,可以根据复杂的分析表达式(包括逻辑表达式)创建无源元件,比如建立非线性电容、时变电阻等。
采用SPICE仿真电路时,通常需使用可变无源元件,如电阻、电容或电感。如果电源可以从外部控制上述器件的值,自然就可以从中推导出电容和电感的模拟行为建模表达式:非线性行为、随电流变化而变化的电感等。然而,很少有基于SPICE的仿真器可适用于无源元件的内嵌方程。为了解决这个问题,本文将介绍可以通过外部电压源进行器件值调节的若干无源元件。
最简单的情况:电阻
欧姆定律(Ohm Law)指出:电流I通过电阻R时产生电压V。电阻R保持不变时,电流源I的值为(方程1),其中1和2为电阻终端,如图1所示。


图1:电阻可表示成控制电流源
根据这个简单的方程,在INTUSOFT的IsSpice和CADENCE的PSpice下均可形成一个可变电阻子电路,方程1中的R将通过CTRL节点由控制电流源直接施加:
IsSpice
.subckt VARIRES 1 2 CTRL
R1 1 2 1E10
B1 1 2 I=V(1,2)/(V(CTRL)+1μ)
.ENDS
Pspice
.subckt VARIRES 1 2 CTRL
R1 1 2 1E10
G1 1 2 Value = { V(1,2)/(V(CTRL)+1μ) }
.ENDS
在电流源表达式中,如果控制电压值V(CTRL)接近于零,1μ值不为零,即(V(CTRL)+1μ)不为零,从而避免被除数被零除。如果V(CTRL)为100kV,则等效电阻为100kΩ。图2表示,在子电路上施加一个简单电阻分压器,相当于产生一个1Ω电阻。现在,可以为V3建立一个复杂电压源,并轻松形成非线性关系。


图2:简单电阻分压器施加在电流源上,产生1Ω电阻
电容是一个电压源
与前面介绍的电阻相类似,电容可以用符合下列定律的电压源表示:(方程2)。也就是说,如果我们对流入等效子电路电容的电流进行积分,并且将它乘以控制电压V的倒数,即可得到电容的值C = V! 然而,由于变数t不断变化,所以在SPICE中不存在积分原函数。因此,应该采用方程2,并且使子电路电流流入 1F电容。通过观察1F电容上得到的电压,可以对 Ic(t) 进行积分。图3显示了建立子电路的方法。


图3:在1F电容上的积分将影响等效电容的建立

图4:测试电路采用方波源对10uF电容间歇充电
空电压源V将电流引入1F电容,在“int”节点上产生积分电压,然后,乘以CTRL 节点电压的倒数,就可以模拟可变电容。图5显示了用实际电容和可变电容得到的电压和电流。两个图表之间没有区别。


图5:可变电容模型和标准电容模型产生相似的波形
下面是IsSpice 和PSpice中的模型:
IsSpice
.SUBCKT VARICAP 1 2 CTRL
R1 1 3 1u
VC 3 4
BC 4 2 V=(1/v(ctrl))*v(int)
BINT 0 INT I=I(VC)
CINT INT 0 1
.ENDS
PSpice
.SUBCKT VARICAP 1 2 CTRL
R1131u
VC34
EC42Value={(1/v(ctrl))*v(int)}
GINT 0 INT Value = { I(VC) }
CINT INT 0 1
RINT INT 0 1G
.ENDS
对测试也进行了交流分析,证实模型在频域内可以正常工作。
电感是一个电流源
如果对电感施加电压,它将保持安培匝数恒定,相当于一个真正的电流源,这就是对可变电感建模的方法。根据楞次定律(Lenz Law),可以得出:


图6:等效L子电路
IsSpice
.SUBCKT VARICOIL 1 2 CTRL
BC 1 2 I=V(INT)/V(CTRL)
BINT 0 INT I=V(1,2)
CINT INT 0 1
.ENDS
PSpice
.SUBCKT VARICOIL 1 2 CTRL
GC12Value={V(INT)/V(CTRL)}
BGINT 0 INT Value={ V(1,2) }
CINT INT 0 1
RINT INT 0 1G
.ENDS


图7:采用等效电感的测试电路
可以轻易地通过调整LC滤波器进行复杂的交流分析。如果我们仿真图7,将会得到图8的波形,与图5中的波形类似。


图8:模拟等效L子电路,得出电容结果的双重波形




更多回帖

发帖
×
20
完善资料,
赚取积分