本文讨论了电阻箱和拨码电阻器的精度,为今后的实验做好了数据准备。
■ 电阻箱
使用 便于电子实验。但是,在使用过程中需要考虑这种低价电阻箱的误差。本文用数字万用表初步测量电阻,检查电阻箱的实际误差。
▲ 教学电阻100的教学电阻箱
打开电阻箱内部,可以看到
▲ 低价电阻箱0~99999Ω
◎ 电阻箱型号:
下表显示了不同类型雨水潺潺显示组织的大小:
01测量电阻箱各档电阻
1.电阻箱的电阻
C1 | C2 | C3 | C4 | C5 | C6 | C7 | C8 | C9 |
---|---|---|---|---|---|---|---|---|
0.94 | 1.06 | 1.17 | 1.25 | 1.35 | 1.45 | 1.55 | 1.65 | 1.73 |
1.85 | 2.85 | 3.85 | 4.86 | 5.83 | 6.83 | 7.83 | 8.82 | 9.82 |
10.84 | 20.77 | 30.74 | 40.72 | 50.60 | 60.60 | 70.53 | 80.51 | 90.47 |
100.26 | 199.89 | 299.19 | 398.77 | 499.99 | 599.49 | 699.09 | 798.40 | 897.97 |
994.43 | 1991.60 | 2989.80 | 3989.20 | 4979.50 | 5973.00 | 6970.60 | 7969.00 | 8968.00 |
10067.00 | 20102.00 | 30127.00 | 40145.00 | 49917.00 | 60008.00 | 70078.00 | 80048.00 | 90042.00 |
C1 | C2 | C3 | C4 | C5 | C6 | C7 | C8 | C9 |
---|---|---|---|---|---|---|---|---|
1.00 | 1.10 | 1.22 | 1.32 | 1.40 | 1.49 | 1.60 | 1.71 | 1.79 |
1.91 | 2.90 | 3.92 | 4.91 | 5.89 | 6.90 | 7.89 | 8.90 | 9.88 |
10.91 | 20.86 | 30.83 | 40.84 | 50.73 | 60.73 | 70.69 | 80.66 | 90.66 |
100.31 | 199.92 | 299.36 | 399.23 | 499.30 | 598.73 | 698.36 | 797.81 | 897.69 |
998.84 | 1997.70 | 2997.60 | 3996.30 | 5003.30 | 6000.90 | 7000.50 | 7999.80 | 8998.30 |
10016.00 | 20041.00 | 30078.00 | 40097.00 | 49919.00 | 59937.00 | 69991.00 | 79971.00 | 90023.01 |
R1 | R2 | R3 | R4 | R5 | R6 | R7 | R8 | R9 |
---|---|---|---|---|---|---|---|---|
0.809000 | 1.311000 | 1.450000 | 1.451000 | 1.457000 | 1.455000 | 1.450000 | 1.452000 | |
1.792000 | 2.804000 | 3.825000 | 4.848000 | 5.941000 | 6.932000 | 7.969000 | 8.972000 | 9.983000 |
10.638000 | 20.474001 | 30.285999 | 40.068001 | 51.726002 | 61.497002 | 71.335999 | 81.158997 | 90.918999 |
98.237000 | 196.059998 | 294.980011 | 391.170013 | 509.670013 | 607.140015 | 704.950012 | 803.760010 | 900.039978 |
1001.899902 | 2005.300171 | 3009.500000 | 4001.800293 | 5065.899414 | 6066.500000 | 7069.799805 | 8074.099609 | 9066.299805 |
R1 | R2 | R3 | R4 | R5 | R6 | R7 | R8 | R9 |
---|---|---|---|---|---|---|---|---|
1.97 | 2.90 | 3.89 | 5.39 | 5.86 | 6.83 | 8.13 | 8.83 | 9.81 |
11.10 | 20.94 | 31.91 | 42.27 | 50.83 | 61.26 | 71.20 | 82.43 | 90.43 |
101.88 | 201.35 | 301.04 | 404.93 | 500.49 | 600.60 | 698.44 | 798.06 | 897.53 |
998.21 | 1996.30 | 2994.70 | 3992.10 | 4974.30 | 5971.70 | 6969.80 | 7968.30 | 8965.00 |
#!/usr/local/bin/python
# -*- coding: gbk -*-
#============================================================
# METERREC.PY -- by Dr. ZhuoQing 2020-07-06
#
# Note:
#============================================================
from headm import *
import os
from tsmodule.tsstm32 import *
from tsmodule.tsvisa import *
#------------------------------------------------------------
def tspclickaction(func1=None, func2=None):
def f1():
tspmsg('msg \a')
def f2():
printf('\a')
if func1 == None:
func1 = f1
if func2 == None:
func2 = f2
#--------------------------------------------------------
codeflag = 0
while True:
if codeflag == 0:
time.sleep(.5)
else: time.sleep(.2)
key = tspread()
if key[7]+key[8]+key[9] != 0:
return
if key[2] != 0 and codeflag == 0:
if key[3] != 0: return
func1()
codeflag = 1
continue
if key[3] != 0 and codeflag == 0:
if key[2] != 0: return
func2()
codeflag = 1
continue
codeflag = 0
#------------------------------------------------------------
windowtitle = tspgetwindowtitle()
findflag = 0
meterfile = r'D:\zhuoqing\window\cb\MyResearch\Test\TestAD5344\M8BL_BAS\M8BL_BAS.exe'
for wt in windowtitle:
if wt.find('MEGA8 DOWLOAD PROGERAM') >= 0:
findflag = 1
break
if findflag == 0:
os.system(meterfile)
time.sleep(.5)
tspbeep(1200, 200)
#------------------------------------------------------------
meterid = 0
decimalnum = -1
if len(sys.argv) > 1:
meterid = int(sys.argv[1])
if len(sys.argv) > 2:
decimalnum = int(sys.argv[2])
if meterid > 3:
dm3068open()
def ff1():
global decimalnum
dn = decimalnum
if dn == 0:
if meterid < 4:
meter = meterval()
tspmsg('%d '%meter[meterid])
else:
if meterid == 4:
val = dm3068vdc()
tspmsg('%d '%val)
elif meterid == 5:
val = dm3068vac()
tspmsg('%d '%val)
elif meterid == 6:
val = dm3068res()
tspmsg('%d '%val)
else:
val = dm3068vdc()
tspmsg('%d '%val)
elif dn == 1:
if meterid < 4:
meter = meterval()
tspmsg('%3.1f '%meter[meterid])
else:
if meterid == 4:
val = dm3068vdc()
tspmsg('%3.1f '%val)
elif meterid == 5:
val = dm3068vac()
tspmsg('%3.1f '%val)
elif meterid == 6:
val = dm3068res()
tspmsg('%3.1f '%val)
else:
val = dm3068vdc()
tspmsg('%3.1f '%val)
elif dn == 2:
if meterid < 4:
meter = meterval()
tspmsg('%4.2f '%meter[meterid])
else:
if meterid == 4:
val = dm3068vdc()
tspmsg('%4.2f '%val)
elif meterid == 5:
val = dm3068vac()
tspmsg('%4.2f '%val)
elif meterid == 6:
val = dm3068res()
tspmsg('%4.2f '%val)
else:
val = dm3068vdc()
tspmsg('%4.2f '%val)
elif dn == 3:
if meterid < 4:
meter = meterval()
tspmsg('%5.3f '%meter[meterid])
else:
if meterid == 4:
val = dm3068vdc()
tspmsg('%5.3f '%val)
elif meterid == 5:
val = dm3068vac()
tspmsg('%5.3f '%val)
elif meterid == 6:
val = dm3068res()
tspmsg('%5.3f '%val)
else:
val = dm3068vdc()
tspmsg('%5.3f '%val)
elif dn == 4:
if meterid < 4:
meter = meterval()
tspmsg('%6.4f '%meter[meterid])
else:
if meterid == 4:
val = dm3068vdc()
tspmsg('%6.4f '%val)
elif meterid == 5:
val = dm3068vac()
tspmsg('%6.4f '%val)
elif meterid == 6:
val = dm3068res()
tspmsg('%6.4f '%val)
else:
val = dm3068vdc()
tspmsg('%6.4f '%val)
elif dn == 5:
if meterid < 4:
meter = meterval()
tspmsg('%7.5 '%meter[meterid])
else:
if meterid == 4:
val = dm3068vdc()
tspmsg('%7.5f '%val)
elif meterid == 5:
val = dm3068vac()
tspmsg('%7.5f '%val)
elif meterid == 6:
val = dm3068res()
tspmsg('%7.5f '%val)
else:
val = dm3068vdc()
tspmsg('%7.5f '%val)
elif dn == 6:
if meterid < 4:
meter = meterval()
tspmsg('%8.6f '%meter[meterid])
else:
if meterid == 4:
val = dm3068vdc()
tspmsg('%8.6f '%val)
elif meterid == 5:
val = dm3068vac()
tspmsg('%8.6f '%val)
elif meterid == 6:
val = dm3068res()
tspmsg('%8.6f '%val)
else:
val = dm3068vdc()
tspmsg('%8.6f '%val)
elif dn == 7:
if meterid < 4:
meter = meterval()
tspmsg('%9.7f '%meter[meterid])
else:
if meterid == 4:
val = dm3068vdc()
tspmsg('%9.7f '%val)
elif meterid == 5:
val = dm3068vac()
tspmsg('%9.7f '%val)
elif meterid == 6:
val = dm3068res()
tspmsg('%9.7f '%val)
else:
val = dm3068vdc()
tspmsg('%9.7f '%val)
elif dn == 8:
if meterid < 4:
meter = meterval()
tspmsg('%10.8f '%meter[meterid])
else:
if meterid == 4:
val = dm3068vdc()
tspmsg('%10.8f '%val)
elif meterid == 5:
val = dm3068vac()
tspmsg('%10.8f '%val)
elif meterid == 6:
val = dm3068res()
tspmsg('%10.8f '%val)
else:
val = dm3068vdc()
tspmsg('%10.8f '%val)
else:
if meterid < 4:
meter = meterval()
tspmsg('%f '%meter[meterid])
else:
if meterid == 4:
val = dm3068vdc()
tspmsg('%f '%val)
elif meterid == 5:
val = dm3068vac()
tspmsg('%f '%val)
elif meterid == 6:
val = dm3068res()
tspmsg('%f '%val)
else:
val = dm3068vdc()
tspmsg('%f '%val)
tspbeep(2000, 200)
#------------------------------------------------------------
time.sleep(.5)
tspbeep(1000, 500)
tspclr()
#------------------------------------------------------------
tspclickaction(ff1)
tspmsgcopy()
tspbeep(500, 200)
#------------------------------------------------------------
# END OF FILE : METERREC.PY
#============================================================
2.拨码电阻
▲ 拨码电阻器
R1 | R2 | R3 | R4 | R5 | R6 | R7 | R8 | R9 |
---|---|---|---|---|---|---|---|---|
39980.00 | 20093.00 | 13374.00 | 9987.00 | 7991.40 | 6671.70 | 5718.50 | 5031.20 | 4469.10 |
403340.00 | 199470.00 | 133270.02 | 100900.00 | 80412.00 | 66801.00 | 57292.00 | 49837.00 | 44350.00 |
4026599.75 | 1996000.00 | 1334900.00 | 1011900.00 | 808410.00 | 670470.00 | 575380.00 | 502790.00 | 447109.97 |
R1 | R2 | R3 | R4 | R5 | R6 | R7 | R8 | R9 |
---|---|---|---|---|---|---|---|---|
39805.00 | 19877.00 | 13255.00 | 9989.00 | 7988.10 | 6650.80 | 5698.90 | 5004.40 | 4445.90 |
402200.00 | 201010.00 | 134039.98 | 100520.00 | 80308.00 | 66955.01 | 57395.00 | 49781.00 | 44289.00 |
3983200.00 | 2013400.12 | 1337800.00 | 999200.00 | 798880.00 | 668320.00 | 572090.06 | 505680.00 | 448850.00 |
▲ 拨码电阻的阻值
#!/usr/local/bin/python
# -*- coding: gbk -*-
#============================================================
# TEST2.PY -- by Dr. ZhuoQing 2020-07-04
#
# Note:
#============================================================
from headm import *
R1 = [39805.00, 19877.00, 13255.00, 9989.00, 7988.10, 6650.80, 5698.90, 5004.40, 4445.90]
R2 = [402200.00, 201010.00, 134039.98, 100520.00, 80308.00, 66955.01, 57395.00, 49781.00, 44289.00]
R3 = [3983200.00, 2013400.12, 1337800.00, 999200.00, 798880.00, 668320.00, 572090.06, 505680.00, 448850.00]
#printff(R1, R2, R3)
plt.plot(R1, label='R1')
plt.plot(R2, label='R2')
plt.plot(R3, label='R3')
plt.xlabel("Sample")
plt.ylabel("Resistor(Ohm)")
plt.grid(True)
plt.legend(loc='upper right')
plt.show()
#------------------------------------------------------------
# END OF FILE : TEST2.PY
#============================================================
3. 拨码电阻建模
这个电阻应该是用于现场控制应用,通过电压产生一个线性变化的电流。
假设测量的 R n R_n Rn,在激励电压 U 1 U_1 U1激励下,产生线性增加的电流 I n I_n In。假设模型为:
▲ 对应用进行建模
利用上面所测量的R1,R2,R3来估计U1,R0,I0,I1。 由于所能够使用到数据只有九个,所以预先假设: U 1 = 22 U_1 = 22 U1=22。 得到对应的参数: R 0 = 5 . 29276323 e 03 {\rm{R}}_0 {\rm{ = 5}}{\rm{.29276323e03 }} R0=5.29276323e03 I 0 = 5 . 49295798 e − 04 {\rm{I}}_0 {\rm{ = 5}}{\rm{.49295798e - 04 }} I0=5.49295798e−04 I 1 = 4 . 16442321 e − 03 {\rm{I}}_1 {\rm{ = 4}}{\rm{.16442321e - 03}} I