Dioden-Maximalleistungsverlust mit Python berechnen

English Deutsch

Die meisten Dioden-Datenblätter listen keinen maximalen Leistungsverlust auf. Stattdessen listen sie einen thermischen Widerstand vom Junction zu den Anschlüssen und vom Junction zur Umgebungsluft auf.

Basierend darauf ist die Berechnung des maximalen Leistungsverlusts einfach. Prüfe die maximal zulässige Betriebstemperatur (typischerweise 150°C) und berechne, wie viele Watt notwendig sind, um die Diode von einer angenommenen (maximalen) Umgebungstemperatur auf diese Temperatur zu erhitzen.

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

Hierbei verwenden wir $R_{\text{jl}}$ als thermischen Widerstand vom Junction zu den Anschlüssen, wobei angenommen wird, dass ein ausreichend großer Kühlkörper (d.h. Kupferfläche) verwendet wird, um die Wärme abzutransportieren.

In dieser einfachen Formel nehmen wir an, dass der thermische Widerstand vom Junction zur Umgebungsluft vernachlässigbar ist (da er typischerweise viel höher ist als der thermische Widerstand zu den Anschlüssen).

Theoretisch könntest du zusätzlich zum thermischen Widerstand zu den Anschlüssen auch etwas Wärmeabgabe vom Junction zur Umgebungsluft berücksichtigen, aber dieser eher kleine Effekt wird typischerweise mehr als ausgeglichen durch die Tatsache, dass in praktischen PCBs dein Kupferflächen-Kühlkörper nicht perfekt sein wird und daher zu einem etwas höheren thermischen Widerstand führt als der Wert im Datenblatt.

So kannst du das in Python tun. Beachte, dass wir feste Werte für den thermischen Widerstand annehmen (die ich in einigen Datenblättern gefunden habe), aber du solltest immer die Werte aus dem Datenblatt der Diode verwenden, die du tatsächlich verwendest!.

Du kannst diese Werte jedoch als allgemeine Faustregel verwenden, um zu beurteilen, welches Gehäuse du für einen gegebenen Leistungsverlust verwenden kannst (keine Haftung für kaputte Dioden übernommen :-))

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)

# Maximalen Leistungsverlust berechnen
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("Umgebungstemperatur (°C)")
plt.ylabel("Leistungsverlust (W)")
plt.title("Dioden-Leistungsverlust")
plt.gcf().set_size_inches(10, 6)
plt.savefig("/ram/diode_power_dissipation.svg")

Dioden-Leistungsverlust für gängige Gehäuse


Check out similar posts by category: Electronics, Python