■ 前言


在网文 An Electronic Mesurement of the Boltzmann’s Constant Using I-V Characterisctic of a Silicon 2N2309 Diode 中介绍了使用三极管2N3094来测量 Boltzmann Constant 的方法。

由于这个方法简便易行,所使用的设备也是大多数电子实验室都具备,所以称为很多电子类课程中,学生喜欢做的​电子实验。​

▲ Ludwig Boltzmann(1844-1904) 以及Maxwell-Boltzmann 分布

玻尔兹曼常数(Boltzmann constant),通常使用k,kBk,kBk,kB表示,是指有关于温度及能量的一个物理常数。玻尔兹曼是一位奥地利物理学家,在统计力学的理论有重大贡献,玻尔兹曼常数具有相当重要的地位。

01实验及数据分析


1.基于2N3904的Boltzmann常数

在PN结两边,存在一个由电子-空穴扩散而形成的耗散区,以及伴随着的接触电位V0V_0V0​区,只有热量动能超过V0V_0V0​的电子才能够从n型区域穿越到p型区域。根据统计力学原理,处在热平衡下电子的动能分布遵循 玻尔兹曼分布 。具有能量为eV0eV_0eV0​的概率为:

其中idi_did​是漂移电流,aaa是比例常数,TTT是温度,kkk是玻尔兹曼常数。

▲ PN结的结构示意图

这股漂移电流在耗散区建立一个电场EdE_dEd​。到外部电压VVV施加在PN结,产生电场EDE_DED​,产生电流:

这样,外部总电流为:

在推文开始提到的文章中,使用 2N3904 测试二极管的I-V特性。对于2N23904的电流放大和转换,选择了 LF356 运放进行I-V转换。 LF356的偏置电压为10mA和偏置电流为30pA。

下面是实验所使用的电路图。根据Measurement of Boltzmann’s constant 文献中描述,测量A,B两点的电压,便可以建立起Q1Q_1Q1​的发射结对应的电压与电流之间的关系。

▲ 基于2N3904的PN结测量Boltzmann常数

后级的 LF351 组成电流-电压转换电路,根据电路中的参数,B点的电压与流经Q1Q_1Q1​集电极电流之间的关系为:UB=IQ1C×104U_B = I_{Q1C} \times 10^4UB​=IQ1C​×104。

▲ JFET输入的OPAMP-LF351运放

在实验中,使用DP1308可编程直流电源的-25V输出电压串联一个10kΩ电阻做为A点给定电源。使用FLUKE45测量A点电位,使用DM3068 6126{1 \over 2}621​ 位数字万用表测量B点的电压并自动记录。

2. 测量数据分析

设置数字直流电源DP1308输出电压从**-0.2到-10V**,同时测量A,B两点的电压变化,并换算成PN结的电压-电流关系,绘制如下。

▲ 测量输入电压与电流曲线

vv=[0.19666,0.29133,0.38548,0.46684,0.50835,0.52833,0.54163,0.55082,0.55782,0.56394,0.56880,0.57302,0.57684,0.58020,0.58313,0.58579,0.58826,0.59053,0.59258,0.59455,0.59635,0.59811,0.59976,0.60135,0.60275,0.60409,0.60543,0.60665,0.60770,0.60898,0.61006,0.61118,0.61223,0.61328,0.61428,0.61518,0.61598,0.61692,0.61765,0.61840,0.61921,0.61997,0.62064,0.62134,0.62205,0.62278,0.62345,0.62408,0.62466,0.62535,0.62587,0.62648,0.62706,0.62764,0.62818,0.62867,0.62918,0.62968,0.63024,0.63069,0.63112,0.63165,0.63213,0.63249,0.63295,0.63346,0.63395,0.63427,0.63469,0.63506,0.63545,0.63586,0.63621,0.63659,0.63696,0.63735,0.63777,0.63817,0.63844,0.63878,0.63909,0.63933,0.63971,0.64012,0.64046,0.64071,0.64112,0.64151,0.64182,0.64218,0.64246,0.64269,0.64300,0.64331,0.64365,0.64398,0.64429,0.64452,0.64475,0.64512]
cc=[0.00028,0.00066,0.00111,0.00309,0.00934,0.01789,0.02737,0.03718,0.04723,0.05752,0.06778,0.07812,0.08864,0.09908,0.10968,0.12018,0.13074,0.14143,0.15200,0.16262,0.17335,0.18394,0.19461,0.20535,0.21598,0.22666,0.23746,0.24814,0.25882,0.26961,0.28032,0.29097,0.30182,0.31250,0.32317,0.33402,0.34473,0.35559,0.36628,0.37702,0.38788,0.39856,0.40931,0.42017,0.43090,0.44163,0.45252,0.46324,0.47399,0.48485,0.49542,0.50630,0.51708,0.52794,0.53868,0.54945,0.56033,0.57108,0.58183,0.59272,0.60346,0.61422,0.62511,0.63587,0.64665,0.65752,0.66831,0.67906,0.68997,0.70074,0.71148,0.72239,0.73315,0.74391,0.75482,0.76557,0.77648,0.78723,0.79801,0.80891,0.81966,0.83042,0.84134,0.85209,0.86286,0.87379,0.88452,0.89531,0.90623,0.91701,0.92777,0.93868,0.94950,0.96025,0.97118,0.98193,0.99271,1.00364,1.01442,1.02530]

▲ 电流使用LOG尺度绘制的数据曲线

利用模型(3)匹配上述测量数据,将模式简化成下带有参数[a,b,c]的指数函数关系,利用前面测量的PN结I-V数据,使用SCIPY.OPTIMIZE中的curve_fit函数进行函数拟合,获得参数[a,b,c]的数值。

from scipy.optimize         import curve_fit
vv, cc = tspload('iv2n3904', 'vv', 'cc')
def func(x, a, b, c):return a * exp(x * b) + c
param = [0.001, 0.02, 0.0]
param, conv = curve_fit(func, vv, cc, p0=param)
printf(param)

测量参数为:

a=2.33332986e-11
b=3.79731168e+01
c=8.85188988e-03

由模式(3)可以知道,参数b与Boltzmann常数之间的关系:

将常数e, T = 300(27摄氏度)代入上面公式,可以得到:


这个数值比现在测到得到精确的Botlzmann常数大了1.9%左右。在上述时间条件下,这个数值非常精确了。

3. 基于NPN 8050测试Boltzmann常数

将前面所使用的三极管2N3904更换成另外一款NPN性的硅三极管8050,使用相同的测试方案完成8050的b-e结的电压-电流测试,所得到的数据曲线如下:

▲ 测试NPN8050的发射极PN结的I-V曲线

使用相同的方法进行建模,并计算参数:

这个数值比精确Boltzmann常数大了3.29%。

4. 将2N3904的C.E对换测量

测量三级管b-c之间的PN结的电压与电流曲线。在上述实验中将2N3904的c,e管教互换,测量得到的PN结电流-电压曲线如下:

▲ 2N3904的BC的PN结的电压与电流关系

这个结果比精确Boltzmann常数大了14.2%。

5. 只使用2N3904的BE进行测量

▲ 直接对2N3904 b-e PN结测量对应的电压与电流之间的关系曲线

根据测量的电压电流曲线,可以得到对应的模型参数和Boltzmann常数如下:

这个数值比起精确的Boltzmann常数的数值高了78.1%。

▲ 2N3904的B-E结的I-V曲线

02二极管的分段特性对结果的影响


在博文 二极管极低电流I-V特性测量 中,给出了二极管PN结的分段指数特性,即模型(3)中的电流I0I_0I0​在不同的前向电流的情况下取值是不同相同,这个变化也会导致测量的Boltzmann常数发生变化。

在实验[02-1]中,选择不同测量数据的来拟合估算Boltzmann常数会产生一定的变化。下面选择2N3904测量数据中,从数据编号n=10(对应电流:0.06mA)开始,结束数据编号n从50变化到100,使用模型(3)计算相应的Boltzmann常数,对应的误差曲线如下:

▲ 不同的二极管电流计算Boltzmann常数误差变化

从数值计算结果来看,使用前面数据测量范围(10~78),对应电流(0.06mA变化到0.7mA)时,测到得到的Boltzmann的误差最小。

※ 结论


1.PN测量不同方案比较

使用相同的PN结的模型,对于四种不同的方案测量了Boltzmann常数,其中包括有两种不同型号硅NPN双极性三极管,三极管的b-e,b-c结的测量,以及直接测量b-e的PN结电压电流的情况。

序号 方法描述 Boltzmann常数 误差(%)
1 2N3904的b-e的PN结 1.406e-23 1.87%
2 8050的b-e的PN结 1.426e-23 3.29%
3 2N3904的b-c的PN结 1.577e-23 14.24%
4 2N3904的b-e的PN结 直接测量 2.459e-23 78.09%

通过前面的实验,可以看到使用2N3904基极接地的配置,测量的结果误差最小。更换NPN晶体管为8050,测量的结果偏大一些。
如果将2N3904的C,E极进行对换,虽然从晶体管的结构上是对称的,但是结果误差更大。

由于PN结电压-电流模型中的参数随着电流不同,导数PN结附近半导体内部的电子与空闲运动模式变化,从而使得模型参数也发生变化。所以使用不同电流范围数据,测量数的Boltzmann的数据有所变化

2.参考文献

  1. Measurement of Boltzmann’s constant . Phys. Educ. 20 1996. Printed in Great Britain.

▲ 测试电路方案

#!/usr/local/bin/python
# -*- coding: gbk -*-
#============================================================
# MEAS1.PY                     -- by Dr. ZhuoQing 2020-07-04
#
# Note:
#============================================================from headm import *
from tsmodule.tsvisa        import *
from tsmodule.tsstm32       import *dp1308open()
dm3068open()setv = linspace(0.2, 10, 100)
vdim = []
idim = []dp1308n25v(0)
time.sleep(2)for v in setv:dp1308n25v(v)time.sleep(2)meter = meterval()iv = dm3068vdc()ic = iv / 10vdim.append(meter[0])idim.append(ic)printff(v, ic, meter[0])dp1308n25v(0)tspsave('iv2N3904-1', vv=vdim, cc=idim)
plt.plot(vdim, idim)
plt.xlabel("Voltage(V)")
plt.ylabel("Current(mA)")
plt.grid(True)
plt.show()#------------------------------------------------------------
#        END OF FILE : MEAS1.PY
#============================================================
#!/usr/local/bin/python
# -*- coding: gbk -*-
#============================================================
# CAL1.PY                      -- by Dr. ZhuoQing 2020-07-04
#
# Note:
#============================================================from headm import *
from scipy.optimize         import curve_fitvv, cc = tspload('iv2n3904-1', 'vv', 'cc')
#vv, cc = tspload('iv8050-2', 'vv', 'cc')e = 1.602e-19
T = 273 + 27#------------------------------------------------------------
def func(x, a, b, c):return a * exp(x * b) + c#------------------------------------------------------------
param = [0.001, 0.02, 0.0]
param, conv = curve_fit(func, vv, cc, p0=param)
printf(param)b = param[1]printf(e/(b*T))ccal = func(vv, *param)plt.plot(vv, cc, label='Measure')
plt.plot(vv, ccal, label='Modal')
plt.xlabel("Voltage(V)")
plt.ylabel("Current(mA)")
plt.grid(True)
plt.legend(loc="upper right")
plt.show()#------------------------------------------------------------
#        END OF FILE : CAL1.PY
#============================================================
  • An Electronic Measurement of the Boltzmann’s Constant Using
  • Measurement of Boltzmann’s Constant

利用二极管的P-N结的I-V特性测量Boltzmann常数相关推荐

  1. PN结中存在的Boltzmann常数

    在文章 Measurement of Boltzman's Constant 作者对, Inman和Miller 在1979年的一个基于晶体三极管测量Boltzmann常数的时间进行的复现和讲解.作为 ...

  2. PN结正向压降温度特性的研究

    PN结正向压降温度特性的研究 引言 采用不同的掺杂工艺,通过扩散作用,将P型半导体与N型半导体制作在同一块半导体(通常是硅或锗)基片上,在它们的交界面处所形成的空间电荷区,被称为PN结.PN结的基本电 ...

  3. 半导体基本知识 PN结的形成及特性

    半导体基本知识 本征半导体 1. 半导体的导电性 根据物体导电能力(电阻率)的不同,来划分导体.绝缘体和半导体. 典型的半导体有硅(Si)和锗(Ge)以及砷化镓(GaAs)等. 本征半导体是一种完全纯 ...

  4. 限幅电路和钳位电路 利用二极管的单向导电性

    利用二极管的单向导电性可以设计出好玩.实用的电路.本文分析限幅电路和钳位电路,是如何用二极管来实现的. 限幅电路 如下图所示,当在正半周期,并且VIN大于等于0.7V,二极管正向导通.此时,VOUT会 ...

  5. 二极管、三极管、场效应管的原理及特性

    前段时间回顾了二极管.三极管.场效应管的原理及特性,今天突发兴致想总结下它们的结构及原理!由于细细写来信息量还是挺大,所以主要是对管子的特性进行了分析以及他们的横向对比.;-) 一.半导体二极管 定义 ...

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

    ■ 二极管的I-V特性 二极管是常见到的半导体电子元器件,通常情况下,应用它的单向导通特性,来进行信号的整流.检波.钳位逻辑运算等.用于描述二极管特性也相对比较简单,可以看成使用电压控制的开关.当二极 ...

  7. 二极管三极管基础PN结详解

    半导体 半导体分为本征半导体和杂质半导体 1. 本征半导体:化学成分纯净的半导体,物理结构呈单晶体形态. 2. 杂质半导体:在本征半导体中掺入某些微量元素作为杂质,可使半导体的导电性发生显著变化.掺入 ...

  8. 利用二极管,三极管,电容,电阻设计一个扩音器

    要求:1.利用现有的二极管,三极管,电容,电阻,8欧姆的扬声器为疫情工作人员设计一个手持式扩音器 2.利用所学的各种放大电路,设计一个输入电阻大.温度稳定性强.放大倍数高的三级阻容偶尔分立元件构成的放 ...

  9. 如何利用二极管把电路中的电压升上去?

    +5V_ALWP电压通过D32的1脚对C710.C722.C715.C719开始充电,充电完毕后电路状态如上图显示(二极管压降忽略不计). 此时的+15V_ALWP,实际电压为5V 由于电容的两端电压 ...

最新文章

  1. mysql5.5安装
  2. 今天重新建立了个eclipse 的maven项目,提示org.junit找不到
  3. 「SAP技术」SAP MM 事务代码ME17的用法
  4. 11.C程序内存空间分配
  5. 【Python】20个Pandas数据实战案例,干货多多
  6. 万物皆可文本时代来临?如何搞定NLP最强模型GPT
  7. Angular 下拉菜单实现的一个例子
  8. TurboMail 邮件系统V5.2.0新品发布会盛况直击
  9. 牛客网SQL练习题(Mysql-8)
  10. MyEclipse 中各种 libraries 的含义
  11. 2018年通信工程师中级传输与接入无线专业实务真题
  12. Linux操作系统基本概述
  13. 台式计算机关机后自行重启,台式电脑关机后自动重启怎么办?台式电脑关机后自动开机的处理办法...
  14. Illustrator快捷键全集
  15. 快速入门学习qt5--mian主函数代码详解
  16. python基础--除法,取整,取模(取余)(/,//,%),以及int最大值,大数乘法
  17. (连载)Android系统源码分析--Android系统启动流程之Linux内核
  18. 网络安全从业者超全书单推荐
  19. 软件项目的测试计划和报告,如何撰写压力测试计划书与压力测试报告(一)
  20. MindMapper中怎样插入关联性

热门文章

  1. Java Socket实现WebSocket服务器
  2. 细节:解析XML文档和XML字符串
  3. base64 数据处理
  4. KVM(1)- 安装
  5. C#多态性-抽象类对象引用子类实例
  6. 前端神器—Google Chrome Devtools细节详解
  7. MySQL 调优基础:Linux内存管理 Linux文件系统 Linux 磁盘IO Linux网络
  8. ecshop商品详细描述调用商品相册代码
  9. 获取事件相对于文档的位置
  10. java -- 线程的生命周期