3、仿真设置与分析:.tran瞬态分析设置、.ac交流分析设置、.dc直流扫描设置、仿真命令详解。

各位同学,咱们今天聊聊仿真设置。说实话,很多工程师画原理图是一把好手,一到仿真设置就懵了。我见过不少同事,仿真跑不出来,急得满头大汗,最后发现是设置参数写错了。嗯,咱们今天就把这事儿彻底讲明白。

3.1 .tran 瞬态分析——看波形随时间怎么变

瞬态分析,说白了就是看电路从通电开始,电压电流随时间怎么变化。你想想看,电源上电瞬间有没有过冲?开关管导通时电流尖峰有多大?这些都得靠 .tran 来看。

基本语法:

.tran Tstep Tstop [Tstart [dTmax]] [modifiers]

参数含义:

参数说明我常用的值
Tstep输出数据的时间步长一般设 Tstop 的 1/1000
Tstop仿真结束时间看电路时间常数来定
Tstart开始保存数据的时间(可选)跳过启动暂态时用
dTmax最大仿真步长(可选)收敛困难时减小它

实战经验:我在做反激电源时,发现输出纹波总是不对。折腾了半天,原来是 Tstep 设得太大了,把高频纹波给"平滑"掉了。后来我把 Tstep 设为开关周期的 1/100,波形一下就清晰了。

常用修饰符:

  • uic——使用初始条件。我建议第一次仿真时加上,能避免很多收敛问题。
  • startup——从零开始,电源缓慢上升。模拟真实上电过程。

举个例子,一个 Buck 电路,开关频率 100kHz,我想看 5ms 内的启动过程:

.tran 0 5m 0 10n startup

这里 Tstep 设 0,让 LTspice 自动选择。dTmax 设 10ns,保证能捕捉到开关动作。

我的小技巧:如果仿真跑得太慢,先别急着加 dTmax。试试把 Tstep 设大一点,比如设成 Tstop/5000。LTspice 内部会自动插值,不影响精度。

3.2 .ac 交流分析——看频域特性

交流分析,就是给电路加一个小信号正弦波,看它在不同频率下的响应。说白了,就是看你的电源环路稳不稳定,带宽够不够。

基本语法:

.ac DEC Ndec Fstart Fstop

三种扫描方式:

方式语法适用场景
十倍频程DEC Ndec Fstart Fstop环路分析最常用
线性LIN N Fstart Fstop窄带分析
倍频程OCT Noct Fstart Fstop音频电路

我个人习惯用 DEC,因为电源环路通常要看好几个十倍频程。比如:

.ac DEC 100 10 1MEG

这表示从 10Hz 扫到 1MHz,每十倍频程取 100 个点。

注意:做 .ac 分析前,一定要确保电路有正确的直流工作点。我曾经犯过一个低级错误——没给运放加供电电压,结果扫出来的增益曲线完全不对,还以为是环路补偿设计错了。折腾了两天才发现是电源没接。

怎么看结果?

  • 右键点击波形图标签,选 "View" -> "Fourier",可以看谐波。
  • 测相位裕度:把光标放在增益为 0dB 的频率点,看相位差。
  • 测带宽:-3dB 对应的频率。

避坑指南:我曾经做一个 LLC 变换器,.ac 分析怎么都收敛不了。后来发现是变压器模型里漏感设得太小,导致高频极点跑到几 GHz 去了。把漏感调到实际值,问题就解决了。

3.3 .dc 直流扫描——看静态工作点怎么变

直流扫描,就是让某个参数(比如输入电压)慢慢变化,看电路各点的直流电压怎么跟着变。这个在电源设计中特别有用,比如看稳压器的线性调整率。

基本语法:

.dc SrcName Start Stop Step [Src2 Start2 Stop2 Step2]

参数说明:

  • SrcName——要扫描的源名称(V1、I1 等)
  • Start——起始值
  • Stop——终止值
  • Step——步长

举个例子,看一个 LDO 在输入电压从 3V 到 5V 时的输出变化:

.dc V1 3 5 0.01

我的经验:做 .dc 扫描时,步长别设太小。我见过有人设 1μV 的步长,结果仿真跑了半小时还没完。一般来说,步长设为 (Stop-Start)/100 就够用了。

嵌套扫描:可以同时扫两个参数,比如看不同负载下的线性调整率:

.dc V1 3 5 0.1 I1 0 1 0.1

这样会生成一个二维扫描结果,用颜色深浅表示输出变化。

3.4 仿真命令详解——那些你可能不知道的"开关"

除了上面三个核心命令,LTspice 还有一些"隐藏"命令,用好了能省不少事。

命令作用我的用法
.options设置仿真选项.options plotwinsize=0 关掉波形压缩
.meas测量特定值.meas TRAN Vout_avg AVG V(out) 测平均电压
.step参数扫描.step param Rload 10 100 10 扫负载
.four傅里叶分析.four 100k V(out) 看 THD

重点提醒:.options plotwinsize=0 这个命令,我几乎每个仿真都会加。LTspice 默认会压缩波形数据,导致波形有锯齿。关掉压缩后,波形平滑多了,尤其是看高频纹波时特别明显。

.meas 命令实战:

.meas TRAN Vout_rise TRIG V(out)=3.3 RISE=1 TARG V(out)=3.3*0.9 RISE=1
.meas TRAN Vout_overshoot MAX V(out) FROM 1m TO 2m

第一行测上升时间,第二行测 1ms 到 2ms 之间的最大过冲。这些数据可以直接在 SPICE Error Log 里看到,不用手动去波形图上量。

注意:.meas 命令对时间格式很敏感。我刚开始用时,经常因为时间单位写错(比如把 1ms 写成 1m,但 LTspice 默认是秒),导致测量结果完全不对。建议统一用 1m、1u 这种标准写法。

好了,关于仿真设置,今天就聊到这儿。记住一句话:仿真不是目的,帮你把电路调好才是。下次咱们讲怎么用这些命令搭一个完整的电源仿真平台。