使用 Python 计算二极管最大功率耗散

大多数二极管数据手册不列出最大功率耗散。相反,它们列出从结到引脚和从结到环境空气的热阻。

基于此,计算最大功率耗散很容易。检查最大允许工作温度(通常为 150°C)并计算从假设的(最大)环境温度将二极管加热到该温度需要多少瓦。

$$P_{\text{max}} = \frac{T_{\text{max}} - T_{\text{ambient}}}{R_{\text{jl}}}$$

这里,我们使用 $R_{\text{jl}}$ 作为从结到引脚的热阻,假设使用足够大的散热器(即铜平面)来传递热量。

在这个简单公式中,我们假设从结到环境空气的热阻可以忽略(因为它通常比到引脚的热阻高得多)。

理论上,除了到引脚的热阻外,你还可以包括从结到环境空气的一些热耗散,但这个相当小的效应通常被以下事实所补偿:在实际 PCB 中,你的铜平面散热器不会完美,因此会导致比数据手册值稍高的热阻。

以下是如何在 Python 中执行此操作。注意,我们假设了一些固定的热阻值(我在一些数据手册中找到的),但你应该始终使用你实际使用的二极管数据手册中的值!

然而,你可以将这些值作为一般经验法则,用于给定功率耗散可以使用哪种封装(对于损坏你的二极管不承担任何责任 :-))

diode_power_plot.py
import numpy as np
from UliEngineering.EngineerIO import *
from matplotlib import pyplot as plt
import matplotlib.ticker as mtick
plt.style.use("ggplot")

environment_temperatures = np.linspace(-40, 85, 1000)

# Compute the maximum power dissipation
def diode_max_power_dissipation(environment_temperature, thermal_resistance, max_operating_temp=150.0):
    return (max_operating_temp - environment_temperatures) / thermal_resistance

sod323_max_power_dissipation = diode_max_power_dissipation(environment_temperatures, 90)
sod123_max_power_dissipation = diode_max_power_dissipation(environment_temperatures, 40)
sma_max_power_dissipation = diode_max_power_dissipation(environment_temperatures, 17)
smb_max_power_dissipation = diode_max_power_dissipation(environment_temperatures, 15)
smc_max_power_dissipation = diode_max_power_dissipation(environment_temperatures, 10)

def format_celsius(value, pos=None):
    return format_value(value, '°C', significant_digits=3)

def format_watt(value, pos=None):
    return format_value(value, 'W')

plt.plot(environment_temperatures, sod323_max_power_dissipation, label="SOD323")
plt.plot(environment_temperatures, sod123_max_power_dissipation, label="SOD123")
plt.plot(environment_temperatures, sma_max_power_dissipation, label="SMA")
plt.plot(environment_temperatures, smb_max_power_dissipation, label="SMB")
plt.plot(environment_temperatures, smc_max_power_dissipation, label="SMC")
plt.gca().legend()
plt.gca().yaxis.set_major_formatter(mtick.FuncFormatter(format_watt))
plt.gca().xaxis.set_major_formatter(mtick.FuncFormatter(format_celsius))
plt.xlabel("Ambient temperature (°C)")
plt.ylabel("Power dissipation (W)")
plt.title("Diode power dissipation")
plt.gcf().set_size_inches(10, 6)
plt.savefig("/ram/diode_power_dissipation.svg")

Diode power dissipation for common packages


Check out similar posts by category: Electronics, Python