二極管極低電流I-V特性測量

 

■ 二極管的I-V特性


二極管是常見到的半導體電子元器件,通常情況下,應用它的單向導通特性,來進行信號的整流、檢波、鉗位邏輯運算等。用於描述二極管特性也相對比較簡單,可以看成使用電壓控制的開關。當二極管兩端的電壓爲正時,開關閉合,反之開關打開。

當信號頻率增加,則需要考慮二極管的分佈電容參數;當信號幅度弱的時候,則需要考慮二極管非線性。比如對於 高頻檢波 應用中,則用於描述二極管I-V特性就非常複雜。

理解二極管的工作模式是將來弄懂更加複雜元器件工作原理的基礎,比如BJT,JFETS,MOSFET等。這些器件都可以最終退化成一系列的PN節和電容的組合。

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

  • Ideal Diode Equation

  • Reverse Saturation Current Equation

  • Ideality Factor Equation

  • Piecewise Diode Equation

  • Forward Recombination Current Equation

  • High Level Ijection Applied Voltage Equation

  • Reverse Biase Avalanche Current Breakdown Equation


▲ 二極管特性公示中的符號說明

▲ 二極管特性公示中的符號說明

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關係。

▲ 圖1 二極管分段I-V關係

▲ 圖1 二極管分段I-V關係

從上面公式來看,的確,當電壓低於一定程度的時候,I-V的關係已經不在呈現模型所描述的情況了。因此,存在以下問題:

  • 究竟關係是什麼?
  • 使用實驗來測量這個關係,並進一步解釋其中的原因。

01測量電路


1.測量電路方案

圖1可以看到,我們需要測量的電流範圍應該在101210910^{ - 12} -10^{ - 9}之間,因此,需要能夠測量在pA級別的電路能夠進行測量。下面使用 ADA4531 fA級靜電放大器 模塊來進行測量。在麪包板上搭建如下電路:

▲ 測量二極管電流電路圖

▲ 測量二極管電流電路圖

▲ 擴展量程之後的測量電路

▲ 擴展量程之後的測量電路

▲ 實驗電路

▲ 實驗電路

2.測量數據和結果分析

測量輸出的電流與輸入電流之間的關係如下圖所示:
▲ 硅二極管I-V之間的關係

▲ 硅二極管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]

▲ 二極管反向典雅與電流之間的觀察項

▲ 二極管反向典雅與電流之間的觀察項

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的輸出,通過電阻網絡將它們合併在一起,形式一個可以有負電壓平穩過渡到正電壓的電壓源。

▲ 基於RIGOL DP1308數控電源合成正負連續變化電源

▲ 基於RIGOL DP1308數控電源合成正負連續變化電源

上面的電阻網絡在麪包板上進行搭建。測量電流的電路部分與前面相同。
▲ 測量實驗電路

▲ 測量實驗電路

下面是測量施加電壓從-4.5V增加到0.2V過程中電流的變化和數據。
▲ 實際Silicon整流二極管測量數據曲線

▲ 實際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]

繪製出模型曲線與測量曲線:

▲ 對測量的硅二極管的典雅與電流曲線與建模曲線的對比

▲ 對測量的硅二極管的典雅與電流曲線與建模曲線的對比

可以看到,對於施加電壓對於0部分,擬合曲線的精度相當好。而對於電壓小於0之後,測量的曲線電流就明顯偏離了模型支書曲線了。

對測量數據施加電壓小於0部分進行線性擬合:

得到對應的參數:[a,b]=[ 2.10646325 -7.27212467]
▲ 對測量結果施加電壓小於0部分進行線性擬合

▲ 對測量結果施加電壓小於0部分進行線性擬合

根據斜率a的數值,可以得到對應的等效電阻數值:

這個電阻很可能是由於二極管所在的麪包板的相鄰兩個所造成的電阻泄露所引起的。這一點可以通過將二極管去掉然後重新測量I-V曲線來驗證。

▲ 測量二極管以及所在的麪包板

▲ 測量二極管以及所在的麪包板

下面是將二極管去掉,重新掃描電壓-4V~+4V之間電壓與電流之間的關係。通過線性擬合,可以得到對應的曲線參數:[a,b]=[ 0.02182531 -2.41772746]

換算之後的等效電阻爲:

▲ 將二極管去掉之後,測量施加電壓與測量電流之間的曲線

▲ 將二極管去掉之後,測量施加電壓與測量電流之間的曲線

這個數值比起前面二極管對應的電阻小了兩個數量級,所以前面測量對於負電壓之間的差別中存在的電阻主要是由二極管內部的電阻泄露所引起的。

使用前面參數[a,b,c]= [ 8.44483303 -0.09925057 -11.89422983]作爲初始值,對於硅耳機的電壓大於零的部分重新按照指數模型(2.2.1)進行參數辨識,可以得到對應的結果爲:[a,b,c] = [ 9.12216015 0.10247578 -12.96444879]

▲ 只對施加電壓大於零的部分進行指數建模

▲ 只對施加電壓大於零的部分進行指數建模

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

根據 Physics constants ,可以計算出來參數n的數值

 

※ 結論


使用飛安放大器,可以得到硅二極管的電流與電壓特性。根據實際測量的結果,可以看到在正向特性中,I-V的關係基本上符合指數關係。而反向的電流關係,可能會受到實際二極管的並聯電阻的影響,使得實際的電流曲線與指數理論模型相去甚遠。

對於所測的的參數,在進行具體數據迴歸的時候。還需要使用標準的電阻進行校準。這樣才能夠對於實際的物理參數數值進行合理的解釋。具體的分析在以後在進行實驗吧。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章