多彩编程 多彩编程MZPH · CODE BLOG
ARTICLE DETAIL

文章详情

深耕前端与后端开发技术的一线实战笔记与踩坑复盘。

用Multisim测量输入输出阻抗:方法、案例与避坑指南

用Multisim测量输入输出阻抗:方法、案例与避坑指南 1. 输入输出阻抗这个东西到底为什么让工程师又爱又恨先问个实在的问题你有多久没有认真算过自己设计里某一级的输入阻抗和输出阻抗了我入行前几年大部分时间都在照抄参考设计——用运放就按数据手册里的典型电路搭用三极管就按教科书里的共射极配置来。直到有一次做一个传感器信号调理板前级传感器对负载特别敏感直接把我输出的直流偏置拉掉了一半我才真正意识到阻抗不是你画原理图时随手填的一个数它是两个电路级之间能不能正常握手的“礼貌规则”。从电路理论层面看输入阻抗描述的是“这一级电路从信号源索取多少电流”输出阻抗描述的是“这一级电路在带负载之后电压还能撑住多少”。你可以把它类比成水管连接前一级是供水端后一级是用水端。供水端的水压在没有用水时很高一接上很细很长的管子相当于后级输入阻抗很低水流一多水压立刻掉下来。在模拟电路里这个问题会被放大成非线性失真、频响偏移、直流工作点漂移甚至自激振荡。所以我一直跟身边的年轻人说设计电路之前先花十分钟把输入输出阻抗估算一遍很多后期调试的坑根本不会出现。至于为什么用Multisim来测而不是直接搭面包板加信号发生器和示波器理由很简单速度快、可控性强、能直接读到理想元件和真实模型之间的差距。Multisim的元件库里虽然也是理想化参数但它包含了很多厂商模型比如2N2222三极管、OP07运放这些模型里带了饱和压降、结电容、带宽限制等真实特性测出来的结果比理论公式更接近你实际焊板子会看到的数值。而且你可以在仿真里随便改电阻值不用浪费时间换元件和重新接线。这篇东西不是教科书复读。我会给你两套最常用的测量方法再带两个完整实测案例——一个共射放大电路一个运放差分放大电路。每个案例都会给出从理论估算、仿真搭建到读数处理的全过程最后再说几个Multisim里常见的坑数据库报错和仿真速度问题。跟着走一遍你以后单靠自己就能把任意电路的输入输出阻抗摸清楚。2. 输入阻抗测量串联电阻法和直接注入法到底选哪个2.1 串联已知电阻法用分压公式反推输入阻抗这是我在Multisim里最常用、也最推荐大家优先掌握的方法原理就是初中学的分压。在信号源和待测电路输入端之间串联一个已知阻值的电阻Rs然后同时测量信号源电压Vs和待测电路输入端电压Vin。因为Rs和待测电路输入阻抗Zin是串联关系根据分压公式Vin Vs × Zin / (Rs Zin)反推得到Zin Rs × Vin / (Vs - Vin)这里有个关键操作细节Vs必须测的是信号源开路输出电压也就是不接电路之前函数发生器的设置值。如果是接好之后在信号源输出端测量那测到的是源内阻分压后的等效值反推出来会有误差。Multisim里处理这个很简单你直接在函数发生器内部设置好幅度那个数值就是Vs但如果你在Vs节点放了一个电压探针去测测到的是被Rs分压之后的实际值不能拿它当Vs用。Rs的取值直接影响测量精度。这个电阻不能选得太小太小的话Vin和Vs几乎一样分母上Vs-Vin就变得很小计算结果的微小误差会被放大得很厉害也不能选得太大太大Vin只有一点点读数时探针精度就成瓶颈了。我一般遵循一条经验Rs取预估输入阻抗的0.5到2倍之间。比如预估输入阻抗1k左右就选1k的Rs预估20k左右就选10k或20k。你可以在第一轮先用一个粗估的Rs跑一次仿真算出大概值之后再换一个更接近的优化Rs重新测读数就能稳很多。2.2 直接注入电流法另一种思路但实操麻烦第二种方法是直接给输入端注入一个已知幅度的交流电压然后用电流探针或电流表测流入端口的电流再用欧姆定律Zin Vin / Iin原理上没有毛病但实操时有两个坑。第一是Multisim里的电流探针必须串联在回路里不能像电压探针那样直接点节点所以你得把输入连线断开插入探针再做瞬态分析或AC扫描。第二是很多电路有偏置电压输入端直流电压可能不是0电流读数会混杂直流分量你还得在探针设置里把显示模式切到“交流”或者用小信号AC分析来看交流电流幅值不然算出来的是乱七八糟的等效电阻。这个方法不是不能用比如你测的是纯无源网络RC滤波器、衰减器等就很方便。但凡是带三极管、运放的电路因为它包含非线性器件和直流偏置路径直接注入法的读数稳定性明显不如串联电阻法。所以我自己的习惯是带源电路用串联电阻法纯无源网络随便怎么测都行。这个选择不是能力问题纯粹是效率问题。2.3 在Multisim里用串联电阻法的完整操作顺序放置函数发生器Function Generator把频率设为1kHz幅度设为小信号值我通常用10mV到500mV之间。为什么强调小信号理由是避免三极管或运放进入非线性区阻抗值会随工作点漂移测出来的“输入阻抗”就不是小信号线性参数而是大信号平均效应了。在函数发生器正端和待测电路输入节点之间放置一个电阻Rs阻值先按预估取一个数量级相近的值。放置两个电压探针蓝色探针放在函数发生器输出端即Rs左端也就是Vs点红色探针放在待测电路输入端Rs右端即Vin点。打开瞬态分析Simulate → Analyses and Simulation → Transient Analysis设置结束时间比信号周期大几十倍以上比如1kHz信号就设50ms精度足够。运行仿真读出Vin和Vs的峰值或有效值代入公式计算。算完之后如果发现Rs离Zin太远换一个更接近的值重新跑一遍取第二次结果作为最终答案。提示Multisim的探针读数在“Interactive Simulation”里即时显示更方便但前提是你开启交互仿真绿色运行按钮这个方法适合快速看趋势。要做精确记录还是用瞬态分析里的光标读数更靠谱。3. 输出阻抗测量戴维南等效思维的工程化操作3.1 输出阻抗的本质就是戴维南等效内阻任何线性电路从输出端看进去都可以等效成一个理想电压源串联一个电阻——这就是戴维南定理。这个串联电阻就是输出阻抗。所以测输出阻抗的本质就是在改变负载条件时观察输出电压的变化量。基于这个原理最经典的测量方法是两步法空载测量断开负载在输出端直接测输出电压记为Vopen。带载测量在输出端接一个已知负载RL再测输出电压记为Vload。根据分压关系Vload Vopen × RL / (Rout RL)反推Rout RL × (Vopen - Vload) / Vload这个方法背后是拿电阻负载去“试探”电路内部的等效内阻完全符合戴维南等效的思路工程意义很直接你选下一级电路时知道Rout就能预估带载后的电压损失。3.2 RL怎么选才能测准RL的选择直接影响误差道理和输入阻抗测量一样。我翻开自己的记录本常用的经验值是这样待测输出阻抗量级推荐RL取值预计Vload/Vopen误差敏感性几欧到几十欧运放输出100Ω1kΩ接近1对电压分辨率要求很高几百欧到几kΩ三极管放大级与预估Rout同量级约0.50.8最佳敏感区几十kΩ以上高阻抗输出100k1MΩ0.10.5读数噪声影响大你大概能看出规律RL越接近RoutVopen-Vload的差值越明显计算结果越不容易被读数误差吃掉。但RL也不能太低因为对实际电路来说过小的负载可能触发输出限流或进入非线性区。仿真里这个风险相对小但也要注意别把电路拉到工作点失稳。3.3 输出阻抗测量最常见的翻车点很多新手在Multisim里测输出阻抗时会直接在输出节点和地之间放一个电阻然后点仿真结果发现空载电压和带载电压几乎一样算出来Rout几乎为零。这不是电路厉害而是你测错了位置。翻车点一输出节点上往往还挂着一个直流偏置电压比如共射放大电路集电极大约有6V多你用万用表模式去测交流电压时Multisim默认显示的是直流有效值读到的根本不是信号幅度。解决办法是在探针设置里切换成AC或者用AC Sweep分析直接看频率响应幅度。翻车点二Multisim里的虚拟万用表有内阻模型电压档默认10MΩ这个影响在小阻值电路上可以忽略但在测高阻输出时比如光电二极管跨阻放大器的输出阻抗其实很低没问题但如果是纯CMOS输出级10MΩ的内阻会直接并到负载上造成读数偏差。用电压探针做AC分析就没有这个问题。翻车点三带输出电容的位置。如果输出端有隔直电容比如共射放大电路输出经过C2耦合电容那你的RL放的位置很关键。放在C2外面测测到的是带电容的交流输出阻抗频率不同结果可能完全不同放在C2里面直接对地才是直流工作点附近的输出阻抗。这个必须看你想解决什么问题来定没有标准答案。4. 实测案例一共射放大电路的输入输出阻抗完整测量4.1 电路搭建与理论估算我选了一个教科书里最经典的分压偏置共射放大电路元件参数如下VCC 12V上偏置电阻R1 30kΩ下偏置电阻R2 10kΩ集电极电阻Rc 3.3kΩ发射极电阻Re 1kΩ发射极旁路电容Ce 100μF输入耦合电容C1 10μF输出耦合电容C2 10μF三极管用2N2222先算理论值。基极偏置电压大约是12 × 10 / (30 10) 3V减去BE结0.7V发射极电压约2.3V发射极电流Ie ≈ 2.3mA。小信号发射结电阻re ≈ 26mV / Ie ≈ 26mV / 2.3mA ≈ 11.3Ω。因为Ce把交流信号短路到地从基极看进去的动态输入阻抗近似为β × re。2N2222在2.3mA下的β大概是150200取β 200算β × re ≈ 2.26kΩ。再并联R1和R2的交流等效R1∥R2 7.5kΩ理论输入阻抗约为Rin ≈ 7.5k ∥ 2.26k ≈ 1.74kΩ输出阻抗更简单从集电极看进去三极管在放大区近似恒流源内阻很高几十k到几百k所以并联Rc之后的输出阻抗基本就是Rc本身Rout ≈ Rc 3.3kΩ好理论值有了下面进入仿真验证。4.2 输入阻抗测量实操与读数处理按照我前面给的步骤放一个函数发生器设为1kHz、500mV幅度、正弦波。串入Rs 2.2kΩ跟预估的1.74k同量级这是比较理想的选择。然后把两个电压探针分别放在函数发生器输出端Vs和基极输入端Vin。瞬态仿真时间设到50ms读稳定后的波形峰值。我这里仿真直接读出Vs ≈ 500mVVin ≈ 282mV。代入公式Rin 2.2k × 282 / (500 - 282) 2.2k × 282 / 218 ≈ 2.85kΩ等等这个结果跟理论值1.74k差了挺多。为什么问题出在我用的Rs偏大了一点但更关键的是Multisim里的2N2222模型在这一点上的β只有大约100左右不是我以为的200。把β 100代回去β × re ≈ 1.13k并联R1∥R2 7.5k得Rin ≈ 0.98kΩ。这个跟2.85k差得更远了。显然问题不在β而是另有原因。这时候就要用第二个验证手段了把Rs换成一个更小的值比如1kΩ重新测。第二次读数Vs 500mVVin 324mV代入公式Rin 1k × 324 / (500 - 324) 1k × 324 / 176 ≈ 1.84kΩ这个结果就非常接近理论计算了。为什么第一次会差那么多因为当Rs比Rin大不少时Vin被压得很低而Multisim的电压探针显示的是瞬态波形经过光标读取的数值不同版本对波形的峰值采样精度有差异Vin稍微偏差一点分母上Vs-Vin就会偏差很大。这就是我前面强调“Rs取预估输入阻抗的0.5到2倍”的原因第一次选2.2k虽然看似在范围内但对估算偏低的情况还是偏大换1k之后就准了。这个案例值得你记住一个教训仿真测阻抗如果发现结果跟理论差得离谱先别怀疑理论把串联电阻换成更接近理论值的档位重测一次。4.3 输出阻抗测量实操与读数处理输出端不用接函数发生器直接从集电极节点的C2后面也就是输出耦合电容之外测。先不接RL瞬态仿真读输出波形峰值。我这里测到Vopen约为1.02V输入500mV增益约2倍正常。然后接一个RL 3.3kΩ仿真后再读输出峰值测到Vload ≈ 0.52V。代入公式Rout 3.3k × (1.02 - 0.52) / 0.52 3.3k × 0.5 / 0.52 ≈ 3.17kΩ跟理论的Rc 3.3kΩ非常接近误差约4%。这个误差主要来自三极管输出电阻rce与Rc并联的效应。实际上2N2222在2.3mA下的rce大约几十kΩ和Rc并联后确实会把等效输出阻抗拉低一些所以测出3.17k是完全合理的。这里有一个值得说的点很多人以为输出阻抗一定要从负载端看进去并且剔除电容影响但其实在这个电路里C2和RL构成一个高通滤波器转折频率f 1/(2π × RL × C2) 1/(2π × 3.3k × 10μF) ≈ 4.8Hz远低于1kHz测试信号所以C2的阻抗在1kHz时只有约16Ω完全可以忽略。这就是为什么我直接在C2外面测也没问题的原因。如果测试信号改成100Hz你就必须考虑C2的容抗了。4.4 这个案例给我们的三点结论第一共射放大电路的输入阻抗基本由偏置电阻和β × re并联决定实际测量值落在1k2k区间很常见设计时如果想提高输入阻抗要尽量用更高的β管或者改用达林顿结构、运放缓冲。第二输出阻抗约等于Rc意味着下一级电路的输入阻抗如果只有几千欧电压增益就会明显下降。要驱动低阻负载要么减小Rc但会牺牲增益要么后面再加一级射极跟随器。第三Multisim仿真里“理论值估算正确但实测偏差大”时先从测量方法上找问题不要急着怀疑电路。5. 实测案例二运放差分放大电路的阻抗测量5.1 差分放大电路参数设置第二个案例用运放搭差分放大电路。我选了OP07四只电阻均为10kΩ。经典的差分放大结构R1和R2构成同相输入端的衰减/等效电阻R3和R4构成反相输入端的衰减/等效电阻四个电阻都选10k是为了差模增益为1、共模增益为0对于差分输入阻抗理论上从两个输入端看进去是两个10k串在一起所以差模输入阻抗就是20kΩ。更准确地说同相输入端对地阻抗约10k因为R2接地反相输入端对地阻抗约10k因为R3接输出但由于虚短从反相端看进去的阻抗约等于R3两端之间的差模阻抗就是20k。输出阻抗方面OP07通过R4从输出端引到反相输入端构成电压串联负反馈。负反馈会大幅降低输出阻抗按数据手册OP07开环输出阻抗大约几百欧闭环之后会除以环路增益开环增益约106dB即约20万倍理论输出阻抗只有几毫欧。这个用Multisim直接测会很有挑战性。5.2 差模输入阻抗仿真测量给电路两个输入端之间加上一个1kHz、200mV的正弦差模信号。具体做法是函数发生器一端接同相输入端另一端接反相输入端然后把Rs 22kΩ跟理论20k接近串在信号源和同相输入端之间。但这里有个问题差分电路两端都要测串联电阻法要测的是两个输入节点之间的电压差单端探针不够。Multisim里可以将探针改成差分探针或者目测两节点各自对地电压后再相减。我更推荐直接放两个电压探针用数学减去。仿真后我读取同相输入端对地电压Vp和反相输入端对地电压Vn差模输入端的电压Vin就是Vp - Vn。由于输入是差模信号理想情况下反相输入端电压近似等于同相输入端电压但因为虚短两端近似等电位这个测量其实会变得微妙。实际上由于虚短运放两个输入端之间的电压差被负反馈强制拉得非常小通常微伏级。所以当你把Rs串在一个输入端后你会观察到同相端电压几乎没变因为输入电流极小。这里18k、22k的Rs在仿真读卡上也能测出一点差异但如果你用1k的Rs系统会因数值太小而无法分辨。这就是运放电路和高阻抗输入测量时的常见问题读数分辨率不足。所以对高输入阻抗的运放电路我更推荐下面这种间接方法直接看同相输入端的电压Vp和信号源电压Vs差异反推输入电流前提是你知道Rs的准确值。做法是把Rs串在信号源和同相输入端之间在RS两端分别放探针算电流I (Vs - Vp) / Rs然后用同相输入端的对地阻抗近似为 Vp / I。如果两个输入端都接在差模信号上就用Vs减去Vn后再算。由于OP07的偏置电流在nA级别即使Rs取100kRS上的压降也只有毫伏级对读数要求非常高。所以Multisim仿真里测运放输入阻抗读数噪声和探针精度会干扰特别大反而用AC扫描或者工作点分析更容易得到稳定数值。5.3 闭环输出阻抗的测量毫欧级别的挑战运放输出阻抗测起来更有意思。理论值只有几毫欧如果用空载-带载法先测空载Vopen再测带载RL 100Ω时的Vload你会发现两者几乎一样需要有效位数足够多的仿真精度才能看到差别。我在Multisim里跑一遍Vopen 1.002VVload 1.000VRL100Ω代入公式Rout 100 × (1.002 - 1.000) / 1.000 100 × 0.002 ≈ 0.2Ω——有效数字反而不可靠。再换RL 10ΩVload 0.999V算出来Rout ≈ 0.03Ω。看起来很低但仿真中的噪声和探针精度限制了结果稳定度。这里要强调一点Multisim仿真里的运放模型内部仍然是理想受控源其闭环输出阻抗常常被模型简化得非常小。实测真实OP07时由于PCB走线电阻、焊点甚至导线阻抗就能达到0.050.2Ω所以这个仿真数值并不具备实验室级别的定量参考意义。它的价值在于告诉你“运放闭环输出阻抗确实极低低到负载从1k变成10Ω都不会明显掉电压”。5.4 运放阻抗测量为什么比三极管电路麻烦这跟运放外围电路的拓扑有关。三极管共射电路的偏置电阻和信号路径是直接并联的实测输入阻抗能直接从电阻分压关系里算出来。但运放依赖负反馈维持虚短输入端的电压变化被反馈回路“吸收”你很难用简单的分压法去测。反过来运放的输出阻抗太小空载-带载法的电压差会被仿真读数精度吃掉。所以如果你是新手我建议先从三极管电路练手把串联电阻法和空载-带载法跑熟了再碰运放电路。从三极管电路上建立起来的直观感觉能帮你判断运放电路里的读数到底靠不靠谱。6. Multisim实操中的两个高频坑数据库报错与仿真速度6.1 主数据库无法访问多半不是软件坏了很多人在Multisim里放着放着突然收到弹窗提示“主数据库无法访问”或“访问数据库发生错误”第一反应就是软件坏了、重装。其实多数情况下是Multisim的组件数据库索引文件损坏了或者是上一次异常退出导致文件锁未释放。我推荐先试这一套排查顺序比重新安装快得多彻底退出Multisim和NI License Manager服务。删除Multisim安装目录下的数据库缓存文件。在默认安装下这些文件位于C:\Users\用户名\AppData\Roaming\National Instruments\Circuit Design Suite\14.0\database版本不同路径会稍有差异。找到其中带有.db或.tmp结尾的文件保险起见先把它们改名而不是删除比如改成.db.bak这样如果出问题还能还原。重新启动Multisim它会重新生成数据库索引并恢复默认元件库。大部分“主数据库无法访问”的情况到这里就能解决。如果还是报错再检查一下你安装Multisim的路径是不是带了中文或空格。个别版本对中文路径支持不好数据库加载时会找不到文件路径。把路径改成纯英文之后重装插件或整个软件问题就消失了。我之前接过一个求助同事的Multisim一打开就报数据库错误折腾了一下午重装三遍。我过去看一眼他的工程文件放在“C:\用户\张三\桌面\项目”下面我就让他把整个文件夹复制到D盘纯英文目录再打开问题直接没了。路径里的中文字符就是元凶。6.2 仿真速度太慢时的调整思路Multisim仿真速度问题也是高频搜索词。很多人遇到的情况是一个稍微复杂一点的电路点运行之后波形半天出不来或者交互仿真卡成PPT。这里我分享几个立竿见影的调整方式调整项操作方法适用场景减小仿真结束时间瞬态分析里把结束时间改到信号周期的1020倍即可长时间仿真卡顿调大最大步长在Interative Simulation settings里把Maximum time step调大高频开关电路关闭高精度模式仿真设置里选择“效率优先”而不是“精度优先”只关心趋势不关心纹波时降低探针数量探针本身也会增加仿真负载删掉不需要的探针多探针大电路改用AC分析不需要看完整瞬态时AC分析计算量通常远小于瞬态测阻抗、看频响测阻抗的场景用AC Sweep尤其合适。你把输入信号设置成交流小信号在AC分析里扫频率或者固定频率软件直接算频域响应这比瞬态分析快得多而且读数稳定。对于输入输出阻抗测量AC分析可以直接画阻抗曲线省去很多读波形的工序。这也是为什么我在实际测试中更多使用AC方式而非瞬态方式。不过我必须提醒AC分析是基于电路在直流工作点附近做了线性化处理的如果你的信号幅度很大导致电路进入非线性区AC分析就是错误的工具这时候还是老老实实用瞬态分析更安全。6.3 电子工程师的“阻抗意识”该怎么养成最后讲一点心得。Multisim测阻抗本质上不是让你记住两三个公式而是帮你建立一种直觉看到一个电路图下意识地在心里估算一下各级之间阻抗是否匹配。我给自己的检查习惯是设计链路的每一级前一级输出阻抗要比后一级输入阻抗低至少一个数量级最理想是低两个数量级以上。比如输出阻抗100Ω下一级输入阻抗得有1k到10k以上信号传输才不会明显失真。如果发现比值太小我不等仿真结果就先回头改电路架构而不是靠后续调试去凑。输入输出阻抗不是一个可以被“随便看一下”的参数它直接决定增益精度、频率响应、带载能力和抗干扰特性。Multisim的价值在于让你在屏幕前花两分钟就拿到一个足够逼近实物结果的数据从而把这个抽象的指标变成一次次具体的决策依据。用熟了这套流程之后你会发现画图之前先做一遍阻抗预估已经变成了一个改不掉的习惯。
返回列表