ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

LTspice仿真10种经典运放电路:从原理到实践

LTspice仿真10种经典运放电路:从原理到实践 1. 为什么我要用LTspice把10种运放电路跑一遍模拟电路这门手艺看十遍书不如自己动手仿一遍。我刚开始学运放那会儿公式背得滚瓜烂熟什么虚短虚断、增益带宽积、压摆率张口就来但真到画板子调电路的时候一个简单的同相放大都能被寄生电容和偏置电流搞得输出飘上天。后来一位老师傅跟我说你先把LTspice用熟把每种经典电路都仿真跑通再去看实际波形和理论值的差距比你在纸上推一百遍公式都管用。LTspice是ADI原Linear Technology推出的一款免费SPICE仿真软件在模拟电路圈子里几乎是标配工具。它体积小、启动快、模型库全尤其是自带大量运放和开关电源的SPICE模型做运放电路仿真非常顺手。我这次把10种最经典的运放电路从同相放大到有源滤波全部用LTspice跑了一遍每一种都从原理、参数计算、仿真搭建到波形分析完整走通中间踩过的坑和总结的技巧一并写出来。这篇文章适合谁看如果你是电子类专业的学生正在学模电但觉得理论太抽象如果你是刚入行的硬件工程师想快速验证一个运放电路的可行性或者你只是电子爱好者想找一个靠谱的仿真工具入门——那这篇内容应该能帮到你。我不打算写成软件说明书而是按照实际做项目的思路一个电路一个电路地拆解把为什么这么选参数、为什么波形长这样、哪里容易出错都讲清楚。2. LTspice上手前的准备工作与基础配置2.1 软件获取与安装注意事项LTspice在ADI官网可以直接下载Windows和Mac版本都有。安装过程没什么特别的一路下一步就行。但有一个细节值得注意安装路径尽量不要带中文和空格虽然新版本对中文路径的兼容性好了很多但SPICE模型文件在读取时偶尔会因为路径问题报错尤其是你后面要导入第三方模型的时候。我一般习惯装在C:\LTspice或者D:\LTspice这种干净的路径下。安装完成后第一次打开你会看到一个比较朴素的界面没有花哨的 ribbon 菜单工具栏上的图标也不算直观。别被这个界面劝退LTspice的核心操作其实就几个放置元件快捷键F2、连线F3、运行仿真那个跑步的小人图标、查看波形点节点或者元件引脚。用熟了之后效率非常高。注意LTspice默认的仿真速度设置比较保守如果你仿真的电路规模较大或者瞬态仿真时间较长可以在Simulate菜单下的Control Panel里调整SPICE选项卡中的Threads数量把它设成你CPU的核心数仿真速度会有明显提升。2.2 运放模型的选择与导入LTspice自带了一个Opamps目录里面有不少运放模型比如UniversalOpamp2、LT1001、LT1012、LT1364等等。对于初学者来说UniversalOpamp2是一个非常好的起点因为它是一个理想化的运放模型你可以自己设定增益带宽积、压摆率、输入失调电压等参数方便你理解电路本身的行为而不被真实运放的寄生参数干扰。但如果你想更贴近实际我建议用LT1001或者LT1013这类通用精密运放。它们的模型包含了真实的输入偏置电流、失调电压、共模抑制比等特性仿真结果和实际搭电路测出来的波形会更接近。导入第三方SPICE模型的方法也不复杂把.mod或.lib文件放到LTspice的lib\sub目录下然后在原理图上放一个opamp2符号右键点击它在Value栏填入模型名称再在原理图上加一条.include指令指向模型文件即可。我个人的习惯是做理论验证的时候用UniversalOpamp2做实际电路预研的时候用具体型号的模型。这样既能快速理解电路原理又能在后期评估真实器件的非理想特性。2.3 仿真类型与基本设置LTspice支持多种仿真类型运放电路常用的有四种瞬态分析.tran、交流分析.ac、直流扫描.dc和直流工作点分析.op。每种仿真对应不同的分析目的瞬态分析看时域波形比如放大器的输入输出波形、滤波器的阶跃响应、振荡器的起振过程。设置时需要指定仿真时间比如.tran 10m表示仿真10毫秒。交流分析看频率响应比如放大器的幅频特性和相频特性、滤波器的截止频率和滚降斜率。设置时需要指定频率范围和扫描方式比如.ac dec 100 1 1Meg表示从1Hz到1MHz按十进制每十倍频程100个点扫描。直流扫描看直流传输特性比如比较器的阈值电压、放大器的输入输出范围。设置时指定扫描的源和范围比如.dc V1 -5 5 0.01。直流工作点看电路各节点的静态电压和电流用来检查偏置是否正确。对于运放电路仿真我通常先跑.op确认直流工作点正常再跑.ac看频响最后跑.tran看时域波形。这个顺序能帮你快速定位问题如果.op就不对那后面的仿真肯定有问题先回去检查电源和偏置。3. 同相放大与反相放大运放电路的基石3.1 同相比例放大电路的原理与参数计算同相放大电路是运放最基础的应用之一。输入信号从同相端输入反馈网络由两个电阻组成从输出端分压后反馈到反相端-。理想情况下闭环增益由反馈电阻和接地电阻的比值决定[ A_v 1 \frac{R_f}{R_1} ]这个公式的推导基于虚短和虚断两个概念。虚短是指运放正常工作在负反馈状态下时两个输入端的电压近似相等虚断是指输入端不吸收电流所以反相端的电流全部流过反馈电阻。这两个概念是理解所有线性运放电路的基础。我在LTspice里搭建这个电路的时候选的是UniversalOpamp2模型电源用±12V双电源R1取10kΩRf取90kΩ理论增益就是10倍。输入信号用SINE(0 0.1 1k)也就是幅度0.1V、频率1kHz的正弦波。跑瞬态分析10ms看输出波形幅度应该是1V左右和输入同相。这里有一个细节值得注意同相放大电路的输入阻抗非常高理想情况下等于运放本身的输入阻抗实际中受共模输入阻抗的限制但通常也在兆欧级别。这是同相放大相对于反相放大的一个显著优势适合用于传感器信号调理这类需要高输入阻抗的场景。3.2 反相放大电路的设计要点反相放大电路的输入信号从反相端输入同相端接地。闭环增益为[ A_v -\frac{R_f}{R_1} ]负号表示输出与输入反相。这个电路的输入阻抗等于R1所以如果你想提高输入阻抗就需要增大R1但增大R1会同时影响增益需要相应增大Rf。Rf太大会引入更大的热噪声和偏置电流引起的误差所以反相放大电路的输入阻抗通常不会做得太高一般在几十千欧以内。在LTspice里搭建反相放大时我用了同样的UniversalOpamp2R1取10kΩRf取100kΩ增益就是-10倍。输入信号幅度0.1V输出应该是1V反相。跑瞬态分析后波形确实如此。实操心得反相放大电路的同相端虽然理论上接地但实际上应该通过一个平衡电阻接地这个电阻的阻值等于R1和Rf的并联值。这样做是为了抵消输入偏置电流在两端产生的失调电压。在LTspice里用理想运放模型时这个电阻的影响不明显但换成真实运放模型后你会发现不加平衡电阻时输出会有几十毫伏的直流偏移。3.3 两种放大电路的仿真对比与选型建议把同相和反相放大放在一起对比能更清楚地看出各自的适用场景。我整理了一个对比表格特性同相放大反相放大增益公式(1 R_f/R_1)(-R_f/R_1)输入阻抗极高兆欧级等于R1通常较低输出相位与输入同相与输入反相共模输入存在共模信号共模电压近似为零适用场景高阻抗传感器信号调理需要反相或低阻抗输入的场合从仿真结果来看两种电路在理想运放模型下的频响特性几乎一致增益带宽积都等于运放的增益带宽积除以闭环增益。但换成真实运放模型后同相放大由于存在共模输入共模抑制比的影响会体现出来尤其是在高频段。反相放大则没有这个问题因为两个输入端都近似为地电位。我个人的经验是如果信号源内阻较高比如压电传感器、光电二极管这类优先用同相放大如果信号源内阻较低或者需要反相输出用反相放大更合适。如果对共模抑制要求很高反相放大是更稳妥的选择。4. 加法器、减法器与差分放大运算电路的进阶4.1 反相加法电路的搭建与验证反相加法电路是在反相放大电路的基础上把多个输入信号通过各自的输入电阻连接到反相端。输出等于各输入信号的加权和权重由反馈电阻与各输入电阻的比值决定[ V_{out} -R_f \left( \frac{V_1}{R_1} \frac{V_2}{R_2} \cdots \right) ]我在LTspice里搭了一个两路加法器R1和R2都取10kΩRf取10kΩ这样每路增益都是-1输出就是两路输入之和的反相。输入用两个不同频率和幅度的正弦波跑瞬态分析后输出波形确实是两路信号叠加后反相的结果。这个电路在实际中常用于音频混音、信号叠加、DAC输出合成等场景。需要注意的是加法器的输入路数越多反相端的寄生电容越大高频响应会变差。如果做高频加法器需要选择低输入电容的运放并尽量缩短反相端的走线。4.2 差分放大电路与共模抑制差分放大电路用来放大两个输入信号之间的差值同时抑制共模信号。标准差分放大电路由四个电阻组成增益为[ V_{out} \frac{R_f}{R_1} (V_2 - V_1) ]前提是(R_1 R_3)且(R_f R_2)电阻匹配精度直接影响共模抑制比。在LTspice里我用理想运放搭了一个增益为10的差分放大电路R1和R3取10kΩRf和R2取100kΩ。输入加一个差模信号和一个共模信号跑瞬态分析后差模信号被放大10倍共模信号被抑制。但这里有一个坑如果四个电阻的匹配精度不够共模抑制比会急剧下降。我做过一个仿真实验把其中一个电阻的阻值偏差1%共模抑制比就从理想情况下的无穷大降到了大约40dB。所以实际电路中差分放大电路的四个电阻最好用0.1%精度的匹配电阻或者直接用集成差分放大器芯片。4.3 减法器电路的实现与仿真减法器本质上是差分放大电路的一种特例其中一个输入端接参考电压。在LTspice里我把差分放大电路的同相端接一个直流参考电压反相端接输入信号就构成了一个减法器。输出等于输入信号减去参考电压再乘以增益。这个电路常用于电平移位、传感器零点校准等场景。比如一个压力传感器的输出范围是0.5V到4.5V你想把它转换成0V到4V的信号给ADC就可以用减法器减去0.5V的偏移再放大1倍。注意减法器电路中参考电压源的输出阻抗会影响增益精度。如果参考电压是通过电阻分压得到的分压电阻的并联值会与同相端的输入电阻形成分压导致增益偏离理论值。解决方法是在参考电压和同相端之间加一个电压跟随器进行缓冲。5. 积分器、微分器与有源滤波器的仿真实现5.1 积分器电路的原理与波形分析积分器电路把反相放大电路中的反馈电阻换成了电容输出与输入信号的积分成正比[ V_{out} -\frac{1}{RC} \int V_{in} , dt ]在LTspice里搭建积分器时R取10kΩC取10nF时间常数RC就是100微秒。输入用方波输出应该是三角波。我跑瞬态分析后确实看到了三角波输出但波形有点倾斜这是因为理想积分器在低频段增益无穷大任何微小的直流失调都会被不断积分最终导致输出饱和。实际电路中积分器需要在反馈电容两端并联一个大电阻限制低频增益防止直流饱和。这个电阻的阻值通常取RC时间常数的10倍以上比如这里可以取1MΩ。加上这个电阻后积分器就变成了一个低通滤波器但在远高于截止频率的频段仍然表现为积分器。5.2 微分器电路的稳定性问题微分器电路把输入端的电阻和反馈端的电容互换了位置输出与输入信号的微分成正比[ V_{out} -RC \frac{dV_{in}}{dt} ]微分器在理论上对高频信号的增益随频率线性增加这意味着高频噪声会被极度放大导致输出不稳定。我在LTspice里用理想运放搭了一个微分器输入加了一个带噪声的方波输出波形上叠加了大量高频毛刺几乎看不清有用的微分信号。解决方法是输入串联一个小电阻限制高频增益。这个电阻的阻值通常取微分电阻的1/10到1/5同时在反馈电容两端并联一个小电容进一步抑制高频噪声。经过这样处理后微分器的输出就干净多了。5.3 有源低通滤波器的设计与仿真有源滤波器是运放电路中最实用的应用之一。我这次重点仿真了二阶Sallen-Key低通滤波器因为它结构简单、参数计算方便、对运放要求不高。Sallen-Key低通滤波器的截止频率为[ f_c \frac{1}{2\pi \sqrt{R_1 R_2 C_1 C_2}} ]为了简化设计通常取R1R2RC1C2C则截止频率简化为(f_c 1/(2\pi RC))。品质因数Q由电容比值决定对于巴特沃斯响应最平坦通带Q取0.707此时C1/C22。我在LTspice里设计了一个截止频率10kHz的低通滤波器取R10kΩ计算得C1.59nF取标准值1.5nF和2.2nF组合。跑交流分析后幅频特性在10kHz处下降3dB之后以-40dB/十倍频程滚降和理论值吻合。实操心得Sallen-Key滤波器的Q值对元件精度很敏感尤其是电容的比值。如果你用两个独立电容拼凑误差可能达到5%以上导致Q值偏离设计值。建议用同一批次、同一材质的电容或者直接用集成滤波器芯片。另外运放的增益带宽积至少要是截止频率的50倍以上否则高频段的滚降斜率会不达标。5.4 有源高通滤波器与带通滤波器的实现有源高通滤波器的结构和低通类似只是电阻和电容的位置互换。截止频率公式相同但通带和阻带对调。我在LTspice里把低通滤波器的R和C互换跑交流分析后低频段以40dB/十倍频程上升高频段平坦截止频率同样是10kHz。带通滤波器可以由低通和高通级联实现也可以直接用多路反馈MFB结构。我这次用级联法先高通后低通高通截止频率1kHz低通截止频率10kHz中间通带增益为1。仿真结果显示通带范围大约在1kHz到10kHz之间两侧各以-20dB/十倍频程滚降。如果需要更陡的滚降可以增加滤波器阶数。6. 比较器、振荡器与精密整流运放的非线性应用6.1 电压比较器与迟滞比较器运放做比较器时工作在开环或正反馈状态输出只有高电平和低电平两种状态。我在LTspice里搭了一个简单的电压比较器同相端接参考电压反相端接输入信号输出端通过一个上拉电阻接到正电源。跑瞬态分析后当输入超过参考电压时输出翻转到低电平反之翻转到高电平。但简单比较器有一个问题如果输入信号在参考电压附近有噪声输出会反复翻转产生抖动。解决方法是在电路中引入正反馈构成迟滞比较器。迟滞比较器的阈值电压有两个上门限和下门限差值就是迟滞宽度。我通过调整正反馈电阻的比值把迟滞宽度设定在100mV左右仿真结果显示输出在输入信号超过上门限时才翻转直到低于下门限才翻回来抖动完全消除。6.2 方波振荡器的起振与稳幅用运放搭方波振荡器最常见的是弛张振荡器结构运放做迟滞比较器输出通过RC积分网络反馈到反相端电容充放电到阈值时输出翻转形成自激振荡。振荡频率为[ f \frac{1}{2RC \ln(1 2R_1/R_2)} ]我在LTspice里搭了一个1kHz的方波振荡器R取10kΩC取100nFR1和R2的比值通过计算确定。跑瞬态分析时需要给电容一个初始电压或者加一个小的激励脉冲否则电路可能不起振。LTspice里可以用.ic V(c)1指令设置电容的初始电压或者用PULSE源给一个短暂的激励。起振后输出是标准的方波频率和理论值误差在2%以内。误差主要来自运放的压摆率限制和输出饱和电压与电源轨的差距。如果要求频率精度很高需要选择压摆率高、输出摆幅接近电源轨的运放。6.3 精密整流电路的仿真与波形分析普通二极管整流电路有0.7V的死区电压小信号整流时误差很大。精密整流电路把二极管放在运放的反馈环路内利用运放的高增益消除死区电压实现小信号的高精度整流。我在LTspice里搭了一个半波精密整流电路输入1kHz、100mV的正弦波输出是干净的半波整流波形负半周被完全削掉正半周几乎没有压降。换成全波精密整流电路后输出是完整的全波整流波形幅度和输入峰值一致。这个电路在实际中常用于信号检测、有效值计算、锁相环鉴相器等场景。需要注意的是精密整流电路在高频时受运放压摆率和二极管反向恢复时间的限制输出波形会失真。如果输入信号频率超过100kHz建议选择高速运放和肖特基二极管。7. 仿真中常见的收敛问题与排查技巧7.1 收敛失败的典型原因与解决方法LTspice仿真报错“Singular matrix”或者“Timestep too small”是新手最常遇到的问题。前者通常是因为电路中有悬空节点或者没有直流通路比如电容两端都悬空、运放电源没接等。后者通常是因为电路中有强烈的非线性或者正反馈导致仿真器无法找到收敛点。我遇到过的几次收敛失败原因分别是运放电源引脚忘记接、积分器没有加直流反馈电阻、振荡器电路没有设置初始条件。解决方法也很直接检查所有节点的直流通路给电容并联大电阻给振荡器设置初始电压。另外在.tran指令中加入startup选项让电源缓慢上升也能帮助收敛。还有一个技巧是调整仿真器的积分方法。LTspice默认用梯形积分法可以在.options里改成gear方法后者更稳定但精度稍低。具体指令是.options methodgear。如果电路中有开关或比较器还可以加入.options trtol7来放宽误差容限加快收敛速度。7.2 波形异常时的排查思路仿真跑通了但波形不对这种情况比收敛失败更让人头疼。我的排查思路是分三步走先看直流工作点再看交流频响最后看瞬态波形。直流工作点不对通常是偏置问题。比如运放的同相端和反相端电压不相等说明负反馈没有正常工作可能是反馈极性接反了或者运放模型的正负输入端定义和符号引脚不对应。交流频响不对通常是参数计算错误或者元件值填错。比如低通滤波器的截止频率偏高可能是电容值算错了一个数量级。瞬态波形不对通常是仿真设置问题。比如仿真时间太短看不到稳态波形或者步长太大波形失真。我习惯在原理图上多放几个电压探针和电流探针仿真后一次性把所有关键节点的波形都显示出来对比着看很容易定位问题出在哪一级。7.3 提升仿真速度与精度的实用设置LTspice的仿真速度和精度是一对矛盾。默认设置下仿真器会在速度和精度之间取一个折中。如果你做的是低频电路可以适当放宽精度要求加快仿真速度如果你做的是高频或者高精度电路就需要收紧精度牺牲一些速度。我常用的几个设置.options plotwinsize0关闭波形压缩保存所有数据点方便放大看细节。.options numdgt7增加输出数据位数提高精度。.tran 0 10m 0 1u前两个参数是仿真起止时间第三个参数是开始保存数据的时间第四个参数是最大步长。最大步长设为仿真周期的1/100到1/1000能保证波形平滑。.ac dec 1000 1 1Meg交流扫描每十倍频程1000个点频率响应曲线更平滑。注意.options plotwinsize0会显著增大仿真数据文件的大小如果仿真时间很长文件可能达到几百兆。建议只在需要看细节的时候开启平时保持默认的压缩设置。8. 从仿真到实际电路的差距与经验总结仿真跑得再漂亮实际搭电路的时候还是会遇到各种意外。我这些年从仿真到实际调试踩过的坑主要集中在几个方面。第一个是运放的输入偏置电流和失调电压。理想模型里这两个都是零但真实运放里偏置电流在反馈电阻上产生的压降会变成输出失调。比如一个偏置电流1nA的运放反馈电阻1MΩ输出失调就是1mV。如果做高增益或者高阻抗电路这个误差不能忽略。解决方法是在同相端加平衡电阻或者选择低偏置电流的运放。第二个是电源退耦。仿真里电源是理想的实际电路中电源引脚上的噪声会通过运放内部耦合到输出。我习惯在每个运放的电源引脚旁边放一个0.1μF的陶瓷电容和一个10μF的钽电容分别滤高频和低频噪声。第三个是PCB布局的寄生参数。仿真里走线是零阻抗的实际电路中走线的电感和电容会影响高频响应尤其是做高频滤波器或者高速比较器的时候。我的经验是运放的反馈走线尽量短输入走线远离输出走线地平面尽量完整。第四个是温度漂移。仿真默认在27°C下进行实际电路工作温度可能从-40°C到85°C。运放的失调电压温漂、电阻的温漂都会影响电路精度。如果做精密测量需要选择低温漂的电阻和运放或者在软件里做温度补偿。最后分享一个我自己的习惯每次仿真完一个电路我都会把原理图、仿真指令和波形截图整理到一个文件夹里标注好日期和参数。时间长了这就成了一个自己的电路库下次遇到类似需求直接翻出来改改参数就能用效率非常高。LTspice的.asc文件是纯文本格式体积很小用Git管理也很方便每次修改都有记录出了问题可以回溯。
返回列表