大家好,欢迎来到IT知识分享网。
LM331中的电流镜
- LM331的基本功能-CSDN博客
- 基于LM331的电压-频率转换电路详细介绍
- LM331震荡居然稳定了
01 LM331恒流源
01 LM331恒流源
一、前言
二、测试电流镜
我很好奇, 这里面的镜像电流源的比例关系, 也就是这两路之间电流比值是维持在多少? 改变 Rs电阻, 可以改变参考电流的大小, 使用QR10可编程电阻箱来设置参考电流。 利用万用表的电流档测量 1管脚输出电流。 设置管脚7 为高电平, 管脚6 为低电平, 确保电流镜电流从 1 管脚输出。
在面包板上搭建测试电路。 LM331的工作电压为5V, 第七、第六管脚分别连接到电源和地线。 使用电阻箱连接管脚2 到地线, 通过万用表测量到输出电压为1.9V, 这就是带隙参考电压。 使用 DM3068电流档测量 1 管脚到 地线之间的电路。
DM3068测量一管脚输出电流 为 191 微安, 这是对应 1.9V作用在 10k 欧姆上的电流。
通过Python编程, 改变电阻箱QR10阻值, 从 1k欧姆逐步增加到 100k欧姆, 对应的电流从1.9mA 逐步减少到 19微安。 测量管脚1的输出电流以及管脚2 的输出电压。 首先, 看到的是管脚2 的输出电压。
▲ 图1.2.1 不同电阻对应的第二管脚的电压
#!/usr/local/bin/python # -*- coding: gbk -*- #============================================================ # TEST1.PY -- by Dr. ZhuoQing 2024-04-30 # # Note: #============================================================ from headm import * from tsmodule.tsvisa import * from tsmodule.tsstm32 import * import serial from _ast import Or from serial.serialutil import SerialException #------------------------------------------------------------ sport = serial.Serial() sport.baudrate = sport.timeout = 0.05 try: sport.port = 'COM6' except: printf('Set sport port COM6 error. ') try: sport.open() except serial.serialutil.SerialException: printf('Open sport port COM6 error.') else: printf('Open sport port COM6 Ok.') #------------------------------------------------------------ dm3068open() rdim = linspace(1e3, 100e3, 100) vdim = [] idim = [] cdim = [] for r in rdim: sport.write(b'AT+USER.SP=%5.1f\n'%r) time.sleep(2) meter = meterval() vdim.append(meter[0]) c = dm3068cdc() cdim.append(c) idim.append(meter[0]/r) printff(r,meter[0],c,meter[0]/r) tspsave('measure', rdim=rdim, vdim=vdim, idim=idim, cdim=cdim) plt.plot(rdim, vdim, lw=3) plt.xlabel("Rs(Omega)") plt.ylabel("Voltage(V)") plt.grid(True) plt.tight_layout() plt.show() #------------------------------------------------------------ # END OF FILE : TEST1.PY #============================================================
rdim=[1000.0000,2000.0000,3000.0000,4000.0000,5000.0000,6000.0000,7000.0000,8000.0000,9000.0000,10000.0000,11000.0000,12000.0000,13000.0000,14000.0000,15000.0000,16000.0000,17000.0000,18000.0000,19000.0000,20000.0000,21000.0000,22000.0000,23000.0000,24000.0000,25000.0000,26000.0000,27000.0000,28000.0000,29000.0000,30000.0000,31000.0000,32000.0000,33000.0000,34000.0000,35000.0000,36000.0000,37000.0000,38000.0000,39000.0000,40000.0000,41000.0000,42000.0000,43000.0000,44000.0000,45000.0000,46000.0000,47000.0000,48000.0000,49000.0000,50000.0000,51000.0000,52000.0000,53000.0000,54000.0000,55000.0000,56000.0000,57000.0000,58000.0000,59000.0000,60000.0000,61000.0000,62000.0000,63000.0000,64000.0000,65000.0000,66000.0000,67000.0000,68000.0000,69000.0000,70000.0000,71000.0000,72000.0000,73000.0000,74000.0000,75000.0000,76000.0000,77000.0000,78000.0000,79000.0000,80000.0000,81000.0000,82000.0000,83000.0000,84000.0000,85000.0000,86000.0000,87000.0000,88000.0000,89000.0000,90000.0000,91000.0000,92000.0000,93000.0000,94000.0000,95000.0000,96000.0000,97000.0000,98000.0000,99000.0000,.0000] vdim=[1.0749,1.9025,1.9046,1.9052,1.9020,1.9003,1.8995,1.9016,1.9046,1.9073,1.9094,1.9108,1.9114,1.9118,1.9118,1.9117,1.9115,1.9113,1.9109,1.9106,1.9102,1.9099,1.9098,1.9094,1.9091,1.9088,1.9086,1.9084,1.9084,1.9081,1.9079,1.9078,1.9076,1.9077,1.9075,1.9073,1.9072,1.9072,1.9071,1.9072,1.9071,1.9070,1.9069,1.9068,1.9068,1.9068,1.9068,1.9068,1.9068,1.9068,1.9066,1.9066,1.9067,1.9067,1.9066,1.9066,1.9066,1.9066,1.9067,1.9067,1.9066,1.9066,1.9066,1.9067,1.9066,1.9066,1.9066,1.9065,1.9065,1.9066,1.9066,1.9066,1.9066,1.9065,1.9066,1.9066,1.9066,1.9065,1.9066,1.9066,1.9066,1.9066,1.9064,1.9065,1.9064,1.9064,1.9064,1.9065,1.9066,1.9067,1.9066,1.9066,1.9066,1.9066,1.9067,1.9067,1.9067,1.9066,1.9066,1.9066] idim=[0.0011,0.0010,0.0006,0.0005,0.0004,0.0003,0.0003,0.0002,0.0002,0.0002,0.0002,0.0002,0.0001,0.0001,0.0001,0.0001,0.0001,0.0001,0.0001,0.0001,0.0001,0.0001,0.0001,0.0001,0.0001,0.0001,0.0001,0.0001,0.0001,0.0001,0.0001,0.0001,0.0001,0.0001,0.0001,0.0001,0.0001,0.0001,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000] cdim=[0.0011,0.0010,0.0006,0.0005,0.0004,0.0003,0.0003,0.0002,0.0002,0.0002,0.0002,0.0002,0.0001,0.0001,0.0001,0.0001,0.0001,0.0001,0.0001,0.0001,0.0001,0.0001,0.0001,0.0001,0.0001,0.0001,0.0001,0.0001,0.0001,0.0001,0.0001,0.0001,0.0001,0.0001,0.0001,0.0001,0.0001,0.0001,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000]
▲ 图1.2.2 Rs不同电阻下对应的管脚1,2 输出电流
▲ 图1.2.3 申通电流下电流镜之间的比值
▲ 图1.2.5 Rs电阻与输出电压之间的关系
▲ 图1.2.4 电流镜之间的比值
三、电流镜恒流特性
下面测量一下 管脚1 的恒流输出特性, 利用电阻箱QR10作为 管脚1 的负载电阻, 从 100欧姆, 变化到 20k欧姆, 管脚2 连接一个固定10k电阻到地线, 这样, 管脚1 的电压会随着电阻箱的变化而改变, 这里测量了管脚1 输出电压与电流之间的关系, 可以看到, 在输出电压小于 3.5V之内, 输出电流变化很小, 如果使用一个线性曲线拟合这段变化, 通过线性下降斜率可以知道对应的 电流源输出内阻大约为 5.34M 欧姆。
▲ ..管脚1输出电压与电流
#!/usr/local/bin/python
# -*- coding: gbk -*-
#============================================================
# TEST3.PY -- by Dr. ZhuoQing 2024-04-30
#
# Note:
#============================================================
from headm import *
from tsmodule.tsvisa import *
import serial
from _ast import Or
from serial.serialutil import SerialException
#------------------------------------------------------------
sport = serial.Serial()
sport.baudrate = 115200
sport.timeout = 0.05
try:
sport.port = 'COM6'
except:
printf('Set sport port COM6 error. ')
try:
sport.open()
except serial.serialutil.SerialException:
printf('Open sport port COM6 error.')
else:
printf('Open sport port COM6 Ok.')
#------------------------------------------------------------
rdim = linspace(100, 20e3, 100)
vdim = []
idim = []
dm3068open()
for r in rdim:
sport.write(b'AT+USER.SP=%5.1f\n'%r)
time.sleep(2)
v = dm3068vdc()
vdim.append(v)
idim.append(v/r*1e6)
tspsave("current", rdim=rdim, vdim=vdim, idim=idim)
printff(r, v, v/r)
plt.plot(vdim, idim, lw=3)
plt.xlabel("Voltage(V)")
plt.ylabel("Current(uA)")
plt.grid(True)
plt.tight_layout()
plt.show()
#------------------------------------------------------------
# END OF FILE : TEST3.PY
#============================================================
rdim=[100.0000,301.0101,502.0202,703.0303,904.0404,1105.0505,1306.0606,1507.0707,1708.0808,1909.0909,2110.1010,2311.1111,2512.1212,2713.1313,2914.1414,3115.1515,3316.1616,3517.1717,3718.1818,3919.1919,4120.2020,4321.2121,4522.2222,4723.2323,4924.2424,5125.2525,5326.2626,5527.2727,5728.2828,5929.2929,6130.3030,6331.3131,6532.3232,6733.3333,6934.3434,7135.3535,7336.3636,7537.3737,7738.3838,7939.3939,8140.4040,8341.4141,8542.4242,8743.4343,8944.4444,9145.4545,9346.4646,9547.4747,9748.4848,9949.4949,10150.5051,10351.5152,10552.5253,10753.5354,10954.5455,11155.5556,11356.5657,11557.5758,11758.5859,11959.5960,12160.6061,12361.6162,12562.6263,12763.6364,12964.6465,13165.6566,13366.6667,13567.6768,13768.6869,13969.6970,14170.7071,14371.7172,14572.7273,14773.7374,14974.7475,15175.7576,15376.7677,15577.7778,15778.7879,15979.7980,16180.8081,16381.8182,16582.8283,16783.8384,16984.8485,17185.8586,17386.8687,17587.8788,17788.8889,17989.8990,18190.9091,18391.9192,18592.9293,18793.9394,18994.9495,19195.9596,19396.9697,19597.9798,19798.9899,20000.0000]
vdim=[0.0194,0.0582,0.0971,0.1360,0.1749,0.2138,0.2526,0.2915,0.3304,0.3692,0.4081,0.4469,0.4858,0.5246,0.5635,0.6023,0.6412,0.6800,0.7189,0.7577,0.7965,0.8354,0.8742,0.9130,0.9518,0.9907,1.0295,1.0683,1.1072,1.1460,1.1847,1.2235,1.2623,1.3011,1.3399,1.3787,1.4175,1.4563,1.4951,1.5339,1.5726,1.6114,1.6502,1.6890,1.7277,1.7665,1.8053,1.8440,1.8828,1.9215,1.9603,1.9990,2.0378,2.0765,2.1153,2.1540,2.1927,2.2315,2.2701,2.3089,2.3476,2.3863,2.4250,2.4637,2.5024,2.5410,2.5797,2.6184,2.6571,2.6957,2.7344,2.7731,2.8118,2.8504,2.8890,2.9277,2.9663,3.0049,3.0436,3.0822,3.1209,3.1596,3.1982,3.2368,3.2754,3.3139,3.3524,3.3908,3.4291,3.4665,3.5010,3.5292,3.5495,3.5638,3.5743,3.5823,3.5887,3.5941,3.5986,3.6025]
idim=[193.5131,193.4641,193.4517,193.4505,193.4283,193.4442,193.4292,193.4263,193.4216,193.4036,193.3940,193.3824,193.3834,193.3707,193.3657,193.3581,193.3517,193.3461,193.3425,193.3299,193.3252,193.3190,193.3127,193.3041,193.2966,193.2963,193.2852,193.2838,193.2794,193.2694,193.2581,193.2529,193.2454,193.2398,193.2280,193.2231,193.2165,193.2128,193.2069,193.1996,193.1893,193.1829,193.1763,193.1685,193.1589,193.1529,193.1480,193.1442,193.1368,193.1284,193.1203,193.1152,193.1098,193.1033,193.0967,193.0891,193.0795,193.0748,193.0627,193.0568,193.0511,193.0417,193.0296,193.0220,193.0165,193.0046,192.9939,192.9896,192.9801,192.9699,192.9630,192.9552,192.9489,192.9349,192.9249,192.9176,192.9077,192.8988,192.8902,192.8836,192.8762,192.8697,192.8623,192.8525,192.8404,192.8292,192.8145,192.7941,192.7660,192.6887,192.4595,191.8879,190.9081,189.6273,188.1711,186.6183,185.0142,183.3896,181.7549,180.1261]
▲ 图1.3.2 输出电压在3V之电流与电压
#!/usr/local/bin/python
# -*- coding: gbk -*-
#============================================================
# TEST4.PY -- by Dr. ZhuoQing 2024-04-30
#
# Note:
#============================================================
from headm import *
from scipy.optimize import curve_fit
rdim, vdim, idim = tspload('current', 'rdim', 'vdim', 'idim')
def linefun(x, a, b):
return a*x + b
N = 80
n= 5
#------------------------------------------------------------
param = (2e2, 0)
param, conv = curve_fit(linefun, vdim[n:N], idim[n:N], p0=param)
printf(param)
printf(-1e6/param[0])
ifit = linefun(vdim[n:N], *param)
plt.plot(vdim[n:N], idim[n:N], lw=3, label='Measure')
plt.plot(vdim[n:N], ifit, lw=3, label='fit')
plt.xlabel("Voltage(V)")
plt.ylabel("Current(uA)")
plt.grid(True)
plt.legend(loc='upper right')
plt.tight_layout()
plt.show()
#------------------------------------------------------------
# END OF FILE : TEST4.PY
#============================================================
※ 总 结 ※
※ 总 结 ※
本文对于手边的 LM331芯片中电流镜的特性进行了测量。 在输出1mA 之内, 管脚1,2 之间的电流比值非常接近于 1。 管脚 1 输出电流基本上是恒流, 在输出电压小于3V之内, 输出电阻在 5.3M欧姆。 这些特性使得该芯片在V/F电路中可以达到很高的性能。
■ 相关文献链接:
- LM331的基本功能-CSDN博客
- 基于LM331的电压-频率转换电路详细介绍
- LM331震荡居然稳定了
● 相关图表链接:
- 图1.2.1 不同电阻对应的第二管脚的电压
- 图1.2.2 Rs不同电阻下对应的管脚1,2 输出电流
- 图1.2.3 申通电流下电流镜之间的比值
- 图1.2.5 Rs电阻与输出电压之间的关系
- 图1.2.4 电流镜之间的比值
- …管脚1输出电压与电流
- 图1.3.2 输出电压在3V之电流与电压
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/137056.html