很多人第一次在LTspice里想找一个正弦波电压源时都会愣一下明明工具栏上摆着电压源符号点进去却只有一个DC Value输入框正弦波的选项到底藏在哪里我第一次用的时候也在这个界面上绕了十几分钟后来才明白LTspice把直流、正弦、脉冲、分段线性这些波形全部塞进了同一个电压源元件里只是入口比较隐蔽。这篇文章就是要把电压源从直流到正弦波的所有设置一次讲透覆盖符号放置、参数含义、实际仿真命令、常见报错适合刚接触LTspice的电子工程师、学生以及想用仿真验证ADC前端信号链的朋友。看完之后你会发现电压源不是一个电池符号那么简单它其实是LTspice里最灵活的信号发生工具。1. 把电压源放进原理图符号、快捷键和方向1.1 三种放置方式LTspice里放置电压源最常规的方式是点击工具栏上那个像是与非门的元件图标或者直接按快捷键F2在弹出的元件搜索框里输入voltage然后从列表中选择voltage符号并放置。这个符号在元件库的[Basic]分类下描述为Voltage Source。除了F2这条路在原理图编辑界面直接按键盘字母R可以放电阻、按C放电容、按L放电感、按G放地这是LTspice内置的快速放置习惯。如果你是第一次用LTspice建议把F2当作万能入口不管放什么元件F2之后输入名字就行。还有一种方法是从菜单Edit Component进入效果和F2一样只是多点了两下菜单。放置完成后你会看到一个圆圈形状的元件圆圈内部有正负极标记。这就是LTspice的直流电压源符号也是整个LTspice仿真中最常用的源。注意区分旁边的current源电流源符号是圆圈带箭头很多初学者会把两者搞混。1.2 方向、旋转与网表关系电压源符号默认上方是正极、下方是负极。这在网表里体现为类似V1 N001 0 5这样的语句意思是节点N001相对于参考地0的电压为5V。如果你在原理图上把电压源旋转180度网表里的节点位置也会对应变化所以摆放时就要想清楚正极性接哪里。旋转和镜像的操作很容易被忽略选中电压源后按CtrlR可以旋转90度按CtrlE可以做镜像翻转。在放置之前也可以连续按快捷键预览方向放下去之后右键也能在菜单里找到旋转选项。实际画电路图时电源正极接负载的高电位端、负极接地或接低电位端方向错了整个电路的参考电压就全反了。2. 直流电压源为什么填完电压还不够2.1 DC值和串联电阻两个最关键的字段右键点击电压源符号会弹出电压源设置窗口。最显眼的是DC Value输入框填入5就代表输出直流5V。但很多人忽略的是旁边那个Series Resistance字段它表示电压源的内阻。LTspice里的理想电压源默认内阻为零这在很多电路分析中会带来不真实的结果。比如你想模拟一节锂电池给负载供电电池实际有几十毫欧到上百毫欧的内阻如果直接填一个理想0欧姆的电压源负载电流大时电压也不会跌落仿真结果自然和实测对不上。给电压源填入合适的串联电阻比如Rser0.5低压差情况就能如实反映这在电机驱动、电源仿真里非常关键。网表层面带内阻的直流源会写成V1 OUT 0 5 Rser0.5这套语法在LTspice中是通用的。串联电阻不仅适用于直流源后面讲的正弦源同样可以设置内阻。2.2 直流工作点分析与电压源的关系LTspice做直流工作点分析.op时电压源的值直接决定每个节点的静态电位。很多后级电路跑不出正确结果第一步检查就应该是:电源电压设对没有。常见错误包括忘记给运放接电源或者双电源运放只接了一侧。举一个电机驱动仿真里最常见的例子直流无刷电机或者直流有刷电机控制电路母线电压用一个直流源模拟电压值必须精确设置否则电机转矩、转速的稳态结果会整体偏移。即使你只做单闭环直流调速系统仿真母线电压源的参数同样决定了整个反馈控制的工作点这一步错后面全错。2.3 两个容易忽略的隐藏设置打开电压源设置窗口后点击Advanced按钮进入高级界面。这里有几个平时不太注意但偶尔很关键的参数AC Amplitude交流小信号分析时的输入幅值。默认是1在做频率响应仿真时非常舒服因为输入幅值为1输出直接就是增益。AC Phase交流信号的初始相位一般默认为0多相信号仿真里会用到。Parallel Capacitance并联在电压源两端的寄生电容模拟高频特性时用得上普通仿真基本不用管。个人习惯是单纯做瞬态分析时只填DC Value和Series Resistance就够了做AC扫频时才需要明确设置AC Amplitude和AC Phase。这两套参数各管各的互不干扰但很多人会搞混。3. 正弦波电压源SINE语句的完整拆解3.1 每个字段的含义要得到正弦波在电压源设置窗口点击Advanced左侧Functions区域选择Sine右侧就会出现正弦参数列表。对应网表语法是V1 OUT 0 SINE(直流偏置 峰值幅值 频率 [延迟时间 阻尼系数 初始相位 周期数])下面这张表把每个字段的作用写清楚字段含义示例值说明直流偏置正弦波中心电压1.65正负交替信号需要抬升到ADC量程内时使用峰值幅值正弦波峰值不是峰峰值也不是RMS1幅值1表示正弦波在偏置基础上上下摆动1V频率正弦波频率单位Hz1000周期为1ms延迟时间从仿真开始到信号启动的时间0默认0阻尼系数指数衰减因子0大于0时波形会按e^(-theta*t)衰减初始相位初始相位角单位度090度时t0处是最大值周期数仿真多少周期后停止输出空默认一直输出最容易让新手迷惑的是幅值单位。LTspice里SINE的幅值参数是峰值幅值不是峰峰值。比如SINE(0 1 1000)产出的信号范围是-1V到1V峰峰值是2V。如果按RMS理解仿真结果和你预期会差很多。3.2 AC分析与瞬态分析两套幅值别搞混这是电压源设置里最经典的一个坑。在SINE的幅值栏填了1只能影响瞬态分析.tran时看到的正弦波形而在AC分析.ac中源用的是AC Amplitude字段的值。换句话说.tran看的是SINE(...)参数.ac看的是AC Amplitude参数举个例子你想做滤波器的幅频特性仿真源只要设置DC Value为0、AC Amplitude为1然后跑.ac dec 100 1 1Meg就能直接在输出端得到幅频曲线。这时候即使SINE幅值填了0也没有影响。如果需要在瞬态分析中同时保留直流偏置、又要在AC分析中做扫频就两套参数都填SINE字段负责瞬态波形AC字段负责小信号频响。3.3 调不出正弦波的几个低级原因根据我帮别人排查的经验仿真界面里看不到正弦波90%是下面几种情况只设置了SINE参数但没有添加瞬态分析指令.tran。LTspice不会因为你放了正弦源就自动画波形你得告诉它仿真多长时间。仿真时间太短。信号周期是1秒你只跑了tran 1m自然只能在波形窗口看到一条近似直线的上升段。幅值太小坐标轴自动缩放导致看起来像直线。把坐标轴手动缩放一下或者右键波形选择Plot Settings Manual Limits调整纵轴。信号源没有和探针节点连通。放好了电压源但导线没拉到测量点探针点电压始终是0。在DC Value栏里写了sin(...)表达式导致网表语法错误。普通电压源不支持在直流栏直接写函数想要任意表达式要用行为源bv。最后一条值得多说一句LTspice里叫behavioral voltage source的元件快捷键或元件搜索里输入bv就能找到它允许你在表达式里写V 1.65 sin(2*pi*1k*time)这种自定义函数。但日常仿真里常规电压源选Sine就够用了。4. 方波、任意波形和调频电压源的高频用法4.1 PULSE生成方波以及它和正弦波的关系在Advanced的Functions里选择Pulse可以生成脉冲和方波。对应语法是V1 OUT 0 PULSE(初始电压 脉冲电压 延迟时间 上升时间 下降时间 脉冲宽度 周期)要生成一个3.3V、频率1kHz、占空比50%的方波参数这样填初始电压0脉冲电压3.3延迟时间0上升时间1n纳秒级越接近理想的阶跃越好下降时间1n脉冲宽度0.5m500us高电平周期1m1ms周期对应1kHz方波的意义不只是在数字电路里做时钟信号。从傅里叶变换的角度看方波可以分解为基波正弦加上一系列奇次谐波正弦因此用方波源驱动一个低通滤波器就能在输出端得到近似正弦波。这也是很多信号源发生器采用方波滤波成正弦思路的原因。你在LTspice里把方波源后面接一个RC低通对比输出波形能直观看到方波和正弦波的关系。4.2 PWL把采集到的真实信号喂给仿真电路PWLPiecewise Linear分段线性源是电压源里最灵活的一种。语法很直白时间和电压成对出现V1 OUT 0 PWL(0 0 100u 3.3 200u 0 300u 3.3)上面这个例子生成了0到100us从0V上升到3.3V、100us到200us从3.3V降到0V的三角波。LTspice还支持从外部文件读取波形数据V1 OUT 0 PWL FILEdata.txt文件里每一行是一个时间点和一个电压值比如示波器导出的CSV经过处理后喂给仿真就能用真实采集到的信号作为激励源验证后级电路性能。这个功能在做ADC信号链仿真时特别有用。比如你在单片机上采集到了一段带直流偏置的传感器信号想验证滤波算法在仿真环境下的表现用PWL FILE把实际波形导进去比手填正弦参数真实得多。4.3 SFFM和EXP什么时候会派上用场SFFM是单频调频波语法为SFFM(偏置 幅值 载波频率 调制指数 信号频率)。它可以生成调频信号在FM解调电路、锁相环、无线接收前端仿真里比较常用。虽然调频源平时用得少但真到验证PLL环路锁定时间时一个干净的调频信号源能省不少事。EXP是指数源语法为EXP(初始值 峰值 延迟1 时间常数1 延迟2 时间常数2)。它专治上电和掉电瞬时过程仿真比如模拟电源的软启动斜率和断电后的保持时间。如果你做的是电源管理电路或者想复现LTspice仿真里的冲击电流问题EXP会比硬生生的阶跃源平滑很多。5. 实战搭一个带直流偏置的正弦波信号源给ADC前端5.1 电路结构与参数设计现在把前面所有知识串起来。假设你用的是3.3V供电的STM32单片机ADC输入范围是0到3.3V想仿真一个1kHz正弦波采样前端的信号链。传感器输出通常是双极性或者本身就带一个直流偏置为了让信号落在ADC量程内必须加直流偏置。电压源这样设置参数类型Sine直流偏置1.65峰值幅值1频率1000这样的正弦波输出范围是0.65V到2.65V整体在0到3.3V量程内不会削顶也不会触碰底部是一个非常典型的ADC前端输入。网表语句是V1 IN 0 SINE(1.65 1 1000)为了模拟信号链中的滤波在电压源后面接一个RC低通R1取1k欧姆C1取10nF截止频率约16kHz对1kHz信号几乎没有衰减但能把高频噪声压住。输出节点命名成OUT方便后面测量。5.2 瞬态仿真命令设置在原理图里添加SPICE指令输入.tran 0 5m 0 1u这条指令的意思是仿真5毫秒最大步长1微秒。5毫秒正好是1kHz信号的5个完整周期波形窗口里既能看到整个正弦包络又不会因为仿真时间过长而卡顿。最大步长设1us是考虑到如果后面接的是ADC的开关电容采样电路步长太大会漏掉采样毛刺。添加指令的方式有两种直接放置一个.tran文本快捷键T或菜单Edit SPICE Directive或者在仿真面板里配置后自动生成。放好后点击工具栏的Run小人跑步图标LTspice会打开波形窗口。5.3 波形读取、去直流和归一化处理仿真跑完后鼠标点一下OUT节点波形窗口就会显示带1.65V偏置的正弦波。要测量峰值和谷值直接在波形图上按住鼠标左键拖动会出现两个测量游标窗口底部会显示两个点的坐标差。读出Vmax和Vmin后峰峰值Vp-p Vmax - Vmin直流偏置Vdc (Vmax Vmin) / 2归一化信号Vnorm (V - Vdc) / (Vp-p / 2)如果你不想手工算LTspice波形窗口支持直接输入表达式在波形窗口的Plot Settings里添加新的绘图窗格输入V(out)-1.65就能看到去掉直流偏置后的信号再输入(V(out)-1.65)/1看到的就是归一化到正负1的信号。我个人的经验是去直流和归一化虽然是数字域的活但在LTspice里先把模拟前端波形验证好会让后面的MCU软件调试轻松很多。信号源本身偏置不对、幅值超量程后面怎么写算法都救不回来。6. 排查与避坑电压源相关的常见报错和现象6.1 unknown schematic syntax从网表里找原因LTspice初学者最容易撞到的报错是unknown schematic syntax。这个提示看着吓人其实大多数情况下是元件参数写得不规范。排查链路是固定的菜单View SPICE Netlist打开生成的网表找到报错信息指向的那一行对照标准语法检查。常见原因有在DC Value里填了非数值字符比如中文逗号或者带单位的写法5V。LTspice要求纯数值单位符号不能出现在这里。SPICE指令拼写错误比如.tran写成了.tans。从网页复制的文本里混入了不可见字符。电压源参数里用了错误的逗号分隔或者括号不匹配。把网表里的那一行和官方语法对一遍基本都能解决。6.2 导入运放SPICE模型时的电源坑标题热词里有人搜ltspice怎么导入ua741和LM324正弦波发生电路这里一起说。从官网或厂商网站下载的运放模型文件通常是.lib或.sub后缀本质上就是SPICE子电路文本。把文件放到LTspice安装目录下的lib\sub文件夹然后在原理图中放置一个通用的运放符号搜索opamp在元件Value栏填入模型名比如UA741。如果你用了这个运放做正弦波发生电路特别注意供电脚必须接电压源正电源脚接正直流源负电源脚接负直流源或者地。LM324这种单电源运放和UA741双电源运放的接法不一样电压源接反了仿真会直接报missing node或者波形完全错乱。常见的报错是Unknown subcircuit called UA741这说明模型文件没有被包含进仿真。处理方式是在原理图里添加一行SPICE指令.include UA741.lib然后重新运行。模型导入这件事和电压源配置经常混在一起出错排查时先确认电压源供电正常再检查模型有没有include。6.3 上电冲击电流、变压器和仿真附属文件很多人在电源仿真里遇到电流尖峰比如电压源直接接一个大电容仿真一开始电流瞬间冲到几千安这其实是理想电压源内阻为零带来的必然结果。解决办法是给电压源设置Series Resistance比如1欧姆甚至0.1欧姆或者不要用阶跃上电而是用PWL设置一个从0V逐渐升到目标电压的软启动过程。变压器仿真的坑也值得留意。LTspice没有直接的变压器符号常见做法是两个电感加耦合系数L1 N001 0 1m L2 N002 0 1m K1 L1 L2 1电压源接初级次级就能得到变换电压。注意耦合系数取1是理想情况仿真收敛困难时改成0.99更稳。最后说一个很多新用户都会困惑的现象保存LTspice文件时原理图旁边会多出.raw、.log、.net一类文件。.asc才是原理图文件其他都是仿真过程产生的附属文件.raw是波形数据.log是仿真日志.net是展开后的网表。这些文件每次仿真都会重新生成不需要手动保存也不会影响电路本身。我现在习惯把每个仿真工程单独放一个文件夹.asc和模型文件放一起附属文件乱就乱眼不见心不烦。电压源设置这件事说到底是LTspice里最基础但最容易被低估的一环。把直流、内阻、正弦、脉冲、分段线性这几类参数搞明白再去碰运放、ADC前端、变压器甚至电机驱动仿真都会顺手很多。
阅读完成 · 觉得有帮助?