双运放峰值检测电路设计:从原理到PCB布局的精密信号调理指南
2026/9/24 13:05:53 网站建设 项目流程

1. 从“整流损耗”说起:为什么峰值检测需要双运放

做过传感器信号调理的人多半遇到过这样的场景:一个压电式振动传感器输出几十毫伏的微弱信号,经过放大后想提取它的峰值,用最经典的“二极管+电容”峰值保持电路一搭,结果发现输出总比输入峰值低个0.3V到0.7V。这个差值不是测量误差,而是二极管的正向压降在“吃掉”你的信号。对于输出摆幅只有1V出头的低压系统,这0.5V的损失足以让整个检测环节失去意义。

峰值检测电路的核心任务很朴素:跟踪输入信号的最高点,并把这个最高点保持住,直到下一个更高的峰值到来。听起来简单,但真正把它做“精密”,难点集中在三个地方——整流器件的非线性压降保持电容的泄放速度、以及运放自身动态特性对峰值捕获精度的影响。双运放架构正是针对第一个难点给出的经典解法,它用两个运放配合二极管,把二极管“包”进负反馈环路里,让输出不再受正向压降的拖累。这套结构在业内常被称为精密整流器理想二极管电路,是峰值检测从“能用”走向“精密”的关键一步。

这篇文章面向的是已经能看懂基本运放电路、但想把峰值检测做到毫伏级精度的工程师和电子爱好者。我会从双运放架构的工作原理讲起,拆解每个元件为什么这么选、参数怎么算,再落到实际布板和调试中那些文档里不会写的坑。如果你正在做振动监测、脉冲幅度分析、光谱信号采集或者任何需要捕捉信号包络的项目,这套东西值得花时间吃透。

2. 双运放峰值检测的架构拆解与工作机理

2.1 单运放方案的先天缺陷

先看最朴素的单运放峰值检测:输入信号进运放同相端,运放输出接二极管阳极,二极管阴极接保持电容和反馈电阻。当输入上升时,运放输出升高,二极管导通给电容充电;当输入下降时,运放输出降低,二极管截止,电容上的电压被保持住。逻辑上没问题,但实际波形会告诉你两个残酷事实。

第一,二极管导通时,运放输出必须比电容电压高出一个正向压降Vf,运放才能通过二极管向电容注入电流。这意味着运放的输出摆幅被白白消耗了Vf。第二,更隐蔽的问题是,当输入信号从峰值下降时,运放输出也随之下降,但二极管从导通转为截止需要一个过程,在这个过渡区间里,运放实际上处于开环状态,输出会快速下坠,直到二极管完全截止。这个下坠过程会在输出端引入一个尖峰毛刺,严重时甚至会让保持电容通过运放输入级反向放电。

我早期用单运放方案做超声波包络检测时,就吃过这个亏。输入是40kHz的脉冲串,峰值约2V,理论上用1N4148(Vf约0.6V)应该能检测到1.4V左右的峰值。实测发现输出只有1.2V,而且每个脉冲结束后输出都会有一个向下的尖刺,后来用示波器抓运放输出端才发现,那个尖刺是运放退出饱和时的过冲。单运放方案不是不能用,但它只适合输入幅度远大于二极管压降、且对精度要求不高的场合。

2.2 双运放如何把二极管“藏”进反馈环

双运放架构的精髓在于:让二极管始终工作在负反馈环路内部,由运放来补偿它的压降。具体连接方式是,第一个运放(U1)作为主放大器,输入信号接U1同相端,U1反相端通过反馈网络与输出建立关系;U1的输出经过二极管D1后,一路送到第二个运放(U2)的同相端,另一路通过反馈电阻Rf回到U1的反相端。U2接成电压跟随器,其输出就是最终的峰值保持电压,同时U2的输出还通过另一条路径(通常是电阻分压或直接连接)反馈到U1的反相端。

这个结构的巧妙之处在于:U1的负反馈不再从自己的输出端取,而是从U2的输出端取。U2的输出等于保持电容上的电压,而U1会不断调整自己的输出,直到U2输出与输入信号相等。换句话说,二极管D1的压降被U1的增益“吸收”了——U1输出可以比U2输出高出任意需要的电压,只要运放不饱和。这样,最终输出端看到的峰值电压就几乎等于输入峰值,误差仅来自运放的失调电压和有限增益。

用一个生活化的类比:单运放方案像是你用手直接推一扇很重的门,门轴有摩擦(二极管压降),你推的力有一部分被摩擦吃掉了。双运放方案则是你在门后加了一个液压助力器,助力器感知门的实际位置,自动补偿摩擦,你只需要给出目标位置指令。二极管从“阻力”变成了“被监控的执行元件”。

2.3 保持电容与泄放路径的角色分工

双运放架构里,保持电容Ch的位置和连接方式决定了整个电路的动态行为。典型接法是Ch一端接地,另一端接U2的同相端和D1的阴极。当输入上升时,U1输出升高,D1导通,电流经D1给Ch充电,U2输出跟随Ch电压上升。当输入达到峰值并开始下降时,U1输出随之下降,D1截止,Ch上的电荷无处可去,电压被保持。此时U2的高输入阻抗确保Ch不会通过运放输入级泄放。

但“保持”不是永久的。实际电路中,Ch会通过几个路径缓慢放电:U2的输入偏置电流(典型值pA到nA级)、D1的截止漏电流(nA级)、以及PCB表面的漏电流(受湿度和污染影响,可能达到nA甚至μA级)。如果需要一个“复位”功能,通常会在Ch两端并联一个复位开关(如JFET或模拟开关),在每次测量前短接Ch使其放电到零。这个复位开关的漏电流和电荷注入也是设计时要考虑的因素。

Ch的容值选择是一个权衡:容值大,保持时间长,但充电速度慢,对快速脉冲的响应跟不上;容值小,响应快,但保持时间短,输出会明显下垂。经验公式是:对于保持时间Th、允许下垂ΔV、总漏电流Ileak,Ch ≥ Ileak × Th / ΔV。比如Ileak取10nA,要求保持10ms内下垂不超过1mV,则Ch至少需要100nF。实际选型时通常在这个计算值上再留2到5倍余量。

3. 关键元件的选型逻辑与参数计算

3.1 运放选型:GBW、SR与相位补偿的三角关系

双运放架构对运放的要求比一般放大电路更苛刻,因为U1在二极管导通和截止两种状态下,反馈环路的特性会发生剧变。导通时,环路包含D1和U2,相位裕度相对可控;截止时,D1断开,U1实际上处于开环或仅通过寄生路径反馈的状态,此时如果输入信号还在变化,U1输出可能发生剧烈摆动。

增益带宽积(GBW)决定了电路能跟踪多快的信号。对于峰值检测,U1的闭环带宽至少要是输入信号最高频率分量的5到10倍。假设输入是1MHz的脉冲,U1的闭环增益为1,那么GBW至少需要5MHz到10MHz。但注意,U1在充电阶段的有效增益可能远大于1(因为它要补偿二极管压降),所以实际需要的GBW要按最坏情况估算。我通常的做法是:先按信号频率的10倍选GBW,再在实测中看充电建立时间是否满足要求,不满足就往上加。

压摆率(SR)是另一个硬指标。峰值检测电路在输入信号快速上升时,U1输出必须以足够快的速度变化,才能及时给Ch充电。所需SR的计算很简单:SR ≥ 2π × f × Vpk,其中f是输入信号最高频率,Vpk是峰值电压。比如1MHz、2V峰值的信号,SR至少需要12.6V/μs。但实际要留2到3倍余量,因为运放进入大信号状态时SR会下降,而且D1的结电容也会拖慢响应。我一般按计算值的3倍来选,1MHz、2V的场景就选SR ≥ 40V/μs的运放。

相位补偿是双运放架构里最容易被忽视的问题。U1在D1截止时处于开环状态,如果运放本身相位裕度不足,输出会产生振铃甚至自激。解决办法有两个:一是选内部补偿的运放(如NE5532、OPA2134这类经典音频运放,它们单位增益稳定),二是在U1输出和反相端之间加一个小电容(几pF到几十pF)做超前补偿。我试过用NE5532搭这个电路,GBW=10MHz,SR=9V/μs,在100kHz以下表现很稳,但到了500kHz以上充电建立时间就明显变长,后来换成OPA2350(GBW=38MHz,SR=22V/μs)才满足要求。

3.2 二极管:开关速度与结电容的取舍

双运放架构里,D1的作用是“单向阀门”,但它的寄生参数直接影响电路性能。反向恢复时间(trr)决定了D1从导通转为截止需要多久,这个时间越短,峰值保持的“泄漏”越小。结电容(Cj)则会在D1截止时与U1的输出阻抗形成低通,影响U1退出饱和的速度。

常见的小信号二极管里,1N4148的trr约4ns,Cj约4pF,价格便宜,适合大多数中低速场景。如果信号频率超过1MHz,或者对保持精度要求极高,可以选BAV99(trr=6ns,但双二极管封装方便)或MMBD914。肖特基二极管如BAT54S的Vf更低(约0.3V),trr更短,但反向漏电流比硅二极管大一个数量级,在高温下漏电流可能达到μA级,会加速Ch放电。我的经验是:常温、中低速用1N4148足够;高温或高精度场合,宁可多花点钱选低漏电流的硅二极管,也不要为了低Vf去用肖特基。

还有一个细节:D1的封装寄生电感。直插封装的引脚电感约5nH到10nH,在10MHz以上会和Cj形成谐振,导致U1输出出现高频振铃。如果信号频率很高,建议用SOD-323或SOT-23封装的贴片二极管,引脚电感可以降到1nH以下。

3.3 保持电容:材质比容值更重要

Ch的材质选择经常被忽略,但它对保持精度的影响不亚于容值。聚丙烯(PP)电容的介质吸收极低(<0.01%),漏电流小,是精密峰值保持的首选。聚苯硫醚(PPS)聚对苯二甲酸乙二醇酯(PET)次之,介质吸收在0.1%到0.5%之间。陶瓷电容(尤其是X7R、Y5V)的介质吸收可以高达2%到5%,而且容值随电压和温度变化大,用在峰值保持电路里会导致明显的“回弹”现象——电容放电后电压会自己回升一点,因为介质中储存的电荷释放出来了。

我做过一个对比实验:同样的电路,Ch分别用100nF的CBB(聚丙烯)和100nF的X7R陶瓷电容。输入一个1V的脉冲,保持10ms后测量输出。CBB电容的输出从1.000V降到0.998V,下垂2mV;X7R电容的输出从1.000V降到0.985V,下垂15mV,而且复位后输出有约5mV的残余电压。这个差异在12位ADC系统里就是几十个LSB的误差。所以,只要预算允许,Ch一定要选CBB或PPS材质,陶瓷电容只适合对精度要求不高的场合。

容值方面,除了前面提到的漏电流计算公式,还要考虑充电时间。充电时间常数τ ≈ (Ro + Rd) × Ch,其中Ro是U1的输出阻抗(通常几十欧姆),Rd是D1的导通电阻(几欧姆到几十欧姆)。如果要求充电建立到0.1%精度,需要约7个τ。比如Ro+Rd=50Ω,Ch=100nF,τ=5μs,7τ=35μs。这意味着输入脉冲的上升时间不能快于35μs,否则Ch来不及充满,输出会低于实际峰值。如果输入脉冲很快(比如1μs上升沿),Ch就要相应减小到1nF到10nF,但这样保持时间又会缩短,需要根据具体应用权衡。

4. 从原理图到PCB:布局布线的隐形陷阱

4.1 地平面分割与星型接地

双运放峰值检测电路里,地线的处理直接决定了输出噪声水平。U1的输入回路、Ch的接地端、U2的接地端,这三处的地电流路径如果共用一段PCB走线,Ch上的微小电压波动会通过地阻抗耦合到U2输入端,再被U2放大。更隐蔽的是,U1在D1导通和截止切换时,输出电流会突变,这个突变电流流经地线时产生的电压尖峰会直接叠加在Ch的“地”参考点上。

正确的做法是星型接地:在PCB上选一个点作为“模拟地”的汇聚点,U1的接地引脚、Ch的接地端、U2的接地引脚分别用独立的走线连接到这个点,而不是串联在一起。这个汇聚点再单点连接到电源地。如果电路板上有数字部分(比如MCU控制复位开关),数字地和模拟地必须分开,最后在电源入口处单点汇合。

我见过一个案例:某工程师把Ch的接地端和复位开关的接地端共用了一段2cm的走线,结果每次复位开关动作时,Ch上都会感应出一个几十毫伏的尖峰,导致后续测量误触发。后来把复位开关的地单独拉回电源地,问题立刻消失。这个坑在原理图上完全看不出来,只有布板时才会暴露。

4.2 反馈路径的寄生电容与补偿

U1的反馈电阻Rf和反馈走线如果靠近Ch或D1的阴极,寄生电容会把U1输出端的快速变化耦合到反相端,造成相位裕度下降。尤其是当Rf阻值较大(比如100kΩ以上)时,几个pF的寄生电容就能在几百kHz处产生一个极点,引发振铃。

我的做法是:Rf尽量选小阻值(1kΩ到10kΩ),如果为了减小Ch的负载效应需要大阻值,就在Rf两端并联一个几pF的电容做相位超前补偿。这个电容的值可以通过实验确定:先用示波器观察U1输出在D1截止瞬间的波形,如果有振铃,就从1pF开始加,直到振铃消失。注意这个电容不能太大,否则会降低U1的高频增益,影响充电速度。

另外,U1的反相输入端走线要尽量短,并且远离输出端和D1。如果PCB空间允许,可以在U1反相端和地之间留一个焊盘,方便调试时加补偿电容或电阻。这个“预留位”在正式产品里可以不放,但在原型阶段能省很多事。

4.3 电源去耦与运放自激的排查

运放自激是峰值检测电路调试中最常见的问题之一,表现是输出端有几十MHz的高频振荡,幅度可能只有几十毫伏,但足以让峰值检测结果偏高。自激的根源通常是电源引脚去耦不足,或者U1在D1截止时的开环状态让运放对电源纹波变得敏感。

每个运放的电源引脚旁边必须放一个0.1μF的陶瓷电容,位置越近越好,最好在5mm以内。如果运放是双电源供电,正负电源都要加。另外,在电源入口处再放一个10μF的钽电容或电解电容做低频去耦。我习惯在运放电源引脚和去耦电容之间串一个几欧姆的电阻(或者用磁珠),形成RC低通,进一步抑制电源噪声。这个电阻不能太大,否则会影响运放的输出摆幅,一般2Ω到10Ω即可。

如果加了去耦还有自激,就要检查U1的反馈路径。一个快速判断方法是:用示波器探头(设为1X档,减少探头电容影响)碰一下U1的反相端,如果振荡频率变了,说明是反馈环路的问题;如果不变,说明是电源或布局的问题。我遇到过一回,自激频率约25MHz,换了去耦电容没用,后来发现是U1输出到D1的走线太长(约3cm),走线电感与D1结电容形成了谐振。把走线缩短到5mm以内,自激就消失了。

5. 实测波形分析与典型故障排查

5.1 充电建立时间的测量与优化

充电建立时间是峰值检测电路的核心动态指标,定义为从输入信号达到峰值到输出稳定在峰值±0.1%以内所需的时间。测量方法:输入一个上升沿很陡的脉冲(上升时间远小于预期建立时间),用示波器同时抓输入和输出,观察输出从开始上升到稳定的时间。

如果建立时间过长,可能的原因有三个:Ch太大、U1的SR不够、D1的导通电阻太大。排查顺序是:先算理论值τ=(Ro+Rd)×Ch,如果理论值就很大,说明Ch选大了,需要减小;如果理论值很小但实测很大,说明U1的SR不足,需要换高速运放;如果换了运放还不行,检查D1是否用错型号,或者D1的焊接是否虚焊导致接触电阻大。

我实测过一组数据:Ch=100nF,U1用NE5532,D1用1N4148,输入1V阶跃,输出建立到0.1%用了约80μs。理论τ=(50Ω+5Ω)×100nF=5.5μs,7τ=38.5μs,实测80μs说明NE5532的SR(9V/μs)在输出变化1V时理论需要0.11μs,不是瓶颈。后来发现是NE5532的输出级在驱动容性负载时会有额外的相位延迟,导致有效带宽下降。换成OPA2350后,建立时间降到45μs,接近理论值。

5.2 峰值保持下垂的定量分析

下垂是指输入峰值过后,输出在一段时间内缓慢下降的现象。下垂速率由总漏电流决定,包括U2输入偏置电流、D1反向漏电流、Ch自身漏电流、PCB表面漏电流。测量方法:输入一个窄脉冲,用高输入阻抗的万用表或示波器(10MΩ以上)监测输出,记录单位时间内的电压下降。

如果下垂过快,先算总漏电流:Ileak = Ch × ΔV / Δt。比如Ch=100nF,10ms内下垂10mV,则Ileak=100nF×10mV/10ms=100nA。这个量级的漏电流通常来自D1的反向漏电流或PCB表面污染。排查时,先用酒精清洗PCB并吹干,如果下垂改善,说明是表面漏电;如果没改善,换一个低漏电流的二极管试试;如果还不行,检查U2的输入偏置电流是否超标(查数据手册,一般CMOS输入运放的Ib在pA级,双极型运放在nA级)。

一个实用技巧:在Ch和U2输入之间串联一个保护电阻(如1kΩ),可以限制PCB表面漏电流的影响,但会引入U2输入偏置电流在电阻上的压降误差。如果U2是CMOS输入(Ib<1pA),这个电阻可以取到10kΩ甚至100kΩ,对精度影响很小。

5.3 复位开关的电荷注入与对策

复位开关在断开时,沟道电荷会注入Ch,导致复位后Ch上有一个小的残余电压。这个残余电压通常在几毫伏到几十毫伏,对于高精度应用是不可忽略的误差。电荷注入量Qinj ≈ Cox × W × L × (Vgs - Vth) / 2,其中Cox是栅氧电容,W和L是开关管的尺寸。选小尺寸的模拟开关(如TS5A23157)可以减小注入电荷,但导通电阻会增大,影响复位速度。

更有效的办法是差分复位:用两个匹配的开关,一个接Ch,一个接一个虚拟电容,两个开关的控制信号反相,这样注入电荷在差分输出中相互抵消。或者用先断后合的开关序列,在复位开关断开之前,先让一个放电电阻短暂接入,把Ch上的电荷放掉,再断开电阻。这个时序需要精确控制,通常用MCU的GPIO配合RC延时实现。

我在一个光谱采集项目里用过TS5A23157做复位开关,电荷注入约5pC,Ch=10nF时产生的电压跳变约0.5mV,对12位ADC(满量程3V,LSB=0.73mV)来说刚好在1个LSB以内,可以接受。如果Ch更小,比如1nF,同样的注入电荷会产生5mV跳变,就需要加差分复位或软件校准。

6. 工程实践中的经验沉淀与扩展思路

6.1 从单峰值到多峰值跟踪的改造

标准双运放峰值检测只能保持一个峰值,直到复位。如果需要跟踪连续多个峰值中的最大值,可以在Ch两端并联一个“泄放电阻”Rdis,让Ch电压以一定速率下降,这样当输入峰值下降时,输出也会跟随下降,但下降速率受Rdis控制。当输入出现新的更高峰值时,Ch会再次被充电到新峰值。这种“峰值跟踪”模式适合监测缓慢变化的信号包络,比如音频电平表。

Rdis的选择需要权衡:Rdis太小,输出下垂快,无法保持峰值;Rdis太大,输出跟不上输入峰值的下降。经验值是让Rdis × Ch的时间常数等于输入信号包络变化周期的1/5到1/10。比如包络变化周期100ms,时间常数取10ms到20ms,Ch=100nF时Rdis取100kΩ到200kΩ。注意Rdis会引入一个固定的下垂速率,如果输入峰值长时间不更新,输出会一直下降,所以这种模式不适合需要长期保持峰值的场合。

6.2 噪声环境下的抗干扰设计

在工业现场或电机驱动附近,峰值检测电路容易受到电磁干扰,表现为输出上叠加高频噪声或随机跳变。除了前面提到的地平面和去耦措施,还可以在U1输入端加一个RC低通滤波器,截止频率设为信号最高频率的2到3倍。比如信号最高100kHz,RC截止频率取200kHz到300kHz。这个滤波器同时会限制输入信号的带宽,如果信号本身含有高频成分,需要权衡。

另一个有效手段是屏蔽:把Ch和U2输入端的走线用地线包围起来,形成保护环。保护环要连接到U2的接地引脚,而不是电源地,这样可以减小地环路引入的噪声。如果电路板是双面板,可以在Ch下方铺一层地铜皮,但注意这层铜皮不能与Ch的焊盘直接接触,要留出足够的爬电距离。

我做过一个对比:同样的电路,在电机驱动器旁边工作,没有保护环时输出噪声峰峰值约50mV,加了保护环并优化地线后降到5mV以下。这个改善对于检测毫伏级峰值信号是决定性的。

6.3 用仿真验证设计:circuitjs中的运放增益设置

在搭实际电路之前,用仿真工具快速验证拓扑是高效的做法。circuitjs(Falstad Circuit Simulator)是一个免费的在线电路仿真器,适合做运放电路的定性分析。但很多人卡在“如何设置运放增益为无穷大”这个问题上——circuitjs里的理想运放模型默认增益是100000,已经足够大,不需要改。如果你发现仿真结果不对,通常是反馈路径没接对,而不是增益不够。

在circuitjs里搭双运放峰值检测的步骤:先放两个运放,U1接成同相放大器,反馈电阻从U1输出经D1到U2输出,再回到U1反相端;U2接成电压跟随器,同相端接D1阴极和Ch,输出端接回U1的反馈网络。注意circuitjs的二极管模型有默认的Vf和结电容,可以在属性里调整。仿真时用“电压探针”观察Ch上的电压,用“示波器”看输入输出波形。如果输出不跟随峰值,检查D1的方向是否接反,以及U1的反馈是否从U2输出取而不是从U1输出取。

仿真能帮你验证拓扑逻辑,但不能替代实际调试,因为仿真模型不会包含PCB寄生参数、运放的非线性特性和温度漂移。我的习惯是:仿真确认拓扑正确后,直接搭面包板实测,用示波器抓关键波形,再根据实测结果调整元件值。

6.4 常见运放型号在峰值检测中的实测对比

为了给选型提供参考,我整理了几款常用运放在双运放峰值检测电路中的实测表现。测试条件:输入1V阶跃,Ch=100nF,D1=1N4148,室温25°C,测量充电建立时间(到0.1%)和10ms保持下垂。

运放型号GBW (MHz)SR (V/μs)充电建立时间 (μs)10ms下垂 (mV)备注
NE5532109802便宜,适合低速
TL0723131205输入偏置电流小,但GBW低
OPA2134820551.5音频专用,低失真
OPA23503822451高速,适合脉冲
AD8231622501.2单电源,轨到轨输出
LT10120.50.25000.5精密,但极慢

从表中可以看出,充电建立时间和下垂之间存在权衡:高速运放建立快,但输入偏置电流通常较大,下垂也大;精密运放下垂小,但建立慢。选型时要根据应用场景决定优先级。比如振动监测需要快速建立,选OPA2350;光谱积分需要长时间保持,选LT1012或加斩波稳零运放。

另外,表中数据是在特定条件下的实测值,实际电路中Ch容值、D1型号、PCB布局都会影响结果。建议在最终选型前,用目标运放搭一个最小系统实测一下,不要只看数据手册。

6.5 从峰值检测到峰值保持的扩展:加一级采样保持

如果需要在峰值检测后接ADC,但ADC的采样时间与峰值出现时刻不同步,可以在U2输出后加一级采样保持电路。采样保持的核心是一个模拟开关和一个保持电容,开关由MCU控制,在峰值稳定后闭合,把U2输出电压采样到保持电容上,再送给ADC。这样ADC的采样时间就不会影响峰值检测的精度。

采样保持的开关选型要注意电荷注入和导通电阻。对于12位以上的ADC,建议用专用的采样保持芯片(如LF398)或低电荷注入的模拟开关(如ADG1419)。保持电容同样要选CBB或PPS材质,容值根据ADC输入阻抗和采样时间计算。如果ADC输入阻抗为10kΩ,采样时间1μs,保持电容取1nF时,RC时间常数=10kΩ×1nF=10μs,远大于采样时间,会导致采样不足。此时需要加一个运放缓冲,把ADC输入阻抗隔离掉。

我在一个数据采集系统里用过LF398,采样时间10μs,保持电容1nF,后接16位ADC,实测峰值检测精度达到0.05%。LF398的电荷注入约20pC,在1nF电容上产生20mV跳变,但通过差分输入和软件校准可以消除。如果不用校准,就要选电荷注入更小的开关,或者增大保持电容,但增大电容会降低采样速度。

6.6 温度漂移与长期稳定性的考量

峰值检测电路在温度变化时,输出会漂移,主要来源是运放的失调电压温漂和二极管反向漏电流的温度系数。运放失调电压温漂通常在μV/°C量级,比如OPA2350是0.5μV/°C,在0°C到50°C范围内漂移25μV,对毫伏级信号可以忽略。但二极管反向漏电流每升高10°C约翻一倍,如果常温下漏电流10nA,到50°C可能变成80nA,导致下垂速率增加8倍。

如果应用环境温度变化大,建议选低漏电流的二极管(如BAV199,常温漏电流1nA),或者用温度补偿电路:在Ch旁边放一个热敏电阻,根据温度调整复位阈值或软件补偿。更简单的办法是缩短保持时间,在漏电流还没造成明显误差之前就读出数据。比如常温下保持10ms下垂1mV,到50°C下垂8mV,如果ADC在1ms内完成采样,下垂只有0.8mV,可以接受。

长期稳定性方面,Ch的介质吸收会导致“记忆效应”:上次测量的残余电荷会影响下次测量。CBB电容的介质吸收<0.01%,影响很小;陶瓷电容的介质吸收可达5%,必须通过复位开关彻底放电,或者用软件做“双次测量取差”来消除。我在一个长期监测项目里,每测量100次就做一次“零输入校准”,把Ch放电后测量残余电压,从后续数据中减去,效果很好。

6.7 一个完整的双运放峰值检测电路实例

最后给出一个我实际用过的电路参数,供参考。输入信号:0到2V,频率10kHz到500kHz的脉冲串。输出:峰值电压,精度±1mV,保持时间1ms。复位:MCU控制,每次测量前复位。

  • U1:OPA2350,GBW=38MHz,SR=22V/μs,双电源±5V供电。
  • U2:OPA2350(同一封装内的另一个运放),接成电压跟随器。
  • D1:1N4148,SOD-323封装。
  • Ch:100nF,CBB材质,耐压50V。
  • Rf:10kΩ,1%精度,金属膜电阻。
  • 复位开关:TS5A23157,电荷注入5pC。
  • 电源去耦:每个运放电源引脚旁0.1μF X7R陶瓷电容,电源入口10μF钽电容。
  • PCB:双面板,模拟地星型连接,Ch和U2输入走线加保护环。

实测结果:充电建立时间45μs(到0.1%),1ms保持下垂0.2mV,复位后残余电压0.5mV,整体精度满足±1mV要求。这个电路在500kHz输入下工作稳定,没有自激或振铃。如果你要做类似项目,可以从这个参数出发,根据实际信号频率和精度要求调整Ch和运放型号。

这个电路后续还可以扩展:在U2输出后加一个窗口比较器,当峰值超过设定阈值时触发报警;或者用MCU的ADC连续采样U2输出,用软件做峰值搜索和滤波。硬件峰值检测的优势是响应快、不占用CPU,适合高速脉冲的实时监测。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询