1. LTspice脚本入门

说实话,很多工程师用LTspice好几年,都只停留在“点鼠标画电路、按运行看波形”的阶段。我以前也是这样。直到有一次,我需要仿真一个电源芯片在20种不同负载下的启动波形,还要把每个波形的上升时间、过冲、稳定时间都记下来……

嗯,那天我手动测了整整一个下午。后来我学会了脚本,才发现自己浪费了多少时间。

这一章,我们就从最基础的东西开始。不绕弯子,直接上手。

1.1 LTspice的脚本环境在哪里?

LTspice的脚本,说白了就是写在原理图里的“文本指令”。你不需要装任何插件,也不需要打开什么IDE。

操作很简单:

  • 在原理图空白处,按 F4 或点击工具栏的 “Text” 图标
  • 弹出一个对话框,把脚本指令写进去
  • 点击 “OK”,指令就贴在原理图上了

这些指令会跟电路一起参与仿真。你写多少,它就执行多少。

我的习惯: 我会在原理图的右下角专门划一块区域放脚本,用文字框框起来。这样别人打开我的图,一眼就能看到“哦,这里做了自动化测量”。

1.2 .MEASURE语句:让软件帮你读数

你平时看波形是不是这样:等仿真跑完,拿光标去量上升沿的时间,再量过冲的幅度,然后记到Excel里?

.MEASURE就是替你干这个活的。你告诉它“测什么、怎么测”,它跑完仿真直接给你结果。

基本语法长这样:

.MEASURE <测量名称> <测量类型> <表达式>

举个例子,我想测节点 V(out) 从10%到90%的上升时间:

.MEASURE Tran Trise TRIG V(out)=0.1*Vfinal RISE=1 TARG V(out)=0.9*Vfinal RISE=1

看着有点长?拆开看就清楚了:

部分 含义
.MEASURE Tran Trise 瞬态分析,测量结果叫“Trise”
TRIG V(out)=0.1*Vfinal RISE=1 从V(out)第一次上升到0.1倍终值开始计时
TARG V(out)=0.9*Vfinal RISE=1 到第一次上升到0.9倍终值结束

仿真跑完后,打开 View → SPICE Error Log,就能看到:

trise: (targ-trig)=1.23456e-006

1.23微秒,清清楚楚。

核心思路: .MEASURE就是把“你手动读波形”这件事,变成“软件自动读”。一次写对,永远不用再重复。

1.3 .STEP语句:批量跑仿真

一个电路,电阻值从1k变到10k,步长1k,你想看输出怎么变化。你会怎么做?

以前的我:改一次电阻,跑一次仿真,截图,再改,再跑……

现在的我:写一行 .STEP,然后去喝杯咖啡。

.STEP PARAM Rvalue 1k 10k 1k

这行指令的意思是:让参数 Rvalue 从1k到10k,每次增加1k,一共跑10次仿真。

怎么用?在电阻的Value里写 {Rvalue},花括号告诉LTspice“这是个变量”。然后加上.STEP指令,搞定。

你也可以对多个参数同时扫描:

.STEP PARAM Rvalue 1k 10k 1k
.STEP PARAM Cvalue 1n 10n 1n

这样会跑10×10=100次仿真。嗯,这时候咖啡可能不够喝,得换壶茶。

我曾经踩过的坑: 第一次用.STEP,我忘了在元件值上加花括号。结果跑了一百次仿真,每次用的都是同一个电阻值。检查了半天才发现——花括号没写。记住:变量名必须用花括号包起来。

1.4 脚本与图形界面的关系

很多人觉得脚本和图形界面是两套东西。其实不是。

你可以在原理图上画电路、放元件、连导线——这些是图形界面干的。然后你在原理图上贴几条脚本指令——这些是脚本干的。

它们的关系是这样的:

LTspice仿真工作流:图形界面 + 脚本 图形界面操作 画原理图 · 放元件 · 连导线 设置仿真命令(.TRAN / .AC) 脚本指令 .MEASURE 自动测量 .STEP 批量扫描参数 共同送入 LTspice 仿真引擎 同时解析电路网表 + 脚本指令 输出结果 波形图(图形界面) + Error Log(脚本测量值)

你看,图形界面负责“画什么、怎么连”,脚本负责“测什么、怎么批量跑”。它们最终都交给仿真引擎去执行。结果也是两路输出:波形图给你看,Error Log给你数据。

所以别把脚本想得太神秘。它就是贴在原理图上的“自动化指令集”。

1.5 本章小结

这一章我们只干了三件事:

  1. 找到脚本环境 —— 按F4,写指令,贴原理图上
  2. 学会.MEASURE —— 让软件自动测量波形参数,不用手点光标
  3. 学会.STEP —— 一次写指令,批量跑几十上百次仿真

你想想看,如果每次改参数都要手动改、手动跑、手动读数,一个项目下来得重复多少次?我见过有人一个电源仿真做了两周,其实用脚本一天就能跑完。

给新手的建议: 先别急着学复杂的语法。今天就在你的原理图上贴一条最简单的.MEASURE,比如测个V(out)的最大值:.MEASURE Tran Vmax MAX V(out)。跑一次,看看Error Log里有没有结果。有了,你就入门了。