Download Simulation - Zth Messtechnik - transiente thermische Impedanz von Leistungshalbleitern - thermisch-elektrische Simulation

Zth-Messtechnik Kiffe
Ihr Partner für thermische Impedanzmessung von Leistungshalbleitern
Direkt zum Seiteninhalt

Download Simulation

Auf dieser Seite können Sie verschiedene Simulationsprogramme und Simulationsergebnisse per Download herunterladen.
Die Simulationsergebnisse liegen als gezippte Textdokumente vor (Dezimaltrennzeichen = Punkt, Spaltentrenner = Tab).
Die Simulationsprogramme als ausführbare EXE-Dateien (64-Bit Konsolenanwendung).

Alle Simulationsbeispiele wurden mit folgenden Parametern simuliert:
Simulationszeit=0-100s, Schrittweite=10ns
Grundfrequenz=400Hz, Modulationsfrequenz=12000Hz
Modulationsart: Unterschwingungsverfahren
Starttemperatur (Tamb)=25,00°C

Statorinduktivität Ls1/Ls2/Ls3=0,195mH, Statorwiderstand Rs1/Rs2/Rs3=15,8m
Rotorinduktivität Lr1/Lr2/Lr3=0,238mH, Rotorwiderstand Rr1/Rr2/Rr3=10m
Hauptinduktivität Lh1/Lh2/Lh3=11,1mH, Schlupf=0,040

Anfang Plotzeit=99,995s, Ende Plotzeit=100s, Plotschrittweite=1µs, im Bereich der Schaltverluste=10ns

Achtung: der Download und die Benutzung dieser Programme und Daten erfolgt auf eigene Gefahr! Für Schäden insbesondere für unmittelbare oder mittelbare Folgeschäden, Datenverlust, entgangenen Gewinn, System- oder Produktionsausfälle die durch die Nutzung oder durch das Herunterladen von Daten entstehen, wird keine Haftung übernommen.

Simulationsvergleich zwischen 2-Level-IGBT-Wechselrichter mit offenem und geschlossenem Wasserkühler:
2-Level, 3-Phasen, 450A-Modul, Uzk=700V, offener Wasserkühler (773KB),                                                 Simulationsprog.: 2Level_450A_700V_offWKühler (102KB)
2-Level, 3-Phasen, 450A-Modul, Uzk=700V, geschlossener Wasserkühler (779KB),                                       Simulationsprog.: 2Level_450A_700V_geschlWKühler (102KB)

Simulationsvergleich zwischen 3-Level-IGBT-Wechselrichter und 2-Level-IGBT-Wechselrichter:
2-Level, 3-Phasen, 300A-Modul, Uzk=800V, geschlossener Wasserkühler      Modulationsgrad=0,69 (794KB), Simulationsprog.: 2Level_300A_800V_geschlWkühler (102KB)


Für den 2-Level-3Phasen-300A-IGBT-Wechselrichter ist eine Dynamic Link Library (DLL) verfügbar. Durch Einbinden
dieser Bibliothek in numerische Simulationsprogramme lassen sich damit komplexe umrichtergespeiste Antriebe
simulieren. Sie kann kostenlos angefordert werden.

Beispiel:

% Level2_300A_800V_geschlWKuehler_ASM.m
% Transiente thermisch-elektrische Simulation 3Phasen-2Level-Wechselrichter, Last: Asynchronmotor (Motorbetrieb)
% Version 1.0, 02.05.2022  
% IGBT-Modul 300A/1200V, Uzk=800V
% Kuehlkoerper: geschl. Wasserkuehler mit 14,5mm Deckplatte
% Waermeleitpaste: silikonfrei
% Kuehlmedium: Wasser 8l/min
% Last: Asynchronmotor, (Ls, Rs, Lh, Lr, Rr, Schlupf)
% Motordaten: nur LR-Last, dann Lh = 1E-10, Lr = 1E-10, Rr = 1E-10

% ------------------------------------------------------------------------
% Lib-Funktionen Level2_300A_800V_geschlWKuehler_ASM.m:

% call DatReset:
% alle Variable in der DLL initialisieren (ton/toff, Ut, Zth)

% call DatenSchreiben:
% Steuer-Datenfeld[] in der DLL übergeben und den Variablen zuweisen
% DatenfeldSchreiben[1] = d_SimuZeit_Ende      Simulationszeitende
% DatenfeldSchreiben[2] = d_Ls123                   Statorinduktivität
% DatenfeldSchreiben[3] = d_Lh123                   Hauptinduktivität
% DatenfeldSchreiben[4] = d_Lr123                    Rotorinduktivität
% DatenfeldSchreiben[5] = d_Rs123                   Statorwiderstand
% DatenfeldSchreiben[6] = d_Rr123                   Rotorwiderstand
% DatenfeldSchreiben[7] = d_S                          Schlupfwert
% DatenfeldSchreiben[8] = d_Tamb                    Tambient
% DatenfeldSchreiben[9] = i_Gate_S1                 Gate Schalter 1
% DatenfeldSchreiben[10] = i_Gate_S2               Gate Schalter 2
% DatenfeldSchreiben[11] = i_Gate_S3               Gate Schalter 3
% DatenfeldSchreiben[12] = i_Gate_S4               Gate Schalter 4
% DatenfeldSchreiben[13] = i_Gate_S5               Gate Schalter 5
% DatenfeldSchreiben[14] = i_Gate_S6               Gate Schalter 6

% call DatBerechnenLesen:
% Berechnung in der DLL bis Simulationszeitende mit anschließender Übertragung der Meßdaten
% Ergebnisfeld[1] = d_Is1                                 Strom Stator 1
% Ergebnisfeld[2] = d_Is2                                 Strom Stator 2
% Ergebnisfeld[3] = d_Is3                                 Strom Stator 3
% Ergebnisfeld[4] = d_Ir1                                 Strom Rotor 1
% Ergebnisfeld[5] = d_Ir2                                 Strom Rotor 2
% Ergebnisfeld[6] = d_Ir3                                 Strom Rotor 3
% Ergebnisfeld[7] = d_Us1                                Spannung Stator 1
% Ergebnisfeld[8] = d_Us2                                Spannung Stator 2
% Ergebnisfeld[9] = d_Us3                                Spannung Stator 3
% Ergebnisfeld[10] = d_Ur1                               Spannung Rotor 1
% Ergebnisfeld[11] = d_Ur2                               Spannung Rotor 2
% Ergebnisfeld[12] = d_Ur3                               Spannung Rotor 3
% Ergebnisfeld[13] = d_T_Schalter1                   Temperatur Schalter 1
% Ergebnisfeld[14] = d_T_Schalter2                   Temperatur Schalter 2
% Ergebnisfeld[15] = d_T_Diode1                      Temperatur Diode 1
% Ergebnisfeld[16] = d_T_Diode2                      Temperatur Diode 2

% Eingabe Statorinduktivität (Ls1/2/3 in H)
d_Ls123 =  0.00019500;

% Eingabe Hauptinduktivität (Lh1/2/3 in H)
d_Lh123 = 0.01110000;

% Eingabe Rotorinduktivität (Lr1/2/3 in H)
d_Lr123 = 0.00023800;

% Eingabe Statorwiderstand (Rs1/2/3 in Ohm)
d_Rs123 = 0.015800;

% Eingabe Rotorwiderstand (Läufer)(Rr1/2/3 in Ohm)
d_Rr123 = 0.010000;

% Schlupfwert (0-1)
d_S = 0.040;

% Eingabe Tamb (0.00-300C)
d_Tamb = 25;

% Vorbelegung Variable
d_Is1 = 0;
d_Is2 = 0;d_Is3 = 0;
d_Ir1 = 0;
d_Ir2 = 0;
d_Ir3 = 0;
d_Us1 = 0;
d_Us2 = 0;
d_Us3 = 0;
d_Ur1 = 0;
d_Ur2 = 0;
d_Ur3 = 0;
d_T_Schalter1 = 0;
d_T_Schalter2 = 0;
d_T_Diode1 = 0;
d_T_Diode2 = 0;

% Externer Bibliothek laden
loadlibrary('Level2_300A_800V_geschlWKuehler_ASM_dll.dll' , 'Level2_300A_800V_geschlWKuehler_ASM_dll.h')

% Funktion DatReset in externer Bibliothek aufrufen (Daten zurücksetzen)
calllib('Level2_300A_800V_geschlWKuehler_ASM_dll' , 'DatReset');

% Datenfeld mit Daten zusammensetzen (1. Schaltmuster)
i_Gate_S1 = 1; i_Gate_S2 = 0; i_Gate_S3 = 1; i_Gate_S4 = 0; i_Gate_S5 = 1; i_Gate_S6 = 0;
d_SimuZeit_Ende = 0.00000823;
DatenfeldSchreiben = [d_SimuZeit_Ende, d_Ls123, d_Lh123, d_Lr123, d_Rs123, d_Rr123, d_S, d_Tamb, i_Gate_S1, i_Gate_S2, i_Gate_S3, i_Gate_S4, i_Gate_S5, i_Gate_S6];

% Funktion DatSchreiben in externer Bibliothek aufrufen (Daten nach DLL schreiben)
calllib('Level2_300A_800V_geschlWKuehler_ASM_dll' , 'DatSchreiben', DatenfeldSchreiben);

% Funktion DatBerechnenLesen in externer Bibliothek aufrufen (Daten in DLL berechnen, Daten von DLL lesen)
DatenfeldLesen = [d_Is1, d_Is2, d_Is3, d_Ir1, d_Ir2, d_Ir3, d_Us1, d_Us2, d_Us3, d_Ur1, d_Ur2, d_Ur3, d_T_Schalter1, d_T_Schalter2, d_T_Diode1, d_T_Diode2];
[~, Ergebnisfeld] = calllib('Level2_300A_800V_geschlWKuehler_ASM_dll' , 'DatBerechnenLesen', DatenfeldLesen);
disp(Ergebnisfeld);

% 2. Schaltmuster
i_Gate_S1 = 1; i_Gate_S2 = 0; i_Gate_S3 = 1; i_Gate_S4 = 0; i_Gate_S5 = 0; i_Gate_S6 = 1;
d_SimuZeit_Ende = 0.00002161;
DatenfeldSchreiben = [d_SimuZeit_Ende, d_Ls123, d_Lh123, d_Lr123, d_Rs123, d_Rr123, d_S, d_Tamb, i_Gate_S1, i_Gate_S2, i_Gate_S3, i_Gate_S4, i_Gate_S5, i_Gate_S6];
calllib('Level2_300A_800V_geschlWKuehler_ASM_dll' , 'DatSchreiben', DatenfeldSchreiben);
DatenfeldLesen = [d_Is1, d_Is2, d_Is3, d_Ir1, d_Ir2, d_Ir3, d_Us1, d_Us2, d_Us3, d_Ur1, d_Ur2, d_Ur3, d_T_Schalter1, d_T_Schalter2, d_T_Diode1, d_T_Diode2];
[~, Ergebnisfeld] = calllib('Level2_300A_800V_geschlWKuehler_ASM_dll' , 'DatBerechnenLesen', DatenfeldLesen);
disp(Ergebnisfeld);

% 3. Schaltmuster
i_Gate_S1 = 0; i_Gate_S2 = 1; i_Gate_S3 = 1; i_Gate_S4 = 0; i_Gate_S5 = 0; i_Gate_S6 = 1;
d_SimuZeit_Ende = 0.00003265;
DatenfeldSchreiben = [d_SimuZeit_Ende, d_Ls123, d_Lh123, d_Lr123, d_Rs123, d_Rr123, d_S, d_Tamb, i_Gate_S1, i_Gate_S2, i_Gate_S3, i_Gate_S4, i_Gate_S5, i_Gate_S6];
calllib('Level2_300A_800V_geschlWKuehler_ASM_dll' , 'DatSchreiben', DatenfeldSchreiben);
DatenfeldLesen = [d_Is1, d_Is2, d_Is3, d_Ir1, d_Ir2, d_Ir3, d_Us1, d_Us2, d_Us3, d_Ur1, d_Ur2, d_Ur3, d_T_Schalter1, d_T_Schalter2, d_T_Diode1, d_T_Diode2];
[~, Ergebnisfeld] = calllib('Level2_300A_800V_geschlWKuehler_ASM_dll' , 'DatBerechnenLesen', DatenfeldLesen);
disp(Ergebnisfeld);

% 4. Schaltmuster
i_Gate_S1 = 0; i_Gate_S2 = 1; i_Gate_S3 = 0; i_Gate_S4 = 1; i_Gate_S5 = 0; i_Gate_S6 = 1;
d_SimuZeit_Ende = 0.00005107;
DatenfeldSchreiben = [d_SimuZeit_Ende, d_Ls123, d_Lh123, d_Lr123, d_Rs123, d_Rr123, d_S, d_Tamb, i_Gate_S1, i_Gate_S2, i_Gate_S3, i_Gate_S4, i_Gate_S5, i_Gate_S6];
calllib('Level2_300A_800V_geschlWKuehler_ASM_dll' , 'DatSchreiben', DatenfeldSchreiben);
DatenfeldLesen = [d_Is1, d_Is2, d_Is3, d_Ir1, d_Ir2, d_Ir3, d_Us1, d_Us2, d_Us3, d_Ur1, d_Ur2, d_Ur3, d_T_Schalter1, d_T_Schalter2, d_T_Diode1, d_T_Diode2];
[~, Ergebnisfeld] = calllib('Level2_300A_800V_geschlWKuehler_ASM_dll' , 'DatBerechnenLesen', DatenfeldLesen);
disp(Ergebnisfeld);

% 5. Schaltmuster
i_Gate_S1 = 0; i_Gate_S2 = 1; i_Gate_S3 = 1; i_Gate_S4 = 0; i_Gate_S5 = 0; i_Gate_S6 = 1;
d_SimuZeit_Ende = 0.00006033;
DatenfeldSchreiben = [d_SimuZeit_Ende, d_Ls123, d_Lh123, d_Lr123, d_Rs123, d_Rr123, d_S, d_Tamb, i_Gate_S1, i_Gate_S2, i_Gate_S3, i_Gate_S4, i_Gate_S5, i_Gate_S6];
calllib('Level2_300A_800V_geschlWKuehler_ASM_dll' , 'DatSchreiben', DatenfeldSchreiben);
DatenfeldLesen = [d_Is1, d_Is2, d_Is3, d_Ir1, d_Ir2, d_Ir3, d_Us1, d_Us2, d_Us3, d_Ur1, d_Ur2, d_Ur3, d_T_Schalter1, d_T_Schalter2, d_T_Diode1, d_T_Diode2];
[~, Ergebnisfeld] = calllib('Level2_300A_800V_geschlWKuehler_ASM_dll' , 'DatBerechnenLesen', DatenfeldLesen);
disp(Ergebnisfeld);

% Externer Bibliothek aus dem Speicher entladen
unloadlibrary('Level2_300A_800V_geschlWKuehler_ASM_dll');


Ergebnis:

Is1         Is2          Is3          Ir1          Ir2          Ir3            Us1          Us2           Us3            Ur1           Ur2            Ur3              T_S1         T_S2         T_D1         T_D2
0.0001     0.0001     -0.0001     0           0             0              0.0000      0.0000      -0.000         0              0               0               25.0000     25.0000     25.0000     25.0000
8.2817     8.2817     -16.5633   8.1066    8.1066    -16.2131   120.4036   120.4036   -240.8073   145.6964   145.6964   -291.3929   25.0004     25.0000     25.0000     25.0000
1.3612     21.9210   -23.2821   1.3302    21.4560   -22.7862   -121.7651  240.4247   -118.6596  -145.1956  292.1178   -146.9222   25.0087     25.0000     25.0000     25.0016
1.3332     21.6487   -22.9819   1.3023    21.1807   -22.4830   -0.2728     -2.5241      2.7969       -0.0324     1.7593       -1.7269      25.0084     25.0000     25.0000     25.0018
-4.4217    33.0127   -28.5909   -4.3315   32.3007   -27.9692   -120.8192  239.1026   -118.2835  -145.3419  292.9829   -147.6410   25.0083     25.0001     25.0000     25.0018

Zurück zum Seiteninhalt