运放+二极管的精密整流电路:原理、搭建与实测
发布时间:2026/10/6 18:21:06 锦皓数字建站

上个月我帮朋友调一个测振动的小电路信号只有20mV左右前面明明接了二极管整流后级ADC却什么都读不到。拿示波器一看原因简单到让人叹气硅二极管0.7V的导通压降把这个级别的信号全吃了。要解决这类问题绕不开运放二极管的黄金组合——精密整流电路。精密整流这个词听起来高大上拆开看其实就是用运放的增益去补偿二极管的非线性让整流动作在小信号下依然保持线性。我这次用LM358和TL072各搭了一版同相精密半波整流器从原理推导到元件选型再到示波器实测整个过程走了一遍。这篇文章把搭建思路、参数计算、实测波形和踩坑记录都整理出来适合正在做信号调理、仪表前端或者音频电平检测的硬件工程师参考也适合刚接触运放应用电路的学生跟着复现。1. 普通二极管半波整流在小信号下为什么会失效1.1 导通压降把所有小信号都吃掉了很多刚接触模拟电路的人第一次搭二极管整流器时都会有这个疑问为什么计算出来应该是1V的输出实测却差很多问题出在二极管本身的导通门槛上。硅二极管正向导通需要大约0.6~0.7V的电压肖特基二极管好一些也需要0.2~0.3V。这意味着当你输入一个峰值只有0.5V的正弦波时二极管根本不会导通输出电压为0。哪怕输入峰值达到1V二极管真正打开的时间也远小于半个周期实际整出来的波形又矮又窄和理想半波整流差了十万八千里。这在小信号测量里是致命的。如果信号源是传感器输出比如热电偶、压电加速度计、光敏二极管放大后的信号幅度往往只有几十毫伏到几百毫伏普通二极管整流电路几乎形同虚设。1.2 误差不是简单减去0.7V这么简单有人会说那我把信号幅度做大不就行了比如加一级放大先放大到几伏再整流。这话对一半。信号可以放大但放大后整流依然存在误差而且这个误差不能简单地用输出减去0.7V来描述。以正弦波半波整流为例理想半波整流的输出平均值为Vavg Vp / π其中Vp是输入正弦波的峰值。但普通二极管导通后输出波形不再是一个完整的半正弦而是被砍掉底部的一段圆弧。这个被砍掉的部分不仅损失了幅度还改变了波形占空比导致输出平均值比Vp/π小得多。我实测过一个1kHz、2Vpp峰值1V的正弦波用1N4148搭半波整流输出平均值只有0.19V左右而理论半波整流平均值是0.318V误差超过40%。这还没算上温度影响——二极管压降随温度变化大约是-2mV/°C温漂会让误差进一步恶化。1.3 仪表里为什么坚持用精密整流Q既然误差这么大为什么万用表的AC档、功率计、音频电平表还能准确测出交流信号的有效值A因为这些仪表内部用的都不是普通二极管整流而是精密整流电路或者更准确地说是线性整流。精密整流的核心思路是把二极管放进运放的反馈环路里利用运放高达数十万倍的开环增益把二极管的导通压降等效缩小到微伏级别。这样一来二极管从必须有0.7V才导通变成了只要输入有几十微伏就开始整流死区基本消失。这也是为什么标题里说运放二极管还能这么玩——单独看二极管是非线性元件运放是线性放大元件但把两者组合起来就能得到接近理想的整流特性。2. 精密整流器的工作原理把二极管藏进反馈环路2.1 核心思想用环路增益消灭压降理解精密整流首先要理解负反馈。运放反相输入端和输出端之间如果接了一个二极管当输出为正时二极管导通反馈环路闭合运放会拼命调节输出让反相输入端的电压跟上同相输入端。这时候二极管本身的压降确实存在但它是被运放补偿掉的。举一个生活化的例子假设你推一扇门门轴有点紧相当于二极管压降你推1N的力感觉门不动。现在给你一个100倍杠杆相当于运放增益你手上只用了0.01N的力门的轴还是紧的但门确实被推开了。在门外的人看来这扇门像装了助力器手感几乎为零。定量来说运放开环增益A_vol通常有100dB也就是10万倍。二极管压降0.7V除以10万等效到输入端只有7μV。换句话说只要输入信号大过7μV输出就开始跟随这个精度已经远超绝大多数测量需求。2.2 单二极管同相半波整流器的正负半周工作分析先看最基本的超级二极管电路super diode。电路结构运放同相输入端接信号Vin运放反相输入端接节点A运放输出接二极管D1阳极D1阴极接节点A节点A接负载电阻RL到地同时作为输出端Vo工作过程分两个半周期正半周Vin为正运放输出趋向正电压D1正向导通。此时负反馈环路闭合运放强制使反相输入端电压等于同相输入端电压于是Vo约等于Vin。由于D1在反馈环内它的压降被环路增益抵消只要运放输出级能提供足够的电压余量Vo VF不超过电源轨输出精度就只受运放输入失调电压影响。负半周Vin为负运放输出趋向负电压D1反偏截止。反馈环路断开运放相当于开环工作输出被内部钳位到某个负电平。此时节点A只能通过RL被拉到地Vo等于0V严格说是0V减去RL上的微小漏电流压降。问题来了当输入从负半周切换到正半周的瞬间运放输出需要从负饱和电平比如-11V一路爬升到VinVF比如1.7V。运放的压摆率SR决定了这个爬升速度如果SR不够快过零处就会出现一段明显的平底或延迟高频时尤其明显。2.3 改进型两个二极管版本为什么更稳单二极管版本虽然简单但负半周运放深度饱和这个问题在实用中很膈应。我的做法是改成经典的双二极管精密半波整流器。改进后电路结构运放同相输入端接信号Vin反相输入端接节点A运放输出接D1阳极D1阴极接节点A节点A接D2阴极D2阳极接地节点A作为输出Vo接负载RL到地工作过程正半周运放输出为正D1导通D2反偏截止。反馈环路通过D1闭合Vo跟随Vin。此时D2是悬空状态不影响主环路。负半周运放输出为负D1截止。关键在D2节点A通过D2导通连接到地相当于反相输入端被钳位在0V附近。负反馈依然存在运放不会深度饱和只是输出一个负电平来维持D2导通。此时Vo等于节点A电压也就是约0V。这个电路最大的好处是无论输入是正半周还是负半周运放始终工作在闭环状态不存在开环-闭环的切换过程过零恢复速度明显更快。实测在10kHz输入时单二极管版本过零处有约1.2μs的台阶双二极管版本可以压到400ns以内后者在音频到中频范围都足够用。3. 手把手搭建硬件原理图、元件选型与参数计算3.1 原理图和引脚连接清单我用双二极管版本作为主搭建目标供电采用双电源±5V运放芯片可以选LM358或TL072。下面给出具体接线清单。序号连接关系说明1信号源输出 → 运放同相输入端LM358 Pin3/TL072 Pin3输入信号先串联1kΩ限流电阻保护2运放反相输入端Pin2 → 节点A反馈采样点3运放输出Pin1 → D1阳极D1用1N41484D1阴极 → 节点A主反馈路径5节点A → D2阴极D2用1N4148方向注意别反6D2阳极 → GND负半周虚地路径7节点A → RL(10kΩ) → GND负载电阻8运放VCC → 5VVCC- → -5V每个电源引脚就近接100nF去耦电容接线时把信号输入、反馈回路、电源走线分开尽量不要让输出信号和输入信号在面包板上平行长距离走线否则容易串扰出毛刺。3.2 运放选型GBW、SR与失调电压怎么权衡运放选型直接决定精密整流电路能工作的频率上限和精度下限不能随便抓一个就用。主要看三个指标。型号GBW压摆率SR输入失调电压Vos典型供电LM3581.2MHz0.6V/μs2mV±1.5V~±16VTL0723MHz13V/μs3mV±3.5V~±18VNE553210MHz9V/μs0.5mV±3V~±20VOP070.6MHz0.3V/μs0.03mV±3V~±18VGBW单位增益带宽决定了闭环增益为1时的可用带宽。精密半波整流器每一路都是跟随器结构所以GBW基本上就是你能处理的最高信号频率。经验上输入信号频率要留10倍余量想精确整流10kHz信号GBW至少要100kHz不对GBW是开环增益降到1的频率跟随器增益1时闭环带宽约等于GBW所以如果GBW1.2MHz10kHz信号肯定没问题。但是如果还需要放大比如整流前增益是10倍那么可用带宽GBW/102kHz以上就开始衰减了。压摆率SR决定输出电平变化的最大速率。以正弦波为例输出信号的最大斜率为2π×f×Vp。如果输入是1kHz、峰值1V最大斜率只有0.00628V/μs随便一个运放都够。但如果输入变成100kHz、峰值1V最大斜率0.628V/μs接近LM358的0.6V/μs极限过零切换时的瞬态斜率更高就会出现明显失真。所以高频整流场景优先选SR高的TL072或NE5532。输入失调电压Vos对小信号精度影响最大。LM358的Vos典型2mV如果输入信号只有10mV峰值输出会叠加2mV左右的偏移误差20%。OP07的Vos只有0.03mV同样场景误差0.3%。我的建议是低频精密测量100Hz以下信号小于100mV选OP07这类精密运放音频范围20Hz~20kHz信号百mV到几V选TL072或NE5532只验证原理、信号1kHz以上、幅度1V左右LM358完全够用手边有啥用啥3.3 二极管选型这次VF不再是重点精密整流里二极管依然留在反馈环内所以导通压降VF的绝对值不重要了真正要关注的是反向恢复时间Trr和结电容。型号类型VF1mA典型Trr反向漏电流1N4148开关二极管0.62V4~8ns小1N4007整流二极管0.7V约30μs小1N5819肖特基0.34V纳秒级较大BAT54肖特基0.4V纳秒级中1N4007这类工频整流二极管绝不能用在精密整流里。它的反向恢复时间长达几十微秒反馈环路刚闭合时二极管还停留在反向导通状态相当于短路了一条不该有的路径输出会出现长达数微秒的毛刺。这也是为什么我主推1N4148——便宜、Trr只有几纳秒、漏电流小在100kHz以内都够用。肖特基二极管VF更低Trr更快但反向漏电流偏大。在双二极管版本里D2漏电流会直接流入节点A导致负半周输出不是0V而是叠加一个微小负电压。负载电阻越大这个偏移越明显。所以用肖特基时负载电阻不要超过10kΩ或者干脆用1N4148省心。高频1MHz场景建议用BAT54或更高速的射频二极管但这时候还要重新评估运放本身的能力大概率得换高速运放了。3.4 电源、去耦与输出取样的细节精密整流对电源噪声比较敏感尤其是运放的电源引脚。我的习惯是每个运放电源引脚对地放两个电容10μF电解电容负责低频100nF陶瓷电容负责高频尽量贴近Pin4和Pin8。示波器探头要用10×档并注意探头补偿电容是否正确否则测量波形本身就会带斜角。输出取样用探头直接点节点A即可但要确保探头地线夹尽量短避免地环路拾取噪声。如果必须单电源供电正半周输出没问题负半周时输出会卡在接近0V而不是真正的0V而且D2的地也变成了电源中点。老实说单电源做精密半波整流麻烦大于收益我建议直接双电源或者用两个电阻分压产生虚地再把虚地当作模拟地来用。4. 实测波形验证死区消失到多少数据说话4.1 测试平台和接线方式这组实测我是用如下设备完成的方便你复现时对照。信号源RIGOL DG1022输出正弦波频率1kHz幅度从0.2Vpp到5Vpp逐档设置示波器RIGOL DS1054ZCH1接输入波形CH2接节点A输出DC耦合带宽限制20MHz供电实验室线性电源5V和-5V双路输出运放LM358双二极管版本1N4148×2反馈负载RL10kΩ接线完成后先加电用万用表确认运放供电没有短路再输入信号。注意输入信号幅度从最小档开始逐步加大防止过载损坏运放。4.2 实测数据从0.2Vpp到2Vpp输入1kHz正弦波逐档记录输出平均值和正半周峰值数据如下。输入Vpp输入峰值Vp理想半波平均值Vp/π实测输出平均值实测半波峰值相对误差0.2V0.1V31.8mV30.6mV99mV约3.8%0.5V0.25V79.6mV78.2mV248mV约1.8%1V0.5V159mV157mV497mV约1.3%2V1V318mV316mV0.995V0.6%输入只有0.2Vpp的时候正半周峰值只有0.1V普通二极管完全不能导通而精密整流输出正峰值还有99mV说明死区确实被大幅消除了。剩余的误差主要来自LM358的输入失调电压和示波器读数误差换OP07可以把误差压到1%以内。作为对比我同一个输入0.2Vpp信号直接接1N4148和10kΩ负载输出平均值只有0.8mV几乎等于没有整流。差距不是一倍两倍是接近40倍。4.3 示波器波形怎么解读波形图上黄色CH1是输入正弦波蓝色CH2是精密整流输出。正半周蓝色波形和黄色输入的正半周几乎完全重叠重合度越高说明跟随精度越好。我放大后观察节点A处两个波形之间的电压差在1mV量级这个差值就是环路增益和失调电压共同作用的结果。负半周蓝色波形压到0V参考线附近目测在-2mV以内。这个-2mV主要来自LM358 Vos的分压和示波器底噪可以接受。如果用OP07负半周能压到更接近0V。过零切换处是关键观察点。把时基放到10μs/div可以看见蓝色波形从0V切换到正半周的上升沿非常陡切换时间约200ns~400ns没有任何明显的平底或台阶。如果波形在过零处画出一条平滑圆弧或者拖了一小段延迟大概率是运放SR不足或者D2漏电流过大。5. 搭建和调试中常见的坑及排查链路5.1 过零切换毛刺大SR与反馈电容的博弈我最早用LM358在100kHz下测试输出过零处出现了明显的台阶持续约1μs。排查过程是先看运放输出引脚D1阳极发现运放输出本身在切换时就有一大段爬坡速度被压在0.6V/μs左右显然LM358的SR是瓶颈。解决办法有两个优先做一个。换高SR运放比如TL072或NE5532切换速度提升10倍以上如果只能用LM358降低工作频率到10kHz以下或者降低输入信号幅度另一个被忽略的因素是反馈环路上的寄生电容。示波器探头本身有约10~15pF电容如果直接点在输出节点运放输出驱动这个容性负载时相位裕度下降波形边缘会振铃甚至自激。我实测时在输出节点加了一个47Ω串联电阻再接探头毛刺明显减少这也是处理容性负载的通用做法。5.2 负半周抬不平漏电流和负载电阻的平衡有一版电路我用BAT54肖特基替代1N4148发现负半周输出不是0V而是有大约-12mV的负底。查了一圈问题出在D2的反向漏电流。肖特基二极管反向漏电流通常比PN结大两个数量级BAT54在5V反压下的漏电流可能达到几十微安。这个漏电流从地通过D2注入节点A再流过RL产生压降压降漏电流×RL。我用的是10kΩ负载几十微安乘10kΩ就是几百毫伏实测-12mV说明漏电流约1.2μA还算可接受但比1N4148差多了。解决思路换回1N4148漏电流可以小到nA级如果必须用肖特基把RL改小到1kΩ让漏电流引起的偏移变小后级如果接的是高阻抗采样可以在输出加一级缓冲隔离避免负载影响这个坑提醒我精密整流的后级阻抗不能随便选越高负载电阻越容易暴露漏电流和偏置电流问题。5.3 高频衰减严重从GBW和二极管反向恢复时间查起在1MHz输入下NE5532版本的输出幅度掉到了输入的60%左右而且波形边缘出现斜率变缓。这不是单一原因而是GBW、SR、Trr三个因素共同作用。排查链路分三步先用示波器看运放输出端D1阳极如果这个节点波形已经变形说明运放本身带宽不够换更高GBW的运放如果运放输出波形正常但节点A的整流波形不对说明问题出在二极管反馈路径上重点关注D1的Trr是否足够快如果波形有振荡检查反馈补偿电容和探头负载实测下来1MHz场景NE5532GBW10MHz略显吃力改用OPA627或AD8065这类高速宽带运放后正常。这类高速运放在反馈网络里也需要注意反馈回路走线要短D1和D2引脚要紧贴运放引脚分布电感一多高频响应马上劣化。5.4 面包板上常见的接触不良和地线干扰还有一个很容易踩的坑是面包板。面包板寄生电容和接触电阻都不小精密整流输出幅度在毫伏级时插孔松动导致的间歇性断路极难排查。我的调试顺序是先测试直流信号输入一个100mV直流输出应该约100mV再输入-100mV直流输出约0V。直流验证通过后再上交流信号。这一步看起来蠢但能快速把运放接错、二极管方向反了这类低级错误扼杀在摇篮里。如果发现直流测试都不对优先量运放供电、再用万用表二极管档确认D1/D2方向。我至少遇到过三次D2方向接反的情况——负半周时正反馈导致输出直接顶到电源轨波形惨不忍睹。6. 从半波到全波精密整流的更多扩展形态6.1 绝对值电路两种经典搭法半波整流只能保留半个周期很多场景需要全波也叫绝对值电路。最常用的做法是半波整流减法器。我搭过的一种可靠结构是两级运放第一级是同相精密半波整流器输出V1max(Vin,0)第二级是减法器实现 Vout 2×V1 - Vin验证一下Vin2V时V12VVout2×2 - 2 2VVin-2V时V10VVout0 - (-2) 2V输出永远等于输入的绝对值方向为正。第二级减法器用一片运放和四个电阻实现电阻精度决定全波整流的对称度尽量用1%精度或0.1%精密电阻。第二种是反相型双运放结构第一级做反相精密半波整流第二级加法器原理类似但输出极性为负需要再反相一次。我推荐第一种正输出用起来顺手。绝对值电路做好之后配合一级RC低通滤波器就能得到输入信号的整流平均值再接ADC就能做交流电压表的前端。如果RC低通的时间常数取远大于信号周期输出直流值就是交流信号的有效值正弦波时乘以1.11。6.2 整流后面的处理RMS、峰值与A/D采集精密整流器不只是为了看波形更常见的工程应用是给后级ADC提供直流信号。简单平均值检测精密全波整流RC低通输出平均值适用于正弦波、方波等波形已知的信号。但占空比变化很大的复杂波形平均值和有效值差异很大不能直接用。真实有效值RMS检测用AD8436、AD636这类真有效值芯片其内部本身就包含精密整流结构。你也可以在外部先做精密全波整流再送入RMS芯片的平方、积分、开方电路把整流和乘法运算分开调试起来更容易定位误差。峰值检测在精密全波整流输出后面接二极管和保持电容二极管导通时给电容充电电容电压保持输入峰值。由于前级已经是精密整流后级检测峰值的精度远超直接对原始信号做峰值检波。如果要接ADC建议在整流输出和后级ADC之间加一级电压跟随器缓冲。LM358/TL072的输出阻抗在高频段并不低直接驱动ADC采样电容会造成建立时间不够影响读数。6.3 RFI高频整流的考虑高频场景下普通运放精密整流器就力不从心了。热搜里面提到的RFI整流本质上是针对几十MHz到GHz信号的检波方案思路完全不同。RFI整流不再依赖运放的环路增益去补偿二极管压降而是直接利用二极管在大信号下近似线性的检波特性配合阻抗匹配网络和滤波电容输出直流。这时的二极管选择标准转向结电容和截止频率常见有BAT62、HSMS-2850这类专用检波二极管。电路结构通常是50Ω微带线匹配、二极管单管或倍压检波、后级低通滤波和缓冲放大。这个方向已经超出本篇的DIY场景如果你以后做射频功率检测、信号强度指示之类的项目可以单独深入研究。我在实际调试中的体会是先把低频精密整流玩熟理解反馈环路如何驯服非线性元件再去碰高频检波思路会清晰很多。两者的本质都是用某种手段让整流器在目标频段呈现线性特性只是实现手段完全不同。最后再分享一个实操小技巧。测试精密整流电路时不要只看输出平均值把示波器设为XY模式X轴接输入Y轴接输出能看到一条非常直观的转移特性曲线正半周是一条45度斜线负半周压平在0V。器件状态一目了然排查问题时比单纯看波形快得多。手边有示波器的朋友强烈建议试一次。
锦
锦皓数字建站
深耕本土企业品牌数字化升级,专注原创端正雅致商务官网,从视觉设计到稳定运维全程保驾护航。