从自平衡电桥到2MHz LCR表:四通道并行I-V架构的工程实践
1. 项目概述与设计思路几年前我设计了一款精度达到500 ppm的LCR表并在Elektor杂志上以AU2013项目发布。那款仪表在精度上做到了极致但在实际使用中我和许多爱好者、维修工程师交流后发现单一的高精度有时并非唯一追求。大家更需要的是一台功能全面、操作便捷、频率覆盖更广同时又能兼顾不错精度的“全能型”测量工具。于是就有了这个全新的AU2019版本。这个新项目我称之为“LCR表的再思考”。核心思路很明确在保证基础精度比如优于0.5%的前提下大幅扩展仪器的实用功能。最终我们得到了一台频率范围从50Hz覆盖到2MHz支持多种测试电压并且能提供直流偏置的LCR表。它不再是一个单纯的实验室高精度仪器而更像是一个面向电子开发、维修、教育甚至业余制作的“瑞士军刀”。为了让这个想法落地我在电路架构上做了一些大胆的取舍和创新放弃了部分极限精度换来了更宽的阻抗测量范围、更高的频率上限以及更友好的用户体验。接下来我就把这几年折腾的心得从设计思路到每一个关键电路的实现细节毫无保留地分享出来。2. 核心架构自平衡电桥法的演进与挑战2.1 阻抗测量基本原理与方案选型测量一个无源元件电阻、电容、电感的阻抗本质上是测量其两端电压与流过其电流的复数关系。阻抗Z是一个复数可以表示为实部电阻R和虚部电抗X即 Z R jX。要确定它我们至少需要两个信息幅值和相位或者说同相分量和正交分量。市面上实现阻抗测量的方法不少比如电桥法、I-V转换法、射频反射法等。对于一款希望覆盖从音频到中频范围50Hz-2MHz、成本可控且易于实现的桌面仪器自平衡电桥法是一个经典而高效的选择。它的核心思想是利用一个运算放大器构成电流-电压I-V转换器强制被测器件DUT的“低”端保持虚地。通过测量DUT高端对地的电压V和流过I-V转换器反馈电阻的电压代表电流I就能直接计算出阻抗。这个方法最大的优点是电路相对简单对运放要求明确容易获得不错的精度。但它有个天生的瓶颈整个系统的带宽和精度严重依赖于核心运放的性能。尤其是在需要切换量程即切换I-V转换器的反馈电阻时传统的模拟开关如74HC4052会引入不可忽视的寄生电容和导通电阻这些寄生参数在高频下会严重恶化测量结果。这就是为什么很多基于此方案的商用或DIY LCR表其高频上限往往卡在100kHz或200kHz。2.2 AU2019的突破性设计四路并行I-V通道为了突破这个瓶颈我采取了一个不那么“经济”但非常有效的策略放弃量程切换改为通道切换。具体来说我设计了四套独立的“运放精密电阻”对每一对都针对一个特定的阻抗量程进行优化。测量时根据预估的阻抗值MCU会通过光耦MOSFET继电器PhotoMOS选择接通其中一路到测量总线。这个设计的好处是显而易见的极致降低寄生参数每个测量通道的路径是固定的避免了模拟开关在信号通路中引入的变数。选用的PhotoMOS继电器如松下AQV系列具有极低的Rds(on)*Coss乘积意味着其导通电阻和输出电容对高频信号的影响微乎其微。优化性能匹配可以为每个量程单独选择最合适的反馈电阻值和运放补偿网络让每个通道在其工作频段内都达到最佳状态。简化控制逻辑量程切换变成了简单的“四选一”数字开关由MCU直接控制无需复杂的模拟开关译码电路。当然代价是BOM成本增加了需要四个高性能运放和四个继电器PCB面积也变大了。但为了实现2MHz的测量目标我认为这个代价是值得的。这就像为了获得更好的音质用四个独立的功放芯片分别驱动高、中、低音单元而不是用一个芯片加切换电路来驱动所有单元。2.3 关键器件选型性能与成本的平衡运算放大器U9-U12AD8099这是整个信号链的心脏。要达到2MHz的测量频率并且保证在整个频段内有良好的线性度和低失真运放的增益带宽积GBW和压摆率Slew Rate必须足够高。我选择了ADI的AD8099。它的单位增益带宽高达200MHz典型值压摆率也有475V/µs足以轻松应对2MHz的正弦波。更重要的是它有一个DISABLE引脚可以将其输出置于高阻态这正好配合我们的四通道选择方案——未选中的通道可以被彻底关闭避免相互干扰。继电器U50-U57PhotoMOS如前所述我选择了松下的光耦MOSFET继电器。这类器件利用LED光耦隔离控制信号用MOSFET作为开关元件。它的优势在于近乎理想的开关特性导通电阻低约1Ω关断漏电流极小pA级寄生电容很小通常几个pF。无触点磨损相比机械继电器寿命极长。控制简单直接用3.3V或5V驱动LED即可无需额外的驱动电路。微控制器MCUC8051F120可能有人会问为什么在ARM Cortex-M系列大行其道的今天还要用Silicon Labs这款“老古董”的8位MCU原因有三资源足够它内置64KB64KB Flash4KB RAM以及我们需要的所有外设多路ADC、DAC、PCA可编程计数器阵列用于产生PWM或捕获编码器信号、UART、SPI等。处理LCR表的控制、计算和界面交互绰绰有余。熟悉度“最好的工具是你最熟悉的工具”。我对C8051系列的内核、开发环境和调试工具链了如指掌这能极大缩短开发周期减少在底层驱动上的踩坑时间。已有工具我手头就有完整的C8051开发套件如USB Debug Adapter无需额外投入。在嵌入式开发中盲目追求最新最强的芯片往往不是最优解在满足需求的前提下选择最熟悉、生态最成熟的平台效率反而最高。3. 核心电路模块深度解析3.1 输入与前端调理电路精度从这里开始LCR表的测量精度很大程度上取决于前端电路如何“干净”地获取被测器件DUT两端的真实电压和电流。AU2019采用了5端Kelvin测量法来消除测试线缆电阻和接触电阻的影响。驱动端ForceJ4 (High Drive)和J7 (Low Drive)提供激励电流。检测端SenseJ5 (High Sense)和J6 (Low Sense)直接连接到DUT的引脚附近用于高精度测量电压。由于PhotoMOS继电器有约1Ω的导通电阻我们不能简单地将Sense端接地作为参考。因此我使用了一个由三个运放U7A, U7B, U7C构成的高共模抑制比CMRR仪表放大器。它的任务是以J6 (Low Sense)为参考地精确测量J5 (High Sense)的电压。为了在全频段10kHz到1MHz都保持高的CMRR电路设计了两个调整点R31用于调整低频10kHz下的电阻匹配保证直流和低频CMRR。C44用于补偿高频下运放和布线带来的相位误差保证高频CMRR。实操心得这个电路的校准非常关键。在校准时需要在J4/J5和J6/J7之间连接一个短路线然后注入共模信号调整R31和C44使差分输出最小。这个过程需要一台信号发生器和一台示波器或高精度ADC来配合。务必耐心微调它对最终的低阻抗测量精度影响巨大。直流偏置电路是另一个亮点。对于电容我们可以在正弦激励上叠加一个0-5V的直流电压通过U26C运放实现。对于电感则需要一个0-50mA的直流电流偏置这是通过一个由Q8和Q9构成的压控电流源来实现的。U27A构成一个积分器确保I-V转换器的输出直流电平始终维持在0V附近为交流测量提供一个稳定的“基线”。3.2 正弦波发生器与同步时钟纯净信号的来源稳定的、低失真的正弦波激励信号是测量的基础。我采用了直接数字频率合成DDS技术核心是ADI的AD9834芯片U24。DDS的优点是可以产生频率分辨率极高、相位连续变化的纯净正弦波非常适合需要扫频测量的场景。一个AD9834产生主测试信号。其输出是差分信号经过由U26A/B/D构成的有源滤波器进行低通滤波以抑制DDS固有的高频杂散Spur。滤波后的信号再经过放大得到100mV, 200mV, 500mV, 1V RMS四档可选的测试电压。这里有个精妙的设计同步检测需要一路与测试信号同频、但相位可调的方波作为参考时钟。如果直接用主DDS分频相位调整的精度和灵活性会受限。我的方案是使用第二片AD9834U25将其工作时钟设置为第一片的两倍然后让其输出一个两倍于测试频率的方波。这个方波经过一个高速比较器U28整形后送入一个D触发器U30进行二分频。最终我们就得到了一个与测试信号严格同步、且相位可以通过编程第二片DDS的初始相位来精确控制步进为180°/2^N的方波。这个设计保证了相位检测电路的高度灵活性和准确性。3.3 可编程增益放大器PGA与相敏检测器PSD被测器件的阻抗范围很宽从毫欧到百兆欧意味着I-V转换器输出的电压信号幅度变化范围极大。为了充分利用后级ADC的动态范围必须进行增益调整。AU2019的PGA分为两级粗调级U19, U23增益为1, 2, 5, 10。这级主要补偿因测试信号幅度切换从1V到100mV带来的信号衰减。因为它的增益在单次测量循环中不变所以对其频率响应要求不高。精调级U20, U21, U22增益为1, 3.17, 10.1。这级是关键它的增益会随着量程自动切换。U21和U22是经过频率补偿的运放通过调整C108和C51使其在目标频段内增益平坦。在校准过程中会精确测量并存储这三个增益档位在每一个测试频率下的实际值用于最终计算补偿。注意事项PGA的校准是仅次于前端仪表放大器的关键步骤。必须使用一个已知幅度的、频率可变的信号源逐个频率点例如按1-2-5序列去记录每个增益档位的实际放大倍数。这些数据会形成一个校准表存储在MCU的EEPROM中。忽略这一步高频段的测量误差会显著增大。相敏检测器PSD也叫锁相放大器是提取信号同相I和正交Q分量的核心。它本质上是一个模拟乘法器。AU2019采用了一个由模拟开关U41, U42构成的开关式PSD。其工作原理是用那路相位可调的方波参考信号去控制开关对输入信号进行同步整流。具体来说当参考信号为高时开关将输入信号连接到积分电容充电当参考信号为低时开关将输入信号反向连接到积分电容或连接到另一个积分电容。这样输出直流电压的大小就正比于输入信号中与参考信号同相或反相分量的幅度。通过改变参考信号的相位0°和90°就能分别得到阻抗的实部R和虚部X信息。为了适应从50Hz到2MHz的巨大频率范围积分器的时间常数必须是可调的。这是通过另一个模拟开关U70选择8个不同的积分电阻R121, R122等来实现的。频率越低需要的积分时间常数越大以滤除噪声频率越高时间常数可以越小以提高测量速度。3.4 电源与管理系统稳定性的基石一台精密测量仪器干净的电源是重中之重。AU2019需要多种电压6.5V / 7.5V (V_BOOST)由升压稳压器U3如TPS61085产生用于给运放的正供电轨和某些需要较高电压的电路供电。5V 3.3V分别由线性稳压器U4和U5产生给数字电路、MCU、DDS等供电。线性稳压器噪声远低于开关稳压器。-5V由电荷泵或逆变开关稳压器U6如TPS60403产生用于运放的负供电轨。一个重要的设计是上电自检POST。MCU在启动时会利用其内部的12位ADC和多路复用器依次测量这些电源电压是否在正常容差范围内。如果任何一路电压异常LCD上会显示错误代码并且状态LED会以特定的闪烁模式如0.5秒亮1秒灭报警。这个功能对于早期发现焊接故障、器件损坏或外部电源适配器问题非常有帮助。供电通过一个Mini-USB接口J1接入兼容手机充电器、充电宝或电脑USB口。同时这个USB口也通过一颗FT232RLU2芯片转换为UART与MCU通信用于固件更新和与PC软件的数据交互。板上有一个跳线J3可以选择电源来源但通常我们直接使用USB供电足够稳定和方便。4. 软件架构、校准与使用体验4.1 固件流程与测量算法MCU的软件是整个仪表的“大脑”。其主循环大致如下初始化配置时钟、GPIO、ADC、DAC、定时器、UART等外设。进行电源自检。检测是否连接了显示板或BLE模块。用户交互扫描编码器和按键更新菜单显示。菜单设计力求简洁通过一个编码器即可完成频率、电压、偏置、测量模式LCR串联/并联、D/Q/θ等的所有设置。自动量程与增益选择这是核心算法之一。仪表不会让用户手动选择量程而是自动进行先以一个保守的设置如中等测试电压、中等量程进行一次快速测量。根据测得信号的幅度判断是否过载通过快速比较器U31检测或信号太小。动态调整测试电压、I-V转换通道SW1-SW4和PGA增益SW5-SW6控制选择电压或电流信号进行测量直到信号幅度落在ADC的最佳测量区间内。这个过程通常能在几十毫秒内完成用户几乎无感。同步采样与计算在选定的最佳配置下MCU控制ADCU43对PSD输出的两路直流电压代表I和Q分量进行高精度采样。同时通过DDS的同步机制确保采样时刻与激励信号的相位关系是确定的。数据处理与显示利用校准阶段存储的各类系数PGA增益、相位补偿、端口寄生参数等对原始的I、Q电压值进行计算最终得到阻抗Z、电感L、电容C、电阻R、损耗因子D、品质因数Q等一系列参数并刷新到LCD显示屏上。4.2 全自动校准流程详解AU2019的校准被设计得尽可能简单用户只需要一套标准件精密电阻、电容、电感和遵循步骤即可无需复杂的仪器调整。校准分为几个步骤4.2.1 开路/短路校准这是最基础的一步用于消除测试端口和线缆的寄生参数。开路校准不连接任何器件执行测量。此时测得的“阻抗”实际上就是测试端口对地的寄生电容和并联电阻。软件会记录这个值。短路校准用提供的短路片将HD、HS、LD、LS四个端子短接在一起执行测量。此时测得的“阻抗”是测试线缆和端子的串联电阻与电感。软件会记录这个值。 在后续所有实际测量中软件会自动从原始测量结果中减去这些寄生参数的影响。4.2.2 增益与相位校准这是最耗时但最关键的一步。需要连接一个已知值的、高精度的标准电阻例如1kΩ精度0.1%或更高。在仪表的每一个测试频率点例如从50Hz到2MHz按对数间隔选取几十个点对标准电阻进行测量。软件会对比测量值与真实值计算出在该频率下整个信号链包括PGA、PSD、ADC的幅度增益误差和相位偏移误差。这些误差值被存储为一个校准表。以后测量时软件会根据当前频率查表并进行补偿。4.2.3 量程交叉验证由于我们有四个独立的I-V通道需要确保它们之间的测量结果是一致的。可以用一个阻抗值落在两个量程重叠区域的器件比如一个100Ω的电阻可能既在低阻量程的高端也在中阻量程的低端在不同量程下测量微调各通道的校准参数使读数一致。避坑指南标准件至关重要校准的精度上限取决于你的标准件。建议至少使用0.1%精度的金属膜电阻和NP0/C0G材质的电容作为标准。电感的校准更困难建议使用高Q值的绕线电感或购买现成的标准电感。环境稳定校准应在恒温环境下进行避免温度漂移影响。尤其是高精度电阻和电容其值会随温度变化。连接可靠校准过程中务必保证标准件与Kelvin测试夹的连接牢固、清洁。接触电阻是低阻抗测量误差的主要来源。耐心全频段校准一次可能需要半小时到一小时。不要跳过任何频率点特别是频率两端50Hz和2MHz的点它们对补偿算法的边界条件很重要。4.3 扩展功能与未来可能基础硬件为功能扩展留出了空间。显示板通过一个排线连接主板这个连接器J1上预留了一些配置引脚。显示板识别显示板上有一个特定的下拉电阻R7R9连接到BKL引脚。MCU上电时会读取这个引脚的电平从而识别出连接的是显示板。蓝牙低能耗BLE模块我目前正在测试一个BLE扩展板。它可以通过相同的接口连接并通过一个1kΩ的电阻连接到CONFIG2引脚来被MCU识别。一旦成熟用户就可以通过手机APP无线读取测量数据、远程控制仪表甚至进行数据记录和图表绘制这对于某些不方便接线的现场测量场景非常有用。PC软件控制即使不接显示板也可以通过USB连接电脑使用配套的PC软件进行完全控制。软件可以提供更强大的数据记录、分析、扫描和导出功能。5. 组装、调试与故障排查实录5.1 PCB组装顺序与要点这个项目包含主板和显示板两块PCB且大部分是SMD元件。对于套件我们提供了SMD预焊接的服务但如果你是自己从头制作建议遵循以下顺序主板焊接顺序电源部分U3, U4, U5, U6, L7, L8, D3, D4及周边电容这是第一步。焊接完成后可以先不接其他部分单独给板上电用万用表测量6.5V, 5V, 3.3V, -5V是否正常。这是后续所有工作的基础。MCU及时钟U1, Y1焊接MCU和24.5MHz晶振。此时可以连接USB线看电脑是否能识别到FTDI串口需要安装驱动。如果识别不到检查USB接口、FT232RLU2及到MCU的连线。DDS信号链U24, U25, U26, U28, U30焊接这两片AD9834及其周边的滤波、放大电路。用示波器在测试点TP7观察通过串口命令或初步固件控制DDS输出看是否有正弦波产生频率是否可控。模拟开关与PSDU41, U42, U70, U37, U43焊接相敏检测器部分。这部分调试需要等MCU程序能控制参考方波相位后进行。四路I-V通道U9-U12, U50-U57这是最密集的区域。务必注意PhotoMOS继电器的方向。焊接完成后可以用万用表电阻档通过MCU控制SW1-SW4分别测试各通道的导通和关断是否正常。输入前端U7, U27, Q8, Q9最后焊接精密的仪表放大器和偏置电路。焊接前最好对运放进行一下简单的静态测试供电测输出零点。显示板焊接顺序电源U2和LCD背光驱动Q1, Q2先确保3.3V供电正常。LCD显示屏U1焊接排针或直接焊接LCD模块。注意静电防护。按键和编码器焊接5个按键和旋转编码器。注意编码器有5个引脚A, B, COM, SW, COM不要接错。识别电阻R7, R9不要遗漏。5.2 上电调试与常见问题排查组装完成后首次上电务必谨慎。以下是一个排查清单现象可能原因排查步骤USB无连接LED不亮1. USB线或电源故障。2. 主板电源部分短路。3. 保险丝如有烧断。1. 换线换充电头。2. 断开USB用万用表测主板USB接口的VCC和GND之间电阻应大于几十欧姆如果接近0Ω说明有短路重点检查U2、U4及周边电容。3. 检查板上是否有贴片保险丝。电脑识别到COM口但无法通信1. FT232RL驱动未安装或错误。2. MCU未运行或程序跑飞。3. UART线路故障。1. 安装FTDI官方驱动。2. 按住编码器中键或K1再上电尝试进入Bootloader模式。用Silicon Labs的Flash编程工具连接JTAG口J15看能否识别MCU并读取芯片ID。3. 用示波器测MCU的TXD引脚到FT232RL的RXD在发送数据时应有波形。上电后LED快速闪烁0.5s亮/0.5s灭固件检测到既无显示板连接也无USB有效通信。这是正常现象表示MCU在运行但处于“等待接口”状态。连接显示板或通过USB发送任意字符如回车LED应停止此模式闪烁变为其他状态或熄灭。上电后LED以0.5s亮/1s灭循环电源自检POST失败。MCU检测到某一路电源电压超出允许范围。1. 观察LCD屏幕如果已连接通常会显示错误代码如“ERR: V5”表示5V异常。2. 用万用表依次测量6.5V, 5V, 3.3V, -5V对GND电压。3. 检查对应的稳压芯片及其输入输出电容、电感。LCD白屏或显示乱码1. 显示板供电异常。2. LCD对比度电压VLCD不正常。3. 排线接触不良或接反。4. MCU与LCD通信失败。1. 测显示板U2输出是否为3.3V。2. 测LCD模块的VLCD引脚电压通常可通过板上的电位器调整应在0V到VCC之间可调找到一个对比度合适的点。3. 重新插拔排线确认方向。4. 用逻辑分析仪或示波器抓取MCU与LCD连接的SPI或并行总线信号看是否有数据发出。旋转编码器或按键无反应1. 按键矩阵电路故障R1-R6, D12, D13。2. MCU对应GPIO配置错误。3. 编码器损坏或型号不对。1. 检查按键矩阵的二极管D12, D13方向是否正确电阻是否虚焊。2. 用万用表蜂鸣档按下按键时测量对应行列线是否导通。3. 旋转编码器A、B相输出的是相位差90度的方波可以用示波器双通道查看。测量结果不稳定或偏差大1. 未校准或校准数据丢失。2. 测试线缆或夹具接触不良。3. 环境干扰大附近有强开关电源、电机等。4. 某一路I-V通道的运放或继电器性能不良。1. 执行完整的开路/短路和增益校准流程。2. 清洁测试夹和被测器件引脚确保Kelvin四线连接牢固。3. 尝试在电池供电下测量或远离干扰源。4. 进入诊断模式如果固件支持分别测试四个量程对一个固定电阻的测量值看是否有某一通道明显异常。高频1MHz测量误差剧增1. PGA高频补偿电容C51, C108未校准或偏差大。2. 输入前端仪表放大器的CMRR高频补偿C44未调好。3. PCB布局或布线不当引入过多寄生电感电容。1. 重点重新进行高频段的增益/相位校准。2. 使用网络分析仪或高频信号源示波器重新调整C44使差分放大器在高频共模信号输入时输出最小。3. 检查信号路径尤其是DDS输出到输入前端的部分是否远离数字噪声源是否使用了完整的参考地平面。5.3 使用技巧与维护建议预热对于追求高稳定性的测量建议开机预热10-15分钟让内部电路特别是晶振和运放达到热平衡状态。定期校准即使不经常使用也建议每半年或一年进行一次完整的校准以应对元器件的自然老化漂移。夹具选择对于低阻抗1Ω测量务必使用原配的Kelvin测试夹并保证夹子与器件引脚的接触面积大、压力足。对于贴片元件可以考虑使用专用的开尔文测试探针。偏置应用给电解电容加直流偏压测量时注意电压极性不要超过电容的额定电压。给电感加直流偏流时注意电感的饱和电流过大的直流可能导致电感值下降甚至损坏。固件更新关注Elektor官网或项目社区有时会发布修复bug或增加新功能的固件。通过USB线连接电脑使用提供的编程工具即可轻松更新。存储长期不用时请将仪表存放在干燥、无尘的环境中。避免测试夹长期处于紧绷状态以免弹簧失效。从AU2013到AU2019这台LCR表的进化不仅仅是数字上的变化更是设计理念从“唯精度论”向“实用主义”的转变。它可能不是世界上精度最高的LCR表但它努力在精度、频率范围、功能、成本和易用性之间找到一个扎实的平衡点。整个设计和调试过程就像在解一个多维度的方程每一个电路模块的选择和优化都牵一发而动全身。最终当你看到它能稳定地从50Hz扫频到2MHz准确地测出一个毫欧级电阻或一个皮法级电容时那种成就感正是硬件DIY最大的乐趣所在。希望这份详细的解析能帮助你对阻抗测量有更深的理解或者能为你打造自己的测量工具提供一些有价值的参考。