二极管极低电流I-V特性测量

二极管极低电流I-V特性测量_第1张图片

 

■ 二极管的I-V特性


二极管是常见到的半导体电子元器件,通常情况下,应用它的单向导通特性,来进行信号的整流、检波、钳位逻辑运算等。用于描述二极管特性也相对比较简单,可以看成使用电压控制的开关。当二极管两端的电压为正时,开关闭合,反之开关打开。

当信号频率增加,则需要考虑二极管的分布电容参数;当信号幅度弱的时候,则需要考虑二极管非线性。比如对于 高频检波 应用中,则用于描述二极管I-V特性就非常复杂。

理解二极管的工作模式是将来弄懂更加复杂元器件工作原理的基础,比如BJT,JFETS,MOSFET等。这些器件都可以最终退化成一系列的PN节和电容的组合。

1.二极管I-V特性方程

  • Ideal Diode Equation
    二极管极低电流I-V特性测量_第2张图片

  • Reverse Saturation Current Equation

  • Ideality Factor Equation
    二极管极低电流I-V特性测量_第3张图片

  • Piecewise Diode Equation
    二极管极低电流I-V特性测量_第4张图片

  • Forward Recombination Current Equation

  • High Level Ijection Applied Voltage Equation

  • Reverse Biase Avalanche Current Breakdown Equation

二极管极低电流I-V特性测量_第5张图片
二极管极低电流I-V特性测量_第6张图片

▲ 二极管特性公示中的符号说明

2.理想二极管模型适用范围

在描述二极管不同方程,刻画了二极管不同工作范围的特性。比如Ideal Diode方程非常好的描述了二极管两端电压在如下范围内的特性:

上面公式中,Vbr是反向击穿电压;Eg是二极管的 带隙电压 ,在300k时,Eg大约为1.12V.

根据k=1.381e-23; q = 1.602e-19,T=300,那么 kT/q=25.85mV。5kT/q=0.1293V。

下面是整流二极管(1N4002)的分段I-V关系。

二极管极低电流I-V特性测量_第7张图片

▲ 图1 二极管分段I-V关系

从上面公式来看,的确,当电压低于一定程度的时候,I-V的关系已经不在呈现模型所描述的情况了。因此,存在以下问题:

  • 究竟关系是什么?
  • 使用实验来测量这个关系,并进一步解释其中的原因。

01测量电路


1.测量电路方案

图1可以看到,我们需要测量的电流范围应该在 1 0 − 12 − 1 0 − 9 10^{ - 12} -10^{ - 9} 1012109之间,因此,需要能够测量在pA级别的电路能够进行测量。下面使用 ADA4531 fA级静电放大器 模块来进行测量。在面包板上搭建如下电路:

二极管极低电流I-V特性测量_第8张图片

▲ 测量二极管电流电路图

二极管极低电流I-V特性测量_第9张图片

▲ 扩展量程之后的测量电路

二极管极低电流I-V特性测量_第10张图片

▲ 实验电路

2.测量数据和结果分析

测量输出的电流与输入电流之间的关系如下图所示:
二极管极低电流I-V特性测量_第11张图片

▲ 硅二极管I-V之间的关系

u1=[0.00,0.00,0.01,0.01,0.01,0.01,0.01,0.02,0.02,0.02,0.02,0.02,0.03,0.03,0.03,0.03,0.03,0.04,0.04,0.04,0.04,0.04,0.05,0.05,0.05,0.05,0.05,0.06,0.06,0.06,0.06,0.06,0.07,0.07,0.07,0.07,0.07,0.08,0.08,0.08,0.08,0.08,0.09,0.09,0.09,0.09,0.09,0.10,0.10,0.10,0.10,0.10,0.11,0.11,0.11,0.11,0.11,0.12,0.12,0.12,0.12,0.12,0.13,0.13,0.13,0.13,0.13,0.14,0.14,0.14,0.14,0.14,0.15,0.15,0.15,0.15,0.16,0.16,0.16,0.16,0.16,0.17,0.17,0.17,0.17,0.17,0.18,0.18,0.18,0.18,0.18,0.19,0.19,0.19,0.19,0.19,0.20,0.20,0.20,0.20]
c1=[0.10,0.12,0.13,0.15,0.17,0.19,0.21,0.23,0.25,0.27,0.29,0.32,0.34,0.36,0.39,0.41,0.44,0.46,0.49,0.52,0.55,0.58,0.61,0.65,0.68,0.73,0.76,0.80,0.84,0.88,0.92,0.96,1.00,1.04,1.08,1.13,1.18,1.21,1.26,1.31,1.36,1.41,1.46,1.51,1.56,1.61,1.67,1.73,1.79,1.84,1.90,1.96,2.02,2.08,2.14,2.21,2.27,2.34,2.41,2.48,2.54,2.62,2.69,2.76,2.83,2.90,2.98,3.06,3.13,3.20,3.28,3.35,3.43,3.52,3.60,3.72,3.80,3.89,3.97,4.06,4.14,4.23,4.32,4.41,4.49,4.59,4.68,4.75,4.75,4.75,4.75,4.75,4.75,4.75,4.75,4.75,4.75,4.75,4.75,4.75]

二极管极低电流I-V特性测量_第12张图片

▲ 二极管反向典雅与电流之间的观察项

u1=[0.00,0.00,0.01,0.01,0.01,0.01,0.01,0.02,0.02,0.02,0.02,0.02,0.03,0.03,0.03,0.03,0.03,0.04,0.04,0.04,0.04,0.04,0.05,0.05,0.05,0.05,0.05,0.06,0.06,0.06,0.06,0.06,0.07,0.07,0.07,0.07,0.07,0.08,0.08,0.08,0.08,0.08,0.09,0.09,0.09,0.09,0.09,0.10,0.10,0.10,0.10,0.10,0.11,0.11,0.11,0.11,0.11,0.12,0.12,0.12,0.12,0.12,0.13,0.13,0.13,0.13,0.13,0.14,0.14,0.14,0.14,0.14,0.15,0.15,0.15,0.15,0.16,0.16,0.16,0.16,0.16,0.17,0.17,0.17,0.17,0.17,0.18,0.18,0.18,0.18,0.18,0.19,0.19,0.19,0.19,0.19,0.20,0.20,0.20,0.20]
c1=[-0.07,-0.05,-0.04,-0.03,-0.01,0.00,0.01,0.03,0.04,0.05,0.06,0.07,0.08,0.09,0.10,0.11,0.12,0.12,0.13,0.14,0.15,0.16,0.16,0.17,0.18,0.19,0.19,0.20,0.20,0.21,0.21,0.22,0.22,0.23,0.23,0.24,0.24,0.25,0.25,0.26,0.26,0.26,0.27,0.27,0.27,0.28,0.28,0.28,0.29,0.29,0.29,0.30,0.30,0.30,0.31,0.31,0.31,0.31,0.31,0.32,0.32,0.32,0.32,0.33,0.33,0.33,0.33,0.34,0.34,0.34,0.34,0.34,0.35,0.35,0.35,0.35,0.36,0.36,0.36,0.36,0.36,0.37,0.37,0.37,0.37,0.37,0.37,0.38,0.38,0.38,0.38,0.38,0.38,0.39,0.39,0.39,0.39,0.39,0.39,0.40]
#!/usr/local/bin/python
# -*- coding: gbk -*-
#============================================================
# MEAS1.PY                     -- by Dr. ZhuoQing 2020-07-01
#
# Note:
#============================================================
from headm import *
from tsmodule.tsvisa        import *
from tsmodule.tsstm32       import *
dp1308open()
dm3068open()
printf(meterval())
setv = linspace(0, 0.2, 100)
dp1308p6v(0)
time.sleep(5)
u1dim = []
c1dim = []
for v in setv:
    dp1308p6v(v)
    time.sleep(2)
    u1 = dm3068vdc()
    meter = meterval()
    c1 = -meter[0]
    printff(u1, c1)
    u1dim.append(u1)
    c1dim.append(c1)
tspsave('diodeiv', u1=u1dim, c1=c1dim)
plt.plot(u1dim, c1dim)
plt.xlabel("Voltage(V)")
plt.ylabel("Current(uA)")
plt.grid(True)
plt.show()
printf('\a')
#------------------------------------------------------------
#        END OF FILE : MEAS1.PY
#============================================================

 

02测量数据分析


1.测量数据

使用 RIGOL DP1308可编程电源,独立控制P25V和N25V的输出,通过电阻网络将它们合并在一起,形式一个可以有负电压平稳过渡到正电压的电压源。

二极管极低电流I-V特性测量_第13张图片

▲ 基于RIGOL DP1308数控电源合成正负连续变化电源

上面的电阻网络在面包板上进行搭建。测量电流的电路部分与前面相同。
二极管极低电流I-V特性测量_第14张图片

▲ 测量实验电路

下面是测量施加电压从-4.5V增加到0.2V过程中电流的变化和数据。
二极管极低电流I-V特性测量_第15张图片

▲ 实际Silicon整流二极管测量数据曲线

v=[-4.12,-4.10,-4.08,-4.06,-4.04,-4.02,-4.00,-3.98,-3.95,-3.93,-3.91,-3.89,-3.87,-3.85,-3.83,-3.81,-3.79,-3.77,-3.75,-3.73,-3.71,-3.69,-3.66,-3.64,-3.62,-3.60,-3.58,-3.56,-3.54,-3.52,-3.50,-3.48,-3.46,-3.44,-3.42,-3.40,-3.38,-3.36,-3.33,-3.31,-3.29,-3.27,-3.25,-3.23,-3.21,-3.19,-3.17,-3.15,-3.13,-3.11,-3.09,-3.07,-3.04,-3.02,-3.00,-2.98,-2.96,-2.94,-2.92,-2.90,-2.88,-2.86,-2.84,-2.82,-2.80,-2.78,-2.75,-2.73,-2.71,-2.69,-2.67,-2.65,-2.63,-2.61,-2.59,-2.57,-2.55,-2.53,-2.51,-2.49,-2.47,-2.45,-2.42,-2.40,-2.38,-2.36,-2.34,-2.32,-2.30,-2.28,-2.26,-2.24,-2.22,-2.20,-2.18,-2.16,-2.14,-2.11,-2.09,-2.07,-2.05,-2.03,-2.01,-1.99,-1.97,-1.95,-1.93,-1.91,-1.89,-1.87,-1.85,-1.82,-1.80,-1.78,-1.76,-1.74,-1.72,-1.70,-1.68,-1.66,-1.64,-1.62,-1.60,-1.58,-1.56,-1.54,-1.51,-1.49,-1.47,-1.45,-1.43,-1.41,-1.39,-1.37,-1.35,-1.33,-1.31,-1.29,-1.27,-1.25,-1.22,-1.20,-1.18,-1.16,-1.14,-1.12,-1.10,-1.08,-1.06,-1.04,-1.02,-1.00,-0.98,-0.96,-0.93,-0.91,-0.89,-0.87,-0.85,-0.83,-0.81,-0.79,-0.77,-0.75,-0.73,-0.71,-0.69,-0.66,-0.64,-0.62,-0.60,-0.58,-0.56,-0.54,-0.52,-0.50,-0.48,-0.46,-0.44,-0.42,-0.40,-0.38,-0.35,-0.33,-0.31,-0.29,-0.27,-0.25,-0.23,-0.21,-0.19,-0.17,-0.15,-0.13,-0.11,-0.09,-0.07,-0.04,-0.02,-0.02,-0.00,-0.00,-0.00,-0.00,0.00,0.00,0.00,0.00,0.00,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.02,0.02,0.02,0.02,0.02,0.02,0.02,0.02,0.02,0.02,0.02,0.03,0.03,0.03,0.03,0.03,0.03,0.03,0.03,0.03,0.03,0.03,0.04,0.04,0.04,0.04,0.04,0.04,0.04,0.04,0.04,0.04,0.04,0.05,0.05,0.05,0.05,0.05,0.05,0.05,0.05,0.05,0.05,0.06,0.06,0.06,0.06,0.06,0.06,0.06,0.06,0.06,0.06,0.06,0.07,0.07,0.07,0.07,0.07,0.07,0.07,0.07,0.07,0.07,0.07,0.08,0.08,0.08,0.08,0.08,0.08,0.08,0.08,0.08,0.08,0.08,0.08,0.09,0.09,0.09,0.09,0.09,0.09,0.09,0.09,0.09,0.09,0.09,0.10,0.10,0.10,0.10,0.10,0.10,0.10,0.10,0.10,0.10,0.10,0.11,0.11,0.11,0.11,0.11,0.11,0.11,0.11,0.11,0.11,0.11,0.12,0.12,0.12,0.12,0.12,0.12,0.12,0.12,0.12,0.12,0.12,0.13,0.13,0.13,0.13,0.13,0.13,0.13,0.13,0.13,0.13,0.13,0.14,0.14,0.14,0.14,0.14,0.14,0.14,0.14,0.14,0.14,0.14,0.15,0.15,0.15,0.15,0.15,0.15,0.15,0.15,0.15,0.15,0.15,0.16,0.16,0.16,0.16,0.16,0.16,0.16,0.16,0.16,0.16,0.16,0.17,0.17,0.17,0.17,0.17,0.17,0.17,0.17,0.17,0.17,0.17,0.18,0.18,0.18]
c=[-13.04,-14.48,-14.61,-14.61,-14.61,-14.63,-14.63,-14.61,-14.55,-14.51,-14.51,-14.54,-14.49,-14.49,-14.46,-14.49,-14.48,-14.46,-14.43,-14.41,-14.41,-14.39,-14.38,-14.37,-14.36,-14.36,-14.34,-14.33,-14.33,-14.32,-14.32,-14.32,-14.32,-14.29,-14.29,-14.28,-14.29,-14.21,-14.23,-14.20,-14.19,-14.17,-14.16,-14.13,-14.08,-14.04,-14.04,-14.02,-14.01,-13.99,-13.98,-13.95,-13.89,-13.89,-13.87,-13.86,-13.84,-13.78,-13.75,-13.71,-13.66,-13.61,-13.60,-13.59,-13.55,-13.49,-13.45,-13.43,-13.40,-13.35,-13.32,-13.28,-13.23,-13.21,-13.19,-13.15,-13.08,-13.04,-13.00,-12.95,-12.91,-12.86,-12.84,-12.82,-12.78,-12.75,-12.71,-12.68,-12.65,-12.62,-12.58,-12.51,-12.46,-12.40,-12.32,-12.33,-12.32,-12.30,-12.27,-12.22,-12.16,-12.14,-12.12,-12.10,-12.04,-11.98,-11.93,-11.88,-11.84,-11.83,-11.78,-11.73,-11.66,-11.61,-11.55,-11.53,-11.50,-11.47,-11.43,-11.42,-11.36,-11.29,-11.25,-11.20,-11.14,-11.09,-11.04,-11.00,-10.97,-10.93,-10.91,-10.84,-10.82,-10.77,-10.72,-10.64,-10.61,-10.54,-10.45,-10.41,-10.37,-10.30,-10.23,-10.17,-10.11,-10.06,-10.01,-9.97,-9.91,-9.85,-9.79,-9.75,-9.68,-9.63,-9.58,-9.50,-9.44,-9.37,-9.25,-9.39,-9.07,-9.04,-8.98,-8.92,-8.88,-8.78,-8.71,-8.65,-8.65,-8.58,-8.53,-8.45,-8.38,-8.28,-8.21,-8.12,-8.03,-7.98,-7.89,-7.78,-7.70,-7.60,-7.49,-7.37,-7.27,-7.15,-7.03,-6.92,-6.81,-6.69,-6.55,-6.40,-6.26,-6.09,-5.89,-5.61,-5.35,-4.92,-4.30,-4.23,-3.35,-3.27,-3.20,-3.08,-3.03,-3.04,-2.99,-2.96,-2.87,-2.82,-2.78,-2.71,-2.65,-2.60,-2.55,-2.47,-2.40,-2.35,-2.27,-2.21,-2.15,-2.06,-2.00,-1.90,-1.85,-1.79,-1.72,-1.63,-1.56,-1.49,-1.39,-1.33,-1.25,-1.14,-1.05,-0.98,-0.91,-0.82,-0.75,-0.68,-0.55,-0.46,-0.38,-0.27,-0.17,-0.08,0.07,0.19,0.28,0.36,0.52,0.61,0.72,0.83,0.93,1.09,1.21,1.36,1.48,1.59,1.69,1.83,1.96,2.07,2.21,2.33,2.44,2.56,2.86,2.95,3.09,3.23,3.31,3.43,3.66,3.79,3.94,4.10,4.23,4.37,4.62,4.79,4.93,5.10,5.23,5.38,5.65,5.81,6.01,6.12,6.30,6.45,6.58,6.85,7.08,7.23,7.40,7.57,7.74,8.01,8.20,8.39,8.60,8.79,8.99,9.29,9.48,9.66,9.88,10.07,10.26,10.49,10.80,11.02,11.24,11.44,11.63,11.83,12.13,12.37,12.58,12.80,13.03,13.29,13.65,13.89,14.09,14.38,14.61,14.84,15.24,15.51,15.71,15.95,16.24,16.47,16.69,17.06,17.33,17.53,17.81,18.04,18.29,18.71,19.00,19.20,19.45,19.70,19.97,20.41,20.78,21.03,21.47,21.78,22.06,22.38,22.63,22.89,23.33,23.62,23.86,24.18,24.49,24.78,25.09,25.54,25.88,26.15,26.52,26.78,27.07,27.58,27.88,28.17,28.49,28.81,29.13,29.63,29.94,30.24,30.59,30.87,31.18,31.68,32.03,32.33,32.63,32.95,33.27,33.57,34.09,34.39,34.70,35.04,35.40,35.73,36.27,36.61,36.92,37.33]

从图中可以看到在测量开始的时候,由于ADA4530 需要稳定一段时间。电压是从0V降低下来,还没有达到稳定,所以第一个测量数据有一点大的误差。实际稳定的测量应该从第二个数据开始绘制。

#!/usr/local/bin/python
# -*- coding: gbk -*-
#============================================================
# TEST1.PY                     -- by Dr. ZhuoQing 2020-07-02
#
# Note:
#============================================================

from headm import *
from tsmodule.tsvisa        import *
from tsmodule.tsstm32       import *

dp1308open()
dm3068open()
#------------------------------------------------------------
step=200

setv = linspace(-9, 0, step)
dp1308p25v(0)
dp1308n25v(0)

vdim = []
cdim = []
for v in setv:
    dp1308n25v(-v)
    time.sleep(2)

    meter = meterval()
    voltage = dm3068vdc()

    vdim.append(voltage)
    cdim.append(meter[0])
    printff(v, voltage, meter)

setv = linspace(0, 0.4, step)
dp1308p25v(0)
dp1308n25v(0)

for v in setv:
    dp1308p25v(v)
    time.sleep(2)

    meter = meterval()
    voltage = dm3068vdc()

    vdim.append(voltage)
    cdim.append(meter[0])
    printff(v, voltage, meter)

cdim = [-cur*100/11 for cur in cdim]
tspsave('diode1', v=vdim, c=cdim)

dp1308p25v(0)
dp1308n25v(0)

plt.plot(vdim, cdim)
plt.xlabel("Vappl(V)")
plt.ylabel("Current(pA)")
plt.grid(True)
plt.show()

#------------------------------------------------------------
#        END OF FILE : TEST1.PY
#============================================================

2.分析数据

使用指数模型对上述测量结果进行建模:

利用scipy.optimize中的curve_fit函数来进行曲线拟合,得到的参数为:[a,b,c]= [ 8.44483303 0.09925057 -11.89422983]

绘制出模型曲线与测量曲线:

二极管极低电流I-V特性测量_第16张图片

▲ 对测量的硅二极管的典雅与电流曲线与建模曲线的对比

可以看到,对于施加电压对于0部分,拟合曲线的精度相当好。而对于电压小于0之后,测量的曲线电流就明显偏离了模型指数曲线了。

对测量数据施加电压小于0部分进行线性拟合:

得到对应的参数:[a,b]=[ 2.10646325 -7.27212467]
二极管极低电流I-V特性测量_第17张图片

▲ 对测量结果施加电压小于0部分进行线性拟合

根据斜率a的数值,可以得到对应的等效电阻数值:

这个电阻很可能是由于二极管所在的面包板的相邻两个所造成的电阻泄露所引起的。这一点可以通过将二极管去掉然后重新测量I-V曲线来验证。

二极管极低电流I-V特性测量_第18张图片

▲ 测量二极管以及所在的面包板

下面是将二极管去掉,重新扫描电压-4V~+4V之间电压与电流之间的关系。通过线性拟合,可以得到对应的曲线参数:[a,b]=[ 0.02182531 -2.41772746]

换算之后的等效电阻为:

二极管极低电流I-V特性测量_第19张图片

▲ 将二极管去掉之后,测量施加电压与测量电流之间的曲线

这个数值比起前面二极管对应的电阻小了两个数量级,所以前面测量对于负电压之间的差别中存在的电阻主要是由二极管内部的电阻泄露所引起的。

使用前面参数[a,b,c]= [ 8.44483303 -0.09925057 -11.89422983]作为初始值,对于硅耳机的电压大于零的部分重新按照指数模型(2.2.1)进行参数辨识,可以得到对应的结果为:[a,b,c] = [ 9.12216015 0.10247578 -12.96444879]

二极管极低电流I-V特性测量_第20张图片

▲ 只对施加电压大于零的部分进行指数建模

由前面公式(1)可以知道:

根据 Physics constants ,可以计算出来参数n的数值

 

※ 结论


使用飞安放大器,可以得到硅二极管的电流与电压特性。根据实际测量的结果,可以看到在正向特性中,I-V的关系基本上符合指数关系。而反向的电流关系,可能会受到实际二极管的并联电阻的影响,使得实际的电流曲线与指数理论模型相去甚远。

对于所测的的参数,在进行具体数据回归的时候。还需要使用标准的电阻进行校准。这样才能够对于实际的物理参数数值进行合理的解释。具体的分析在以后在进行实验吧。

你可能感兴趣的:(基础电子,测量模块)