02:30\\\\\\\\\\\\\\\\r\\\\\\\\\\\\\\\\n电流与温度
01 温度与电流
一、前言
这是一个红外测温模块, 前天给它制作了一个USB接口和LED显示, 可以由计算机自动读取测量的温度。 下面对薄膜线圈的温度测量, 包括这个高精度的电流采样电阻。 给它们提供不同的电流, 测量对应的温度。 通过程序控制DH1766直流电源, 提供不同的电流。 查看一下线圈和电阻的温度变化。
二、线圈的温度
将温度传感器靠近线圈。 利用 DG1766 给出从 0 到 1A 的电流。 测量在这个过程中, 线圈的温度。 每改变一次电流, 停留2秒钟, 再读取相应的温度。 测量结果显示, 温度上升呈现近似二次函数的关系。 也就是随着电流增加, 温度上升变化越来越快。
#!/usr/local/bin/python
# -*- coding: gbk -*-
#============================================================
# TEST1.PY -- by Dr. ZhuoQing 2024-04-02
#
# Note:
#============================================================
from headm import *
import serial
from _ast import Or
from serial.serialutil import SerialException
from tsmodule.tsvisa import *
#------------------------------------------------------------
lu = serial.Serial()
lu.baudrate = 115200
lu.timeout = 0.05
try:
lu.port = 'COM7'
except:
printf('Set lu port COM7 error. ')
try:
lu.open()
except serial.serialutil.SerialException:
printf('Open lu port COM7 error.')
else:
printf('Open lu port COM7 Ok.')
#------------------------------------------------------------
def readtemp():
lu.read(1000)
lu.write(b'U')
for i in range(10):
data = lu.read(4)
if len(data) > 0: break;
time.sleep(.5)
nNumber = data[2]
nNumber = nNumber * 256 + data[3]
return nNumber / 100.0
#------------------------------------------------------------
dh1766volt1(10)
dh1766currlimit1(0)
time.sleep(2)
idim = linspace(0, 1, 100)
tdim = []
for i in idim:
dh1766currlimit1(i)
time.sleep(2)
temp = readtemp()
tdim.append(temp)
printff(i, temp)
tspsave('meas1', idim=idim, tdim=tdim)
dh1766currlimit1(0)
plt.plot(idim, tdim, lw=3)
plt.xlabel("Current(A)")
plt.ylabel("Temperature")
plt.grid(True)
plt.tight_layout()
plt.show()
#------------------------------------------------------------
# END OF FILE : TEST1.PY
#============================================================
idim=[0.0000,0.0101,0.0202,0.0303,0.0404,0.0505,0.0606,0.0707,0.0808,0.0909,0.1010,0.1111,0.1212,0.1313,0.1414,0.1515,0.1616,0.1717,0.1818,0.1919,0.2020,0.2121,0.2222,0.2323,0.2424,0.2525,0.2626,0.2727,0.2828,0.2929,0.3030,0.3131,0.3232,0.3333,0.3434,0.3535,0.3636,0.3737,0.3838,0.3939,0.4040,0.4141,0.4242,0.4343,0.4444,0.4545,0.4646,0.4747,0.4848,0.4949,0.5051,0.5152,0.5253,0.5354,0.5455,0.5556,0.5657,0.5758,0.5859,0.5960,0.6061,0.6162,0.6263,0.6364,0.6465,0.6566,0.6667,0.6768,0.6869,0.6970,0.7071,0.7172,0.7273,0.7374,0.7475,0.7576,0.7677,0.7778,0.7879,0.7980,0.8081,0.8182,0.8283,0.8384,0.8485,0.8586,0.8687,0.8788,0.8889,0.8990,0.9091,0.9192,0.9293,0.9394,0.9495,0.9596,0.9697,0.9798,0.9899,1.0000]
tdim=[28.4200,28.4600,28.1400,28.1800,28.2200,28.3000,28.2600,28.4400,28.5400,28.6000,28.8200,28.9800,29.0400,29.0400,29.1400,29.3600,29.7000,29.9400,30.0400,30.2000,30.4200,30.8200,31.0400,31.2200,31.7400,32.2200,32.7200,33.0400,33.2500,33.8400,34.0600,34.4600,35.0400,35.5400,36.0400,36.4600,37.0400,37.4300,38.0400,38.7400,39.1800,40.0400,40.2200,41.0400,41.4200,42.0800,42.6800,43.2400,44.0400,44.9600,45.7600,46.2200,47.0800,48.0400,48.8000,49.6600,50.3800,51.2000,52.0600,53.0400,53.8400,54.5000,55.5400,56.4400,57.0800,58.0600,59.1000,60.5200,61.7400,63.0000,63.7600,65.0400,66.1200,67.3200,68.6200,69.6900,70.6900,71.8200,73.0400,74.5100,75.6900,77.3000,78.6800,79.9600,81.1600,83.0000,84.0400,85.7400,86.7400,87.0400,88.0800,90.0600,91.9400,93.5200,95.0400,96.5800,97.9800,99.1400,257.5400,257.5400]
▲ 图1.2.1 测量结果
这是利用二次曲线对测量结果进行拟合, 可以看到它们之间符合度非常高。 由此, 可以知道, 线圈的温度与它的散热功率基本上成正比, 也与流过的电流的平方成正比。
▲ 图1.2.2 二次曲线拟合

三、高精度电阻
测量5欧姆高精度电流采样电阻的温度与电流之间的关系。 电流从0变化到0.5A, 测量每个电流下对应的温度。 这是测量的结果。 从拟合曲线上来看, 似乎有点问题, 也就是再开始的时候, 温度是下降的。 这应该是在测量之前, 电阻已经被加热过, 没有能够降低到室温就开始新的测量, 因此造成的这个问题。
▲ 图1.3.1 测温模块显示温度
▲ 图1.3.2 测量的结果
▲ 图1.3.3 二次曲线拟合结果
idim=[0.00,0.01,0.01,0.02,0.02,0.03,0.03,0.04,0.04,0.05,0.05,0.06,0.06,0.07,0.07,0.08,0.08,0.09,0.09,0.10,0.10,0.11,0.11,0.12,0.12,0.13,0.13,0.14,0.14,0.15,0.15,0.16,0.16,0.17,0.17,0.18,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.27,0.27,0.28,0.28,0.29,0.29,0.30,0.30,0.31,0.31,0.32,0.32,0.33,0.33,0.34,0.34,0.35,0.35,0.36,0.36,0.37,0.37,0.38,0.38,0.39,0.39,0.40,0.40,0.41,0.41,0.42,0.42,0.43,0.43,0.44,0.44,0.45,0.45,0.46,0.46,0.47,0.47,0.48,0.48,0.49,0.49,0.50]
tdim=[32.34,32.30,32.20,32.16,32.06,32.04,32.04,32.04,32.00,32.00,31.96,31.92,31.92,31.92,31.88,31.78,31.82,31.82,31.78,31.64,31.60,31.60,31.58,31.56,31.56,31.58,31.62,31.62,31.74,31.82,31.84,31.90,32.02,32.04,32.04,32.06,32.14,32.25,32.41,32.58,32.78,32.96,33.04,33.04,33.16,33.38,33.58,33.91,34.04,34.18,34.43,34.68,34.93,35.04,35.20,35.59,35.93,36.09,36.43,36.75,37.04,37.20,37.58,37.98,38.09,38.52,39.04,39.16,39.66,40.04,40.28,40.86,41.06,41.64,42.04,42.36,42.96,43.32,43.88,44.24,44.92,45.32,45.86,46.22,47.04,47.34,48.04,48.54,49.08,49.78,50.12,50.90,51.32,52.04,52.66,53.16,54.04,54.62,55.20,56.04]
为此, 重新测量一遍。 这次距离上次测量已经过去了 十分钟, 感觉应该温度降低到室温。 数据拟合挺好的, 但是似乎 二次曲线显示, 最低温度还是发生在电流在0.1A的时候。 这挺奇怪的。
▲ 图1.3.4 重新测量的结果

▲ 图1.3.5 拟合的结果
#!/usr/local/bin/python
# -*- coding: gbk -*-
#============================================================
# TEST2.PY -- by Dr. ZhuoQing 2024-04-04
#
# Note:
#============================================================
from headm import *
from scipy.optimize import curve_fit
idim, tdim = tspload('meas1', 'idim', 'tdim')
idim = idim[:-5]
tdim = tdim[:-5]
def linefun(x, a, b, c):
return a*x*x + b*x + c
param = (5, 1, 30)
param, conv = curve_fit(linefun, idim, tdim, p0=param)
printf(param)
tfit = linefun(idim, *param)
plt.plot(idim, tdim, lw=3, label='Measure')
plt.plot(idim, tfit, lw=3, label='Fit')
plt.xlabel("Current(A)")
plt.ylabel("Temperature(C)")
plt.grid(True)
plt.legend(loc='upper left')
plt.tight_layout()
plt.show()
#------------------------------------------------------------
# END OF FILE : TEST2.PY
#============================================================
※ 总 结 ※
本文利用 LU90614 红外测温模块, 测量了电流采样电阻和薄膜线圈的温度。 温度的上升与电流功率近似成正比。
● 相关图表链接: