广告

用于电路分析和设计的Spice仿真指南-第3部分:时间常数的进一步研究

2023-04-25 16:02:29 Giovanni Di Maria 阅读:
本文对Spice仿真中时间常数的使用进行了深入分析。还讨论了可视化输出数据的方法。

在上一篇关于SPICE仿真语言的文章中,我们分析了基本RC电路的行为并研究了它的时间常数。在这新一篇文章中,将探讨对时间常数分析有用的其他指令,我们将实施更有效的策略来可视化和解释从仿真中获得的结果。特别是,我们将研究如何可视化随时间变化的各种电气量,以及如何推导出将它们联系起来的数学方程。37Fednc

Spice仿真中值的即时分析

观察信号的图形对于一般分析是有用的,但对于精确的数学分析是不够的。对于后者,事实上,有必要知道每时每刻测量的准确数值。这个时间间隔可以是可变的,这取决于测量的需要。了解每个时刻信号的准确值对于验证电路的行为很有用,但更重要的是,它可以有效地确定描述信号本身趋势的数学规律。在上一篇文章中,我们开始使用两种不同的软件程序进行电路仿真,二者都是免费软件:37Fednc

  • LTspice;
  • ngspice。

下面,将使用本课程中使用的两个软件程序来研究准确确定各种瞬态测量的方法。为此,将使用与前一篇文章(见图1)相同的电路图,其中涉及电解电容器的充电问题。它由以下电子元件组成:37Fednc

  • V1:12V理想电压发生器;
  • R1:22k限流电阻;
  • C1:860uF电解电容。

电路图中并未标明电容器的极性,但通过对其两端电压的动态行为进行仿真分析可以很容易地确定。37Fednc

37Fednc

图1:用于时间常数分析的电路图。37Fednc

LTspice与其他SPICE程序略有不同,它没有在每个所需时间段显示瞬态信号值的直接功能。请注意,时间常数表示将电阻两端的电容器充电(或放电)到其总充电容量的63.2%所需的时间。通过以下关系确定:37Fednc

37Fednc

符号分别为:37Fednc

  • τ是时间常数,单位是秒;
  • R为电阻阻值,单位是欧姆;
  • C是电容器的值,单位是法拉。

在此示例中,在电容器开始充电后的18.92秒,其电势以指数形式达到最大可用电压(即12V电压发生器的电压)的63.2%。37Fednc

使用ngspice确定瞬态值

我们从更简单的ngspice程序开始讨论,因为该软件具有“.PRINT”指令。它是基于SPICE语言语法的电子电路仿真程序中的一项功能,允许指定在电路仿真期间要在输出中显示哪些电气量。具体来说,“.PRINT”指令的语法涉及指定要显示的电气量的名称,包括电压、电流和功率。37Fednc

该指令可用于详细显示仿真电路的行为,并分析各个元器件的运行情况。例如,可以显示电容器或电阻器两端的电压、流过二极管或晶体管的电流,或者元器件在仿真的不同时刻消耗的功率。此外,“.PRINT”指令可用来生成用于后续数据分析的输出,例如生成图形或比较不同仿真的结果。值得一提的是,ngspice提供了两种可执行程序:一种带有GUI(图形用户界面),称为“ngspice.exe”,另一种带有控制台,称为“ngspice_con.exe”。对于文本输出,就像我们正在研究的那样,控制台软件可能是最合适的,因为它在数据显示方面要快得多。现在输入下面的SPICE列表并使用以下命令启动仿真:一种带有GUI(图形用户界面),称为“ngspice.exe”,另一种带有控制台,称为“ngspice_con.exe”。对于文本输出,就像我们正在研究的那样,控制台软件可能是最合适的,因为它在数据显示方面要快得多。现在输入下面的SPICE列表并使用以下命令启动仿真:37Fednc

source MySource.cir37Fednc

37Fednc

现在,我们将逐行详细解释SPICE代码的各行:37Fednc

  • 注释“*Charge of a capacitor”表示SPICE代码将仿真电容器的电荷;
  • “V1 Vcc 0 12V”行定义了一个直流电压源,值为12V,连接在“Vcc”节点和“0”接地节点之间;
  • “R1 Vcc Out 22k”这一行定义了一个连接在“Vcc”和“Out”节点之间的22Ω电阻;
  • “C1 Out 0 860uF”行定义了连接在节点“Out”和接地节点“0”之间的860uF电容器;
  • “.IC v(Out)=0”行定义了仿真的初始条件,强制“Out”节点中的电压最初为0V(无负载电容);
  • “.control”行表示控制部分的开始,将由SPICE程序执行;
  • “tran 100m 360s”行指定瞬态仿真,持续时间为360秒,采样间隔为100毫秒;
  • “print v(out)”行告诉SPICE程序在仿真期间根据采样间隔的规范在“Out”节点输出电压;
  • “.endc”行表示控制部分的结束;
  • “.end”行表示SPICE输入文件的结束。

使用以下定义,输出中预计会有大约3600行结果,如图2所示。具体来说,使用“.PRINT”指令创建的报告包含以下列:37Fednc

  • 序列号(index);
  • 测量的瞬间(time);
  • 实际测量值,单位为伏特v(out)。 

结果以科学记数法或指数记数法表示。在这种格式中,数字表示为尾数并乘以10的幂,用术语“e+”表示。选择所有结果并将其粘贴到文本文件中非常容易,即使是在控制台窗口中也是如此。37Fednc

37Fednc

图2:ngspice的输出显示了仿真期间不同时间的电压v(out)值37Fednc

使用LTspice确定瞬态值

LTspice没有“.PRINT”指令,因此必须找到一个可行的替代方案。解决方案是通过“.STEP”指令在最小值和最大值之间迭代一个数值,并通过“.MEAS”指令测量特定可变时间的电压。这是一种稍微复杂一些的方法,但就时间而言,它可能比“.PRINT”指令提供的方法更好、更准确。因此,在LTspice接线图中,插入以下两个指令:37Fednc

.step param moment 0 360 137Fednc

.meas TRAN Out FIND v(out) AT moment37Fednc

我们现在将详细解释这两个SPICE指令:37Fednc

  • “.step param moment 0 360 1”指令告诉程序使用“moment”参数运行参数仿真。仿真的“moment”值范围从0到360,增量为1秒。换句话说,“moment”参数在仿真的每一步都增加1。在仿真过程中,SPICE输入文件中指定的所有其他参数保持不变;
  • 指令“.meas TRAN Out FIND v(out) AT moment”告诉程序在仿真期间在“Out”节点执行电压测量。具体而言,“TRAN”指令指定应在瞬态仿真期间进行测量,而“FIND v(out)”指示测量应在“Out”节点中找到电压值。“AT moment”部分使用“moment”参数的当前值,指定在仿真中应执行测量的时刻。换句话说,该指令在瞬态仿真期间,以“moment”参数的当前值测量“Out”节点中的电压。

使用指令后,预计将输出大约360行结果,如图3所示。具体来说,按[CTRL]+[L]键显示的报告包括以下列:37Fednc

  • 序列号(step);
  • 实际测量值,单位为伏特v(out);
  • 测量时刻(at)。 

37Fednc

图3:LTspice的输出显示了仿真不同时间的电压v(out)值37Fednc

有了这两种方法,设计人员就可以掌握所有文本格式的仿真数据。它们可用于许多外部应用程序,并可以用多种不同方式进行处理。我们在下面列出了其中的一些:37Fednc

  • 创建自定义图表(见图4);
  • 统计和数学分析;
  • 预测;
  • 创建打印输出、报告和文档;
  • 以及许多其他方式。

37Fednc

图4:使用外部程序根据仿真中收集的数据创建的电容器电荷图37Fednc

使用Spice仿真输出确定数学规律

要确定电容器充电的数学规律,必须进行统计分析。常见的程序包括以下步骤:37Fednc

  • 从仿真或实际测试中收集数据;
  • 将数据组织在表格中,以便于理解和可视化;
  • 计算描述性统计数据,例如均值、中位数、众数和标准差。这些统计数据可以让人了解数据的分布情况;
  • 使用适当的统计方法分析数据,并确定最能描述数据的数学规律。常见统计方法的一些示例包括线性回归、逻辑回归、方差分析等。或者,可以使用曲线拟合软件;
  • 使用收集的数据检查所获得的数学规律的有效性。这可以通过比较公式预测的结果和实验数据来完成;
  • 使用回归公式进行预测或更好地理解收集的数据。例如,数学规律可用于进行预测或识别变量之间的相关性。

一些用于表示电容器电荷的优秀模型(参见图5)如下所示:37Fednc

  • 指数加线性;
  • 韦布尔模型;
  • 指数关联2;
  • 指数关联3。

37Fednc

图5:一些描述电容器充电模式的数学模型37Fednc

结论

本文对使用SPICE仿真语言分析基本RC电路的时间常数提供了进一步的见解。我们已经说明了更有效的可视化和解释仿真结果的策略,包括可视化随时间变化的各种电气量,以及创建将数据趋势联系在一起的数学方程。这些信息可用于了解电路的行为并预测其在特定情况下的运行方式。37Fednc

(原文刊登于EDN姊妹网站Power Electronics News,参考链接:Guide to Spice Simulation for Circuit Analysis and Design -Part 3 : Further investigation of the time constant,由Ricardo Xie编译。)37Fednc

相关阅读:

用于电路分析和设计的SPICE仿真指南-第1部分:简介和网表37Fednc

用于电路分析和设计的SPICE仿真指南-第2部分:时间常数37Fednc

责编:Ricardo
本文为电子技术设计原创文章,未经授权禁止转载。请尊重知识产权,违者本司保留追究责任的权利。
  • 微信扫一扫
    一键转发
  • 最前沿的电子设计资讯
    请关注“电子技术设计微信公众号”
广告
热门推荐
广告
广告
广告
EE直播间
在线研讨会
广告
面包芯语
广告
向右滑动:上一篇 向左滑动:下一篇 我知道了