模拟技术学习
直播中

冬妮

7年用户 214经验值
私信 关注
[问答]

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

可变R-L-C元件的SPICE模拟行为建模
如何通过外部电压源进行器件值调节的若干无源元件?

回帖(1)

张琼

2021-4-22 14:29:52
  一些仿真器没有包含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子电路
  方程6表明,需要对等效电感上的电压积分,并将它除以控制电压,得出模拟L。图6是等效子电路示意图:
  将端子电压转换为电流,然后在等效电流中插入1F电容,可以得到电压积分。子电路网表如下所示。
  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
完善资料,
赚取积分