QSPICE行为电阻(behavioral resistor)在对简单和复杂模式进行建模时提供了前所未有的灵活性,从而可以实现更准确、更真实的仿真。在本文中,我们将探索这些元素的潜力,说明如何使用它们来表示非线性器件,这些器件取决于各种参数并受电路中其他变量的控制。我们将发现行为电阻是如何改进电子设计的分析和优化,为工程师和设计师开辟新的可能性,并大大节省设计时间。
在SPICE语言层面,标准电阻的定义非常简单,语法如下:
Rnn N1 N2 value
例如,要定义一个连接在VCC和GND节点之间的220Ω电阻,使用以下SPICE程序行:
R1 VCC 0 220
接地节点标记为“0”,如之前的教程所述。用户在QSPICE中使用电阻时有很大自由度,后者具有其他仿真器所没有的功能。第一个重要功能是设计人员能够通过右键单击组件并选择“标准值”项来选择电阻的标准值。如图1所示,设计人员可以根据所选公差(1%E96、5%E24、10%E12)从列表中选择所需值,选择不同公差的结果是是获得一个包含特定公差所需的所有电阻器的列表。因此,E96将包含比E12更多的电阻器。但是,手动输入欧姆值或从列表中输入欧姆值会生成相同的SPICE列表。
图1:QSPICE允许您从包含商业标准值的列表中选择值
QSPICE的一大特色是可以在美式和欧式电阻符号之间选择电阻符号类型。要选择电阻类型,只需在电路图上反复按下键盘上的“R”键,即可选择所需的元件类型,如图2所示。反复按下“T”键可交替显示两种不同的符号版本。可以对元件进行45°旋转,这是一些仿真器的特殊功能,方法是始终使用鼠标右键并选择“方向”(Orientation),然后选择“45°增量”(45° increments)项。
图2:使用QSPICE可以绘制美式和欧式电阻符号
电阻器的特性取决于其他参数的值。因此,我们讨论电阻器建模,即是根据某些仿真变量的值具有不同行为的电阻器。一般规则也与普通电子学知识有关:电阻值既不能等于零也不能为负值。否则,仿真可能会出现收敛问题,因此建议将其值限制在一定范围内。以下是一些与一般应用的电阻器建模有关的示例。
图3显示了一些不同应用的电阻特性。顶部图是用于监测72小时内环境亮度的黄昏光敏电阻。在黑暗时段,光敏电阻的阻值约为9kΩ,而在最大光照时段,光敏电阻的阻值约为2kΩ。此类光敏电阻的特性如下:
R=1274.9*(pow(5.73893,cos(0.262078*(-0.618801+time)))+1.3395)
第二张图指的是热水器的可编程电阻。该图显示了热水器电阻的欧姆值,该电阻在一小时内启动和停用约3次。启动时,其值为17Ω,用于大电流通过,而停用时,其值约为4500Ω。从各方面来看,它都是矩形波。真实示例将涉及使用继电器,但出于教学原因,我们使用了一个数学建模电阻器。这种热水器电阻器的特性如下:
R=(sgn(sin(time/2.9))+2)*2250-2220
最后一张图指的是NTC的电阻,NTC是热敏电阻系列中的一种半导体温度传感器,其电阻随温度升高而减小。对于这种类型的NTC,在0°C时其电阻约为34kΩ,而在60°C时其电阻约为2kΩ。图的“x”轴不代表仿真所花费的秒数,而是温度。这种类型的热水器电阻器的特性如下:
R=-7956.15+((-792520)/(-18.5245-time))
对于所有三个示例,在QSPICE中,相关图形的显示都是使用欧姆定律通过以下指令进行的:
.plot v(vcc)/i(b1)
图3:电阻特性的三个示例
顾名思义,如图4所示,行为电阻是一种电阻元件,其值不固定,但相关方程允许电阻器根据电路中的其他变量以非线性行为建模。与具有固定电阻值的标准电阻器不同,行为电阻器的电阻值可以根据电压、电流、仿真时间或环境温度而变化。
因此,设计人员不能在它们的属性中插入固定电阻值,而必须插入简单或复杂的方程式。这种灵活性使用户可以仿真无法用简单的线性电阻准确表示的复杂电子器件。可以使用此组件在函数主体中定义固定电阻值。通过以下示例,读者将充分了解这些宝贵组件的用途和实用性,它们实际上还是简单的电阻器,只是其值取决于其他值。
图4:电路图中行为电阻的位置
在NETLIST SPICE层,实现行为电阻的指令如下:
B1 node1 node2 R=<expression>
其语法与普通电阻器的语法非常相似,但增加了描述电阻器本身动态行为的数学表达式。
第一个例子涉及电位器的仿真,该电位器的内部电阻在270°范围内以“几乎”线性的方式从大约15Ω变化到220Ω。该器件的电流和电阻特性如下表所示:
计算曲线拟合以插入电位器欧姆电阻的非线性趋势非常简单。电位曲线如下:
R=16.2145+((1.55848+sqrt(x))*sin((-0.038222)*(-45.7772+x)))+0.792633*x
为了正确进行仿真,必须将时间变量(“time”)指定为自变量(“x”),并在0秒到270秒的间隔内仿真电路。因此,分配给可变电阻值的公式如下:
R=16.2145+((1.55848+sqrt(time))*sin((-0.038222)*(-45.7772+time)))+0.792633*time
请注意,该函数不是以规范形式写出的。图5显示了由以下元素组成的简单电路图:
红色曲线表示流过电位器的电流,而蓝色曲线表示电位器的欧姆值,这取决于其旋转的角度。
图5:电位器的仿真,其电阻随引脚旋转而变化
钨丝白炽灯泡的欧姆电阻会根据灯丝的温度而发生很大变化。这种行为可以在图6中的图表以及相关电路图中观察到。一般来说,有三种工作状态:
当灯泡关闭时,钨丝处于室温,具有低欧姆电阻的特点。这意味着当开关打开时,相对较高的电流可以流过灯丝而不会遇到太大的阻力
一旦灯泡打开,电流开始流动,由于焦耳效应,钨丝就会迅速升温。钨的电阻会随着温度的升高而增大。因此,流过灯丝的电流会随着电阻的增加而减小
当灯泡打开并全速运转时,灯丝会达到非常高的平衡温度(约2700K)。在此温度下,钨的电阻远高于室温。因此,通过灯丝的电流稳定在比初始值更低的值
在本例中,由于存在行为电阻,因此仿真了灯泡的行为,这些行为电阻在时间域中遵循以下数学规律。从公式可以看出,电阻值是使用欧姆定律(R=V/I)计算的:
R=v(vcc)/((1.75862/(time-0.321652+pow(2.57112*time,-189.843)))+time*(time>0.4))
该图显示了流过灯泡的电流趋势,可以进行如下分析:
图6:白炽灯泡的电阻行为
QSPICE凭借其可建模的电压和电流源以及行为电阻器,在电路建模方面提供了强大的灵活性。使用“time”变量代替轴中的X,可以仿真各种电路行为,包括非线性和时间相关行为,同时要求对结果进行仔细的解释,其中X是一个通用的自变量,不一定是物理时间。
(原文刊登于EDN姊妹网站Power Electronics News,参考链接:QSPICE: Behavioral resistors (Part 11),由Ricardo Xie编译。)