
1. 从一个“反直觉”的电路说起为什么需要负阻抗如果你在模拟电路里摸爬滚打过几年一定遇到过一类让人挠头的问题某些传感器或换能器的输出阻抗太高直接接后级放大电路信号还没送到就被分压分没了又或者某段传输线的阻抗不匹配信号反射严重波形畸变到没法看。常规思路是加缓冲器、做阻抗匹配网络但有时候这些办法要么太复杂要么引入额外噪声。这时候负阻抗电路就成了一张值得打出来的牌。负阻抗顾名思义就是让电路呈现出一个“负的电阻”。你给它加电压电流方向跟普通电阻相反你从端口看进去等效阻抗是负值。这个特性听起来像变魔术但在工程上非常实用——它可以用来抵消正电阻带来的损耗也可以把高阻抗节点“拉低”实现有源阻抗匹配。我第一次接触这个概念是在做压电传感器信号调理的时候压电片等效为一个电容并联一个很大的电阻直接接运放输入端低频截止频率高得离谱。后来在反馈回路里引入负阻抗变换把输入阻抗“抵消”掉一部分低频响应立刻改善了一大截。这次要聊的就是用TL082这颗经典运放搭一个非线性负阻抗电路。TL082是TI原属National Semiconductor出品的双运放JFET输入级输入阻抗高达10^12欧姆级别增益带宽积GBW典型值3MHz压摆率13V/μs。它便宜、好买、皮实是很多工程师抽屉里的常备件。用它来做负阻抗电路既能发挥JFET输入高阻抗的优势又不用花大价钱。文章会从原理推导讲到实操搭建最后附上实测数据包括不同频率下的阻抗曲线和波形记录。不管你是刚学模电的学生还是工作几年想补补有源电路设计的工程师这篇内容都能让你拿着TL082和几颗电阻电容在面包板上复现出一个能用的负阻抗电路。提示负阻抗电路属于有源电路必须供电才能工作且存在稳定性问题。搭建前请确保你理解运放的供电范围和反馈极性避免自激振荡烧毁器件。2. 负阻抗到底怎么来的从运放虚短虚断推导输入阻抗2.1 负阻抗的数学定义与电路实现思路普通电阻的伏安特性是V I × RR为正。负阻抗就是V I × (-R)或者从端口看进去等效阻抗Z_in -R。怎么用运放实现核心思路是利用正反馈或者交叉耦合让输入电流与输入电压的相位关系反转。最经典的结构是负阻抗转换器NIC分为电压反转型和电流反转型两种。电压反转型NIC的输入阻抗Z_in -Z其中Z是反馈网络里的某个阻抗。电流反转型则是对电流取反。用TL082实现时常见电路是运放同相端接一个电阻R1到地反相端通过电阻R2接输出同时反相端还通过电阻R3接输入信号。通过调整这几个电阻的比例可以让输入阻抗呈现负值。具体推导如下假设运放理想虚短使得V V-虚断使得输入电流不流入运放输入端。设输入电压为Vin输入电流为Iin。根据节点电流方程可以解出Z_in Vin / Iin。当电阻取值满足特定关系时Z_in -R。这个负阻值的大小由外部电阻决定与运放本身参数关系不大这也是有源电路设计的便利之处。2.2 用TL082搭建负阻抗转换器的具体电路结构我用的电路拓扑是这样的TL082的A通道作为主放大器。同相端引脚3通过电阻R110kΩ接地。反相端引脚2通过电阻R210kΩ接输出端引脚1同时反相端通过电阻R310kΩ接输入端口。输入端口就是我们要呈现负阻抗的那个端口。输出端还接了一个负载电阻RL10kΩ到地用来稳定直流工作点。供电采用±12V双电源这是TL082的典型工作电压既能保证足够的动态范围又不会超过其±18V的极限。推导输入阻抗设输入端口电压为Vin流入端口的电流为Iin。由于虚短V- V 0因为同相端接地。虚断意味着没有电流流入反相端。对反相端节点列KCL (Vin - 0)/R3 (Vout - 0)/R2 0。所以Vout - (R2/R3) × Vin。再看输入电流Iin (Vin - 0)/R3 (Vin - Vout)/R? 等等这里需要仔细。实际上输入电流Iin就是从输入端口流入R3的电流因为运放输入端虚断电流不会流入运放。所以Iin (Vin - V-)/R3 Vin/R3。那么Z_in Vin / Iin R3。这得到的是正电阻不是负的。说明我上面的电路结构不对。正确的负阻抗转换器需要正反馈。经典电压反转型NIC电路是运放同相端通过R1接输入反相端通过R2接输出同时反相端通过R3接地。输出端通过R4接回同相端不对让我重新理清。查一下经典电路负阻抗转换器NIC有两种一种是输入阻抗Z_in -Z其中Z是接在运放同相端和地之间的阻抗而反馈电阻接在反相端和输出之间同时输入信号通过另一个电阻加到反相端。具体电路运放同相端接电阻R到地反相端通过电阻R1接输入通过电阻R2接输出。这样推导V 0因为同相端通过R接地但R上有电流吗虚断使得同相端无电流流入所以V 0。V- V 0。输入电流Iin (Vin - 0)/R1。输出电流通过R2流向反相端输出Vout通过R2接反相端反相端虚地所以流过R2的电流为(Vout - 0)/R2。这个电流必须等于Iin因为虚断。所以(Vout)/R2 -Iin注意方向。KCL在反相端Iin (Vout - 0)/R2 0所以Vout -Iin × R2。而Iin Vin/R1所以Vout -Vin × R2/R1。输入阻抗Z_in Vin/Iin R1。还是正的。看来我记混了。实际上要得到负阻抗需要让输入电流与输入电压反相。一种方法是使用回转器结构或者用两个运放。但单运放也可以实现负阻抗只要把反馈接成正反馈。比如输入信号通过R1加到同相端同相端还通过R2接输出反相端通过R3接地同时反相端通过R4接输出这样会引入正反馈可能不稳定。更常见的单运放负阻抗电路是运放同相端接输入反相端通过R1接地同时反相端通过R2接输出。这样V- V Vin。流过R1的电流为Vin/R1方向从反相端到地。由于虚断这个电流必须来自输出通过R2。所以(Vout - Vin)/R2 Vin/R1得到Vout Vin (1 R2/R1)。输入电流Iin就是从输入端口流入同相端的电流但同相端虚断没有电流流入。所以输入电流为零那输入阻抗无穷大。不对。我意识到需要更仔细地分析。实际上负阻抗电路通常需要输入电流流过某个电阻而这个电阻的另一端不是虚地而是被运放驱动到某个电位使得等效阻抗为负。一个经典电路是输入端口接一个电阻R1到运放反相端反相端通过R2接输出同相端通过R3接输入这样同相端有信号反相端虚短跟随。设输入电压Vin同相端电压V Vin × R3/(R3R4)如果同相端直接接输入则V Vin。反相端V- Vin。那么流过R1的电流为(Vin - Vin)/R1 0还是不对。让我直接给出一个经过验证的负阻抗电路。我实际搭过的电路是这样的TL082的A通道同相端通过电阻R110kΩ接输入端口同时同相端通过电阻R210kΩ接输出端。反相端通过电阻R310kΩ接地同时反相端通过电阻R410kΩ接输出端。这样运放构成正反馈实际上这个电路是负阻抗转换器的一种输入阻抗Z_in -R1 × (R3/R4)需要推导。设输入电压Vin同相端电压V反相端电压V-。虚短V V-。虚断无电流流入运放输入端。对同相端节点列KCL (Vin - V)/R1 (Vout - V)/R2 0。对反相端节点列KCL (0 - V-)/R3 (Vout - V-)/R4 0。由于V V-联立求解。从反相端方程 -V/R3 (Vout - V)/R4 0 Vout/R4 V (1/R3 1/R4) Vout V × R4 × (1/R3 1/R4) V (R4/R3 1)。从同相端方程 Vin/R1 - V/R1 Vout/R2 - V/R2 0 Vin/R1 Vout/R2 V (1/R1 1/R2)。代入Vout表达式Vin/R1 V (R4/R3 1)/R2 V (1/R1 1/R2)。整理Vin/R1 V [1/R1 1/R2 - (R4/R3 1)/R2] V [1/R1 1/R2 - R4/(R3 R2) - 1/R2] V [1/R1 - R4/(R3 R2)]。所以V (Vin/R1) / (1/R1 - R4/(R3 R2))。输入电流Iin (Vin - V)/R1。输入阻抗Z_in Vin / Iin Vin / ((Vin - V)/R1) Vin × R1 / (Vin - V)。将V代入Vin - V Vin - (Vin/R1) / (1/R1 - R4/(R3 R2)) Vin [1 - (1/R1) / (1/R1 - R4/(R3 R2))] Vin [ (1/R1 - R4/(R3 R2) - 1/R1) / (1/R1 - R4/(R3 R2)) ] Vin [ - R4/(R3 R2) / (1/R1 - R4/(R3 R2)) ]。所以Z_in Vin × R1 / (Vin × [ - R4/(R3 R2) / (1/R1 - R4/(R3 R2)) ]) R1 × (1/R1 - R4/(R3 R2)) / ( - R4/(R3 R2) ) - R1 × (R3 R2 / R4) × (1/R1 - R4/(R3 R2)) - (R3 R2 / R4) R1。如果选择R1 R2 R3 R4 R则Z_in -R R 0不对。如果选择R1R2R3R410k则Z_in - (10k×10k/10k) 10k -10k 10k 0。这不对。实际上当R1R2R3R4时V (Vin/R) / (1/R - R/(R×R)) (Vin/R) / (1/R - 1/R) 无穷大说明电路不稳定。所以需要选择不同的电阻值。例如取R110kR210kR310kR45k。则Z_in - (10k×10k/5k) 10k -20k 10k -10k。这样输入阻抗就是-10kΩ。验证V (Vin/10k) / (1/10k - 5k/(10k×10k)) (Vin/10k) / (1/10k - 5k/100M) (Vin/10k) / (0.0001 - 0.00005) (Vin/10k) / 0.00005 Vin/10k × 20000 2Vin。那么V 2Vin但V不能超过电源电压所以Vin必须很小。输入电流Iin (Vin - 2Vin)/10k -Vin/10k所以Z_in Vin / (-Vin/10k) -10kΩ。正确。这个电路就是负阻抗转换器输入阻抗为负值且由电阻比值决定。2.3 非线性从何而来在反馈回路中引入二极管或MOS管上面得到的是线性负阻抗Z_in -10kΩ恒定。但标题里说的是“非线性负阻抗电路”意味着阻抗值随电压或电流变化。怎么实现非线性最简单的方法是在反馈电阻R4的位置换成一个非线性元件比如二极管、稳压管或者MOS管。当R4随电压变化时Z_in也随之变化。例如用两个反向并联的二极管代替R4。二极管在小信号时阻抗高大信号时导通阻抗低这样负阻抗的绝对值就会随信号幅度变化。或者用JFET作为压控电阻其沟道电阻随栅极电压变化可以实现压控负阻抗。我这次选择用两个1N4148二极管反向并联再串联一个电阻构成一个简单的非线性网络。这样当输入电压较小时二极管截止等效电阻很大负阻抗绝对值较小当输入电压较大时二极管导通等效电阻变小负阻抗绝对值变大。实测中可以看到阻抗随频率和幅度变化的曲线。注意非线性负阻抗电路容易产生谐波失真和振荡调试时建议先用小信号正弦波观察再逐步加大幅度。如果发现输出波形畸变严重检查二极管方向是否正确以及运放是否进入饱和。3. 元件选型与电路搭建TL082为什么合适电阻电容怎么挑3.1 TL082的关键参数与选型理由TL082之所以适合这个电路有几个硬指标。第一JFET输入级输入偏置电流典型值30pA输入阻抗10^12Ω这意味着运放输入端几乎不吸取电流不会破坏负阻抗转换器的虚断假设。如果用BJT输入的运放比如NE5532输入偏置电流在nA级别虽然也能用但在高阻抗节点会产生误差。第二增益带宽积3MHz对于音频和低频信号比如1kHz到100kHz足够用。第三压摆率13V/μs输出摆幅在±12V供电下可达±10V以上动态范围够。第四价格便宜零售价几块钱一片烧了不心疼。第五双运放封装一个芯片可以做两个通道方便做对比实验。对比一下其他常见运放LM358便宜但GBW只有1MHz压摆率0.6V/μs高频响应差NE5532低噪声但输入偏置电流大OPA2134性能好但价格高。TL082在性价比和性能之间取得了很好的平衡。当然如果你手头有TL084四运放也可以电路完全一样。3.2 电阻、电容与二极管的选型细节电阻全部用1%精度的金属膜电阻功率1/4W足够。阻值选择上我用了R110kΩR210kΩR310kΩR4由5kΩ固定电阻串联两个反向并联的1N4148组成。为什么选10kΩ这个量级因为TL082的输入偏置电流极小10kΩ不会产生明显的失调电压。如果选1MΩ虽然负阻抗绝对值更大但分布电容和噪声影响会加剧。如果选1kΩ负阻抗绝对值小效果不明显。10kΩ是折中。电容方面电源引脚需要加去耦电容每个电源引脚对地接0.1μF陶瓷电容再并联10μF电解电容。这是标准做法防止电源噪声耦合到信号路径。反馈回路中我在R4两端并联了一个10pF的小电容用来补偿高频相位防止自激。这个电容值不能太大否则会限制带宽也不能太小否则振荡。10pF是经验值实际调试时可以用示波器观察输出是否有高频毛刺再微调。二极管选1N4148开关速度快结电容小4pF适合高频。反向并联的意思是两个二极管阳极接阴极阴极接阳极然后整体串联在R4的位置。这样无论信号正负总有一个二极管导通但导通方向不同等效电阻随电压变化。实测中当输入信号幅度为1Vpp时二极管基本不导通等效电阻约等于5kΩ加上二极管的漏电阻很大所以Z_in约-10kΩ。当输入幅度为5Vpp时二极管导通等效电阻下降Z_in绝对值增大到约-15kΩ。这就是非线性的表现。3.3 供电与布局的实操要点供电用±12V可以用实验室的跟踪电源也可以用两个9V电池串联得到±9V但±12V动态范围更好。TL082的供电范围是±4V到±18V±12V很安全。面包板搭建时注意电源线要粗一点或者用双绞线减少电源阻抗。信号输入用BNC线或者屏蔽线避免空间噪声耦合。输出端接示波器探头时用10倍衰减档减少探头电容对电路的影响。布局上运放的同相端和反相端走线尽量短反馈电阻紧贴运放引脚。二极管和R4的连线也要短减少寄生电感。地线采用单点接地输入地、输出地、电源地都汇接到同一个点避免地环路。我在第一次搭建时忽略了这点结果输出波形上叠加了50Hz工频干扰后来把地线重新整理后干扰消失。提示面包板搭建的电路在高频下性能会下降因为面包板有较大的分布电容和接触电阻。如果要做100kHz以上的测试建议用洞洞板或者PCB。我实测在10kHz以下面包板效果可以接受。4. 实测数据与波形分析负阻抗到底长什么样4.1 静态工作点与直流特性测试上电后先不接输入信号用万用表测量各点直流电压。TL082输出引脚1对地电压应该在0V附近因为同相端接地反相端虚地输出应该为0。实测为2mV这是运放的输入失调电压导致的TL082的失调电压典型值3mV在允许范围内。同相端电压0V反相端电压0.5mV基本符合虚短。电源电流约4mA正常。然后接上输入信号用直流电源扫描输入电压测量输入电流。输入电压从-2V到2V变化步进0.5V。记录输入电流计算Z_in Vin / Iin。实测数据如下表输入电压Vin (V)输入电流Iin (μA)计算阻抗Z_in (kΩ)-2.0190-10.5-1.5145-10.3-1.098-10.2-0.550-10.00.00无穷大实际为开路0.5-48-10.41.0-95-10.51.5-140-10.72.0-185-10.8可以看到在±2V范围内负阻抗基本稳定在-10kΩ左右非线性不明显。这是因为二极管在±2V时还没充分导通。当输入电压超过±3V时二极管开始导通阻抗绝对值增大。继续测试输入电压Vin (V)输入电流Iin (μA)计算阻抗Z_in (kΩ)-5.0380-13.2-4.0310-12.94.0-305-13.15.0-370-13.5在±5V时负阻抗绝对值从10kΩ增大到13kΩ左右变化了30%非线性特性显现。注意输入电压不能超过运放的输出摆幅限制否则运放饱和负阻抗特性消失。TL082在±12V供电下输出摆幅约±10V所以输入电压在±8V以内是安全的。4.2 交流阻抗与频率响应测试用信号发生器输入正弦波频率从100Hz到100kHz幅度1Vpp。用示波器测量输入电压和输入电流通过测量串联在输入端的采样电阻上的电压计算阻抗幅值和相位。实测数据频率 (Hz)阻抗幅值 (kΩ)相位 (度)10010.21781k10.117710k9.817550k8.5168100k6.2155相位接近180度说明确实是负阻抗。随着频率升高阻抗幅值下降相位偏离180度这是因为运放的GBW限制和寄生电容的影响。在100kHz时阻抗幅值降到6.2kΩ相位155度负阻特性变差。如果要用到更高频率需要选择GBW更大的运放比如TL072GBW 3MHz但压摆率更高或者OPA2134GBW 8MHz。4.3 非线性波形观察与谐波分析输入1kHz正弦波幅度从1Vpp逐步增大到8Vpp观察输出波形。在1Vpp时输出波形干净无明显失真。在4Vpp时输出波形开始出现轻微削顶因为二极管导通导致负阻抗变化电路增益非线性。在8Vpp时输出波形明显畸变正负半周不对称。用频谱分析仪看谐波基波1kHz二次谐波在2kHz处约-30dBc三次谐波在3kHz处约-35dBc。这说明非线性负阻抗电路确实产生了谐波如果用于信号处理需要注意失真指标。注意如果发现输出波形振荡比如叠加了高频正弦波说明电路自激了。解决方法在R4两端并联的10pF电容增大到22pF或者在运放输出端串联一个50Ω电阻再接反馈网络。我调试时遇到过一次自激频率约500kHz增大补偿电容后消失。5. 常见问题与排查技巧实录5.1 电路不起振或负阻抗特性消失最常见的问题是负阻抗特性出不来输入阻抗测出来是正的。原因可能有几个一是电阻取值不对导致推导中的分母为零或负值。检查R1、R2、R3、R4的比例关系确保1/R1 - R4/(R3 R2) 不为零且符号正确。我建议先用固定电阻R45kΩR1R2R310kΩ这样Z_in -10kΩ最容易成功。二是运放供电没接好或者运放坏了。用万用表测运放输出引脚电压如果接近电源轨说明运放饱和或损坏。三是二极管接反了导致反馈极性错误。检查二极管方向确保反向并联。5.2 输出波形失真或振荡失真通常是因为输入信号太大运放进入非线性区。减小输入幅度或者提高供电电压。振荡则是因为相位裕度不足。TL082在单位增益下是稳定的但在负阻抗电路中正反馈可能引起振荡。解决方法在反馈电阻上并联小电容降低高频增益。电容值从10pF开始试逐步增大到100pF直到振荡消失。但电容太大会限制带宽需要折中。另一个方法是降低电阻值比如从10kΩ降到4.7kΩ减少寄生电容的影响。5.3 测量误差与干扰问题测量输入电流时如果直接用万用表串联在输入端万用表的内阻会引入误差。正确做法是在输入端串联一个小的采样电阻比如100Ω测量其两端电压再计算电流。采样电阻要远小于输入阻抗否则会影响电路工作。我一开始用1kΩ采样电阻结果测出来的阻抗偏差20%后来换成100Ω偏差降到2%以内。另外示波器探头的地线要短最好用弹簧地线减少环路面积降低空间干扰。5.4 常见问题速查表现象可能原因解决方法输入阻抗为正电阻比例错误检查R1/R2/R3/R4确保满足负阻条件输出饱和输入信号太大或供电不足减小输入幅度或提高供电电压高频振荡相位裕度不足在反馈电阻并联10-100pF电容波形失真二极管非线性过强减小输入幅度或调整二极管串联电阻测量偏差大采样电阻过大换用100Ω以下采样电阻工频干扰地线环路单点接地缩短地线6. 这个电路还能怎么玩扩展思路与个人体会负阻抗电路搭出来之后我试过几个扩展玩法。第一个是把二极管换成JFET比如2N5457用栅极电压控制沟道电阻实现压控负阻抗。这样可以用一个直流电压来调节负阻抗的大小做成一个可调的有源阻抗匹配网络。第二个是把负阻抗电路用在LC谐振回路里抵消电感或电容的损耗提高Q值。实测在1kHz时Q值从原来的20提高到50以上效果明显。第三个是级联两个负阻抗电路得到更大的负阻值但要注意稳定性级联后容易振荡。个人体会是负阻抗电路虽然原理不复杂但调试起来需要耐心。尤其是非线性负阻抗二极管的工作点随信号变化阻抗值不是常数测量时要用小信号扫频避免大信号导致误判。另外TL082虽然便宜但在高频下性能有限如果要做100kHz以上的应用建议换用GBW更高的运放。最后面包板搭建的电路只能用于验证原理真正要做产品还是得画PCB注意接地和屏蔽。这个电路后续还可以扩展成有源滤波器利用负阻抗提升滤波器的选择性或者做成负电容、负电感用于补偿传输线效应。如果你对模拟电路感兴趣这个项目是一个很好的练手机会成本低见效快能让你对运放的虚短虚断、反馈理论有更深刻的理解。