В предыдущем материале мы выполнили расчет базовых характеристик электрических цепей с учетом температурной зависимости сопротивления. В данной статье мы углубим модель, включив в неё динамическое изменение теплоемкости в зависимости от нагрева, а также добавим учет теплообмена проводника с окружающей средой.

Программная реализация для первой конфигурации цепи:
import numpy as np
from scipy.integrate import solve_ivp
import matplotlib.pyplot as plt
Базовые параметры медного проводника
R0 = 400 # Ом, номинальное сопротивление при T0
alpha = 0.00393 # 1/К, температурный коэффициент
T0 = 293 # К, начальная температура (20 °C)
Аппроксимация теплоемкости меди в зависимости от температуры (Дж/(кг·К))
def heat_capacity(T):
Коэффициенты для температурного интервала 200–1200 К
a, b, c = 370, 0.2, 1e-4
return a + b (T - 273) + c (T - 273) ** 2
Геометрические параметры (цилиндрический проводник)
rho_copper = 8960 # кг/м³, плотность материала
diameter = 0.002 # м
length = 1.0 # м
volume = np.pi * (diameter / 2) * 2 length
mass = rho_copper * volume # ~0.028 кг
Параметры конвективного теплообмена
k = 10 # Вт/(м²·К), коэффициент теплоотдачи
surface_area = np.pi diameter length
k_total = k * surface_area
T_ambient = 293 # К, температура среды
U = 120 # В, напряжение источника
Описание системы дифференциальных уравнений
def dT_dt(t, T):
T = T[0]
R_T = R0 (1 + alpha (T - T0))
C_T = heat_capacity(T)
P_joule = U * 2 / R_T
P_loss = k_total (T - T_ambient)
return [(P_joule - P_loss) / (C_T * mass)]
Настройка солвера
t_span = (0, 300)
t_eval = np.linspace(0, 300, 1000)
solution = solve_ivp(dT_dt, t_span, [T0], t_eval=t_eval, method='RK45')
time = solution.t
temperature = solution.y[0]
temperature_C = temperature - 273
resistance = R0 (1 + alpha (temperature - T0))
heat_capacity_values = [heat_capacity(T) for T in temperature]
power_joule = U * 2 / resistance
power_loss = k_total (temperature - T_ambient)
Построение графиков
fig, axes = plt.subplots(2, 2, figsize=(12, 8))
fig.suptitle('Термодинамическая модель нагрева медного проводника', fontsize=16)
axes[0, 0].plot(time, temperature_C, 'b-', linewidth=2)
axes[0, 0].set_xlabel('Время, с')
axes[0, 0].set_ylabel('Температура, °C')
axes[0, 0].grid(True)
axes[0, 0].set_title('Температурный профиль')
axes[0, 1].plot(temperature_C, resistance, 'r-', linewidth=2)
axes[0, 1].set_xlabel('Температура, °C')
axes[0, 1].set_ylabel('Сопротивление, Ом')
axes[0, 1].grid(True)
axes[0, 1].set_title('Зависимость R(T)')
axes[1, 0].plot(temperature_C, heat_capacity_values, 'g-', linewidth=2)
axes[1, 0].set_xlabel('Температура, °C')
axes[1, 0].set_ylabel('Теплоёмкость, Дж/(кг·К)')
axes[1, 0].grid(True)
axes[1, 0].set_title('Динамика теплоёмкости')
axes[1, 1].plot(time, power_joule, 'orange', label="Джоулев нагрев", linewidth=2)
axes[1, 1].plot(time, power_loss, 'purple', label="Теплоотвод", linewidth=2)
axes[1, 1].set_xlabel('Время, с')
axes[1, 1].set_ylabel('Мощность, Вт')
axes[1, 1].legend()
axes[1, 1].grid(True)
axes[1, 1].set_title('Энергетический баланс')
plt.tight_layout()
plt.show()
Визуализация результатов моделирования представлена на графике ниже:

Графики демонстрируют асимптотический рост температуры до достижения теплового равновесия.
Перейдем к моделированию второй цепи с разрядом конденсатора:
# Дополнительные параметры для системы с конденсатором
C_cap = 1 # Фарад
U0 = 120 # В, начальное напряжение
def dY_dt(t, Y):
T, U = Y
R_T = R0 (1 + alpha (T - T0))
C_T = heat_capacity(T)
P_joule = U * 2 / R_T
P_loss = k_total (T - T_ambient)
dT_dt = (P_joule - P_loss) / (C_T mass)
dU_dt = -U / (C_cap R_T)
return [dT_dt, dU_dt]
(Остальная часть кода аналогична предыдущему примеру с учетом двух переменных)
Итоговое распределение параметров во второй системе:
https://habrastorage.org/r/w1560/getpro/habr/upload_files/6cb/fc4/672/6cbfc4672c4a774df8ec983314846fb8.png 781w" loading="lazy" decode="async"><div><figcaption>Вторая цепь</figcaption></div></figure><p>Анализ показывает кратковременный импульс нагрева, за которым следует остывание проводника по мере исчерпания энергии конденсатора.</p><p>Для завершения цикла рассмотрим поведение цепи с индуктивной нагрузкой:</p><pre><code class="python"># Моделирование цепи с индуктивностью
E_emf = 220
L_coil = 10 # Гн
def dY_dt(t, Y):
I, T = Y
R_T = R0 (1 + alpha (T — T0))
C_T = heat_capacity(T)
dI_dt = (E_emf — R_T * I) / L_coil
dT_dt = (I*2 R_T — k_total (T — T_ambient)) / (C_T mass)
return [dI_dt, dT_dt]
Графики процессов для третьей схемы:

Наблюдается плавное нарастание температуры при переходном процессе установления тока в индуктивной цепи.
Таким образом, предложенная математическая модель позволяет комплексно оценить тепловые эффекты в проводниках, учитывая физические свойства материалов и динамику электромагнитных процессов.
Рекомендуемая литература для глубокого изучения:
- М. Н. Перунова «Расчёт электрических цепей: практикум» (Оренбург, 2014) — фундаментальное пособие с разбором задач на температурную зависимость сопротивления.
- И. О. Мартынова «Электротехника» (СПО) — базовый теоретический справочник по физике полупроводниковых и металлических проводников.
- Ю. Г. Синдеев «Электротехника и основы электроники» — содержит справочные таблицы коэффициентов для различных проводниковых материалов.
- В. В. Чёрный, В. Э. Малаховская «Температурная зависимость сопротивления» (Минск, 2016) — глубокий анализ природы температурных коэффициентов и методик их экспериментального определения.
- О. М. Полещук и др. «Исследование зависимости сопротивления металлов и полупроводников от температуры» (2021) — методические рекомендации по созданию лабораторных установок.
- Г. И. Кольниченко и др. «Основы электротехники» (2021) — сборник задач с подробным разбором температурных факторов.
- Ю. М. Осипов, П. А. Борисов «Методы расчёта линейных электрических цепей» (ИТМО, 2012) — пособие по применению итерационных методов в задачах с нелинейными элементами.

