25
Extraction des paramètres et domaine de validité du modèle d’un composant de puissance Wei MI Thèse INSA de Lyon - CEGELY 147 ANNEXE

Annexe - INSA Lyon

  • Upload
    others

  • View
    7

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Annexe - INSA Lyon

Extraction des paramètres et domaine de validité du modèle d’un composant de puissance

Wei MI

Thèse INSA de Lyon - CEGELY

147

ANNEXE

Page 2: Annexe - INSA Lyon

Extraction des paramètres et domaine de validité du modèle d’un composant de puissance

Annexe A Méthode de lissage

A-1 Principe Pour extraire les paramètres de pente, telle que diF/dt, diR/dt, dvF/dt et dvR/dt, à

partir les courbes mesurées de tension et courant, la technique de lissage doit être mise

en ouvre. Le but du lissage est de construire une fonction représentant la relation entre x

et y à la place de la courbe mesurée éliminant aussi le bruit de mesure. L’intérêt de cette

méthode réside aussi dans le fait que la fonction lissée est plus facile à traiter

mathématiquement.

On peut souvent admettre, dans un domaine limité, le modèle mathématique d’une

caractéristique:

( ; , , ...)i iY F x A B C= + i∆

3

(Erreur ! Argument de commutateur inconnu.-1)

où F est un polynôme de degré k en xi de paramètres A, B, C… et ∆i une variable

aléatoire de moyenne nulle.

Pour connaître plus précisément la théorie du lissage, nous pouvons consulter

l’œuvre [Neuilly-98]. A l’aide de la méthode présentée dans cet œuvrage, le degré k de

la fonction polynôme est à arbitraire. Cependant, selon notre

expérience, une fonction polynôme de degré 3 est suffisante pour répondre à l’exigence

de précision de notre cas, soit

2 3 ...y a bx cx dx= + + + +

2y a bx cx dx= + + +

(Erreur ! Argument de commutateur inconnu.-2)

Donc, notre objectif consiste à trouver les quatre grandeurs a, b, c et d à partir des

données mesurées.

A-2 Algorithme de lissage

Avant d’entreprendre une présentation de cet algorithme, il est nécessaire de

décrire quelques paramètres concernant la courbe mesurée. Pour cela, supposons qu’il y

ait une courbe (Fig. A-1) représentant une partie de la courbe du courant mesuré à

l’ouverture de la diode. Nous avons besoin d’extraire diF/dt, la pente de décroissance du

courant direct dont les donnés sont reportées dans le tableau A-1. yi est une valeur

Wei MI

Thèse INSA de Lyon - CEGELY

148

Page 3: Annexe - INSA Lyon

Extraction des paramètres et domaine de validité du modèle d’un composant de puissance

obtenue par la mesure qui correspond à xi. N est le nombre totale de points, dans notre

cas, N égale 45.

Figure A.1 Une courbe mesurée à l’ouverture de la diode

La méthode d’étalonnage commence à calculer en premier lieu la quantité

2 2 1( ) (yy i i ii i

W y y yN

= − = − 2)i

y∑ ∑ ∑(Erreur ! Argument de commutateur inconnu.-3)

où y est la moyenne arithmétique des N résultats.

On pose:

10iz γ= iy

(Erreur ! Argument de commutateur inconnu.-4)

où γ est choisi de façon que :

2 2( ) 10yy i yyi

w z z γ= − = W∑

(Erreur ! Argument de commutateur inconnu.-5)

soit compris entre 0,1 et 10.

On calcule ensuite :

2 211

1( ) (i ii i

W x x x xN

= − = − 2)i∑ ∑ ∑ (Erreur ! Argument de commutateur inconnu.-6)

Wei MI

Thèse INSA de Lyon - CEGELY

149

Page 4: Annexe - INSA Lyon

Extraction des paramètres et domaine de validité du modèle d’un composant de puissance

où x est la moyenne arithmétique de x.

et l’on pose :

10itβ= ix

(Erreur ! Argument de commutateur inconnu.-7)

où β est choisi de façon que :

2 211 11( ) 10i

iw t t β= − = W∑

(Erreur ! Argument de commutateur inconnu.-8)

soit compris entre 0,1 et 10.

Il faut ensuite calculer, pour j égal à 1,2 et 3, les quantités

1 ( )(j jjy i i i i

i iw t z t

N= − )

iz∑ ∑ ∑

(Erreur ! Argument de commutateur inconnu.-9)

Pour j = 2 et 3, on calcule :

2 21 ( )j jjj i i

i iw t t

N= −∑ ∑

(Erreur ! Argument de commutateur inconnu.-10)

et pour chaque couple jj′(j et j′ inférieurs à 4) :

' ''

1 ( )(j j j jjj i i i

i iw t t t

N+= − )

i∑ ∑ ∑

(Erreur ! Argument de commutateur inconnu.-11)

Une fois les quantités précédentes calculées, nous calculons les formules au-

dessous.

11

11

ywb

w=

(Erreur ! Argument de commutateur inconnu.-12)

22 11 22 1D w w w= − 2

(Erreur ! Argument de commutateur inconnu.-13)

Wei MI

Thèse INSA de Lyon - CEGELY

150

Page 5: Annexe - INSA Lyon

Extraction des paramètres et domaine de validité du modèle d’un composant de puissance

11 2 12 1

22

y yw w w wc

D−

=

(Erreur ! Argument de commutateur inconnu.-14)

13 12 23 22 13B w w w w= −

(Erreur ! Argument de commutateur inconnu.-15)

23 12 13 11 23B w w w w= −

(Erreur ! Argument de commutateur inconnu.-16)

3 13 13 23 23 2D B w B w D w= + + 33

(Erreur ! Argument de commutateur inconnu.-17)

3 13 1 23 2 23

1 ( )y yd B w B w D wD

= + + 3 y

(Erreur ! Argument de commutateur inconnu.-18)

2 122 1

11

c wb bw

= −

(Erreur ! Argument de commutateur inconnu.-19)

13 33 2

2

B db bD

= +

(Erreur ! Argument de commutateur inconnu.-20)

23 33 2

2

B dc cD

= +

(Erreur ! Argument de commutateur inconnu.-21)

A la fin, les quatre grandeurs a, b, c et d sont données par

(310b b )β γ−=

(Erreur ! Argument de commutateur inconnu.-22)

(2 )310c c β γ−=

(Erreur ! Argument de commutateur inconnu.-23)

Wei MI

Thèse INSA de Lyon - CEGELY

151

Page 6: Annexe - INSA Lyon

Extraction des paramètres et domaine de validité du modèle d’un composant de puissance

(3 )

310d d β γ−=

(Erreur ! Argument de commutateur inconnu.-24)

2 3( )i i ii i i i

a y b x c x d= − − − ix∑ ∑ ∑ ∑ (Erreur ! Argument de commutateur inconnu.-25)

A-3 Application

Implantée en JAVA, cette méthode d’étalonnage nous permet d’extraire facilement

les quatre variables ( a, b, c, d ).

La courbe d’étalonnage est obtenue en suivant la méthode précédente. Soit a =

3952.327, b = 1.165, c = 1.133 et d = 3.634 dans le cas de la figure A-1. Sa forme est

présentée à la figure A-3. Nous calculons les valeurs ye pour les mêmes valeurs de xi.

Avec les différences relatives entre les données mesurées et étalonnées, nous pouvons

voir les écarts. On constate que les différences sont si petites que la méthode satisfait

nos exigences. Il s’avère donc que la fonction polynôme de degré 3 s’adapte bien à la

courbe mesurée.

Temps t (s) Courant i (A) i x ym

ye=3952.327+1.165e11x-1.133e18x2+3.634e24x3 m e

m

y yy−

∆ =

(%) 1 2 3 4 5 6 7 8 9

10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26

9,627E-8 9,707E-8 9,787E-8 9,867E-8 9,947E-8

1,0027E-7 1,0107E-7 1,0187E-7 1,0267E-7

1,03044E-7 1,03844E-7 1,04244E-7 1,04444E-7 1,04544E-7 1,04644E-7 1,04844E-7 1,05044E-7 1,05144E-7 1,05244E-7 1,05444E-7 1,05644E-7 1,05744E-7 1,05844E-7 1,05944E-7 1,06144E-7 1,06344E-7

0,462 -0,161 -0,869 -1,651 -2,497 -3,398 -4,347 -5,337 -6,360 -6,847 -7,901 -8,432 -8,698 -8,831 -8,964

-9,2305 -9,496 -9,629 -9,761

-10,025 -10,288 -10,419 -10,549 -10,679 -10,937 -11,191

0,433 -0,161 -0,851 -1,625 -2,474 -3,385 -4,347 -5,349 -6,381 -6,870 -7,923 -8,451 -8,715 -8,847 -8,978 -9,240 -9,502 -9,633 -9,763

-10,023 -10,281 -10,410 -10,538 -10,666 -10,920 -11,172

6,553 0,291 2,134 1,533 0,896 0,366 0,016 0,241 0,331 0,335 0,284 0,227 0,192 0,173 0,152 0,110 0,066 0,043 0,021 0,023 0,063 0,082 0,099 0,117 0,148 0,166

Wei MI

Thèse INSA de Lyon - CEGELY

152

Page 7: Annexe - INSA Lyon

Extraction des paramètres et domaine de validité du modèle d’un composant de puissance

27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45

1,06449E-7 1,06502E-7 1,06555E-7 1,06668E-7 1,06781E-7 1,06894E-7 1,06951E-7 1,07007E-7 1,07064E-7 1,07177E-7 1,0729E-7

1,07347E-7 1,07404E-7 1,0746E-7

1,07517E-7 1,0763E-7

1,07743E-7 1,078E-7

1,07856E-7

-11,324 -11,390 -11,456 -11,597 -11,736 -11,873 -11,941 -12,009 -12,076 -12,209 -12,340 -12,405 -12,469 -12,533 -12,596 -12,721 -12,843 -12,903 -12,962

-11,304 -11,370 -11,436 -11,577 -11,716 -11,856 -11,925 -11,994 -12,063 -12,200 -12,336 -12,403 -12,471 -12,538 -12,605 -12,738 -12,870 -12,936 -13,001

0,171 0,173 0,174 0,172 0,162 0,146 0,135 0,124 0,112 0,081 0,038 0,014 0,012 0,039 0,068 0,135 0,215 0,258 0,303

Tableau A.1 Comparaison des données mesurées et étalonnées

Figure A.2 Comparaison de courbe mesurée et étalonnée

Annexe B JNI et la gestion de Processus

B-1 JNI Dans le programme C++, on doit définir les mêmes méthodes correspondant à

celles de Java. Ce programme charge la librairie de pilotes pour le bus GPIB,

ieee_32b.lib, fournie par le fabricant.

Pour bien établir une relation entre C++ et JAVA par le moyen de JNI, il faut

suivre les étapes suivantes pour implémenter la classe de Java et le programme C++.

Wei MI

Thèse INSA de Lyon - CEGELY

153

Page 8: Annexe - INSA Lyon

Extraction des paramètres et domaine de validité du modèle d’un composant de puissance

Compilation des sources GPIBdriver.java par la commande javac dans JDK,

> javac GPIBdriver.java

Génération des en-têtes de C++ .h par la commande javah dans JDK,

> javah –jni GPIBdriver.class

Compilation du programme C++ gpibjni.ccp pour produire un fichier

gpibjni.dll et un fichier de librairie gpibjni.lib.

Le fait d’introduire du code natif dans Java enlève un certain nombre d’attraits de

ce langage: la portabilité, l’indépendance de la plate-forme utilisée, etc. Autrement dit,

si on veut installer le programme en Java sur un autre ordinateur, il est obligatoire de

refaire toutes les étapes précédentes.

Wei MI

Thèse INSA de Lyon - CEGELY

154

Page 9: Annexe - INSA Lyon

Extraction des paramètres et domaine de validité du modèle d’un composant de puissance

B-2 Processus Le programme suivant illustre un exemple du lancement d’une procédure pour le

simulateur DESSIS par Java.

try {

String command = "dessis " ;

//Le commande pour lancer un processus de simulation de ISE sous Unix

String iseFileName = "mos.cmd";

//"mos.cmd" est le fichier d’entrée de ISE

Process proc = Runtime.getRuntime().exec(command + iseFileName);

//L’objet Process proc représente la commande en cours d’exécution

//Démarrer la commande de ISE

InputStreamReader proc_out =

new InputStreamReader(proc.getInputStream());

BufferedReader br = new BufferedReader(proc_out);

String s = br.readLine();

while(s!=null){

System.out.println(s);

s = br.readLine();

//Extraire le résultat de la commande

}

proc.waitFor();

//Attendre la fin de processus

proc_out.close();

//Fermer le flux

}

catch(Exception except) {

System.out.print("exception occured in the ISE");

//Saisir et imprimer le message d’erreur

}

Wei MI

Thèse INSA de Lyon - CEGELY

155

Page 10: Annexe - INSA Lyon

Extraction des paramètres et domaine de validité du modèle d’un composant de puissance

Annexe C Utilisation de logiciel pour la mesure des

caractéristiques du MOS/IGBT

Après avoir vérifié la bonne marche de toutes les équipements, on lance le fichier

exécutable stat-commu.jar.

Après avoir sélectionné l’application de la mesure statique et cliquer sur le bouton

″OK″ , la fenêtre d’application pour la mesure des caractéristiques statiques est affichée

(figure C.1).

On peut séparer cette fenêtre en cinq zones, chacune correspond à différentes

configurations pour la mesure.

Tout d’abord, dans la zone 2, il faut spécifier les noms pour les deux chaînes

d’acquisition. On a désigné par défaut la première chaîne comme l’entrée du courant et

la deuxième comme l’entrée de la tension.

Dans la zone 3, on définit la condition du contrôle automatique pour l’alimentation

de la tension E. Il s’agit de fixer la valeur du début, la valeur finale, la valeur

d’incrément et la valeur de limitation du courant.

Les paramètres dans la zone 4 nous permettent d’obtenir la courbe selon notre

besoin. On peut changer la position de mesure tm. Si besoin, on désactive la fonction

″Level 50%″. C’est-à-dire que le point de synchronisation correspond au milieu de la

plage verticale.

La tension de grille est donnée par la zone 5. Pour activer la commande de grille,

on sélectionne le bouton ″ON/OFF″.

Une fois tous les paramètres de configurations donnés et le circuit de test

opérationnel, nous pouvons cliquer sur le ″acquire″ pour lancer le processus

automatique de mesure.

Après que le processus est terminé, on peut sauvegarder la résultat avec la

sélection ″Save″ dans le menu ″ File ″. Ensuite, on lance les autres mesures en

changeant la valeur de la tension de grille Vg.

Wei MI

Thèse INSA de Lyon - CEGELY

156

Page 11: Annexe - INSA Lyon

Extraction des paramètres et domaine de validité du modèle d’un composant de puissance

Figure C.1 Fenêtre de mesure automatique de la caractéristique statique de

composants commandés

Wei MI

Thèse INSA de Lyon - CEGELY

157

Page 12: Annexe - INSA Lyon

Extraction des paramètres et domaine de validité du modèle d’un composant de puissance

Annexe D Exemples de processus d’identification

D-1 Processus d’identification des paramètres de la diode PiN A partir du banc de test ( Fig. 3.7 ), nous pouvons obtenir les courbes du

courant et de la tension pendant la commutation à l’ouverture dans trois conditions

d’application pour une diode PiN BYT12PI600.

Ensuite, nous implantons ce banc dans un ficher d’entrée de PACTE hacheur.p Ce

fichier comporte une description des nœuds (Kirchhoff), des modelés et des valeurs de

composants, la condition d’application, le fichier de sortie, etc.

En lançant le programme éxecutable identifier_diode.jar, on suite les étapes

suivantes:

1. Charger les trois fichiers expérimentaux (figure D.1-a);

2. Spécifier le fichier de PACTE (figure D.1-b));

3. Choisir la fonction coût J(figure D.1-c));

4. Déterminer la méthode d’optimisation (figure D.1-d));

5. Limiter les valeurs des paramètres du modèle en fonction de la technologie

(figure D.1-e));

6. Lancer la procédure d’identification par appuyant le bouton RUN ;

Une fois la procédure terminée, les résultats des paramètres se trouvent dans

le ficher data.r.

Fichier Java Fichier de résultat Fichier de PACTE Identifier_diode.jar data.r static.p

a) b)

Wei MI

Thèse INSA de Lyon - CEGELY

158

Page 13: Annexe - INSA Lyon

Extraction des paramètres et domaine de validité du modèle d’un composant de puissance

c) d)

e)

Figure D.1 Interface d’identification des paramètres pour la diode PiN

******************************************************************

hacheur.p ****************************************************************************** option [-v -cpu /user8/pacte/mi/validite/diode/byt12p_600/simulation/mos2kp.mo -lpower]; #include <physics.u> #include "/user8/pacte/mi/validite/diode/byt12p_600/simulation/mos2kp.h" #include <power/pinsv.h> #include "/user8/pacte/mi/validite/diode/byt12p_600/simulation/data.r" macro model chopper { Se<electric> E; R<electric> Rg,r; mosh M; pinsv D; I<electric> lm,lg,lda,ldc,ldg; Sf<electric> I; PulseSe<electric> G; Kirchhoff //// Kirchhoff network declaration [ node voltage mass,1,2,3,4,5,6,7,21,31,41,51,11; E[mass,1]; /// the power supply I[mass,51]; /// the load

Wei MI

Thèse INSA de Lyon - CEGELY

159

Page 14: Annexe - INSA Lyon

Extraction des paramètres et domaine de validité du modèle d’un composant de puissance

lm[2,1]; lda[41,51]; r[2,3];ldc[3,11]; D[11,41]; /// the free-wheel branch M[7,4,51]; lg[5,4];ldg[mass,7]; Rg[5,6]; G[mass,6]; /// the switch ]; chopper(); slow state freeWheel() { M:off(); D:on();lm:static();} BUILD_DEFAULT_TRANSIENT_STATE(); }; chopper::chopper() { #include "/user8/pacte/mi/validite/diode/byt12p_600/simulation/power.dat" Rg(10Ohm); G(15V, 0V, 10us, 40ns, 8us, 20ns, 40ns); M( VT=3.77V, KPLIN=5.19A/V2, KPSAT=12.5A/V2, RD=0.168Ohm,THETA=2V-1, AGD=22.0mm2, NB=5.5e14cm-3, CGS=0.65nF, COXD=0.3nF, CDS=0.2nF, RS=1mOhm, RG=1Ohm, RDS=300KOhm, IS=1pA, MJ=0.5, FC=0.5, PB=1V, T=300K); D=ModuleD; lg(5nH);ldg(1nH);lm(80nH);r(0.0025Ohm);lda(5nH);ldc(5nH); chopper test(); TransientAnalyser tr(test); tr.save(file=/user8/pacte/mi/validite/diode/byt12p_600/simulation/output) << D.i << D.u <<

ldc.u <<lda.u; tr.state = freeWheel(); tr.setTransientParameter(resolution=10ns, end=5us); tr.setIntegrationParameter(eps=0.0001,iteration=5000); tr.analysis();

D-2 Processus d’identification des paramètres de MOSFET Le processus d’identification des paramètres de MOSFET comporte deux partis :

D-2-1 Identification des paramètres statiques

Fichier Java Fichier de résultat Fichier de PACTE Identifier_mos.jar mos.static static.p

a) b)

Wei MI

Thèse INSA de Lyon - CEGELY

160

Page 15: Annexe - INSA Lyon

Extraction des paramètres et domaine de validité du modèle d’un composant de puissance

c)

Figure D.2 Interface d’identification des paramètres statiques pour le MOSFET

******************************************************************

static.p ****************************************************************************** option [-v -cpu /user8/pacte/mi/develope/example/mos/irf740/identification/static/mos2kp.mo -lpower]; #include <physics.u> #include <standard.h> #include "/user8/pacte/mi/develope/example/mos/irf740/identification/static/mos2kp.h" #include "/user8/pacte/mi/develope/example/mos/irf740/identification/static/mos.vgs" mosh DUT( AGD = 12mm2, #include "/user8/pacte/mi/develope/example/mos/irf740/identification/static/mos.static" RG=4.566Ohm, RS=0.01Ohm, RDS=1.28MOhm, NB=5.5e14cm-3, RG=1Ohm, RS=1mOhm, RDS=300KOhm, IS=1pA, CGS=1.2nF, COXD=0.5nF, CDS=1nF, MJ=0.5,FC=0.5, PB=1V, T=300K); macro model mos_on {Se<electric> E,G; I<electric> Ld,Lg; mosh M; Kirchhoff [ node voltage 0,1,2,1m,2m; E[0,1]; G[0,2]; Ld[1m,1]; Lg[2m,2]; M[0,2m,1m]; ]; mos_on(voltage vDS, voltage vGS); slow state on() { M:static(); } BUILD_DEFAULT_TRANSIENT_STATE(); }; #define VDDMAX 55V mos_on::mos_on(voltage vDS, voltage vGS) {E(vDS);G(vGS);Lg(10nH);Ld(10nH);M =DUT;

Wei MI

Thèse INSA de Lyon - CEGELY

161

Page 16: Annexe - INSA Lyon

Extraction des paramètres et domaine de validité du modèle d’un composant de puissance

} mos_on on(vDS=1V, vGS=VGS_0); StaticCharacteristics s(on); s.save(file=/user8/pacte/mi/develope/example/mos/irf740/identification/static/x/s) << M.iD=iD

<< M.vDS=vDS << M.vGS=vGS; s.state = on(); s.setSweepingParameter(vDS); s.geometricalSweeping(min=10mV, max=VDDMAX, ratio=1.2); s.alter(name=vGS, value=VGS_1); s.geometricalSweeping(min=10mV, max=VDDMAX, ratio=1.2); s.alter(name=vGS, value=VGS_2); s.geometricalSweeping(min=10mV, max=VDDMAX, ratio=1.2);

D-2-2 Identification des paramètres dynamiques

Fichier Java Fichier de résultat Fichier de PACTE Identifier_mos.jar mos.dya moshacheur.p

a) b)

c) d)

Figure D.3 Interface d’identification des paramètres dynamiques pour le MOSFET

Wei MI

Thèse INSA de Lyon - CEGELY

162

Page 17: Annexe - INSA Lyon

Extraction des paramètres et domaine de validité du modèle d’un composant de puissance

Figure D.4 Interface de configuration des paramètres dynamiques pour le MOSFET

******************************************************************

moshacheur.p

****************************************************************** option[/user8/pacte/mi/develope/example/mos/irf740/identification/dynamic/mos2kp.mo -lpower]; #include <physics.u> #include "/user8/pacte/mi/develope/example/mos/irf740/identification/dynamic/mos2kp.h" #include "/user8/pacte/mi/develope/example/mos/irf740/identification/dynamic/measure.par" mosh DUT( #include "/user8/pacte/mi/develope/example/mos/irf740/identification/dynamic/mos.static" #include "/user8/pacte/mi/develope/example/mos/irf740/identification/dynamic/mos.dyn" RG=1.5Ohm, IS=1e-15A, MJ=0.5,FC=0.5, PB=0.8V, RS=0.01Ohm, RDS=1.28MOhm, T=300K); macro model rsw { Se<electric> E; R<electric> r,Rg; mosh M; I<electric> l, lg, ls; PulseSe<electric> G; Kirchhoff [ node voltage mass,1,2,3,4,5,6,source; E[mass,1]; r[2,1]; l[3,2]; M[source,4,3]; ls[mass,source]; G[source,6]; Rg[5,6]; lg[4,5]; ]; rsw(); slow state rest() {M:static(); } BUILD_DEFAULT_TRANSIENT_STATE(); };

Wei MI

Thèse INSA de Lyon - CEGELY

163

Page 18: Annexe - INSA Lyon

Extraction des paramètres et domaine de validité du modèle d’un composant de puissance

rsw::rsw() {E(VDD);Rg(100Ohm); G(VGSON, 0V, 200us, 10ns, 20us, 10ns, 1us); ls(1pH);l(LDD);lg(1pH);M=DUT;r(70.1Ohm); } rsw test(); TransientAnalyser tr(test); tr.save(file=/user8/pacte/mi/develope/example/mos/irf740/identification/dynamic/test) << M.iG << M.vGS << M.vDS << M.iD; tr.state = rest(); tr.setIntegrationParameter(iteration=3000); tr.setTransientParameter(resolution=10ns, end=40us); tr.analysis();

D-3 Processus d’identification des paramètres d’IGBT Le processus d’identification des paramètres d’IGBT, comme pour le MOSFET,

comporte aussi deux parties :

D-3-1 Identification des paramètres statiques

Fichier Java Fichier de résultat Fichier de PACTE Identifier_igbt.jar igbt.static id_vds.p

Figure D.5 Interface d’identification des paramètres statiques pour l’IGBT

***********************************************************************

****

id_vds.p

***************************************************************************

option [ hefner11.mo]; #include <physics.u> #include <power/hefner11.h> #include "/user8/pacte/mi/develope/example/igbt/bup202/identification/statique/igbt.vgs" #include "/user8/pacte/mi/develope/example/igbt/bup202/identification/statique/data.r" macro model igbt_on

Wei MI

Thèse INSA de Lyon - CEGELY

164

Page 19: Annexe - INSA Lyon

Extraction des paramètres et domaine de validité du modèle d’un composant de puissance

{Se<electric> E,G; R<electric> R,Rg; hefner1 M; Kirchhoff [ node voltage mass,power,drain,gate,vg; E[mass,power]; R[drain,power]; M[mass,gate,drain]; G[mass,vg]; Rg[gate,vg]; ]; igbt_on(voltage Va, voltage Vg); slow state start() { M:on(); } BUILD_DEFAULT_TRANSIENT_STATE(); }; igbt_on::igbt_on(voltage Va, voltage Vg) {E(Va);G(Vg);R(5Ohm);M=ModuleAlstom;Rg(1Ohm); } igbt_on on(Va=300V, Vg=VGS_0); StaticCharacteristics s(on); s.save(file=/user8/pacte/mi/develope/example/igbt/bup202/identification/statique/x/s) << M.{vGS=vGS,iA=iD,vAC=vDS}; s.setResidueCondition(0.00001); s.state = start(); s.setSweepingParameter(Va); #define RANGE min=0.1V, max=300V, step=10V s.arithmeticalSweeping(min=0.05V, max=50V, step=2V); s.alter(name=Vg, value=VGS_1); s.arithmeticalSweeping(min=0.05V, max=100V, step=5V); s.alter(name=Vg, value=VGS_2); s.arithmeticalSweeping(min=0.05V, max=300V, step=10V);

D-3-2 Identification des paramètres dynamiques

Fichier Java Fichier de résultat Fichier de PACTE Fichier d’ISE Identifier_igbt.jar igbt.dynamic R_switch.p ×

a) b)

Wei MI

Thèse INSA de Lyon - CEGELY

165

Page 20: Annexe - INSA Lyon

Extraction des paramètres et domaine de validité du modèle d’un composant de puissance

c)

Figure D.6 Interface d’identification des paramètres dynamiques pour l’IGBT

a) b)

c)

Figure D.7Interface de configuration des paramètres dynamiques pour l’IGBT

Wei MI

Thèse INSA de Lyon - CEGELY

166

Page 21: Annexe - INSA Lyon

Extraction des paramètres et domaine de validité du modèle d’un composant de puissance

******************************************************************

r_switch.p ****************************************************************************** option [hefner11.mo]; #include <physics.u> #include <power/hefner11.h> #include "/user8/pacte/mi/develope/example/igbt/bup202/identification/dynamique/measure.par" hefner1 ModuleAlstom( #include "/user8/pacte/mi/develope/example/igbt/bup202/identification/dynamique/igbt.static" #include "/user8/pacte/mi/develope/example/igbt/bup202/identification/dynamique/igbt.dynamic" ); macro model cell { Se<electric> E; R<electric> Rc,Rg,Ra; hefner1 M; I<electric> lc,ls,lgl,lg,ld; PulseSe<electric> G; Kirchhoff [ node voltage mass,in,1,2,drain,source,gate,g,gate1,gate2,mass1; E[mass,in]; lc[1,in]; Rc[2,1];ld[drain,2]; M[source,gate,drain]; G[mass1,g]; Rg[gate1,g];lgl[gate2,gate1]; ls[mass1,source];lg[gate,gate2]; Ra[mass,mass1]; ]; cell(); slow state start() { M:off(); } BUILD_DEFAULT_TRANSIENT_STATE(); }; cell::cell() {E(VDD);Rc(15Ohm);lc(LDD);ls(10nH);lg(20nH);ld(10nH);lgl(30nH);Rg(385Ohm); Ra(0.0248Ohm); G(Aon=VGSON, Aoff=0V, period=30us, tr=20ns, tp=15us, tf=20ns, td=0.1us); M=ModuleAlstom; } cell test(); /// this instruction declares 'test' as a system. TransientAnalyser tr(test); tr.save(file=/user8/pacte/mi/develope/example/igbt/bup202/identification/dynamique/test) << G.u << M.{iG,vGS,iA,vAC}; tr.state = start(); tr.setTransientParameter(resolution=5ns, end=30us); tr.setIntegrationParameter(iteration=15000,eps=0.0001); tr.analysis();

Wei MI

Thèse INSA de Lyon - CEGELY

167

Page 22: Annexe - INSA Lyon

Extraction des paramètres et domaine de validité du modèle d’un composant de puissance

Annexe E Exemples de processus de validation

E-1 Processus de validation des paramètres de la diode PiN Le processus de validation suite les étapes suivantes (figure E.1) :

• Choisir le fichier de PACTE;

• Sélectionner la gamme de validation et l’étape;

• Configurer la condition de simulation;

• Lancer le processus en appuyant le bouton ″RUN″ ;

Fichier Java Fichier de résultat Fichier de PACTE validation_diode.jar validite.dat hacheur.p

a) b)

c)

Figure E.1 Interface de validation du couple modèle-paramètres de la diode PiN

***************************************************************************

Wei MI

Thèse INSA de Lyon - CEGELY

168

Page 23: Annexe - INSA Lyon

Extraction des paramètres et domaine de validité du modèle d’un composant de puissance

hacheur.p

*********************************************************************** option [-v -cpu /user8/pacte/mi/validite/diode/byt12p_600/simulation/mos2kp.mo -lpower]; #include <physics.u> #include "/user8/pacte/mi/validite/diode/byt12p_600/simulation/mos2kp.h" #include <power/pinsv.h> #include "/user8/pacte/mi/validite/diode/byt12p_600/simulation/data.r" macro model chopper { Se<electric> E; //// component declarations R<electric> Rg,r; mosh M; pinsv D; I<electric> lm,lg,lda,ldc,ldg; Sf<electric> I; PulseSe<electric> G; Kirchhoff //// Kirchhoff network declaration [ node voltage mass,1,2,3,4,5,6,7,21,31,41,51,11; E[mass,1]; /// the power supply I[mass,51]; /// the load lm[2,1]; lda[41,51]; r[2,3];ldc[3,11]; D[11,41]; /// the free-wheel branch M[7,4,51]; lg[5,4];ldg[mass,7]; Rg[5,6]; G[mass,6]; /// the switch ]; chopper(); slow state freeWheel() { M:off(); D:on();lm:static();} BUILD_DEFAULT_TRANSIENT_STATE(); }; chopper::chopper() { #include "/user8/pacte/mi/validite/diode/byt12p_600/simulation/power.dat" Rg(5Ohm); G(15V, 0V, 10us, 40ns, 8us, 20ns, 40ns); M( VT=3.77V, KPLIN=5.19A/V2, KPSAT=12.5A/V2, RD=0.168Ohm,THETA=2V-1, AGD=22.0mm2, NB=5.5e14cm-3, CGS=0.65nF, COXD=0.3nF, CDS=0.2nF, RS=1mOhm, RG=1Ohm, RDS=300KOhm, IS=1pA, MJ=0.5, FC=0.5, PB=1V, T=300K); D=ModuleD; lg(5nH);ldg(1nH);lm(80nH);r(0.0025Ohm);lda(5nH);ldc(5nH); } chopper test(); TransientAnalyser tr(test); tr.save(file=/user8/pacte/mi/validite/diode/byt12p_600/simulation/output) << D.i << D.u <<

ldc.u <<lda.u; tr.state = freeWheel(); tr.setTransientParameter(resolution=10ns, end=5us); tr.setIntegrationParameter(eps=0.0001,iteration=5000); tr.analysis();

E-2 Processus de validation des paramètres du MOSFET Fichier Java Fichier de résultat Fichier de PACTE

validation_mos.jar turnon_validation.dat Comme celui de la

Wei MI

Thèse INSA de Lyon - CEGELY

169

Page 24: Annexe - INSA Lyon

Extraction des paramètres et domaine de validité du modèle d’un composant de puissance

turnoff_validation.dat diode PiN, hacheur.p

a) b)

c)

Figure E.2 Interface de validation du couple modèle-paramètres du MOSFET

E-3 Processus de validation des paramètres de l’IGBT Fichier Java Fichier de résultat Fichier de PACTE validation_igbt.jar turnon_validation.dat

turnoff_validation.dat hacheur.p

Wei MI

Thèse INSA de Lyon - CEGELY

170

Page 25: Annexe - INSA Lyon

Extraction des paramètres et domaine de validité du modèle d’un composant de puissance

Figure E.3 Interface de validation du couple modèle-paramètres de l’IGBT

********************************************************************** hacheur.p

********************************************************************** option [-v -cpu /user8/pacte/mi/validite/diode/byt12p_600/simulation/mos2kp.mo -lpower]; #include <physics.u> #include "/user8/pacte/mi/validite/diode/byt12p_600/simulation/mos2kp.h" #include <power/pinsv.h> #include "/user8/pacte/mi/validite/diode/byt12p_600/simulation/data.r" macro model chopper { Se<electric> E; //// component declarations R<electric> Rg,r; mosh M; pinsv D; I<electric> lm,lg,lda,ldc,ldg; Sf<electric> I; PulseSe<electric> G; Kirchhoff //// Kirchhoff network declaration [ node voltage mass,1,2,3,4,5,6,7,21,31,41,51,11; E[mass,1]; /// the power supply I[mass,51]; /// the load lm[2,1]; lda[41,51]; r[2,3];ldc[3,11]; D[11,41]; /// the free-wheel branch M[7,4,51]; lg[5,4];ldg[mass,7]; Rg[5,6]; G[mass,6]; /// the switch ]; chopper(); slow state freeWheel() { M:off(); D:on();lm:static();} BUILD_DEFAULT_TRANSIENT_STATE(); }; chopper::chopper() { #include "/user8/pacte/mi/validite/diode/byt12p_600/simulation/power.dat" Rg(5Ohm); G(15V, 0V, 10us, 40ns, 8us, 20ns, 40ns); M( VT=3.77V, KPLIN=5.45A/V2, KPSAT=16.10A/V2, RD=0.2Ohm,THETA=1.656V-1, AGD=12.0mm2, NB=8.4765625e14cm-3, CGS=4.0253125nF, COXD=1.55nF, CDS=2.4nF, RS=1mOhm, RG=1Ohm, RDS=300KOhm, IS=1pA, MJ=0.5, FC=0.5, PB=1V, T=300K); D=ModuleD; lg(5nH);ldg(1nH);lm(200nH);r(0.0025Ohm);lda(5nH);ldc(5nH); } chopper test(); TransientAnalyser tr(test); tr.save(file=/user8/pacte/mi/validite/diode/byt12p_600/simulation/output) << D.i << D.u <<

ldc.u <<lda.u; tr.state = freeWheel(); tr.setTransientParameter(resolution=10ns, end=5us); tr.setIntegrationParameter(eps=0.0001,iteration=3000); tr.analysis();

Wei MI

Thèse INSA de Lyon - CEGELY

171