3. 仿真类型与设置:瞬态分析、直流扫描、交流小信号

各位同学,欢迎来到第三章。前两章我们把 LTspice 的界面和元件库摸了个遍。从这章开始,咱们要真正让电路“动”起来。

LTspice 的仿真类型,说白了就三大类:瞬态分析 (.tran)、直流扫描 (.dc)、交流小信号 (.ac)。我做了十几年电源,90% 的调试工作都围着这三种仿真转。你想想看,一个电源芯片从启动到稳定,再到纹波噪声,哪个环节能离开它们?

核心观点:三种仿真对应三个维度——时间域看波形、直流域看工作点、频域看稳定性。掌握这三板斧,开关电源仿真你就入门了。

LTspice 三大仿真类型 仿真类型总览 瞬态分析 .tran 时域波形 · 启动过程 直流扫描 .dc 工作点 · 传输特性 交流小信号 .ac 频率响应 · 环路增益 💡 应用场景速查 • 瞬态分析:看电源启动波形、负载跳变响应、开关管电压电流 • 直流扫描:看稳压输出 vs 输入电压曲线、MOSFET 转移特性 • 交流小信号:看环路增益相位裕度、输出阻抗、滤波器谐振

3.1 瞬态分析 (.tran) —— 时间域里的“录像机”

瞬态分析,你可以把它理解成给电路装了一台高速录像机。从 t=0 开始,LTspice 会按照你设定的步长,一帧一帧地记录每个节点的电压、电流波形。

我个人习惯,做开关电源仿真时,第一个跑的永远是 .tran。为什么?因为电源芯片的启动过程、软启动时间、过冲幅度,这些东西在直流扫描里是看不到的。

3.1.1 基本语法与参数

在原理图界面,按 Ctrl + S 或者点击工具栏的 .op 图标,就能调出仿真命令设置面板。在面板里输入:

.tran 10m startup

这行命令的意思是:仿真 10 毫秒,并且从零状态开始启动(startup 关键字让电源电压从 0 开始爬升)。

参数 含义 我常用的值
10m 总仿真时长 开关电源一般 5m~20m
startup 从零状态启动 必加,否则初始条件不对
uic 使用初始条件 很少用,除非你知道自己在做什么

我的小技巧:仿真时长别设太长。比如 Buck 电路,开关频率 500kHz,周期才 2μs。你设个 100ms,LTspice 要算 50000 个周期,电脑风扇会转得飞起。先跑 5ms 看看趋势,够用就行。

3.1.2 最大步长设置

有时候你会发现波形很粗糙,像锯齿一样。这是因为 LTspice 自动调整了计算步长。你可以手动限制最大步长:

.tran 0 10m 0 100n startup

这行命令的完整格式是:.tran <Tstep> <Tstop> <Tstart> <Tmax>。其中 100n 就是最大步长 100 纳秒。

我曾经调试一个 LLC 谐振变换器,波形总是有毛刺。折腾了半天,发现是步长太大,没捕捉到谐振电流的细节。把最大步长设到 50ns,波形瞬间干净了。

注意:步长设得太小,仿真时间会指数级增加。100ns 的步长对于 100kHz 的开关频率已经足够。别为了追求完美设到 1ps,除非你有一台服务器。

3.2 直流扫描分析 (.dc) —— 找到电路的工作点

直流扫描,说白了就是让某个电压源或电流源的值慢慢变化,然后看电路其他节点的响应。这在分析电源的线性调整率、MOSFET 的转移特性时特别有用。

我记得刚入行时,带我的老工程师让我测一个 LDO 的 Dropout 电压。我拿着万用表量了半天,他走过来看了一眼,说:“用 .dc 扫描,5 秒钟出结果。” 从那以后,我就爱上了这个功能。

3.2.1 语法与示例

.dc V1 0 5 0.1

这行命令的意思是:让电压源 V1 从 0V 扫描到 5V,步长 0.1V。LTspice 会在每个步长点计算一次直流工作点。

你还可以做嵌套扫描,比如同时改变输入电压和负载电流:

.dc V1 0 5 0.1 I1 0 1 0.05

这个命令会生成一个二维扫描表。我一般用这个来分析电源的效率地图。

应用场景 命令示例 看什么
LDO Dropout 电压 .dc VIN 0 5 0.05 输出电压开始下降的点
MOSFET 转移特性 .dc VGS 0 5 0.01 VGS 与 ID 的关系曲线
电源线性调整率 .dc VIN 4.5 5.5 0.01 VOUT 随 VIN 的变化量

关键点:直流扫描不涉及时间,所以仿真速度极快。哪怕电路很复杂,几秒钟就能跑完。这是快速验证电路静态特性的利器。

3.3 交流小信号分析 (.ac) —— 看穿电源的“频率响应”

交流小信号分析,这是开关电源仿真里最“玄学”的部分,但也是最重要的。它用来分析电路在频域中的行为——比如环路增益、相位裕度、输出阻抗。

你想想看,一个电源如果相位裕度不够,轻载时可能稳定,重载时就开始振荡。这种问题在时域波形里很难一眼看出来,但在 .ac 分析的波特图上一目了然。

3.3.1 语法与设置

.ac dec 100 10 100k

这行命令的意思是:以 10 倍频程(decade)为步进,每 10 倍频程取 100 个点,频率从 10Hz 扫到 100kHz。

我个人习惯,做 Buck 变换器的环路分析时,频率范围设到开关频率的 1/10 到 10 倍。比如开关频率 500kHz,我就扫 1kHz 到 5MHz。

扫描方式 语法 适用场景
十倍频程 (dec) .ac dec 100 10 100k 环路增益分析,低频段细节丰富
线性扫描 (lin) .ac lin 1000 10 100k 窄带分析,比如谐振频率附近
八倍频程 (oct) .ac oct 50 10 100k 介于 dec 和 lin 之间,较少用

3.3.2 必须注意的坑

做 .ac 分析前,LTspice 会先计算直流工作点。所以你的电路必须先能稳定工作在某个静态点。如果电路在直流下就不收敛,.ac 分析会直接报错。

我曾经踩过的坑:有一次做 Flyback 的环路分析,怎么跑都不收敛。查了半天,发现是反馈补偿网络的电容初始电压没设对。解决办法:在 .ac 之前先跑一段 .tran,让电路进入稳态,然后用 .save 保存工作点,再跑 .ac。

3.4 仿真命令设置面板详解

说了这么多语法,咱们来看看 LTspice 的仿真命令设置面板长什么样。在原理图界面,点击工具栏的 .op 图标(或者按 S 键),会弹出一个对话框。

这个面板其实就是一个文本编辑器。你可以在里面写任意多条仿真命令。比如:

.tran 10m startup
.option plotwinsize=0
.option numdgt=7

这里我加了两个 .option 命令:plotwinsize=0 禁用波形压缩,保证精度;numdgt=7 提高数值输出精度。这两个选项我几乎每次仿真都会加。

常用 .option 作用 推荐值
plotwinsize 波形数据压缩 0(禁用压缩)
numdgt 数值精度 7(双精度)
reltol 相对误差容限 1e-6(默认 1e-3)
abstol 绝对电流误差 1e-12

我的习惯:每次新建仿真,我都会在面板里先写好这三行:.tran 10m startup、.option plotwinsize=0、.option numdgt=7。然后根据具体需求再改。这样能避免很多因为精度不够导致的奇怪问题。

3.5 三种仿真的协同使用

在实际项目中,这三种仿真不是孤立的。我通常的工作流程是:

  1. 先跑 .dc:确认电路的静态工作点正确,比如输出电压、偏置电流。
  2. 再跑 .tran:看启动波形、负载瞬态响应、开关管应力。
  3. 最后跑 .ac:分析环路稳定性,确认相位裕度大于 45°。

你想想看,如果直流工作点都不对,瞬态波形肯定也是错的。如果瞬态波形有振荡,那 .ac 分析大概率会发现相位裕度不够。这三者环环相扣。