
我当年第一次认真搭运算放大器电路用的就是LM358。当时买元器件顺手带了两颗店家连资料都没给我照着网上一张电压跟随器的原理图就往面包板上插结果上电那一刻万用表读数纹丝不动——折腾了半天才发现反相输入和输出接反了。从那以后我把能用LM358搭的经典电路都过了一遍也替它踩了足够多的坑。这篇博文就专门讲LM358这颗双运放从芯片参数和三大规律讲起再给电压跟随器、同相放大、反相放大、差分放大、恒流源五个常用电路的电路图、计算过程和参数选择最后附一份完整的Multisim仿真加面包板实测流程外加我实际测试中遇到的坑和排查办法。如果你刚接触运算放大器或者在课程设计、小项目里需要一块“随便折腾不心疼”的运放这篇文章正好适合你。准备一块面包板、几颗电阻、一个万用表就可以开始了。1. 认识LM358这颗双运放凭什么流行几十年1.1 芯片规格速览LM358是一颗双运放芯片封装一般有两种DIP-8直插和SOIC-8贴片。做面包板实验建议买DIP-8封装插拔方便引脚间距标准适合搭电路验证想法。引脚定义如下表芯片上通常有一个半圆缺口或圆点用来标记第一脚方向插之前一定先确认引脚顺序我见过太多人把芯片装反导致输出异常甚至烧坏。引脚号名称功能1OUT A运放A输出2IN- A运放A反相输入3IN A运放A同相输入4V-负电源单电源时接地5IN B运放B同相输入6IN- B运放B反相输入7OUT B运放B输出8V正电源核心参数我也整理了一张表方便你做设计时快速参考。注意不同生产厂家的手册指标会略有差异我按最保守、最常用的典型值来写。参数数值说明工作电压单电源3V~32V低压3V也能工作对电池供电友好工作电压双电源±1.5V~±16V正负电源对称供电也可以增益带宽积GBW1.1MHz决定放大频率上限的关键参数输入偏置电流典型50nA最大250nA输入阻抗极高基本不吸取信号电流输入失调电压典型2mV最大7mV会造成直流输出误差需留意输出电流能力典型20mA左右驱动重型负载不够需要扩流静态电流整颗约0.7mA功耗很小适合电池设备共模输入范围0 到 VCC-1.5V输入电压不能超过或低于这个范围1.2 推荐入门用的四个理由LM358在教材和各种课程设计里出现频率极高不是因为它是性能最好的运放而是因为它足够“皮实”。第一是便宜。正品DIP-8封装散件不过块把钱大量买甚至几毛钱一颗实验做废了也不心疼。第二是单电源友好。很多新手没有正负双电源设备而LM358在单电源3V到32V都能正常工作直接接9V电池或者充电器都能跑起来。第三是容错率高。它的电源范围宽、静态功耗低、不易自激即使接错反馈导致输出饱和多数情况下芯片也不会立即损坏。第四是资料足够多。国内外教程、仿真模型、案例视频一抓一大把遇到问题很容易查。这些特性决定了它特别适合做实验。需要注意的是LM358输出并不是“轨到轨”正电源轨附近会损失约1.5V电压也就是说如果VCC是9V输出最高也只能到7.5V左右很多新手第一次测出这个结果会以为芯片坏了其实是没注意输出范围。1.3 增益带宽积的坑增益带宽积这个概念一开始容易忽略但实际搭电路时会遇到。LM358的GBW是1.1MHz意思是“增益倍数和可用带宽的乘积等于1.1MHz”。如果你把电路设计成放大100倍那么有效带宽大约只有1.1MHz除以100等于11kHz如果放大11倍理论带宽约100kHz。做直流或者音频范围内的实验这个参数影响不大但如果你想把1MHz的高频信号放大LM358肯定不够用需要换NE5532、OP07或者更高带宽的运放。这个限制一定要在设计之初就估算否则电路搭出来增益上不去你会误以为是反馈电阻的问题。2. 运放三大规律与单电源偏置搭电路前必须搞懂2.1 虚短、虚断与输出饱和所有运放线性放大电路基本都建立在两大理想规律之上虚短和虚断。虚短是指在负反馈闭环工作状态下同相输入端和反相输入端的电压几乎相等。注意这里的“几乎”很关键实际上两个输入端之间会有毫伏级的差值这个差值就是输入失调电压。虚断则是指运放输入阻抗极高流进输入引脚的电流近似为零可以当作开路来分析。但这两个规律有一个大前提运放必须工作在负反馈状态下并且输出没有达到饱和。一旦输出撞到了电源轨上限或下限反馈就失效了虚短也不成立。我建议把它理解成“运放在拼命调节输出电压让反相输入端跟同相输入端保持一样”——这就像一个自动找平衡的人你给他一个目标他会调整输出直到误差归零。2.2 单电源下的偏置设计很多入门者第一次搭交流放大电路直接拿单电源供电结果发现输出的负半周波形不见了只剩下正半周看起来就像被削掉一半。原因很简单LM358在单电源接地的情况下输出只能从0摆动到正电源电压根本没有能力输出负电压。解决办法是给信号叠加一个直流偏置把静态工作点放在VCC的一半。最常用的方法是两个10kΩ电阻串联在正电源和地之间中间抽头得到VCC/2再并联一个10uF电解电容滤波得到一个稳定的“虚地”。交流信号通过一个隔直电容耦合到运放输入端这样运放工作时输出会围绕VCC/2上下摆动只要幅度不撞轨波形就完整。电阻分压一定要用电容滤波。如果不加电容偏置电压会跟随电源噪声波动输出噪声会明显变大严重时还会出现低频振荡。这个细节很多教程没写实际测试会非常明显。2.3 输出电流与负载匹配LM358的输出电流典型值是20mA左右这个能力驱动一个LED、一个ADC输入或者一个耳机是够用的但驱动继电器、电机这类大电流负载会吃紧。更稳妥的方式是让运放做“小信号控制级”后面接一个NPN三极管或者MOSFET来放大电流。比如用LM358做一个恒流源驱动LED运放输出先接到三极管基极三极管再去承受负载电流运放本身只输出毫安级别的控制电流。这样既保护了芯片又能让电路带载能力大幅提升。记住运放产品的本质是“电压放大器”不是“功率放大器”需要大电流的时候永远优先考虑扩流。3. 五个必学经典电路从电压跟随器到恒流源3.1 电压跟随器电压跟随器是结构最简单的运放电路输入信号接到同相输入端输出引脚直接接回反相输入端。因为输出电压和输入电压相等所以增益为1看起来像是“没用”但在电路设计里它是个非常实用的缓冲器。它的核心价值在于隔离。很多传感器或者信号源输出阻抗很高如果直接接负载电压会被拉低而接上电压跟随器后由于运放输入阻抗极高几乎不吸取前级电流同时又可以用低输出阻抗驱动后级负载。我常用它做传感器信号和单片机ADC之间的接口。搭建时最容易犯的错就是把反馈线忘记接或者接错位置。只要反相输入到输出这根线断开运放就失去了负反馈输出会直接飞到电源轨你量到的电压就不是输入电压了。电压跟随器也适合作为第一个上电测试电路只要输入电压在共模范围内输出应该和输入几乎一致误差在几毫伏以内。3.2 同相放大器同相放大器是增益正数的基本放大电路。输入信号接到同相输入端电阻Rg连在反相输入端和地之间反馈电阻Rf连在反相输入端和输出端之间。增益计算公式是增益 1 Rf / Rg如果Rg取1kΩRf取10kΩ增益就是1 10 11倍。假设输入一个50mV的正弦波输出理论上应该是550mV。我实测时用9V电源供电输出端量到的交流幅度在540mV左右误差主要来自电阻精度和运放失调电压。同相放大器输入阻抗非常高基本可以忽略它对信号源的影响因此适合直接连接高阻抗传感器比如热电偶、驻极体麦克风模块、电位器等。缺点是它只能放大正增益不能实现小于1的衰减也不能把信号相位翻转。如果你需要低增益衰减信号要用后面的反相放大器或电阻分压。3.3 反相放大器反相放大器的结构和同相放大器有明显区别输入信号通过输入电阻Rg接到反相输入端同相输入端接地反馈电阻Rf接在反相输入端和输出端之间。增益公式是增益 -Rf / Rg负号表示输出相位与输入相反。如果Rf10kΩ、Rg1kΩ输入0.5V正弦波时输出就是-5V反相并放大10倍。需要注意的是这里运算放大器反相输入端处于“虚地”状态它的输入阻抗约等于Rg的值。如果Rg取1kΩ那么输入阻抗就是1kΩ对前级信号而言会成为不小的负载设计时必须考虑。反相放大器虽然输入阻抗低但扩展能力强。在反相输入端并接多路输入电阻就成了加法器再配合电容替代反馈电阻可以做成积分器。很多自动控制电路里的PID补偿网络用的就是反相放大器的各种变体。3.4 差分放大器差分放大器用于放大两个输入信号的差值同时抑制共模信号典型结构是四个电阻配合一个运放。输入V1通过电阻接到同相输入端同相端还有一路电阻接地输入V2通过电阻接到反相输入端反相端通过反馈电阻到输出。四个电阻如果全部取等值输出就是V减去V-即V_diff V1 - V2。这里最容易踩的坑是电阻匹配精度。理论上四个电阻相等时共模信号会被完全抵消但现实中普通电阻有5%误差电阻之间不匹配会导致输出含有额外的共模分量。如果你做精密测量建议选用0.1%精度的电阻或者直接换成仪表放大器芯片比如AD620、INA128等。LM358配合精密电阻做简单差分放大没有问题但不要指望它达到专业仪表放大器的指标。3.5 恒流源电路LM358做恒流源也是经典应用之一。这个电路相比前面几个稍微复杂一点但理解逻辑之后会觉得很自然。同相输入端接一个基准电压Vref反相输入端接采样电阻Rs的高端运放输出驱动一个NPN三极管基极三极管发射极串联采样电阻Rs到地负载接在正电源和三极管集电极之间。运放通过负反馈强制让反相输入端电压等于同相输入端电压也就是Rs两端的电压恒等于Vref因此流过Rs的电流恒定在I Vref / Rs。比如Vref取0.5VRs取10Ω那么电流就是50mA。改变Vref或者Rs就能调整恒流值。这个电路非常适合做LED恒流驱动、电池充电管理、传感器供电等场合。需要强调的一点是运放输出只是控制三极管的基极电流真正的负载电流由三极管承担所以上面3.3提到的“输出电流不够”问题被自然解决了。如果你想让电流可调把Vref改成电位器分压即可。3.6 顺带一提电压比较器把运放当作比较器用是所有线性放大器之外必须知道的另一面。只要断开负反馈让输出端不接回反相输入端运放就变成开环状态输出会直接跳到正电源或地。同相输入高于反相输入输出接近VCC反相输入高于同相输入输出接近GND。我做一个光控报警器时就用过这招光敏电阻和电位器分压后接到LM358的两个输入端输出接蜂鸣器驱动电路光照变化时输出翻转触发报警。这种用法不要求高精度LM358零漂和失调影响不大很适合做简单的开关阈值判断。需要说明的是LM358作为比较器时响应速度不快做几十kHz以上的方波生成器容易失真追求高速应用建议用专用比较器芯片比如LM393。4. 手把手实操从Multisim仿真到面包板实测4.1 材料清单与工具准备做实验之前先把材料和工具准备好清单如下工具/材料规格数量LM358运放DIP-8封装1片面包板标准830孔即可1块跳线公对公杜邦线若干若干电阻1kΩ、10kΩ、100kΩ各2~3个电解电容10uF/25V1个瓷片电容100nF2个直流电源9V电池或USB 5V1个信号发生器手机音频输出也可代替1个万用表必备1台示波器可选没有也能测1台面包板实验我会劝你优先使用9V电池或者USB 5V电源尽量避免使用那种能输出几安培的大功率桌面电源。运放实验电流很小电池供电既干净又安全即便接错线路损坏范围也相对可控。如果你只有USB电源注意共地USB输出和信号发生器之间必须连接地线否则测量参考点不一致波形会乱跳。4.2 第一步Multisim仿真验证Multisim是NI公司出品的一款电路仿真软件学生版或者试用版足够做运放实验。我搭电路前习惯先把原理图在Multisim里过一遍目的是快速验证参数计算是否正确避免面包板上反复拆改浪费时间。新建原理图之后按下快捷键放置元件在Place菜单里选择ComponentGroup选AnalogFamily选OPAMP然后在搜索框输入LM358会出现LM358D、LM358N等多个型号随便选一个即可。如果你用的是新版本Multisim直接输入LM358也常常能搜到。先搭电压跟随器测试放置一个AC电压源设置参数为1kHz、幅值0.5V把正极接到LM358同相输入3脚输出1脚直接接回反相输入2脚电源用两个直流源或者直接用VCC符号4脚接地8脚接9V。输出端接虚拟示波器仿真后应该看到输入输出两条完全重合的波形。验证跟随器正常后再搭同相放大器加入Rg1kΩ接到反相输入到地Rf10kΩ接在反相输入和输出之间。输入信号还是50mV正弦波仿真输出应该是550mV左右。把Rf换成100kΩ增益变成101倍输出变成约5.05V这时候你会注意到波形顶部出现平顶——已经撞到输出饱和了这也是一个很直观的“输出轨”演示。4.3 第二步面包板搭建与接线仿真没问题之后进入实物搭建。先把芯片插在面包板中央凹槽上方让8个引脚分别落在左右两个不相通的插孔区。芯片顶部凹口朝左左下角是1脚按逆时针方向依次是2、3、4脚。我用这个方向是因为很多引脚图就是这样画的不容易搞混。接线顺序建议严格遵守“先电源、再输入、再反馈、后输出”的流程。先把8脚接正电源4脚接地然后在电源引脚附近并联一个100nF瓷片电容做去耦这个电容离芯片越近越好。如果不加电源线上的高频噪声容易通过运放窜到输出端严重时会引起自激振荡。接着接输入信号线、反馈电阻、输出线。所有跳线尽量短尤其是反馈电阻到反相输入端、输出端这段路径过长线缆会引入寄生电感在放大倍数高的时候容易自激。很多人搭同相放大器出现啸叫九成是因为反馈线太长太乱。上电前再检查三件事电源正负极是否接反芯片方向是否装反反馈电阻是否真的连接在反相输入和输出之间。我自己的习惯是先用万用表二极管档测一下8脚和4脚之间正常会有几百到一千多欧姆的读数如果完全短路或者无穷大芯片可能已经损坏。4.4 第四步通电测量与波形验证通电后先测量静态工作点。不接输入信号时电压跟随器输出应该接近0同相放大器输出应接近0或一个很小的直流电压。如果你给同相输入端加了VCC/2偏置那么静态输出也应在VCC/2附近。接入1kHz、50mV正弦波后用示波器观察输出。同相放大11倍时输出应该在550mV左右且和输入信号同相位反相放大10倍时输出应该是500mV左右相位差180度。没有示波器的朋友可以用万用表交流电压档测量因为波形是标准正弦波交流电压读数大约等于有效值同样能验证放大倍数是否合理。还有一个很实用的验证技巧万用表直流档测量反相输入端对地电压在同相输入端给一个稳定的直流电压时反相输入端电压应该等于同相输入端电压这就是前面说的“虚短”。如果两个电压差超过几十毫伏说明反馈回路有问题或者运放已经饱和这个技巧用来排障特别高效。4.5 如果没有示波器怎么判断电路正常示波器不是每个人都有但做运放实验不一定必须有。最简单的替代方案是信号源用手机播放1kHz的正弦波音频通过3.5mm耳机线输出再串联一个1uF电容和一个10kΩ电位器做衰减把信号送入运放输入端输出端接有源音箱或耳机监听。如果电路工作正常你会听到清晰的1kHz单音如果出现明显失真听到的声音发破、发闷说明输出波形被削顶如果完全没有声音先检查静态偏置和电源。这个办法特别适合验证音频范围内的运放电路很多音频放大实验都是这么调的。5. 常见问题与避坑指南把踩过的坑一次性说清5.1 问题排查速查表我在大量运放实验中遇到过各种问题下面这张表覆盖了最常见的现象、可能原因和排查方法建议先把这张表截图保存动手调试时对照着查。现象可能原因排查方法输出始终接近正电源反馈断开或者输入悬空检查反馈电阻、反相输入到输出连线输出始终接近地输入超出共模范围或电源接反检查输入电压是否在0到VCC-1.5V之间输出波形被削掉一半无直流偏置或增益太大增加偏置电路或减小输入信号输出直流偏移明显电阻精度差或输入失调电压测量并记录输出失调软件/硬件校准放大倍数和计算值差很多反馈电阻、输入电阻选错用万用表实测电阻值不要相信色环标称输出出现自激振荡电源去耦不足反馈走线过长加100nF去耦电容缩短跳线带负载后电压瞬间跌落输出电流超限改用三极管扩流或增大负载阻抗芯片发热明显电源接反或芯片损坏立刻断电检查8脚4脚电压5.2 四个容易踩的坑和避坑方法第一个坑是反相放大器的“虚地”误解。很多人以为反相输入端直接接地然后拿万用表量对地阻值量出来是0就把输入信号直接接在反相输入上结果增益完全不对。记住反相输入端是虚地而不是物理地信号必须通过输入电阻再进反相端电流路径才是正确的。第二个坑是输入信号超过了共模输入范围。LM358的共模输入范围在0到VCC-1.5V之间如果你用9V电源输入信号不能超过7.5V也不能低于0V。不少人在反相放大器里接了一个负脉冲信号结果输出完全不响应就是因为输入低于地电位。第三个坑是反馈电阻取值太极端。取值范围建议在1kΩ到100kΩ之间。取值太小运放输出电流负担大功耗和失真增加取值太大偏置电流流过电阻产生的误差不可忽略。比如反相输入偏置电流250nA流过1MΩ电阻会产生0.25V误差这已经非常明显了。第四个坑是买到假芯片或者翻新芯片。LM358因为太通用市场上翻新件和劣质品不少。我从正规渠道买过一批也在地摊电商买过散片后者的丝印模糊、引脚发黑上电后输出偏移达到几十毫伏甚至某些批次带负载能力完全不行。做实验还好做正式产品一定要从大型授权分销商处购买。5.3 进阶扩展LM358还能怎么玩除了前面说的几个经典电路LM358还能做很多有意思的东西。比如升压电路里LM358经常被用来做误差放大器输出电压通过分压电阻采样和基准电压比较后输出的误差信号控制PWM芯片或开关管的导通时间从而稳定输出电压。注意这里LM358不是功率器件它只是控制环路的一部分真正承担升压功能的是电感和开关管。音频应用方面LM358做低端音频放大可以听个响但音质比NE5532差一些。NE5532的噪声更低、带宽更高、驱动能力也更强适合做音频前置放大器而LM358静态电流小、电源范围宽、单电源能力强更适合用在传感器信号调理、电池供电设备、电源控制环路等场景。选型时看你具体需求不是越贵越好。如果做精密仪表信号放大比如称重传感器、热电偶、电桥测量我建议直接选仪表放大器。AD620、INA128这类芯片内部已经把三运放差分结构集成好电阻匹配精度高共模抑制比远胜普通运放分立搭法。LM358入门和学习价值极高但精密场合确实不是它的强项。5.4 没有示波器时验证“虚短”的小技巧最后分享一个我很常用的排障技巧。当电路接成负反馈放大结构时用万用表直流电压档黑表笔接地红表笔分别量同相输入和反相输入对地电压如果两个读数相差超过几十毫伏极大概率是反馈回路的问题。以同相放大器为例如果同相输入接一个1V直流电压增益设置成11倍正常输出就是11V前提是电源要高于12.5V左右。但如果反馈电阻虚焊、导线接触不良反相输入端对地电压可能只有0.5V左右输出直接饱和到电源电压。此时只需要用万用表量一下两个输入端的电压问题立刻就能定位。这个技巧看起来基础实际调试效率非常高。我后来调其他运放电路比如恒流源、差分放大、甚至锁相环里的运放滤波器都是先拿万用表确认“虚短”是否成立再去拿示波器看波形细节。只要虚短不成立后面的分析都没有意义。