测量原理#
参考下面网站的方案
参考 LCR 测试仪,基本工作原理为给 DUT 加上正弦激励信号,然后测得该 DUT 两端的电压和流过 DUT 的电流,即可通过计算得到 DUT 的性质和参数。
对于一个理想电容,电流相位应该超前电容两端电压 90°。然而实际的电容存在损耗,可以等效为一个理想电容 $C_p$ 和一个理想电阻 $R_p$ 的并联,因此电流超前电压的相位将小于 90°,这个角度差即为损耗角。
假设 DUT 两端电压 $\dot {V}=V\cos (\omega t)$,流过 DUT 的电流为 $\dot {I}=I sin (\omega t - \varphi)$,电流在虚轴上的投影为流过理想电容的电流,在实轴上的投影为流过损耗电阻的电流。
因此可以计算出并联电容的容抗为 $X_{Cp}=\frac {V}{I cos\varphi}$,容值 $C_P=\frac {1}{\omega X_{Cp}}=\frac {I cos \varphi}{\omega V}$。
损耗电阻的值为 $R_p=\frac {V}{Isin\varphi}$。
定义元件消耗的无功功率和有功功率之比为元件的 Q 值,Q 值的倒数为 D 值(损耗角正切)
上述需要的参数可以借助正交算法求得:
相乘以后经过低通滤波器后即可得到直流成分 $-\frac {1}{2} VI sin\varphi 和 \frac {1}{2} VI cos\varphi$,即可求得题目要求的损耗角正切
同时可求得以下参数
参数仿真#
现有的 ADC 的输入电压范围为 0~2V,输入偏置为 1V;DAC 的输出电压范围为 1V 峰峰值,同时可以加偏置,
电容容值为 1nF-100nF,检流电阻为 0.33Ω 时,输出电压峰峰值为 4-200mv。测量电感时频率为 1MHz,电感感值为 10uF-100uF 时,输出电压峰峰值为 15-150mv。由于 ADC 模块的输入范围为 0~2V,因此对信号进行 9 倍放大,峰峰值放大到 1.8V 左右。
调试记录#
DAC 输出的信号和 LC 滤波器阻抗不匹配,导致 LC 滤波器的输入端信号幅值较低
待测元件检测电路上电后输入端有 - 500mv 的偏置
LC 滤波器设计如下,DAC 输出 1MHz 的信号时高次谐波较为严重,因此设计一个通带为 1.2MHz 的 LC 低通滤波器滤除高次杂波。
PCB 设计#
初代#
其中 R8 是用来连接测试夹具的,激励信号从 P1 输入,经过 R8 上的待测电容或电感后电流经过 C5 流入后级电流检测电路,
这样设计的话,电路的输入阻抗为测量夹具上的待测元件的在特定频率下的阻抗值,而前级放大器的输出阻抗为 50Ω,会导致输入信号的幅值不是期望的幅值。
改进#
将前级放大器的输出端用于阻抗匹配的 50Ω 电阻拆掉,利用运放输出阻抗很低的特性,使得输出的信号的电压全都加在上面电路的输入端。
这样改进的原因是运放后级不带容性负载、LC 滤波器、长同轴电缆的话输出端不需要接匹配电阻。
FPGA 程序设计#
根据上面的原理,需要两个 ADC 采集电流和电压信号,1 个 DAC 生成激励信号。因此选择 DE0nano,有两个扩展的 40pin 排针,可以接入两个 ADDA 模块。
FPGA 的晶振频率为 50MHz,通过 PLL 分频出 20MHz 和 80MHz,其中 ADC 的时钟为 20M,DAC 的时钟为 80M。然后分别连接到 ADC_Interface 和 DAC_Interface。
ADC 部分采集到的信号位宽为 10,舍弃低两位以便于后续对信号的处理,同时每采 1024 个样点后暂停 0.5 秒,然后再进行下次采集。
DAC 部分采用一个 NCO 生成正弦波信号,通过拨码开关切换频率字,输出到 DAC_interface 后左移 1 位后输出,再通过一个同相放大器放大 2 倍,增强信号的驱动能力。
ADC 采集到的电流和电压的数据存放到 RAM 中,通过改变起始的取地址来实现移相。使用的 ADC 的采样率为 20M,采集 100K 的信号时,每个周期采集 200 个点,因此想要移相 $\frac {\pi}{2}$ 时,只需要从 50 开始读取 RAM 里的数据,读出的信号即为从 0 开始读取的 RAM 的读出的信号进行 $\frac {\pi}{2}$ 移相后的信号。
经 ADC 采集的数据为无符号数,做乘法滤波会和计算结果不匹配,因此再加入一级无符号转有符号数的 module,转成有符号数后做乘法,再送入低通滤波器后即可获得需要的数值。对低通滤波器的输出进行截断,只保留高 16 位的数据,降低抖动的直流信号对结果的影响。
测量结果#
第一个 Lowpass 的输出为 $VIcos\phi$,第二个 Lowpass 的输出为 $\frac {1}{2} VIcos \varphi$,第三个 Lowpass 的输出为 $V^2$,容抗的计算过程如下:
根据仿真的输入电流和输出电压的拟合关系可得,在输出采集的电压的幅值等于电流 ÷0.305,因此容抗为 第三个输出 ÷2÷ 第一个输出 ÷0.305
电路展示#
后续计划#
加入 spi 通信,将采样计算出的数据传输到 TI 的开发板上进行进一步计算和显示。