跳转到内容

LTspice 中的变换器

  • 打开并运行 SPICE 库的 LTspice 原理图,并绘制其 README 中列出的波形。
  • 算出从零初始状态开始的仿真要运行多久,其最后几个周期才能反映稳态(steady state)。
  • 了解原理图中带有哪些仿真指令(directive)及其原因。

仓库的 sim/ltspice/ 文件夹以 LTspice 原理图(schematic)的形式收录了五种基本变换器 [Analog Devices, LTspice simulator],每种变换器一个文件夹,其中的 README 说明应绘制哪些波形、应得到什么结果。每个原理图与 sim/ngspice/ 中同名的 ngspice 网表(netlist)是同一电路:库的脚本把每个原理图读回为网表,逐个元件、逐个节点地与 ngspice 网表比较,原理图中的网络(net)也带有网表的节点名。打开原理图并按下 Run:原理图自带其仿真指令。

  • .param 设置合成(synthetic)示例的数值,仿真器中同名的预设也使用这些数值。
  • .model 给出接近理想的开关管和二极管。
  • .tran 从零初始状态开始运行,即所有电容都未充电、所有电感都没有电流,视算例不同运行 400 到 2500 个周期,时间步长(time step)不超过周期的二百分之一。
  • .options method=gear reltol=1e-4 选择积分方法(integration method)和容差(tolerance)。原因见 ngspice 页面。

ngspice 网表中还带有 .meas 语句,用于求出每个物理量在最后一个周期内的平均值和极值。在 LTspice 中,可放大查看最后一个周期,或把同样的语句加入原理图。

从零初始状态开始的运行必须经历整个启动过程,其最后一个周期才能反映稳态。只要变换器保持在 CCM,启动后其输出滤波器与负载就会振铃(ring);元件理想时,振铃的包络(envelope)按仅由负载和电容决定的时间常数(time constant)衰减:

τenv=2RC\tau_\mathrm{env} = 2 R C
τenv\tau_\mathrm{env}
包络时间常数
CC
电容(输出电容)
RR
负载电阻
带电阻负载的 L-C 滤波器振铃包络的时间常数✓ 经 7 项测试验证
假设、约定与出处
假设
  • 理想(无损)开关器件与无源元件
  • 连续导通模式(CCM)
  • 固定占空比,无反馈环路(开环)
  • 输出滤波器发生振铃:其品质因数 Q 大于 1/2
  • 电阻负载 R
备注
元件理想且降压变换器的源保持恒定时,滤波器由电感、电容和负载并联构成,即并联 RLC 电路,其振铃按 e−t/(2RC)e^{-t/(2RC)} 衰减,与电感无关。负载越轻(RR 越大),振铃持续时间越长。升压和升降压变换器的平均模型给出相同的衰减率 ω0/(2Q)=1/(2RC)\omega_0/(2Q) = 1/(2RC)。实际元件会改变衰减:绕组和开关管的电阻总是使振铃衰减更快,电容的串联电阻在 Q 大于 1 时也是如此,此时电感也会产生影响。CCM 下开环变换器的输出在启动或阶跃之后正是这样趋于稳定的;有反馈环路时,稳定过程由环路决定;而在 DCM 下,电感不会把能量从一个周期带到下一个周期,输出则改为以单一时间常数在稳态附近趋于稳定
出处
Alexander & Sadiku 2017, Ch. 8 (Second-Order Circuits: the source-free parallel RLC circuit); derived here; Erickson & Maksimović 2020, Ch. 8 (Converter Transfer Functions: the boost and buck-boost resonances, whose omega_0/(2Q) is also 1/(2RC)); Erickson & Maksimović 2020, Ch. 15 (AC and DC Equivalent Circuit Modeling of the Discontinuous Conduction Mode: a single low-frequency pole)
推导
sympy 逐步推导
公式 id
filter.tau_env · equations.yaml 条目

启动后残留的误差在每个包络时间常数内按相同的比例减小。要把它减小到起始时的某一比例,需要的周期数为:

Nset=τenvln⁡(1εr)TsN_\mathrm{set} = \frac{\tau_\mathrm{env} \ln{\left(\frac{1}{\varepsilon_r} \right)}}{T_s}
NsetN_\mathrm{set}
趋于稳定所需的周期数
TsT_s
开关周期
εr\varepsilon_r
剩余的启动误差(比例)
τenv\tau_\mathrm{env}
包络时间常数
启动误差衰减所需的开关周期数✓ 经 8 项测试验证
假设、约定与出处
假设
  • 启动误差以单一时间常数衰减,即最慢模态的时间常数
备注
按 e−t/τenve^{-t/\tau_\mathrm{env}} 衰减的误差降至比例 εr\varepsilon_r 需要 τenvln⁡(1/εr)\tau_\mathrm{env} \ln(1/\varepsilon_r) 的时间,再除以 TsT_s 即得周期数。精度每提高十倍,就要多花 ln⁡10\ln 10 即约 2.3 个包络时间常数。从零初始状态开始的瞬态仿真至少要运行这么长时间,其最后几个周期才能反映稳态
出处
Alexander & Sadiku 2017, Ch. 8 (Second-Order Circuits: the natural response decays as the exponential of minus the neper frequency times t); derived here
推导
sympy 逐步推导
公式 id
sim.periods_settle · equations.yaml 条目

负载越轻,振铃持续越久;精度每提高十倍,所需周期数就增加相同的数量。实际元件会使振铃衰减得更快一些:绕组和开关管的电阻总是如此,电容的串联电阻在品质因数(quality factor)大于 1 时也是如此。启动过程也可能暂时离开 CCM:在库中的降压变换器中,输出第一次过冲之后,最初 20 个周期中有若干个周期电感电流降到零。这时该公式只是估计值,而不是精确的周期数。在 DCM 下,电感电流每个周期都回到零,因此电感不会把任何东西从一个周期带到下一个周期:滤波器不再发生 L-C 振铃,输出改为以单一时间常数在稳态附近趋于稳定 [Erickson & Maksimović 2020, Ch. 15]。

库中每个算例的运行时长都是其最慢时间常数的许多倍,库的脚本在每次运行结束时检查该次运行:输出在最后一个周期内的平均值与前一个周期的平均值相比,相差必须在万分之一以内,否则该算例判为未稳定而失败。这项检查只能发现远远过短的运行。一个周期内,衰减中的误差只减小其自身的一小部分,这一比例约等于周期与时间常数之比;因此,当时间常数为 100 个周期时(如库中的 DCM 反激变换器),万分之一的变化仍允许约 1 % 的误差。输出振铃时,在振铃的波峰附近,即输出平均值停止上升、开始下降的地方,即使振铃仍然很大,相邻两个周期的平均值也可能相符。SPICE 自身的精度也设定了下限:在库的 ngspice 运行中,启动过程早已消失之后,平均值仍会跳变多达千分之一到千分之二。

在 LTspice 的默认设置下,库中 DCM 反激变换器的漏极电压出现低于零数十伏的下冲(dip),而电路本身并没有这种下冲:其深度与 ngspice 在默认容差下用 Gear 法绘出的下冲大致相当,远不及 ngspice 梯形法(trapezoidal rule)振铃时的一千伏。.options 行可以消除它,在 ngspice 中也是如此。库中记录了一次用 LTspice 26.1.1 所做的核对:LTspice 自己生成的网表与库中的网表一致,其结果与 ngspice 的结果相差不超过各物理量最大绝对值的 0.3 %。ngspice 页面描述了这两种效应:每一步乘在快速模态上的放大因子(梯形法的放大因子),以及容差较松时二极管电流越过零点的过冲。

采用降压变换器示例的滤波器、负载和开关频率,从零初始状态开始运行,直到启动误差只剩千分之一:

降压变换器稳态建立示例
符号数值求法
fsf_s 开关频率100 kHz已知
LL 电感100 µH已知
CC 电容(输出电容)10 µF已知
RR 负载电阻10 Ω已知
εr\varepsilon_r 剩余的启动误差(比例)0.001已知
TsT_s 开关周期10 µs开关周期
QQ 品质因数(quality factor)3.16降压变换器:LC 极点的品质因数
τenv\tau_\mathrm{env} 包络时间常数200 µs带电阻负载的 L-C 滤波器振铃包络的时间常数
NsetN_\mathrm{set} 趋于稳定所需的周期数138启动误差衰减所需的开关周期数

其品质因数为 3.16,远大于 1/2,因此滤波器会振铃。包络时间常数为 200 µs,即 20 个周期,输出需要 138 个周期才能稳定到千分之一,这远在库的 1 % 以内,与库中 ngspice 运行所能分辨的精度大致相当。库中的降压变换器算例运行 400 个周期后才测量最后一个周期。

▶ 在公式浏览器中打开:启动误差衰减所需的开关周期数
预设取自例题 sim-settle

扫描剩余比例:精度每提高十倍,所需周期数都增加相同的数量。

▶ 在公式浏览器中打开:带电阻负载的 L-C 滤波器振铃包络的时间常数
预设取自例题 sim-settle

扫描负载:负载越轻,振铃持续越久。本站的仿真器无需经过启动过程即可求得稳态:

▶ 在仿真器中打开:降压
预设取自例题 buck-basic

让一台降压变换器以固定占空比、无反馈环路带电阻负载启动,从它开始开关的那一刻起捕获其输出。若电感电流在最初几个周期中触及零,则待其不再触及零之后,用振铃中相隔已知时间的两个峰值测量包络的衰减,并把所得时间常数与负载电阻和输出电容之积的两倍比较:绕组和开关管的电阻会使振铃进一步衰减,品质因数大于 1 时电容的串联电阻也是如此,因此预计测得的时间常数会稍短一些。数出输出保持在终值 1 % 以内之前所经过的周期数,并与剩余比例为 1 % 时的公式结果比较。然后用你的数值和相同的启动条件运行库中的原理图。

  • 对尚未稳定的周期所做的测量,测到的是启动过程。先运行公式所要求的周期数,再像库中那样检查输出平均值是否已不再逐周期变化:仅凭变化很小,并不能证明缓慢的振铃已经稳定。
  • 包络公式适用于元件理想、无反馈环路且滤波器会振铃的 CCM。在 DCM 下、滤波器阻尼大到不振铃时,或在闭环控制下,输出以其他方式趋于稳定(包络时间常数)。
  • 电路不可能产生的尖峰往往是数值性的:先检查 .options 行,再到电路中寻找原因。
  • 视频 LTspice Basics (video series) — Analog Devices · 访问于 2026-09-24
    关于 LTspice 的短视频:第一张原理图、瞬态与 AC 仿真,以及波形查看器。
  • 工具 LTspice — Analog Devices · 访问于 2026-09-24
    Analog Devices 提供的免费 SPICE 仿真器。
  1. 元件理想时,降压变换器的输出滤波器在 10 ohm 负载和 10 µF 电容下振铃。振铃包络的时间常数是多少?

    1. 100 µs
    2. 200 µs
    3. 31.6 µs
    4. 取决于电感
    答案与解析

    正确答案:B 无论电感多大,包络都以负载电阻与电容之积的两倍为时间常数衰减:2 × 10 ohm × 10 µF 为 200 µs。

  2. 包络时间常数为 20 个开关周期。从零初始状态开始运行,大约需要多少个周期,启动误差才只剩百分之一?

    1. 20
    2. 46
    3. 92
    4. 2000
    答案与解析

    正确答案:C 误差在每个包络时间常数内衰减为原来的 1/e。降到百分之一需要 ln 100,约 4.6 个时间常数,因此约为 92 个周期。

  3. 把启动误差从百分之一继续降到万分之一,还要多花多少?

    1. 大约与降到最初的百分之一所花的一样多
    2. 一百倍
    3. 不用再花:误差已经很小
    4. 十分之一
    答案与解析

    正确答案:A 每缩小十倍都花费相同的时间,即 ln 10,约 2.3 个包络时间常数,因此再缩小两个十倍与最初两个十倍所花的一样多。

  4. 为什么包络公式不能说明 DCM 算例需要运行多久?

    1. DCM 算例没有稳态
    2. LTspice 无法仿真 DCM
    3. 在 DCM 下电容不充电
    4. 在 DCM 下,电感不会把任何东西从一个周期带到下一个周期,因此滤波器不会发生 L-C 振铃
    答案与解析

    正确答案:D 电感电流每个周期都回到零,因此决定包络的 L-C 振铃不复存在;输出改为以单一时间常数在稳态附近趋于稳定。

  5. 库的检查在认定一次运行已稳定之前,要求满足什么条件?

    1. 输出与理想公式完全相等
    2. 时间步长不同的两次运行结果一致
    3. 输出在最后一个周期内的平均值与前一个周期的平均值相比,相差在万分之一以内
    4. 运行持续了一千个周期
    答案与解析

    正确答案:C 仍在稳定过程中的运行会逐周期变化,而该检查比较最后两个周期的平均值。由于缓慢的振铃每个周期变化很小,这项检查只能发现远远过短的运行,因此库还让每个算例运行许多个时间常数。

  6. DCM 反激变换器的一次运行显示漏极电压下冲到远低于零,而电路本身不可能这样。首先应检查什么?

    1. .options 行:积分方法和容差
    2. 匝比
    3. 负载电阻
    4. 开关频率
    答案与解析

    正确答案:A 在默认设置下,ngspice 和 LTspice 都会在库中的 DCM 反激变换器上绘出这种下冲;采用 Gear 法并收紧容差即可消除。

本站例题、预设和练习中的数值均为合成值:为教学而凑整的数值,并非来自任何实际设计的数据。