Vous êtes sur la page 1sur 197

COLE DE TECHNOLOGIE SUPRIEURE

UNNERSIT DU QUBEC

THSE DE DOCTORAT PRSENTE


L'COLE DE TECHNOLOGIE SUPRIEURE

COMME EXIGENCE PARTIELLE


L'OBTENTION DU

DOCTORAT EN GNIE
PH.D.

PAR
ROGER CHAMPAGNE

SIMULATION EN TEMPS REL L'AIDE DE LA REPRSENTATION D'TAT:


APPLICATION UN ENTRANEMENT LECTRIQUE BAS SUR UNE
MACHINE ASYNCHRONE

MONTRAL, LE 16 JUIT..LET 2001

droits rservs de Roger Champagne 2001

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.

CETIE THSE A T VALUE


PAR UN JURY COMPOS DE:

M. Louis-A. Dessaint, directeur de thse


Dpartement de gnie lectrique 1'cole de technologie suprieure

Mme Ouassima Akhrif, professeure


Dpartement de gnie lectrique l'cole de technologie suprieure

M. Kamal AI-Haddad, professeur


Dpartement de gnie lectrique l'cole de technologie suprieure

M. Jean Mahseredjian, chercheur


Institut de recherche d'Hydro-Qubec

ELLE A FAIT L'OBJET D'UNE SOUTENANCE DEVANT JURY ET UN PUBLIC


LE 22 JUIN 2001
L'COLE DE TECHNOLOGIE SUPRIEURE

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.

SIMULAnON EN TEMPS REL L'AIDE DE LA REPRSENTAnON


D'TAT: APPLICAnON UN ENTRANEMENT LECTRIQUE BAS SUR
UNE MACHINE ASYNCHRONE
Roger Champagne
(Sommaire)
Les machines lectriques sont omniprsentes dans nos vies. Il y en a dans nos ordinateurs
et appareils mnagers, elles entranent les machines-outils et les robots dans nos usines et
dplacent trains et navires. Suite aux progrs importants en lectronique de puissance ces
dernires annes, les entranements vitesse variable ont aussi connu une popularit
croissante. Cependant, leur utilisation grande chelle pollue le rseau lectrique avec
des harmoniques indsirables qui troublent le fonctionnement d'quipements sensibles,
tels les ordinateurs et les systmes de tlcommunications. L'impact des entranements
vitesse variable sur le rseau lectrique qui les alimente doit donc tre analys l'aide
d'outils de simulation. De plus, la conception des entranements de grande puissance
bnficierait aussi d'un outil permettant de dvelopper les prototypes des contrleurs
associs ces entranements.
Le but de cette thse est donc de dvelopper 1' outil en question, soit un simulateur
d'entranements lectriques entirement numrique en temps rel. Ce simulateur permettrait aux ingnieurs chargs de la conception des entranements d'effectuer des batteries
de tests sur un prototype de contrleur, sans avoir besoin ds le dpart du vritable convertisseur et de la vritable machine. Ces premiers essais pourraient donc se faire dans
des installations beaucoup plus modestes et de faon plus scuritaire.
Notre travail est bas sur la modlisation des entranements lectriques l'aide de
l'approche par variables d'tat. Nous dcrivons d'abord une mthode permettant d'obtenir automatiquement les quations d'tat de tout systme lectrique linaire, les composantes non-linaires tant simules l'extrieur de la reprsentation d'tat. La mthode
est base sur la thorie des graphes linaires et comporte beaucoup de calcul matriciel,
lequel est ralis efficacement dans l'environnement Matlab. Une technique originale de
mise jour des quations d'tat suite un changement d'tat d'interrupteurs est utilise,
ainsi qu'une mthode permettant d'obtenir une reprsentation d'tat unique de tout
1'tage de puissance. Cette dernire mthode permet une solution simultane de toutes les
quations dynamiques du systme. Une implantation de la discrtisation trapzodale
adapte aux systmes variant dans le temps est ensuite dcrite et compare une mthode

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.

iv

d'intgration rcemment dveloppe pour la simulation en temps rel des systmes rigides. Enfin, les diverses techniques exposes sont implantes afin de permettre la simulation en temps rel d'un entranement industriel sur un ordinateur parallle. D'excellents
rsultats sont obtenus avec un pas de calcul de l'ordre de 60 JJ.s, incluant les communications interprocesseur et les acquisitions des entres et sorties.

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.

ABSTRACT
Electric machinery is widely used in our daily lives. There are electric motors in our computers and appliances at home, in tools and robots in manufacturing plants, and in vehicles such as cars, trains and ships. The past few decades have seen major advancements
in the field of variable speed drives, consequent to new technologies in power electronics.
However, widespread use of such drives pollutes the power grid with undesirable harmonies which compromise the normal operation of sensitive deviees such as computers
and telecommunication systems. The impact of the variable speed drives on the power
grid must therefore be analyzed with simulation tools. Moreover, designing high power
drives could also benefit from a simulation tool that would allow prototyping of the
drive' s controller.
Our goal in this thesis is to develop such a tool, a fully digital real-time simulator
dedicated to electric drives. Such a simulator would allow engineers responsible for the
design of large drives to prototype the drive's contrc.!lcr and initially test it using a simulated power converter and machine. Such tests would require limited space and equipment, and could be carried out safely without any high power deviees.
Our work is based on modeling the drive using the state variable approach. We first
describe a method which automatically computes the state equations of any linear electric
system, nonlinear components being simulated outside the state-space representation.
The method is based on linear graph theory and uses matrix computations extensively.
This task is performed efficiently in the Matlab environment. An original technique, used
to update the state equations when a switching deviee changes state, is then described.
We then describe a method which yields a unique state-space representation for the entire
power stage of a drive. This method allows a simultaneous delay-free solution of ali the
drive's dynamic equations. An implementation of the trapezodal integration rule,
adapted for time-varying systems, is then described and compared to an integration
method recently developed specifically for real-time simulation of stiff systems. Finally,
the various methods discussed thus far are implemented in order to yield a real-ti me simulation of an industrial drive on a parallel computer. Good results are obtained with
timesteps of the order of 60 J.lS, which includes interprocessor communications and inputs
and outputs acquisition and conversion.

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.

AVANT-PROPOS

Le travail dcrit dans cette thse est le fruit d'une collaboration entre le
G.R..P.C.I.,le Laboratoire de Simulation de Rseaux (LSR) de l'IREQ, et Transnergie
Technologies. Plus spcifiquement, nos travaux ont t raliss dans le cadre de deux
subventions industrie-universit du CRSNG. Le G.R..P.C.I. et ses partenaires industriels collaborent dans diffrents projets de recherche lis la simulation des rseaux
lectriques.

J'aimerais

d'abord

remercier

mon

directeur

de

thse,

le

professeur

Louis-A. Dessaint, avec qui je travaille depuis plus de six ans maintenant. Le dynamisme
et la grande disponibilit du professeur Dessaint sont des lments cls dans le succs de
mes tudes de matrise et de doctorat. Il a toujours su bien m'encadrer, tout en me donnant beaucoup de latitude pour exprimer mes initiatives.

J'aimerais galement remercier les autres membres du jury, les professeurs Ou assima Akhrif et Kamal Al-Haddad, ainsi que Jean Mahseredjian, chercheur l'IREQ. Les
nombreuses discussions que j'ai eues avec eux, autant durant les cours qu'ils rn' ont donns que durant mes travaux de recherche, ont eu un impact apprciable sur mon travail.
Ils ont galement tous fait preuve d'une grande disponibilit mon gard.

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.

vii

Je veux galement remercier tous les gens qui travaillent chez nos partenaires
industriels, et avec qui j'ai eu l'occasion d'changer, notamment l'quipe du LSR de
I'IREQ et l'quipe chez Transnergie Technologies. Pierre Mercier, ancien charg de
techniques de simulation I'IREQ, est le principal instigateur de la collaboration continue entre le G.R..P.C.I. et le LSR et a t d'un support inconditionnel tout au long de
mes travaux. Gilbert Sybille, chercheur au LSR et auteur principal du Power System
Blockset (PSB), a gnreusement partag avec moi ses connaissances lies aux divers
aspects de mes travaux. Je tiens galement remercier Michel Ttreault, chef du LSR,
ainsi que Jean-Claude Soumagne et Silvano Casoria, tous deux chercheurs au LSR, qui
ont support ces travaux par l'entremise des subventions sus-mentionnes. Je remercie
galement toute l'quipe du LSR pour avoir consenti m'accueillir et pour m'avoir support durant l't 2000. J'y ai pass plusieurs semaines exprimenter avec leur ordinateur SGI et je tiens reconnatre les contributions de Pierre Giroux, Van Qu Do et
Christian Larose, chercheurs au LSR, ainsi que de Jose Plante, administratrice du rseau
informatique, et plus particulirement Sylvain Gurette, galement du LSR. Sylvain m'a
aid comprendre beaucoup de choses concernant les ordinateurs mmoire partage et
son exprience rn' a permis de sauver beaucoup de temps.

Chez Transnergie Technologies, je tiens remercier Yves Carmel, ancien directeur gnral, ainsi que Alain Valle, directeur gnral, et Bahram Khodabakhchian, ingnieur, pour leur collaboration. Merci galement Patrice Brunelle, responsable technique
du dveloppement du PSB, pour son ouverture d'esprit face mes ides et suggestions,

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.

viii

ainsi que pour sa capacit adapter rapidement le PSB des exigences sans cesse changeantes.

Le dveloppement d'outils de simulation est un sujet fort intressant, mais peu utile
sans usager. cet effet, je tiens remercier particulirement mes collgues et amis du
G.R..P.C.I., autant tudiants que professeurs, pour leur grande patience avec toutes les
versions intermdiaires du PSB, et pour leurs nombreux commentaires et suggestions.
J'ai eu plusieurs discussions fort enrichissantes avec bon nombre d'entre eux et j'ai t en
mesure d'apprcier pleinement, grce eux, la force du travail en groupe.

Des tudes de doctorat se compltent difficilement sans support moral. Outre les
personnes dj mentionnes, je tiens adresser mes remerciements les plus sincres ma
famille et mes amis, qui ont endur mon absence, ou ma prsence a temps partiel,
durant ces annes et ce, tout en me soutenant dans mes efforts avec quantit d'encouragements.

Enfin, s'il y a une personne qui mrite son propre paragraphe dans ces remerciements, c'est ma copine Julie. Nos chemins se sont croiss quelque part au dbut de ma
matrise, et elle est toujours l, ce qui en dit long en soi. Merci pour ta grande patience et
tes encouragements soutenus. J'espre un jour pouvoir te rendre a.

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.

TABLE DES MAnRES

Page
SOMMAIRE .......................................................... .iii
ABSTRACT ........................................................... v
AV ANT-PROPOS ...................................................... vi
TABLE DES MATIRES ................................................ ix
LISTE DES TABLEAUX ................................................ xiii
LISTE DES FIGURES .................................................. xiv
LISTE DES ABRVIATIONS ET DES SIGLES ............................ xvii
INTRODUCfiON ...................................................... 1
REVUE DE LA LITTRATURE ........................................... 7
CHAPITRE 1 - Modlisation des systmes lectriques l'aide de la
reprsentation d'tat ....................................... 13
1.1 Thorie des graphes linaires . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
1.1.1 Dfinitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
1.1.2 Matrices fondamentales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
1.1.2.1 Matrice d'incidence nodale . . . . . . . . . . . . . . . . . . . . . . . . . . 16
1.1.2.2 Matrice des mailles fondamentales . . . . . . . . . . . . . . . . . . . . 17
1.1.2.3 Matrice des coupures fondamentales . . . . . . . . . . . . . . . . . . . 20
1.1.3 Choix des variables d'tat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
1.2 Circuits passifs RLC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
1.2.1 Obtention de l'arbre topologique ............................. 27
1.2.2 Calcul des matrices d'incidence nodale et des coupures
fondamentales ........................................... 29

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.

1.2.3 Matrices des lments passifs ............................... 31


1.2.4 Matrices d'tat A et B ..................................... 32
1.2.5 Matrices d'tat Cet D ..................................... 38
1.2.5.1 Sorties tension .................................... 39
1.2.5.2 Sorties courant .................................... 40
1.3 Circuits contenant des transformateurs ............................. 41
1.3.1 Matrices d'lments passifs affectes ......................... 42
1.3.2 Rseaux isols ........................................... 43
1.3.3 Matrices d'tat A et B ..................................... 45
1.3.4 Matrices d'tat Cet D ..................................... 47
1.3.5 Restrictions sur les paramtres .............................. 48
1.4 Circuits contenant des inductances couples ......................... 49
1.4.1 Matrices affectes ........................................ 50
1.4.2 Restrictions sur les paramtres .............................. 51
1.5 Dtection d'erreurs dans les donnes d'entre. . . . . . . . . . . . . . . . . . . . . . . . 51
1.6 Analyse de performance ......................................... 52
1.7 Conclusions .................................................. 56
CHAPITRE 2- Modlisation des entranements lectriques l'aide de la
reprsentation d'tat ....................................... 57
2.1 Systmes comprenant des interrupteurs ............................. 58
2.1.1 Modlisation des interrupteurs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
2.1.2 Changements d'tat d'interrupteurs ........................... 62
2.2 Machines lectriques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
2.2.1 Modlisation de la machine asynchrone ....................... 66
2.2.2 Les transformations de rfrentiel ............................ 71
2.2.2.1 Relations entre les variables de phase et le rfrentiel
dq arbitraire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
2.2.2.2 Transformations de rfrentiel courantes ................ 74
2.3 Entranement complet .......................................... 79

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.

xi

2.4 Validation de la mthode de simulation en temps diffr ............... 83


2.5 Conclusions .................................................. 93
CHAPITRE 3 - Intgration numrique ...................................... 95
3.1 quations diffrentielles rigides ................................... 95
3.2 Caractristiques des mthodes courantes d'intgration pas fixe ......... 97
3.2.1 valuation de la stabilit des mthodes d'intgration ............. 98
3.2.2 valuation de la prcision des mthodes d'intgration ........... 102
3.3 Discrtisation trapzodale applique aux quations d'tat ............. 104
3.4 Implantation de la discrtisation trapzodale ....................... 109
3.5 La mthode MSRP-2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
3.6 tude de cas ................................................. 117
3.7 Conclusions ................................................. 121
CHAPITRE 4 - Simulation en temps rel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122
4.1 Systme tudi ............................................... 123
4.2 Ordinateurs parallles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124
4.2.1 Architectures mmoire distribue. . . . . . . . . . . . . . . . . . . . . . . . . . 125
4.2.2 Architectures mmoire partage . . . . . . . . . . . . . . . . . . . . . . . . . . . 126
4.3 Dcouplage. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129
4.4 Simulation parallle de la partie onduleur/machine ................... 131
4.5 Principaux facteurs affectant le temps de calcul . . . . . . . . . . . . . . . . . . . . . 134
4.5.1 Matriel ............................................... 135
4.5.2 Systme d'exploitation ................................... 138
4.5.3 Compilateur ............................................ 139
4.5.4 Outils d'analyse ......................................... 144
4.5.5 Style de programmation ................................... 145
4.6 Optimisation des calculs ....................................... 147
4.6.1 Algorithmes matriciels ................................... 147
4.6.2 Mise jour des matrices d'tat suite une commutation ......... 149
4.7 tude de cas ................................................. 151

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.

xii

4.8 Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160


CONCLUSION. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163
RECOMMANDATIONS ............................................... 167
RFRENCES BffiLIOGRAPHIQUES ................................... 169
ANNEXE A : Paramtres des simulations des chapitres 2 et 3 . . . . . . . . . . . . . . . . . . 173
ANNEXE B: Paramtres des simulations du chapitre 4 ....................... 175

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.

LISTE DES TABLEAUX


Page

1-1

Temps requis pour obtenir les matrices d'tat d'un grand rseau ............. 54

1-2

Remplissage des matrices d'tat selon la mthode de calcul. ................ 56

2-1

Coefficients de rigidit obtenus dans diverses conditions ................... 62

2-2

Pas de calculs utiliss pour les comparaisons ............................ 90

2-3

Temps d'excution des deux simulations ............................... 93

3-1

Fonctions de transfert discrtes correspondant une approximation du


processus d'intgration selon trois mthodes courantes .................... 98

3-2

Termes principaux du LTE pour trois mthodes courantes ................. 103

3-3

Temps d'excution des deux simulations .............................. 120

4-1

Patrons d'accs aux donnes pour les variantes de la multiplication


matricielle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148

4-2

Principaux paramtres de chaque partie de la simulation . . . . . . . . . . . . . . . . . . 152

4-3

Temps d'excution de la partie onduleur/machine avec 11 variables


d'tat (DEC Alpha 533 MHz) ....................................... 155

4-4

Temps de calcul sur DEC Alpha 533 MHz de chacun des trois sous-systmes
de 1'entranement avec cinq variables d'tat du ct onduleur/machine. . . . . . . 156

4-5

Temps d'excution des diffrentes tches avec 11 variables d'tat


(DEC Alpha 533 MHz et SOI Origin 2000 400 MHz) .................... 157

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.

LISTE DES FIGURES


Page

1-1

Un circuit simple et son graphe. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

1-2

Un arbre correspondant au graphe de la figure 1-1 . . . . . . . . . . . . . . . . . . . . . . . . 16

1-3

Maille fondamentale dfinie par le lien Lsrc ............................. 18

1-4

Coupure fondamentale forme par le retrait de la branche Cch ............... 21

1-5

Relations de base pour le traitement des transformateurs ................... 42

1-6

Un circuit simple comprenant un transformateur idal et le


graphe correspondant ............................................... 43

1-7

Fort correspondant au systme de la figure 1-6 .......................... 45

1-8

Circuit quivalent d'une inductance mutuelle deux enroulements ........... 49

1-9

Patron de remplissage de la matrice d'tat A. a) avec le PSB 1.0;


b) avec la mthode propose ......................................... 55

2-1

Macromodles d'interrupteurs utliss. a) modles binaire rsistif avec


inductance srie; b) modle binaire rsistif .............................. 59

2-2

Interface de la partie linaire du systme avec le modle d'interrupteur ....... 60

2-3

Circuit simple utilis pour illustrer le concept de rigidit ................... 61

2-4

Schma-bloc illustrant la mthode de mise jour des matrices d'tat ......... 64

2-5

Reprsentation d'tat quivalente (matrices A, B, Cet 0) .................. 64

2-6

Schma quivalent du modle de machine asynchrone dans le


rfrentiel dq arbitraire ............................................. 69

2-7

Reprsentation graphique de la transformation de rfrentiel pour des


circuits stationnaires ............................................... 72

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.

xv

2-8

Reprsentation graphique de la transformation de rfrentiel pour des


circuits en rotation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73

2-9

Schma de l'exemple ............................................... 79

2-l 0 Sparation du schma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80


2-11 Sparation du systme en trois parties distinctes .......................... 81
2-12 Schma de 1'entranement tudi ...................................... 84
2-13 Schma Simulink/PSB de la simulation de rfrence ...................... 85
2-14 Schma Simulink utilisant la s-function en langage Matlab ................. 86
2-15 Courant statorique de la phase a de la machine avec les deux mthodes
de simulation: a) PSB 2.0; b) mthode propose ......................... 91
2-16 Vitesse du moteur d'induction avec les deux mthodes de simulation et
pour diffrents pas de calcul: a) PSB 2.0; b) mthode propose .............. 92
3-1

Coefficient de rigidit obtenu en simulant 1' entranement de la section 2.4 ..... 96

3-2

Zones de stabilit correspondant aux trois mthodes: a) Euler arrire;


b) trapzodale; c) Gear-2 ........................................... 99

3-3

Zone de stabilit d'une mthode d'intgration rigidement stable ............ 101

3-4

Nombre d'oprations mathmatiques requises pour solutionner (3-12)


(factorisation et solution LU) ....................................... 108

3-5

Nombre d'oprations mathmatiques requises pour solutionner (3-12)


(inversion de matrice l'aide d'une factorisation LU) .................... 109

3-6

Organigramme de la fonction de mise jour des sorties de la s-function


. ' . . trapezoa
' ''dale ) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Il?(d ascreusataon

3-7

Une boucle algbrique simple et sa solution ............................ 116

3-8

Interaction entre notre s-function et le contrleur. . . . . . . . . . . . . . . . . . . . . . . . 116

3-9

Organigramme de la fonction de mise jour des sorties de la s-function


(mthode MSRP-2) ............................................... 118

3-10 Courant statorique de la phase a de la machine avec les deux


mthodes d'intgration: a) trapzodale; b) MSRP-2 ..................... 119
3-11 Vitesse de rotation de la machine avec les deux mthodes d'intgration ...... 119

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.

xvi

4-1

Schma de l'entranement tudi. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123

4-2

Ordinateur parallle mmoire distribue . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125

4-3

Ordinateur parallle mmoire partage ............................... 126

4-4

Architecture du SGI Origin 2000. a) systme avec huit processeurs;


b) contenu d'une carte ("Node board") ................................ 128

4-5

Dcouplage par l'utilisation d'une ligne de transport ..................... 129

4-6

Dcouplage d'un rseau lectrique l'aide d'quivalents


Thvenin et Norton . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130

4-7

Mthode de dcouplage utilise . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131

4-8

Inversion de matrice parallle sur deux processeurs . . . . . . . . . . . . . . . . . . . . . . 133

4-9

Une boucle simple ................................................ 141

4-10 Une boucle simple droule une fois .................................. 142


4-11 Algorithme de multiplication matricielle, version ijk ..................... 147
4-12 Forme de la matrice (1- DoDsw) ..................................... 150
4-13 Forme des facteurs L et U de l'exemple . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 1
4-14 Schma Simulink 1 PSB des trois parties du systme: a) source et
redresseur; b) onduleur, machine et charge; c) commande DFTC ........... 153
4-15 Schma Hypersim utilis pour la simulation en temps rel. . . . . . . . . . . . . . . . . 154
4-16 Courant statorique de la machine, phase a . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159
4-17 a) Consigne de vitesse et vitesse de la machine; b) tension du bus CC . . . . . . . 159
4-18 Enveloppes des temps d'excution des deux principales parties: a) partie
onduleur et machine; b) partie source et redresseur . . . . . . . . . . . . . . . . . . . . . . 160

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.

LISTE DES ABRVIATIONS ET DES SIGLES


G.R..P.C.I.

Groupe de recherche en lectronique de puissance et commande


industrielle

IREQ

Institut de recherche d'Hydra-Qubec

CRSNG

Conseil de recherches en sciences naturelles et en gnie du Canada

PSB

Power System Blockset

PI

Proportionnel et intgrale

EMTP

Electromagnetic Transients Program

dqO

axes du rfrentiel dq arbitraire (d=direct, q=quadrature, O=homopolaire)


temps, s
indice indiquant une composante appartenant l'arbre (branche)
indice indiquant une composante n'appartenant pas l'arbre (lien)
drive de la variable x par rapport au temps

vecteur des variables d'tat

vecteur des entres

vecteur des sorties

matrice des paramtres du systme

matrice de couplage des entres

matrice de couplage des sorties

matrice liant les entres aux sorties

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.

xviii

matrice des mailles fondamentales


matrice des coupures fondamentales
i ou 1

courant lectrique, A. Indices utiliss:


a,b,c grandeur de phase a, bouc (rfrentiel fixe)
d,q

grandeur statorique d'axe d ou q (rfrentiel dq)

rn

grandeur mcanique ou magntisante

grandeur lectrique

grandeur nominale

grandeur de base
grandeur de fuite

vou

grandeur statorique

grandeur rotorique

tension, V (mmes indices que courant lectrique)

source de tension, V

source de courant, A

RLC

acronyme indiquant un circuit passif contenant exclusivement les deux


types de sources idales ainsi que des rsistances, inductances et condensateurs

matrice liant les variables d'tat aux tensions et courants des lments
rsistifs

matrice liant les entres aux tensions et courants des lments rsistifs

matrice des chemins ("path matrix").


puissance active, W
sous-matrice de la matrice d'tat C

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.

xix

matrice de conductances (circuits sans transformateurs)


matrice liant les tensions aux courants des lments rsistifs (circuits
avec transformateur)

D,M

matrices intermdiaires utilises dans le calcul des matrices d'tat Cet


D

matrice liant les variables d'tat aux tensions des branches inductives

matrice liant les entres aux tensions des branches inductives


flux magntique, V.s (mmes indices que courant lectrique)
valeurs propres d'une matrice

rou R

rsistance, 1l (mmes indices que courant lectrique)

inductance, H (mmes indices que courant lectrique)

frquence, Hz

nombre de paires de ples de la machine

nouN

vitesse de rotation, r/min ou radis

co

vitesse angulaire lectrique du rfrentiel dqO, radis

position angulaire lectrique du rfrentiel dqO, degrs


vitesse angulaire du champ tournant statorique, radis
position angulaire du champ tournant statorique, degrs
vitesse angulaire lectrique du rotor, radis
position angulaire lectrique du rotor, degrs
vitesse angulaire mcanique du rotor, radis
position angulaire mcanique du rotor, degrs

matrice de transformation de rfrentiel. Indices utiliss:


s:

transformation applique des circuits stationnaires

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.

xx

r:

transformation applique des circuits en rotation

M, N

matrices de transformation de rfrentiel

Q 1, Q2

sous-matrices de la matrice d'tat D

l3

matrice identit 3 par 3

moment d'inertie, kg.m 2


matrice d'tat A ou sa linarisation

priode d'chantillonnage

Tm

couple mcanique, N.m ou p.u.

Te

couple lectrique, N.m ou p.u.

coefficient de frottement visqueux, N.m.s ou p.u.

x'

variable x est une grandeur rotorique rfre au stator

A0 , A 1, 8 0 , B 1

matrices des coefficients d'intgration de la mthode MSRP-2

U AL

unit arithmtique et logique

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.

INTRODUCTION
Les machines lectriques sont omniprsentes dans nos vies. De celles qui se trouvent dans nos ordinateurs et appareils mnagers aux moteurs dans les trains et navires en
passant par ceux qui entranent les convoyeurs, pompes, machines-outils et robots dans
les usines, les machines sont partout. Les entranements frquence variable ont connu
ces dernires dcennies une croissance tonnante, consquence directe de progrs notables dans le domaine de l'lectronique de puissance.
Cependant, l'utilisation grande chelle d'entranements frquence variable
cause certains problmes au niveau du rseau lectrique. Les convertisseurs lectronique de puissance de ces entranements gnrent des harmoniques qui polluent le rseau et
perturbent le fonctionnement d'appareils sensibles tels les ordinateurs et quipements de
tlcommunication. Il est donc important de pouvoir tudier et analyser l'impact de ces
entranements dans un contexte donn et un bon outil de simulation devrait faciliter cette
analyse. Ceci est d'autant plus important que les machines lectriques reprsentent une
part importante de la charge du rseau lectrique.
La conception d'entranements lectriques de grande puissance est galement une
activit qui pourrait bnficier selon nous d'un type particulier d'outil de simulation,
c'est--dire un simulateur d'entranements lectriques en temps rel entirement numrique. Un tel outil permettrait aux ingnieurs chargs de la conception de l'entranement de
dvelopper un prototype de commande et de faire des essais avec cette commande en la
raccordant un simulateur en temps rel qui reproduit fidlement le comportement de
l'tage de puissance de l'entranement (source, convertisseur, machine et charge). Bien
que le prototype doive ventuellement tre test sur "le vrai" systme, nous sommes

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.

d'avis que les premires phases de conception bnficieraient de l'utilisation d'un tel
simulateur.
Les simulateurs en temps rel entirement numriques existent depuis le dbut des
annes 1990. Ils sont principalement utiliss pour la simulation des grands rseaux lectriques et les essais lis aux quipements qui s'y raccordent, par exemple les disjoncteurs
de lignes de transport haute tension, les relais de protection, et la commande pour les
compensateurs statiques. La plupart de ces simulateurs comprennent des modles de convertisseurs lectronique de puissance ainsi que quelques modles de machines utilises
dans les entranements modernes. Cependant, les contraintes imposes par le temps rel
forcent l'utilisation de modles discrets dcrits par des quations aux diffrences et il
n'est pas possible d'utiliser une technique itrative comme on le fait pour simuler ces systmes en temps diffr. La simulation d'un entranement sur ces simulateurs exige l'ajout
de composantes parasites afin d'assurer la stabilit de la simulation. Dans un contexte de
rseau lectrique o le comportement d'une usine complte est tudi, ces composantes
ne sont pas parasites et consistent en des charges passives qui se retrouvent proximit
des entranements. Cependant, lorsque l'on veut tudier le comportement d'un entranement isol, ces composantes parasites sont ncessaires et modifient la dynamique du systme de faon apprciable et selon nous inacceptable.
Les simulateurs de rseaux lectriques en temps rel sont bass sur la modlisation
du rseau l'aide de l'approche nodale. La plupart de ces simulateurs utilisent de plus la
mthode de discrtisation trapzodale, aussi connue sous le nom de mthode de Tustin.
Afin de palier au problme sus-mentionn, nos travaux de recherche ont t raliss dans
le cadre de deux mandats, pour le compte du Laboratoire de Simulation de Rseaux
(LSR) de l'IREQ, visant spcifiquement tudier la possibilit d'utiliser une autre approche de modlisation, soit l'approche par variables d'tat, pour raliser des simulations en
temps rel. Ces mandats visaient galement explorer des mthodes d'intgration pas
fixe alternatives la discrtisation trapzodale dans le but d'liminer les principaux

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.

inconvnients lis cette mthode, notamment les oscillations numriques produites lors
de discontinuits.
L'utilisation de l'approche par variables d'tat peut se justifier de plusieurs faons.
D'abord, les quations dynamiques de plusieurs classes de systmes s'expriment naturellement sous forme d'quations diffrentielles ordinaires d'ordre un. C'est le cas des systmes lectriques comprenant des convertisseurs de puissance et c'est galement le cas
pour les machines lectriques. De plus, il existe de nombreux outils mathmatiques nous
permettant d'analyser les proprits d'un systme modlis sous forme d'quations
d'tat. Les notions de commandabilit et d'observabilit sont bases sur cette reprsentation. Connaissant les quations d'tat d'un systme, on peut galement analyser sa stabilit puisque les valeurs propres de la matrice d'tat A sont en fait les ples du systme. Un
autre avantage de la reprsentation d'tat est qu'elle permet de changer facilement de
mthode d'intgration. Pour changer de mthode d'intgration avec l'approche nodale, il
faut discrtiser chaque composante nouveau avec une mthode diffrente. Comme une
part de nos travaux consiste tudier les algorithmes d'intgration, cet avantage est
apprciable. Cette approche permet galement d'implanter des algorithmes pas variables plus facilement qu'avec l'approche nodale. Cependant, comme nous aspirons raliser des simulations en temps rel, cet avantage est moins marqu dans notre cas. Enfin,
l'approche par variable d'tat se gnralise facilement aux systmes non-linaires et est
souvent la mthode de choix dans ce cas.
Les travaux dcrits dans cette thse visent donc liminer certaines contraintes des
simulateurs actuels, et ainsi permettre la simulation numrique en temps rel d'entranements lectriques. Notre objectif principal est de dvelopper des modles et/ou mthodes
de simulation qui permettent de simuler le comportement dynamique d'un entranement
lectrique isol. Dans ce contexte, nous avons aussi comme objectif d'tudier les algorithmes d'intgration pas fixe, dans le but d'utiliser une technique d'intgration la fois
assez simple pour tre applicable en temps rel, et assez robuste pour simuler de faon

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.

stable et prcise les systmes particulirement exigeants que sont les entranements lectriques.
Nous tenons mentionner que nous nous concentrons exclusivement sur les techniques de modlisation et de simulation des entranements dans cette thse. Bien que notre
but ultime soit de dvelopper un simulateur permettant de connecter une commande
relle un entranement simul, nous ne dcrivons pas d'exprimentation o une telle
interconnection est ralise. Cette tche dpasse le cadre de notre thse.
Nous avons commenc par nous familiariser avec la gnration automatique des
quations d'tat pour un systme lectrique gnral. En tant que co-auteur du Power System Blockset (PSB) [1], une librairie ddie la simulation des rseaux lectriques et des
entranements dans l'environnement Matlab/Simulink, nous tions familiers avec les
principes lis l'obtention de ces quations, mais cette partie a t dveloppe par un
chercheur de l'IREQ, Gilbert Sybille, dans la version 1 du PSB. Notre contribution
cette premire version a consist participer au dveloppement des modles de machines
lectriques et de rgulateurs du PSB [2]. Lors de notre tude, nous nous sommes familiariss avec une mthode d'obtention des quations d'tat base sur la thorie des graphes
linaires [3]. Cette mthode s'est avre trs performante dans l'environnement Matlab et
notre implantation, un petit programme que nous avons crit et que nous utilisions pour
nos besoins personnels dans le cadre de la prsente thse, a grandi. La technique utilise a
t implante dans la version 2 du PSB et est dcrite en dtail dans notre premier chapitre
pour un systme lectrique gnral. Quelques exemples simples sont utiliss tout au long
du dveloppement afin de faciliter la comprhension de la mthode. Le premier chapitre
dcrit le point de dpart de nos travaux, soit l'obtention des quations d'tat du systme.
La technique dcrite au chapitre l s'applique pour un systme lectrique linaire.
Toutes les non-linarits (interrupteurs, machines) sont considres comme des modles
externes la reprsentation d'tat et apparaissent comme des entres, sous forme de sources de courant, du point de vue de cette dernire. Nous discutons donc au chapitre 2 de la

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.

modlisation des interrupteurs et des machines lectriques. Une technique originale permettant d'inclure les interrupteurs dans les matrices d'tat du systme est d'abord dcrite.
Un modle de machine asynchrone est ensuite dfini et une attention particulire est porte aux diffrentes transformations de rfrentiel qui permettent de simplifier le modle.
Notre tude porte exclusivement sur la machine asynchrone, tant donne que c'est la
machine la plus couramment utilise dans l'industrie. Les quations associes la
machine sont typiquement solutionnes sparment du reste du systme. Or, nous avons
adopt une mthode qui permet d'inclure les quations d'tat de la machine dans la reprsentation d'tat du reste du systme, permettant une solution simultane sans dlai du
systme entier. Cette mthode est dcrite la fin du chapitre 2, lequel se termine par une
validation en temps diffr des techniques dcrites date.
Au chapitre 3, nous nous attardons la question de la discrtisation du processus
d'intgration, notre entranement tant dcrit par des quations diffrentielles qui doivent
tre solutionnes en temps rel. Un entranement constitue un systme d'une classe particulirement dlicate discrtiser et ces particularits imposent des restrictions quant au
choix de la mthode de discrtisation. Une mthode d'intgration matricielle rcemment
publie est analyse et compare la discrtisation trapzodale.
Enfin, la thse se termine par un chapitre portant sur l'implantation en temps rel
des techniques de simulation et d'intgration exposes aux chapitres antrieurs. Pour ce
faire, un systme consistant en un entranement industriel courant est tudi. La complexit du systme simuler couple aux contraintes svres du temps rel forcent l'utilisation d'ordinateurs parallles, dont nous dcrivons ensuite les deux principales
architectures. La sparation des tches sur plusieurs processeurs l'aide de techniques de
dcouplage est discute, puis les principaux facteurs que nous avons eus considrer
pour rduire le temps de calcul de nos programmes sont numrs. Quelques optimisations apportes nos algorithmes sont enfin dcrites, aprs quoi la simulation de l'entranement en temps rel est analyse.

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.

Avant d'attaquer le corps de notre sujet, nous allons faire une brve revue de la littrature lie aux diffrents aspects de notre sujet de recherche.

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.

REVUE DE LA LITTRATURE
Au dbut de ce projet, nous avions un mandat bien clair qui consistait tudier la
possibilit de simuler, en temps rel et l'aide de la reprsentation d'tat, des entranements lectriques. Nous avons donc fait une recherche bibliographique en ce sens mais
n'avons trouv aucun article qui couvrait tous ces concepts. Nous avons donc t contraints de faire plusieurs recherches avec un nombre rduit de concepts et avons ainsi
trouv plusieurs publications intressantes. Nous prsentons ici les principaux rsultats
de ces recherches.
D'abord, l'obtention des quations d'tat d'un systme lectrique est un sujet qui a
t abondamment couvert par la littrature de la fin des annes 1960 par, entre autres,
Balabanian et Bickart [3] et durant les annes 1970 par de nombreux auteurs, dont Rohrer
[4], Gille [5], et Chua et Lin [6]. Le sujet a galement t repris dans quelques livres plus
modernes, dont celui de Rajagopalan [7].
Nous avons dvelopp une certaine expertise en modlisation de machines lectriques lors du dveloppement du Power System Blockset (PSB) [ 1]. Ce projet a galement
fait l'objet de notre mmoire de matrise [2]. Cependant, les modles dvelopps pour la
premire version du PSB sont des modles dans le domaine continu, destins une utilisation dans l'environnement Simulink. La version 1 du PSB rsout les quations diffrentielles l'aide d'algorithmes d'intgration itratifs pas et ordre variables. Les modles
ne sont donc pas directement utilisables dans le contexte d'une simulation en temps rel.
Les modles utiliss dans la version 2, laquelle pennet les simulations discrtes pas
fixe, ont simplement t obtenus en substituant au bloc d'intgration de Simulink "1/s"

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.

une fonction de transfert discrte, en l'occurrence celle de la mthode de discrtisation


Euler avant.
Par consquent, nous avons cherch des modles alternatifs dans la littrature.
Lauw et Meyer [8] prsentent le modle de machine universelle qui est utilis dans le trs
populaire logiciel de simulation de rseaux lectriques EMTP (Electromagnetic Transients Program) [22]. Ce modle permet de simuler 12 types de machines lectriques diffrentes, incluant les machines courant continu et les machines courant alternatif
monophases et triphases. cause de la faon dont EMTP rsout les quations d'un
rseau (approche nodale et discrtisation trapzodale), le modle de machine universelle
est scind en quatre parties distinctes et la solution des quations de la machine est un
processus itratif. La mthode de solution propose s'adapte donc plutt mal une simulation en temps rel.
De leur ct, Vainio et al. [9] proposent un modle de machine asynchrone monophase destin une simulation en temps rel. Cependant, leur modle est implment
sur plusieurs ASIC ("Application Specifie lntegrated Circuit") de fabrication maison. La
priode d'chantillonnage requise n'est pas discute et la discrtisation du modle est
faite selon deux approches (Euler avant et trapzodale), les deux tant compares.
L'article de Gehlot et Alsina [10] prsente un modle de machine asynchrone triphase, destin de la commande en temps rel. Ils utilisent un modle d'tat avec
comme variables lectriques les courant du stator et les flux du rotor. Ce choix est dict
par l'application vise (commande vectorielle) qui exige une estimation prcise des flux
au rotor. La topologie simule est base sur un onduleur MLI (Modulation de largeur
d'impulsion, en anglais "PWM"). Cependant, le convertisseur est approxim de faon
simpliste en considrant que la tension prsente aux bornes de la machine est constante
durant une priode d'chantillonnage et gale la valeur de la source courant continu.
La discrtisation du modle est base sur une mthode de prdicteur-correcteur et la
simulation dmontre d'excellents rsultats pour une priode d'chantillonnage de 555 J.ls.

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.

La simulation de convertisseurs de puissance a t l'objet de nombreuses publications scientifiques et se retrouve aussi dans plusieurs manuels de rfrences [6,7]. Cependant, nous avons limit notre recherche la simulation en temps rel de convertisseurs de
puissance et nous n'avons trouv que quelques publications.
D'abord, Haskew et Byakod [11) proposent une mthode de simulation d'un
redresseur thyristors 12 impulsions. Leur mthode est base sur l'approche par variables d'tat et la discrtisation est ralise l'aide de la mthode d'Euler arrire. La technique propose exige cependant que les 4096 tats possibles du redresseur ( 12
interrupteurs, deux tats possible chacun, 2 12 = 4096 possibilits) soient stocks en
mmoire. De plus, leur simulation est implmente en langage Fortran sur un IBM RISC
6000.
Dans le but de nous rapprocher du sujet de notre projet, nous avons ensuite entrepris une recherche sur la simulation d'entranements lectriques en gnral, en omettant
les concepts "reprsentation d'tat" et "temps rel".
Notre premire trouvaille est l'article de Kleinhans et al. [12]. On y prsente un
logiciel permettant la simulation, en temps diffr, d'entranements lectriques de configurations varies. On dmontre l'utilisation du logiciel l'aide d'une application de commande flux orient d'une machine asynchrone triphase cage d'cureuil. L'approche
de simulation est modulaire, mais les auteurs ne discutent pas la stratgie d'interface
entre les divers modules, ce qui est la principale difficult dans ce type de simulation. De
plus, on ne donne que les quations gnrales du modle de machine et aucune mention
n'est faite de l'algorithme de solution utilis.
Une autre publication, celle de Chhaya et Bose [13] prsente le dveloppement
d'un systme expert servant concevoir, simuler et ajuster des entranements lectriques
varis. Le systme semble superviser une simulation en temps rel de l'ensemble convertisseur-machine, mais nous n'en sommes pas certains (trs peu de dtails sur cette partie

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.

10

dans l'article). Cette simulation est ralise l'aide du logiciel SIMNON et sert essentiellement ajuster les paramtres du contrleur, lui-mme implment sur un DSP. Cet article offre une excellente rcapitulation des tapes requises pour la conception d'un
entranement lectrique.
Les deux publications suivantes sont les seules que nous ayons trouves qui discutent de simulation en temps rel d'entranements lectriques. Dans celle de Matuonto et
al. [14], il n'y a aucune mention quant au convertisseur (qui est un cycloconvertisseur) ce
qui nous porte croire que son fonctionnement est idalis et est simul de faon lmentaire. Les auteurs simulent une machine synchrone ples saillants l'aide de l'algorithme

de

Runge-Kutta

d'ordre

(intgration

itrative),

avec

une

priode

d'chantillonnage de 1 ms. Dans l'article de Dezza et al. [15], la topologie simule est un
onduleur MLI, semblable un cas mentionn plus haut, et le fonctionnement du convertisseur est encore une fois idalis. Cependant, la simulation utilise 1' algorithme
d' Adams-Bashforth d'ordre 3 avec une priode d'chantillonnage plus raisonnable de
200 JJ.s. La simulation est ralise sur un DSP TMS320C30 et l'interface avec la simulation est ralise grce au logiciel Labview, qui est excut sur un ordinateur Macintosh.
Le logiciel Labview permet d'entrer les paramtres de la simulation priori et de visualiser les rsultats sur des graphiques posteriori.
Nous rsumons maintenant les rsultats de diverses recherches faites l'aide de
concepts autres que ceux mentionns date. Tout d'abord, nous avons gard en tte tout
au long de nos travaux la possibilit de faire de la simulation hybride. Ce que nous entendons par simulation hybride est la simulation d'un systme dont une partie est modlise
avec l'approche nodale et l'autre partie est modlise l'aide de l'approche par variables
d'tat. Nous avons recueilli deux publications traitant de simulation hybride. Dans celle
de Zavahir et al. [ 16], on simule un convertisseur HTCC (haute tension courant continu)
l'aide de la reprsentation d'tat et cette simulation s'intgre dans un rseau plus large
qui est simul l'aide de l'approche nodale. Dans l'article de Kang et Lavers [17], on utilise les deux approches afin d'obtenir un systme d'quation sous une forme assez origi-

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.

Il

nale, qui est cependant itrative. Les auteurs prtendent conserver les avantages des deux
mthodes tout en liminant les inconvnients propres chacune. L'efficacit de la
mthode propose est illustre l'aide d'un onduleur triphas thyristors.
Un autre papier intressant, que nous n'arrivons pas placer dans une catgorie
particulire, est celui de Wasynczuk et Sudhoff [18]. Ce papier nous intresse puisqu'on
y dcrit une mthode systmatique d'obtention de la reprsentation d'tat d'un systme
complet. En guise d'exemple, on illustre l'application de la mthode dveloppe l'aide
d'une topologie consistant en une machine synchrone raccorde un redresseur diodes.
Le tout est implment dans l'environnement ACSL, un langage symbolique permettant
de solutionner les quations diffrentielles. La procdure dcrite est cependant de nature
itrative et n'est donc pas applicable en temps rel.
La discrtisation du processus d'intgration est le dernier sujet que nous discutons
dans cette revue de la littrature. Nous avons tudi durant un certain temps une publication de De Abreu-Garcia et Hartley [19] qui dcrit une technique d'intgration discrte,
baptise "Matrix Stability Region Placement" (MSRP). Il s'agit d'un oprateur d'intgration matriciel qui permet de fixer la priode d'chantillonnage non pas en fonction de la
stabilit de la simulation, mais en fonction du degr de prcision dsir. De plus, cette
mthode a t spcifiquement conue pour simuler, en temps rel, les systmes rigides.
Elle exige cependant que le systme simuler se prsente sous forme de reprsentation
d'tat (linaire ou non). Enfin, nous avons analys les mthodes d'intgration discrtes
l'aide de deux volumes de rfrence, soir celui de Chua et Lin [6] et celui de Hartley et al.

[20].
Cette recherche bibliographique nous permet de tirer trois grandes conclusions (la
troisime tant une consquence des deux autres):

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.

12

a.

beaucoup de publications traitent de l'un des sujets suivants: simulation de


machines lectriques, de convertisseurs de puissance ou d'entranements
lectriques;

b.

seulement quelques unes de ces publications traitent de simulation en temps


rel d'entranements lectriques et dans ces publications, la dynamique du
convertisseur est idalise; par consquent, le convertisseur n'est pas vraiment simul;

c.

date, personne ne semble avoir publi d'article o l'on simule en temps rel
un ensemble convertisseur-machine lectrique (un entranement) en mode
isol.

Cette dernire conclusion nous encourage et nous angoisse un peu en mme temps.
Elle nous encourage dans l'optique o un projet de doctorat doit apporter une contribution originale. Il semble que ce soit le cas. Cependant, le fait de n'avoir trouv aucune
publication traitant spcifiquement de notre sujet est intrigant, en ce sens o il s'agit de
quelque chose de difficile raliser, ou alors il n'y a pas d'intrt ( date) poursuivre un
tel but. Dans l'optique de cette dernire remarque, il est fort possible que les limites de la
technologie aient empch la ralisation de simulations en temps rel d'entranements
lectriques. Or ces limites sont constamment repousses.

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.

CHAPITRE 1
MODLISATION DES SYSTMES LECTRIQUES L'AIDE DE
LA REPRSENTATION D'TAT

Afin d'tudier la possibilit d'utiliser l'approche par variables d'tat pour faire des
simulations en temps rel, il est important de pouvoir gnrer systmatiquement les quations d'tat d'un systme quelconque. Ce premier chapitre a pour but de prsenter une
synthse des notions associes la modlisation des systmes lectriques 1' aide de la
reprsentation d'tat.

Nous avons constat qu'il existe essentiellement deux mthodes pour obtenir les
quations d'tat d'un rseau lectrique. Une premire mthode consiste en l'analyse de
rseaux rsistifs multiports [6,3]. Avec cette mthode, on extrait sous forme de ports toutes les composantes non-rsistives du circuit, puis on substitue ces ports par une source
approprie (tension ou courant) et on obtient ainsi la contribution de chacune des composantes sur 1' ensemble du circuit. La seconde mthode est base sur la thorie des graphes
[6,3]. C'est cette dernire approche qui est dcrite dans le prsent chapitre. Nous comparons les performances des deux mthodes la fin du chapitre.

Nous prsentons d'abord les notions de base de la thorie des graphes linaires. Ces
notions sont ensuite appliques l'obtention des quations d'tat de systmes simples,
comportant uniquement des sources idales et des composantes passives (rsistances,
condensateurs, inductances). Nous ajoutons ensuite la possibilit d'inclure dans les systmes modliser les transformateurs et les inductances couples. Nous discutons des

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.

14

capacits de notre mthode dtecter les erreurs qui peuvent dcouler de mauvaises donnes d'entre et concluons ce premier chapitre en comparant les performances de notre
mthode d'obtention des quations d'tat avec une mthode alternative.

De faon gnrale, un systme est dcrit avec l'approche par variables d'tat par les
deux quations

i = Ax+Bu

y= Cx+Du'

(1-l)

o x est le vecteur des variables d'tat, u est le vecteur des entres et y est le vecteur
des sorties. Pour ce qui est des matrices, A est la matrice des paramtres du systme, tandis que B et C sont les matrices de couplage des entres et des sorties, respectivement.
Enfin, D lie directement les sorties aux entres et est souvent nulle.

Il est important de noter que les systmes lectriques pour lesquels la procdure
dcrite ici est applique sont des systmes linaires. Les lments non-linaires comme
les machines lectriques et les interrupteurs sont considrs ce stade comme des sources
de courant externes et sont des entres du point de vue de la reprsentation d'tat. Nous
dcrivons au chapitre suivant des mthodes permettant d'inclure ces composants dans la
reprsentation d'tat.

1.1

Thorie des graphes linaires

Afin d'expliquer notre algorithme de calcul de reprsentation d'tat, nous devons


d'abord rappeler quelques notions fondamentales sur la thorie des graphes.

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.

15

1.1.1 Dfinitions

Le graphe correspondant un rseau lectrique donn est un ensemble de points


(les noeuds du rseau) relis ensemble par des segments (les lments du rseau). Un
noeud de rfrence doit tre choisi et il est pratique courante d'assigner ce noeud le
numro zro. Dans le cas de systmes lectriques, le graphe est toujours orient,
c'est--dire qu'une direction est assigne chaque segment. Cette direction correspond
au sens de circulation du courant dans l'lment que reprsente le segment en question.
Une exception ne respecte pas cette rgle: les sources de tension indpendantes, auxquelles on doit assigner la direction contraire celle du courant. La figure 1-l reprsente un
circuit simple et son graphe. ce stade-ci, la nature des lments formant le rseau n'est
d'aucune importance et cette information n'est pas contenue dans le graphe.

Un arbre est dfini comme tant un sous-graphe connect comprenant tous les
noeuds du graphe l'tude ainsi qu'un certain nombre de ses segments, lesquels sont
choisis de telle sorte qu'aucune maille ne soit forme. Tous les noeuds doivent tre touchs par au moins un segment. Les segments faisant partie de l'arbre portent de nom de

branches de l'arbre, alors que les segments ne faisant pas partie de l'arbre sont nomms
les liens de 1' arbre. Si un graphe comprend n+ l noeuds, 1' arbre doit contenir n branches.

Rcb

Figure l-1

Un circuit simple et son graphe.

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.

16

La figure l-2 illustre un arbre correspondant au graphe de la figure 1-1. Nous disons un
arbre plutt que l'arbre parce qu'il n'est pas unique pour un graphe donn.

Figure 1-2

- - - t.~
.

branches

- - - _.

liens

Un arbre correspondant au graphe de la figure 1-1.

1.1.2 Matrices fondamentales

Il existe trois matrices fondamentales lorsque la thorie des graphes est utilise
pour dvelopper les quations d'tat d'un systme lectrique, soit:

a.

la matrice d'incidence nodale;

b.

la matrice des mailles fondamentales;

c.

la matrice des coupures fondamentales.

1.1.2.1 Matrice d'incidence nodale

Cette matrice est souvent symbolise par A et ne doit pas tre confondue avec la
matrice d'tat A. La matrice d'incidence nodale A dcrit la topologie du systme en faisant abstraction de la nature des lments qui le composent. Pour un graphe comportant n

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.

17

noeuds et s segments, la matrice A est forme de n ranges et s colonnes. Ses lments


peuvent prendre les valeurs 0, -l ou l, selon les conditions dcrites en ( l-2).

0: si le segmentj n'est pas incident au noeud i


A IJ.. =

-l: si le segmentj est incident au noeud i et sort de ce dernier


l : si le segment j est incident au noeud i et entre dans ce dernier

(1-2)

La matrice d'incidence nodale n'est pas vraiment utile dans le dveloppement qui
suit. On utilise plutt la matrice d'incidence nodale rduite, qui est simplement la matrice
d'incidence nodale de laquelle on retire la range correspondant au noeud de rfrence.
La matrice d'incidence nodale rduite correspondant au graphe de la figure 1-1 est montre en (l-3).

Esrc Csn Cch Rrrc Rsn R,.h Rdit1 Lsrc Lch

nr
n2

A =

n.J
n.,
ns

-1

0 0 -1
0 0 0 l
0 -l 0 0
0 1 0 0
0 0 -1 0

0 0 0 0
0 0 0 -1
0 0 -l 1
-1 0 0 0
1 -1

0
0
0
0

(1-3)

0 -1

1.1.2.2 Matrice des mailles fondamentales


La seconde matrice importante pour nos dveloppements ultrieurs est la matrice
des mailles fondamentales, identifie par Bf Elle comporte autant de ranges qu'il y a de
liens dans l'arbre et autant de colonnes qu'il y a de segments dans le graphe. On obtient
cette matrice, une fois l'arbre choisi, en ajoutant un un les liens dans le graphe. Une
maille fondamentale (une ligne de la matrice B1) est ainsi forme. L'orientation de la
maille est celle du lien qui la dfinit. La maille fondamentale dfinie par le lien Lsrc est
illustre la figure l-3.

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.

18

Figure 1-3

Maille fondamentale dfinie par le lien LsrC'

Comme la matrice d'admittance nodale, les lments de la matrice des mailles fondamentales ne peuvent prendre que les valeurs 0, -1 et 1 selon les conditions nonces en
(l-4).

0: si la maille dfinie par le lien i ne comprend pas le segmentj


BJ .. =
1}

1: si la maille dfinie par le lien i comprend le segmentj


et que les orientations concident

(l-4)

-1 : si la maille dfinie par le lien i comprend le segment j


et que les orientations ne concident pas

La matrice des mailles fondamentales B1 correspondant l'arbre de la figure 1-2 est


donne en ( 1-5). La partie encadre correspond la maille fondamentale illustre la
figure 1-3.

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.

19

Bf

=:

0 0 -l 0 0 l 0 0 0
0 -l 0 0 l 0 l 0 0

~-1----------- l

Rch
RJ;,

-0- -0--.--0 -is;..:

(1-5)

___l -ici..

-o--o-~i--6--o--o--o-o

La matrice des mailles fondamentales permet aussi d'exprimer une gnralisation


de la loi de Kirchhoff des tensions. En considrant que v est le vecteur des tensions aux
bornes de tous les segments d'un graphe, on obtient l'expression (1-6). Pour l'arbre de la
figure 1-2, le rsultat est l'expression (1-7).

(1-6)

VEsrc
Vcsn
VCc/1

0 0 -1 0 0 1 0 0 0
0
0-1 0 0
0 0
1 1 0 0 1 0
-l
0 0 -1 0 0 0 0 0

VRsrc
VRsn

VRc/1

0
0
0
0

(1-7)

VRdio
VLsrc
VLc/1

En partitionnant correctement l'expression (l-6), il est possible d'exprimer les tensions des liens de l'arbre en fonction des tensions aux bornes des branches de l'arbre. En
effet, en utilisant les indices t et 1 pour identifier respectivement les grandeurs lies aux
branches et aux liens de l'arbre et en dsignant la matrice identit par/, on obtient (l-8).
En r-arrangeant cette expression, on obtient la relation ( l-9).

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.

20

(l-8)

v1

= -B,v,

(l-9)

L'quation (l-9) nous permet de conclure que pour un systme comprenant s segments et n branches, il suffit de calculer les tensions aux bornes des n branches (vecteur

v,) et les tensions des s-n liens (vecteur v1) seront obtenues partir des tensions de branches par combinaison linaire.

1.1.2.3 Matrice des coupures fondamentales


La dernire matrice ncessaire pour les dveloppements qui suivent est la matrices
des coupures (en anglais "cutsets") fondamentales, que nous identifions par le symbole

QI" Une coupure est cre lorsque l'on retire certains segments d'un graphe et que ce
retrait a pour effet de couper le graphe en deux sous-graphes disjoints. Une coupure fondamentale est associe chaque branche d'un arbre. En effet, si une branche est retire de
l'arbre, on obtient ncessairement deux graphes disjoints. Une coupure fondamentale est
donc dfinie par une branche de 1' arbre et par tous les liens de 1'arbre qui transitent entre
les deux sous-arbres obtenus lors du retrait de la branche. L'orientation de la coupure est
la mme que celle de la branche qui dfinit la coupure. Si on prend par exemple l'arbre de
la figure l-2 et que l'on retire la branche correspondant Cch (entre les noeuds n5 et n0),
on obtient deux arbres tel que montr la figure l-4.

On remarque que cette coupure fondamentale est oriente de 1' arbre 2 vers 1' arbre l
(orientation de la branche retire, Cch> et que les liens transitant entre les deux arbres sont
Rch Lch et Lsrc Cette coupure fondamentale est donc dfinie par la branche Cch et les
liens Rch Lch et Lsrc La matrice des coupures fondamentales permet de dfinir les cou-

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.

21

ns

..

. /

~.

__

...

arbre 2: n3, n4 , n5

1
1 Lch

/
~

.....

Figure 1-4

arbre 1: no. n1, nz

1\
Rch 1 1

-.

Coupure fondamentale forme par ie retrait de la branche Cch

pures de faon concise. Elle comporte autant de ranges qu'il y a de branches dans 1' arbre
et autant de colonnes qu'il y a de segments dans le graphe. Comme pour la matrice
d'admittance nodale et la matrice des mailles fondamentales, les lments de la matrice
des coupures fondamentales peuvent prendre les valeurs 0, -1 ou 1 selon les conditions
nonces en ( 1-1 0).

Qfij

0: si la coupure dfinie par la branche i n'est pas traverse


par le segment j
1: si la coupure dfinie par la branche i est traverse par
le segmentj et que les orientations concident
-1: si la coupure dfinie par la branche i est traverse par
le segment j et que les orientations ne concident pas

( 1-10)

La matrice des coupures fondamentales obtenue pour l'arbre de la figure 1-2 est
montre en ( 1-11 ). La partie encadre montre la range associe la coupure fondamentale cause par la branche Cch dcrite plus haut.

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.

22

1 0 0 0 0 0 0

1 0 Esrc

0 1 0 0 0 0 1 -1 0
----------------------------
: 0 0 l 0 0 l 0 -l l cch:
----------------------------
0 0 0 1 0 0 0 -1 0 Rsrc
CS/1

0 0 0 0

1 0

1 -1

(l-11)

0 Rsn

La matrice des coupures fondamentales est en quelque sorte le dual de la matrice


des mailles fondamentales et permet d'exprimer une gnralisation de la loi de Kirchhoff
des courants:

(1-12)

o i est le vecteur des courants de tous les segments de 1' arbre. Pour notre exemple,
la relation ( 1-13) est obtenue.

iEsrc
icsn

0
0
0
0

0 0 0
1 0 0
0 1 0
0 0
0 0 0

0 0 0 1
0 0 1 -1
0 1 0-1
0 0 0 -1
0 1 -1

0
0
1
0
0

icclr

iRsrc

0
0
0
0

iRsn
iRch
iRdio

(1-13)

iLsrc
iLch

La matrice des coupures fondamentales permet donc de lier les courants des branches de l'arbre aux courants des liens. ll est possible de partitionner la relation (1-12)
comme nous l'avons fait plus haut pour la matrice des mailles fondamentales. L'expres-

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.

23

sion ( 1-12) devient alors ( 1-14). En r-arrangeant cette expression, on obtient la relation

(l-15).

(l-14)

(l-15)

Le rsultat (l-15) nous permet donc de conclure qu'une fois calculs les courants
des liens, les courants des branches s'obtiennent par combinaison linaire de ces derniers.

Il existe une relation entre la matrice des coupures fondamentales et la matrice des
mailles fondamentales (le symbole' indique la transpose d'une matrice):

(l-16)

partir de cette relation, il dcoule que

(l-17)

Il est donc possible d'exprimer les deux lois de Kirchhoff (l-9) et (l-15) partir de
la matrice des coupures fondamentales seulement (partie associe aux liens), tel
qu'exprim en (l-18). Nous exploiterons ce rsultat un peu plus loin.

it
VI

= -Qlil

= (Ql)'vt

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.

(l-18)

24

1.1.3 Choix des variables d'tat

date, notre discussion de la thorie des graphes est de nature purement topologi-

que, en ce sens que nous faisons abstraction de la nature des composantes. En effet,
1' obtention de 1' arbre et le calcul des trois matrices fondamentales ont t prsents sans
parler de la nature des composantes. Nous allons maintenant considrer ces composantes.

L'obtention des quations d'tat l'aide de la thorie des graphes est base sur les
trois catgories d'quations suivantes:

a.

l'application de la loi de Kirchhoff des courants;

b.

l'application de la loi de Kirchhoff des tensions;

c.

les relations courant/tension de chacune des composantes du systme.

Pour des systmes passifs ne comprenant que des sources idales et les trois lments de base, les relations courant/tension et tension/courant requises sont les suivantes:

= RiR
vc = icdt + vc(O)
VR

bi

VL

diL
Ldt

VR

iR

=R

ic

= Cdt

iL

dvc

li

(l-19)

vLdt + iL(O)

Outre l'approche par variables d'tat, il existe deux autres mthodes couramment
utilises pour solutionner les systmes lectriques:

a.

mthode des noeuds;

b.

mthode des mailles.

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.

25

Nous allons discuter brivement de ces deux mthodes afin de justifier le choix des
variables dans l'approche par variables d'tat. D'abord, ces deux mthodes dcoulent de
l'application d'une des deux lois de Kirchhoff (courants ou tensions) suivie d'une substitution des relations courant/tension ou tension/courant des diverses composantes puis
d'une limination des variables dpendantes l'aide de l'autre loi de Kirchhoff (tensions
ou courants).

Dans le cas de la mthode des mailles, on applique d'abord la loi de Kirchhoff des
tensions dans toutes les mailles indpendantes, puis on substitue dans les quations obtenues les relations tension/courant (colonne de droite de ( 1-19)) des composantes passives. On applique ensuite la loi de Kirchhoff des courants dans le but d'liminer les
variables dpendantes et le rsultat est un ensemble d'quations intgro-diffrentielles,
comportant la fois des drives et des intgrales des courants de mailles.

Si l'on inverse l'ordre d'application des deux lois de Kirchhoff, on obtient alors la
mthode des noeuds. On applique d'abord la loi de Kirchhoff des courants, et on substitue dans le rsultat les relations courant/tension des composantes passives (colonne de
gauche de ( 1-19)) puis on limine les tensions dpendantes en appliquant la loi de Kirchhoff des tensions. Le rsultat final est encore un ensemble d'quations intgro-diffrentielles, mais comportant cette fois-ci des drives et des intgrales des tensions de
noeuds.

L'application de la mthode des noeuds ou de la mthode des mailles entrane donc


un ensemble d'quations intgro-diffrentielles. Il est possible d'liminer les intgrales
prsentes en drivant les quations, mais ceci lve l'ordre des quations finales. Il
s'avre que les intgrales des variables proviennent d'une part de la substitution de la
relation courant/tension des inductances dans le cas de la mthode des noeuds et d'autre
part de la substitution de la relation tension/courant des condensateurs dans le cas de la
mthode des mailles.

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.

26

Si les tensions de condensateurs et les courants d'inductances sont conserves


comme variables, le rsultat de l'application successive des deux lois de Kirchhoff sera
un ensemble d'quations diffrentielles du premier ordre, ou quations d'tat, avec
comme variables les tensions des condensateurs et les courants des inductances du systme. Dans le dveloppement qui suit, nous allons donc utiliser comme variables d'tat
les tensions des condensateurs et les courants des inductances.

Ceci complte la description des notions de la thorie des graphes requises pour
continuer le dveloppement de notre mthode d'obtention des quations d'tat d'un systme lectrique. Nous allons d'abord commencer avec les systmes comportant exclusivement des sources de tension et de courant idales et des lments passifs, soit des
rsistances, inductances et condensateurs.

1.2 Circuits passifs RLC

L'obtention des quations d'tat d'un systme lectrique l'aide de la thorie des
graphes comporte les grandes tapes suivantes:

a.

obtention de l'arbre topologique du systme l'tude;

b.

calcul des matrices d'incidence nodale et des coupures fondamentales;

c.

construction des matrices d'lments passifs (RLC);

d.

calcul des matrices d'tat A et B ( i

e.

= Ax + Bu );
calcul des matrices d'tat Cet D (y = Cx +Du).

Ces tapes seront dcrites dans les sections subsquentes, d'abord pour des circuits
RLC simples, puis pour des circuits comprenant en plus des transformateurs ou des

inductances couples (mutuelles).

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.

27

1.2.1 Obtention de l'arbre topologique

Lorsque l'on considre des systmes lectriques, les lments du rseau doivent
d'abord tre tris dans un certain ordre selon la nature des composantes. Cet ordonnancement dterminera quels composantes sont des branches de 1' arbre et lesquelles sont des
liens de l'arbre. Nous avons dj mentionn que les variables d'tat sont les tensions des
condensateurs et les courants des inductances du systme. Il s'agit maintenant de dterminer comment classifier les composantes ractives et dterminer lesquelles il serait prfrable de conserver dans 1' arbre.

Lorsque nous avons discut plus haut des lois de Kirchhoff et de leurs liens avec les
matrices des mailles et des coupures fondamentales, nous avons conclu que les tensions
des branches de l'arbre fonnent une base partir de laquelle il est possible d'obtenir par
combinaison linaire les tensions aux bornes de toutes les composantes du systme. De
faon analogue, les courants des liens de l'arbre fonnent une base partir de laquelle il
est possible d'obtenir par combinaison linaire les courants circulant dans toutes les composantes du systme. Ceci implique que si nous voulons avoir les tensions de condensateurs et les courants d'inductances comme variables d'tat, nous devrions favoriser la
prsence des condensateurs dans l'arbre et dfavoriser la prsence des inductances dans
l'arbre. Autant que possible, les condensateurs doivent donc tre des branches et les
inductances des liens.

Si tous les condensateurs du systme sont dans l'arbre et qu'aucune inductance ne


s'y trouve, l'arbre est dit propre. Dans ce cas, les variables d'tat sont toutes indpendantes. Si un condensateur n'a pu tre inclus dans l'arbre, c'est que le systme comporte une
maille capacitive et la tension du condensateur exclu n'est pas indpendante. De la mme
manire, si une inductance se retrouve dans l'arbre, c'est que notre rseau comprend une
coupure inductive, c'est--dire qu'il y a un noeud auquel ne sont raccords que des seg-

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.

28

ments inductifs. Le courant de l'inductance qui se retrouve dans l'arbre n'est donc pas
indpendant.

En appliquant un raisonnement similaire celui des lments ractifs, on peut


dterminer si les sources indpendantes de tension et de courant doivent tre des branches
ou des liens. Par dfinition, une source de tension impose sa tension. peu importe comment on la raccorde. Cette source ne peut donc en aucun cas tre un lien puisque si c'tait
le cas, la tension ses bornes seraient dicte par les branches de l'arbre. De la mme
manire. une source de courant, qui impose son courant, ne peut tre une branche puisque
dans cette ventualit, le courant qui la traverse serait dtermin par les courants des
liens. Les sources de tension doivent donc tre des branches et les sources de courant doivent tre des liens.

Enfin. les seuls lments dont nous n'avons pas discut dans le choix des branches
sont les rsistances. Celles-ci peuvent faire partie de l'arbre ou non. Elles doivent tre
considres aprs les condensateurs dans le choix des branches et on en prend juste assez
pour tenter de complter l'arbre. Si une fois toutes les rsistances considres il manque
encore des branches, on doit choisir certaines inductances. Les composantes doivent donc
tre tries dans l'ordre suivant:

a.

les sources de tension indpendantes E (doivent tre des branches);

b.

les condensateurs C;

c.

les rsistances R;

d.

les inductances L;

e.

les sources de courant indpendantes J (doivent tre des liens).

Une fois le tri des composantes complt, nous passons la construction de l'arbre
proprement dit. On considre chacune des composantes dans l'ordre tabli prcdemment. Pour un systme comportant n+l noeuds, l'arbre doit contenir n branches. Les

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.

29

branches ne doivent pas former de maille. L'arbre de la figure 1-2 a t construit en respectant ces rgles et en considrant la diode comme une rsistance.

La construction de 1' arbre associ un systme donn peut se faire la main si le


systme est relativement petit. Cependant, pour un circuit plus grand, la tche se complique et il devient pratique de programmer un algorithme pour accomplir ce travail. Nous
avons implment l'algorithme des ensembles de segments ("edge sets") [7]. Il s'agit de
crer initialement au plus n/2 ensemble de segments vides pour un systme comportant

n+ 1 noeuds. On considre ensuite un un les segments (tris selon l'ordre tabli ci-dessus) du graphe. Selon que chacun des deux noeuds associs chaque segment fait partie
d'un ensemble de segments ou non, ces noeuds sont ajouts dans un ensemble spcifique
ou les ensembles sont concatns selon le cas. la fin du processus, tous les noeuds du
graphe sont dans le premier ensemble et tous les autres ensembles sont vides.

Nous avons programm cet algorithme en langage Matlab. Les cellules ("cell
arrays"), un nouveau type de donnes dans Matlab 5, ont t d'une grande utilit pour
accomplir cette tche.

1.2.2 Calcul des matrices d'incidence nodale et des coupures


fondamentales
Une fois que l'on a trouv un arbre topologique correspondant notre rseau, on
peut construire la matrice d'incidence nodale rduite A. Les segments sont pralablement
re-tris, de faon avoir d'abord les branches de l'arbre, suivies des liens. La matrice
d'incidence nodale rduite A est finalement partitionne (A= [ArAl 1) pour usage ultrieur; Ar contient les colonnes de A correspondant aux branches de l'arbre, alors que At
contient les colonnes de A correspondant aux liens de l'arbre. La matrice d'incidence
nodale rduite correspondant notre exemple est montre en ( 1-3).

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.

30

La matrice des coupures fondamentales est ensuite obtenue en effectuant une


rduction de Gauss-Jordan sur la matrice d'incidence nodale rduite. On obtient une
matrice dont la partie de gauche est une matrice identit et la partie de droite est la
matrice de coupures des liens, symbolise par Q1 (Q1 = [ 1 QI]). La matrice des coupures
fondamentales correspondant la matrice d'incidence nodale (1-3) est prsente en
(1-11).

Pour des besoins ultrieurs, la matrice des coupures fondamentales des liens Q1 est
ensuite partitionne tel que montr en ( 1-20). Les zros prsents dans la premire colonne
et la dernire range de (l-20) s'expliquent de la faon suivante. D'abord, si un condensateur du systme est un lien (prsence de la premire colonne de (1-20)), c'est parce
qu'il y a une maille capacitive dans le systme. Or, une telle maille ne peut inclure de
rsistance ou d'inductance. Il ne peut donc y avoir de termes non-nuls dans les deux dernires ranges de la premire colonne de ( 1-20). Rappelons que d'aprs la relation entre

Q1et B, ( 1-17), la premire colonne de ( 1-20) est aussi la premire range de B,. En appliquant un raisonnement similaire, si une inductance est une branche (prsence de la dernire range de (l-20)), c'est qu'il y a ncessairement une coupure inductive. Or, une
telle coupure ne peut comprendre de branche capacitive ou rsistive. Par consquent, il ne
peut donc y avoir de termes non-nuls dans les deux premires colonnes de la dernire range de ( 1-20).

liens--+C

QEC QER QEL QEJ


QI

QCC QCR QCL QCJ

QRR QRL QRJ

1 branches

QLL Qu

R
L

Pour notre exemple, le partitionnement obtenu est montr en ( 1-21 ).

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.

( 1-20)

31

--~ o:_J _o
R

0 11-l
1 01-l

0
l
-0

0 ol-t
o 1~-t o
QEC

QEJ

QRR

[o o]

QEL

[~ ~

QCL

= fo Ol~

QCC

~0

QCJ

QRJ

= [t 0]

[-l oltj
-1

r-l
L-t

RL

QLL

(1-21)

ol
oj
Qu

= []

1.2.3 Matrices des lments passifs

Cette tape est la dernire avant le calcul des matrices d'tat. Il s'agit en fait
d'assembler les diffrentes matrices contenant les valeurs des composantes du systme de
faon ordonne. Les composantes faisant partie de 1' arbre sont dans une matrice spare
de celle du mme type de composantes ne faisant pas partie de l'arbre. Si l'on considre
les systmes ne contenant que des lments RLC (pas d'inductance couple ni de transformateur), les matrices suivantes sont dfinies et elles sont toutes diagonales:

a.

Rr: matrice des branches rsistives;

b.

R1: matrice des liens rsistifs;

c.

Gr: matrice des conductances faisant partie de l'arbre (Rr- 1);

d.

G1: matrice des conductances ne faisant pas partie de l'arbre (R1- 1);

e.

Cr: matrice des branches capacitives;

f.

C1: matrice des liens capacitifs;

g.

Lu: matrice des branches inductives;

h.

L11 : matrice des liens inductifs.

Pour notre exemple, les matrices suivantes sont obtenues:

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.

32

c,

R,

[c,.o ccl,oJ

= [R"'
0

0]

[R,h

Rt=

0 Rdio

0]

r"' 0

= ct = []

( 1-22)

L 11 =

Rsn

Lu

0 Lch

partir de ces matrices de composantes lmentaires et des sous-matrices Qxy dfinies plus haut, on obtient les matrices finales des composantes ( 1-23). Ces matrices
seront dfinies un peu plus loin lorsque nous dvelopperons les matrices d'tat A et B.

R
G

= RI+ Q'RRRtQRR
= G, + QRRGIQ RR
1

= C, + QccCtQ'cc

= Lu+ Q'LLLttQLL

( 1-23)

Pour notre exemple, les matrices suivantes sont obtenues:

R= [

Rel,
0

Rdio:R.J

[c,. oJ
0 cch

G=

Rsrc
0

( 1-24)

1
1
-+-Rsn Rdio

L=

[L'" 0]
0 Lch

1.2.4 Matrices d'tat A et B

Dans cette section, nous dveloppons les quations requises pour le calcul des
matrices d'tat de circuits ne comprenant que des composantes RLC, sans transformateur
ni inductance couple. Ces deux dernires classes de composantes seront traites sparment dans les sections suivantes.

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.

33

ce stade, nous devons combiner les deux lois de Kirchhoff avec les relations courant/tension des composantes afin de dfinir les matrices de composantes finales. On
dfinit en premier lieu les vecteurs de tensions et de courants suivants.

v = [v, vJ'

i =

~~;J'

v, = [vE Ver vR, vuJ'

i, =

~E cr

[v ct VRI Vw V;]'

t =

~Cl

VI =

Rt iuJ'

( 1-25)

Rt iw ;;)'

Ensuite, on combine les quations (l-18) et (l-20) pour obtenir (l-26) ( 1-33).

E = -QEcct- QERRI- QELW- QEJJ

( 1-26)

ic, = -Qccict- QcRiRt- QcLiw- QcJi J

(1-27)

Rt

= -QRRRt- QRLiw- QRJJ

(1-28)

iu,

= -QLLiw- QuiJ

( 1-29)

vct = Q'EcvE + Q'ccvc,


VRI

= Q'ERVE + Q'cRVCt + Q'RRVRt

(l-30)
(1-31)

Vw = Q'ELVE + Q'cLVCt + Q'RLVRt + Q'LLVLtt

(l-32)

= Q'EJVE + Q'CJvCt + Q'RJVRt + Q'uvLtt

(l-33)

VJ

Nous devons maintenant liminer des quations ci-dessus toutes les variables que
nous ne voulons pas conserver dans les quations finales. Rappelons que les variables
d'tat sont les tensions des condensateurs de l'arbre ver les courants des inductances qui
ne sont pas dans 1' arbre i Ul et que les entres sont les sources de tension vE et les sources
de courant i1 .

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.

34

Nous commenons par liminer tous les courants des condensateurs Uer et

Cf)

et

les tensions des condensateurs qui ne sont pas dans l'arbre (vc1). Nous disposons cet
effet de la relation ( 1-34), valable pour les systmes invariants dans le temps.

( l-34)

On peut reformuler ( l-27) comme suit:

( l-35)

Nous introduisons ensuite ( 1-34) dans ( 1-35) en substituant

vc1 par ( 1-30). Le rsul-

tat est le suivant.

:,v

ct = (f

1
(-

QcRRt- QcLiw- QCJiJ + :,VE)

= C, + QccCtQ'cc

= -QccCLQ'Ec

( l-36)

L'quation ( 1-36) contient encore une variable qui doit tre limine, soit iRt Nous
y reviendrons plus loin. Nous allons d'abord liminer les vanables relatives aux inductances. Nous disposons cet effet de la relation ( l-37), valable encore une fois pour les
systmes invariants dans le temps.

= fLu o]:,[~uJ

l 0 Lu 'LtJ

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.

(l-37)

35

On reformule ensuite ( l-32) comme suit.

( 1-38)

On introduit ensuite ( 1-37) dans ( 1-38), tout en substituant iu1 par ( 1-29). Le rsultat est le suivant.

;,;w = (Lf'(
L=

Q'ELvE+ Q'CLvCt + Q'RLvRr +

L;/1)

Lu+ Q'LLLrrQLL

( 1-39)

L = -Q'LLLttQLJ
Comme dans le cas de l'quation (l-36), il reste dans (l-39) une variable liminer, soit vRr Pour liminer iRL de ( 1-36) et vRr de ( 1-39), nous disposons des relations suivantes.

iRI
VRt

= GlvRl
= R,iRt

( 1-40)

En combinant ( l-40) avec ( 1-28) et ( 1-31) et en r-arrangeant les termes, on obtient


un systme de deux quations deux inconnues ( 1-41 ).

iRt- G,Q'RRvR, = G,Q'cRvcr + GtQ'ERvE


R,QRRiRt+vRr

= -R,QRLiw-RrQRJiJ

(1-41)

La solution de ce systme est ( 1-42). Les sous-matrices intermdiaires sont dfinies


dans (1-43). Nous constatons avec (l-43) que l'existence des matrices Set T dpend de

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.

36

l'existence des matrices inverses dans les expressions t 1 et t2. Pour le type de systme
l'tude, il est possible de dmontrer que ces expressions sont toujours non-singulires.
Cette dmonstration se trouve dans [3].

( 1-42)

= Gt + QRRGIQ RR

t1

= (RrG> Rr

Sll
S12

Tll
T12

-1

R = RI+ Q'RRRtQRR
t2

= t1QRRGtQ'cR
= 11QRL
= 11QRRG1Q'ER
= 11QRJ

S21
S22

= (G1R) -1 G1
= 12Q'cR

= -t2Q'RRRtQRL
= t2Q ER

( 1-43)

T21

T 22 = -t2Q RRRtQRJ

L'tape suivante consiste insrer le rsultat (1-42) dans (1-36) et (1-39) et


r-arranger les termes. Les matrices intermdiaires ( 1-44) sont dfinies et le rsultat final
est ( 1-45).

= QcRR- 1Q'cR
F = Q'RLG- 1QRL
f' = QcRR-IQ,ER
y

= Q'RLG- 1QRJ

H = -QcL + QcRR- Q'RRRtQRL

G = Q'cL- Q'RLG- 1QRRGtQ'cR


fi

1
= -QcJ + QcRR- Q'RRRtQRJ
1

(; = Q'EL -Q'RLG- QRRGtQ'ER

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.

(1-44)

37

(l-45)

Un commentaire s'impose sur le rsultat (l-45), quant la prsence des drives


des entres dans le rsultat final. La matrice

sera non-nulle uniquement si le systme

1'tude comporte au moins une maille forme uniquement de sources de tension idales et
de condensateurs. De la mme manire, la matrice

L sera non-nulle uniquement si le sys-

tme 1' tude comporte au moins une coupure forme uniquement de sources de courant
idales et d'inductances. Ces deux situations sont normalement considres comme des
dgnrescences [6] et ne sont pas permises. Dans tous le dveloppement qui suit, nous
considrons donc la matrice 8 2 nulle et par consquent, les drives des entres n'apparaissent pas dans les quations d'tat finales. Les rsultats suivants sont obtenus pour
notre exemple.

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.

38

Y=

Rdio + Rsn

H=

dao+

l
- l+

G= [

sn

F=

[]
l-

-l
Csn<Rdio + Rsn>

fi=

[]

G=

[~]

Rdio

-l

+ Rsn

( l-46)

csn

sn

Rdio + Rsn

-1

Lsrc

Lsrc

0
0

-l

Cc~, Re~,

A =

sn

R~oR+ Rsn l ]

Rsn

-l

-l

[~]

_ l+

sn
0
RdioR+ Rsn
]

Re~,

F = [R src + RR,.R.,.
.
R
0J

Y=

l-

cch
-Rsrc- R

RsnRdio
R
dio+ sn

B=

( l-47)
Lsrc

Lsrc

cch

Lch

1.2.5 Matrices d'tat Cet D

Il existe principalement deux types de sorties que 1' on peut visualiser dans un systme lectrique, soit:

a.

la tension entre deux noeuds, ce qui couvre toutes les possibilits de mesures
de tensions;

b.

le courant circulant dans un segment.

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.

39

1.2.5.1 Sorties tension

Il existe une matrice P ("path matrix", ou matrice des chemins) qui dfinit un chemin ferm entre chacun des noeuds et le noeud de rfrence. Ce chemin est form uniquement de branches de 1' arbre. La matrice des chemins P s'obtient directement partir
de la matrice d'incidence nodale rduite selon la relation suivante.

( 1-48)

La matrice P est une matrice carre o chaque range reprsente un noeud du graphe (sauf le noeud de rfrence) et chaque colonne reprsente une branche de l'arbre.
Comme elle est obtenue partir de la matrice d'incidence nodale, elle ne contient que des
0, 1 et -1 selon les conditions suivantes.

p ij

0: si le chemin entre le noeud ; et le noeud de rfrence ne contient


pas la branche j
l: si le chemin entre le noeud i et le noeud de rfrence contient la
branche j et que les orientations concident

( l-49)

-l: si le chemin entre le noeud ; et le noeud de rfrence contient la


branche j et que les orientations ne concident pas

Si l'on connat toutes les branches comprises entre n'importe quel noeud et le
noeud de rfrence, on connat alors les branches comprises entre n'importe quelle paire
de noeuds. Nous avons donc besoin de ne considrer que les lments faisant partie de
l'arbre pour calculer les tensions entre deux noeuds:

a.

les sources de tensions indpendantes vE;

b.

les condensateurs C1;

c.

les rsistances R1;

d.

les inductances L11

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.

40

La tension aux bornes d'une source de tension est calcule de faon triviale, et il
n'y a qu' placer un "l" ou un "-l" au bon endroit dans la matrice D. La tension aux bornes d'un condensateur de l'arbre est une variable d'tat, donc il s'agit simplement de placer un "1" ou un "-1" au bon endroit dans la matrice C. Pour ce qui est de la tension aux
bornes d'une inductance de l'arbre, elle se calcule avec la relation suivante.

( 1-50)

Comme iw est variable d'tat, on obtient iut en appliquant la loi de Kirchhoff des
courants sur les noeuds o il y a des coupures inductives.

(1-51)

On obtient finalement vLit en combinant ( 1-50) et ( 1-51 ).

( 1-52)

Enfin, pour ce qui est des tensions aux bornes des rsistances de l'arbre, elles sont
donnes par la premire quation de ( l-42), obtenue plus haut lors du calcul des matrices
A et B.

1.2.5.2 Sorties courant

Dans le cas des tensions, ce sont les lments qui forment les branches de l'arbre
qui forment la base pour le calcul de toutes les tensions. Pour les courants, c'est l'inverse
c'est--dire que ce sont les liens qui forment la base pour le calcul des courants. Une fois
que 1' on connat les courants des liens, on dduit les courant des branches par application

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.

41

de la loi de Kirchhoff des courants sur les noeuds d'intrt avec la premire quation de
( 1-18). Nous devons calculer explicitement les courants des lments suivants:

a.

les condensateurs qui sont des liens;

b.

les rsistances qui sont des liens;

c.

les inductances qui sont des liens;

d.

les sources de courant indpendantes.

Le courant d'une source de courant s'obtient de faon triviale en plaant dans la


matrice Dun "1" ou un ''-1" au bon endroit. Le courant d'une inductance est une variable
d'tat et s'obtient aussi de faon triviale en plaant dans la matrice C un "l" ou un "-l"
au bon endroit. Le courant traversant un des condensateurs est calcul de faon analogue

la tension aux bornes d'une inductances, en appliquant la loi de Kirchhoff des tensions
dans les mailles capacitives de circuit:

(1-53)

Enfin, le courant dans une rsistance qui est un lien de l'arbre s'obtient avec la
seconde quation de ( 1-42), dveloppe plus haut lors du calcul des matrices A et B.

1.3 Circuits contenant des transformateurs


Les quations dcrites ci-haut sont valables seulement pour les cas o le rseau ne
contient que des lments passifs, sans transformateur ni inductance couple. Si l'on veut
considrer des lments non-rciproques, comme des transformateurs, il faut reprendre le
dveloppement des quations en changeant un certain nombre de choses.

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.

42

1.3.1 Matrices d'lments passifs affectes


D'abord, le fait de considrer les transformateurs requiert l'ajout d'un lment
important dans nos composantes: le transformateur idal. C'est le traitement du transformateur idal qui est crucial pour le bon fonctionnement de la mthode. Le transformateur
idal est un quadriple, alors que tous les lments considrs date sont des biples.
Chaque transformateur idal aura donc deux segments lui correspondant dans le graphe.
Pour des raisons de causalit, l'un des segments doit tre dans l'arbre et l'autre non. Si un
transformateur comporte plus de deux bobinages, tous les bobinages d'un ct du transformateur (primaire ou secondaire) devront faire partie de l'arbre et tous les bobinages de
1'autre ct ne devront pas en faire partie. Pour des raisons pratiques, nous avons adopt
la convention que le primaire d'un transformateur ne comporte qu'un seul bobinage et
que le bobinage ou les bobinages du secondaire sont ceux qui feront partie de l'arbre. Le
bobinage du primaire ne fera donc jamais partie de 1' arbre. La figure 1-5 rsume les relations de base requises pour le traitement des transformateurs.

v2 = Nv 1
i 1 = -Ni 2

Figure 1-5

Relations de base pour le traitement des transformateurs.

Contrairement au cas des circuits RLC, nous n'utilisons plus R,, R1, G, et G1 Nous
dfinissons de nouvelles relations tension-courant. L'quation (l-54) rsume toutes les
relations v-i requises, o la matrice Gu est une matrice de conductances, Gu est une
matrice de rsistances, G11 est une matrice de transfert de courant alors que G,1 est une
matrice de transfert de tension. Le rapport de transformation N doit tre plac au bon

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.

43

endroit dans les matrices G1, et G,b selon les relations de base de la figure l-5. On place
une conductance nulle dans G11 sur la diagonale, l'endroit correspondant au lien de
l'arbre du primaire du transformateur, et on place aussi une rsistance nulle sur la diagonale de

G,,. l'endroit correspondant la branche de l'arbre du secondaire du transforma-

teur.

[::~ =

(1-54)

1.3.2 Rseaux isols

L'inclusion d'un transformateur idal dans un systme lectrique a pour effet de


crer deux rseaux lectriquement isols l'un de l'autre et ceci change l'allure du graphe.
On obtient en fait deux graphes non-connects. La figure l-6 illustre un circuit simple o
l'on retrouve un transformateur et le graphe associ. Il est possible d'obtenir les quations d'tat d'un tel systme l'aide de la thorie des graphes. Il suffit d'apporter un petit
changement dans la procdure suivre. Il s'agit d'abord de dfinir un noeud de rfrence

Csn

Rsn
Dt

02

"
Es re

'V Rpr

Cch

no

ns
Figure l-6

no

Un circuit simple comprenant un transformateur idal et le graphe


correspondant.

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.

44

dans chacune des parties isoles, plutt que de dfinir un seul noeud de rfrence. Au lieu
de retirer une seule range de la matrice d'incidence nodale, on retire toutes les ranges
associes aux noeuds de rfrences. De plus, pour un systme comprenant n+ 1 noeuds et

r rseaux isols, on aura r arbres comprenant au total n-r branches. Lorsqu'un graphe
comprend plusieurs arbres, on parle d'une fort. Pour l'eltemple de la figure 1-6, il y a silt
noeuds et deux rseaux isols, donc la fort contiendra deux arbres et un total de quatre
branches. Les branches seront choisies dans le mme ordre que dans le cas sans transformateur, sauf que maintenant il faut considrer les enroulements primaire et secondaire de
chaque transformateur. Selon la convention tablie plus haut (chaque secondaire doit tre
une branche et chaque primaire doit tre un lien), 1' ordre de tri des composantes devient
le suivant:

a.

les sources de tension indpendantes E (doivent tre des branches);

b.

les secondaires des transformateurs idault Rsec (doivent tre des branches);

c.

les condensateurs C;

d.

les rsistances R;

e.

les inductances L;

f.

les primaires des transformateurs idaux Rsec (doivent tre des liens);

g.

les sources de courant indpendantes J (doivent tre des liens).

Une fort correspondant la figure 1-6 est illustre la figure 1-7. La matrice
d'incidence nodale correspondant la fort choisie est montre en (l-55), tandis que la
matrice des coupures fondamentales des liens et ses sous-matrices sont montres en
( 1-56).

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.

45

Figure 1-7

Fort correspondant au systme de la figure 1-6.


1

Em. Cm Cch R,l!c 1Rm Rch RJ;, R,, Lch

1
-1 0 0 o 1 o 0 0 -1 0
0 -1 0-1 1 0 0 -1 0 0
A=
0 1 0 0 l-I 0 0 0 0
0 -1
0 0 -1 0 1 1 -1

nr
n2

( 1-55)

nJ
n_,

Ar

IL
1-

E{ Q_Q_D_1J_0
-

t=c{

Q1

R{

-1
-1

0 0 01 0
1 -1 01 1
-1-oT o

1o

At
QER

= [o o o

-li

CR -

QRR

1]

0 0
-1 l -1

= [1

0 l 0]

~]

QEL

= [o]

QCL

QRL

[~

(l-56)

= [o]

1.3.3 Matrices d'tat A et B

Bien que l'inclusion des transformateurs change de faon subtile la procdure


d'obtention de la fort topologique, les calculs menant aux matrices d'tat changent
quant eux compltement. Les enroulements du transformateur sont considrs comme

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.

46

des rsistances ou conductances, puisque leur prsence modifie essentiellement les calculs de nature rsistive, tel qu'exprim en (1-54). Les rsultats du travail d'limination
des variables capacitives et inductives ralis plus haut, dans le cas o il n'y avait pas de
transformateur, demeurent valables (quations (1-36) et (1-39)). Cependant, nous devons
reprendre l'limination de (1-36) et (1-39) des variables rsistives non-dsires, vR1 et iRt
en remplaant (l-40) par (1-54). Les matrices A et B se calculent partir des mmes
matrices que dans le cas prcdent, mais les matrices intermdiaires deviennent ( 1-57) et
( 1-58).

y= -M9Q'cR

H = -QcL + M wQRL

F = M6QRL

G = Q'cL + MsQ'cR

y= -M9Q'ER

fi= -Qc;+MwQRJ

F = M6QRJ

G = Q'EL + M sQ'ER

(1-57)

= matrice identit, mme dimension que G11


/ 2 = matrice identit, mme dimension que Gu

11

M1

= /1 +Gt,QRR

M6

= -M4(M3Glt-Gtt)

M2

= 12 -G rt Q' RR

M7

= GuQ,RR(M 2)-1

M3 = GttQRR(M1)

-1

M4 = Q'RL(M2 +M3GuQ'RRf
Ms= -M4(M3Gu+Grt>

Ms = QcR(M1 + M7GttQRR)
1

-1

( 1-58)

M 9 = -M 8(M 7Gtt + G11 )

Mw= Ms(M7Gu+Gtr>

L'existence d'une reprsentation d'tat pour un systme comprenant un transformateur dpend du fait que plusieurs matrices doivent tre non-singulires (calcul de M 3 ,
M4, M7 et M8 dans (l-58)). Contrairement au cas o il n'y a pas de transformateur, il
n'est pas possible de prouver de faon certaine que ces matrices sont non-singulires. Si
l'une d'elle est singulire, cela ne veut pas ncessairement dire qu'il n'existe pas de

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.

47

reprsentation d'tat pour le systme. Cela signifie plutt qu'il n'est pas possible de trouver une reprsentation d'tat avec la procdure dcrite ici.

Les matrices intermdiaires obtenues pour 1' arbre de la figure 1-7 sont montres en

( 1-59). Les matrices d'tat A et B qui en dcoulent sont montres en ( 1-60).

1
0
Mt =
0
-N

0
0
0 1
0 -N

M2=

[1]

M3=

[o o o o]
M6 = [~
[o o o o]

M4 =

Ms =

A=

0
0
0

(l-59)

1 -1

----+Rsn Rcll Rdio Rsn

Rdio

-1

-1

CsnRsn

CsnRsn

Cs,1Rsn

-1
----

-+-

-1
CciiRsn

Rsn

Rcll

Rdio

ccli

-1

B=

Rsn

Rdio

ccli

ccli

( 1-60)

1.3.4 Matrices d'tat Cet D

tant donn que 1' ajout des transformateurs affecte essentiellement les matrices de
rsistances et de conductances du systme, seules les sorties tension aux bornes de bran-

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.

48

ches rsistives et courant des liens rsistifs sont affectes. On dfinit d'abord six matrices
intermdiaires comme suit.

D,
D2

Mll
M,2

= (M2 + M3GuQ'RRf'
= (M, +M1GrrQRR) -1
= D 1(-M 3Gu+G,1)
= D,(M3Gl,-Grr)

( 1-61)

M 13 = D 2(M 1G,1 +Gu)

M 14

= D 2(-M 1Gtt-G1,)

L'quation (1-42) demeure valide. Cependant, (1-43) devient (1-62).

s" = M"Q'cR
s,2 = M,2QRL
T 11 = M li Q' ER
T12 = Ml2QRJ

S21
S22

= M13Q'cR
= M,4QRL
= M,3Q ER
= Mt4QRJ
1

T21
T22

( 1-62)

1.3.5 Restrictions sur les paramtres


La technique de modlisation dcrite ci-haut permet d'inclure dans un systme un
transformateur idal, ce qui n'est pas le cas de la mthode qui a t utilise dans le
Power System Blockset version l. Dans le cas de ce logiciel, les rsistances de chaque
enroulement et la rsistance de la branche de magntisation devaient avoir des valeurs
finies non-nulles. ll tait cependant permis de spcifier des inductances de fuite nulles et
une inductance de magntisation infinie.

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.

49

Il y a un seul cas o l'on ne peut modliser des enroulements idaux avec la


mthode propose. Il s'agit du cas o les enroulements secondaires de plusieurs transformateurs forment une maille, par exemple dans une connexion triphase en triangle.
Comme tous les enroulements secondaires doivent faire partie de l'arbre, selon la convention tablie plus haut, un arbre ne peut tre construit dans ces conditions, puisque
l'arbre ne doit contenir aucune maille. Il est donc ncessaire dans ce cas de spcifier une
impdance de fuite (rsistance, inductance ou les deux) non-nulle dans chacun des enroulements secondaires.

La technique de modlisation prsente ici permet aussi de modliser un transformateur rel, avec impdances de fuites et de magntisation. Ces impdances sont simplement considres comme les autres composantes passives du systme.

1.4 Circuits contenant des Inductances couples

Originalement, nous traitions une inductance mutuelle comme un transformateur


ayant un rapport de transformation de un, tel qu'illustr la figure 1-8.

R 1: rsistance de 1'enroulement 1.
R2: rsistance de l'enroulement 2.

Rm: rsistance de la branche magntisante.


L 1: self-inductance de l'enroulement 1.
L2 : self-inductance de l'enroulement 2.

Lm: inductance magntisante.

Figure 1-8

Circuit quivalent d'une inductance mutuelle deux enroulements.

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.

50

Cependant, nous avons tudi certaines topologies o cette mthode donnait des
rsultats errons. Nous avons donc limin le transformateur idal et gnr des matrices
d'inductances et de rsistances avec des termes hors-diagonale aux bons endroits. Pour
l'exemple de la figure 1-8, les matrices suivantes sont obtenues.

(1-63)

1.4.1 Matrices affectes

Comme il peut maintenant y avoir du couplage entre plusieurs inductances, les


matrices L, et L11 ne sont plus ncessairement diagonales. De plus, comme certaines de
ces inductances peuvent tre des branches alors que d'autres sont des liens, il y aura
potentiellement du couplage entre les branches et les liens. La relation ( 1-37) ne tient plus
et est remplace par ( 1-64).

( 1-64)

Nous utilisons les mme relations rsistives (l-54) que dans le cas o il y avait des
transformateurs. Enfin, si l'on reprend le processus d'limination des variables inductives
non-dsires, on se retrouve avec la matrice d'inductances L. suivante.

( 1-65)

Outre cette nouvelle dfinition de la matrice L. le calcul des matrices d'tat A et B


demeure le mme que dans le cas des circuits contenant des transformateurs. Le proces-

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.

51

sus d'limination des variables inductives non-dsires modifie galement le calcul des
parties des matrices d'tat Cet D associes aux sorties de tension aux bornes des inductances qui sont des branches de l'arbre, qui devient le suivant.

V Lu =

[vtt vtJ [~cJ + [w 11 Wt 2]

'uJ

t3

V 11
vt2

[El
Jj

= (Ltl- LIIQLL)t-t

= t 3G
= -r3F

w11

= r/1

wt2

= -r3F

(l-66)

1.4.2 Restrictions sur les paramtres


Comme dans le cas des transformateurs, la mthode propose permet d'assouplir
certaines contraintes sur les paramtres, par rapport la version 1 du Power System
Blockset, o il n'tait pas possible de spcifier des rsistances nulles. De plus, l'inductance de magntisation Lm devait aussi tre non-nulle. La mthode de modlisation propose ici permet de spcifier des rsistances nulles et une inductance de magntisation
nulle. Ce dernier cas revient en fait des inductances non-couples.

1.5 Dtection d'erreurs dans les donnes d'entre


La modlisation des systmes lectriques base sur la thorie des graphes permet
galement de dtecter plusieurs types d'erreurs courantes. Par exemple, si lors de la construction de l'arbre une source de tension ne peut tre incluse dans ce dernier, c'est qu'il y
a une maille ne comportant que des sources de tension. En d'autres termes, il y a des
sources de tension en parallle, ce qui viole la loi de Kirchhoff des tensions. De faon
analogue, si une source de courant doit tre incluse dans 1' arbre pour atteindre un certain
noeud, c'est que nous sommes en prsence de l'un des deux problmes suivants:

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.

52

a.

la source de courant n'est pas raccorde au moins une de ses extrmits;

b.

il y a au moins deux sources de courant en srie.

Dans un cas comme dans 1' autre, la loi de Kirchhoff des courants est viole et une
erreur doit tre signale. Enfin, nous avons mentionn plus haut que les situations suivantes provoquaient des dgnrescences non-tolres:

a.

mailles composes uniquement de sources de tension et de condensateurs


(mailles CE);

b.

coupures composes uniquement de sources de courant et d'inductances


(coupures U).

Ces deux conditions sont dtectes grce la matrice des coupures fondamentales

Q,. En effet, si l'on dtecte un terme non-nul dans la sous-matrice QEc de (1-20), c'est
qu'il y a une maille CE. Comme chaque range de QEc correspond une source de tension particulire et chaque colonne de cette mme matrice correspond un condensateur
en particulier, il est possible d'indiquer l'usager quelle source de tension et quel condensateur causent cette dgnrescence.

De la mme faon, un terme non-nul dans la sous-matrice Qu de ( 1-20) indique la


prsence d'une coupure U. Encore une fois, nous connaissons les composantes qui causent le problme et elles peuvent tre indiques l'usager.

1.6 Analyse de performance


Afin de confirmer la validit de la mthodologie propose dans ce chapitre, les
divers algorithmes ont t programms en langage Matlab et des tests ont t effectus
sur un grand nombre de circuits. Dans un premier temps, les donnes d'entre devaient
tre fournies sous forme d'une matrice, o chaque range correspondait une compo-

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.

53

sante particulire et chaque colonne correspondait un paramtre de la composante, soit


entre autres:

a.

un numro de segment unique;

b.

un noeud de source et un noeud de destination;

c.

un type de composante (source de tension=!, condensateur=2, etc);

d.

la valeur de la composante (R=lO Q, C=4.7 J.LF, etc).

Cette faon de procder convenait lorsque les systmes analyser taient relativement petits, mais au fur et mesure qu'ils grossissaient, l'entre des donnes devenait
laborieuse. Un filtre a donc t cr afin de permettre l'entre des donnes partir du
Power System Blockset. Ce logiciel permet d'entrer graphiquement les donnes du circuit et les convertit en plusieurs matrices avant de faire l'analyse. Ce format tant incompatible avec celui requis pour notre mthode, une conversion s'avrait ncessaire, d'o le
dveloppement du filtre sus-mentionn.

Parmi les nombreux systmes sur lesquels nos algorithmes ont t tests, il y en a
un qui est particulirement gros. Ce systme comprend tout le rseau de transport d'un
tat amricain avec des connexions inter-tats. Il comprend 261 variables d'tat, 147
entres et 192 sorties. Le grand nombre d'entres et de sorties est principalement d au
fait que le systme comprend 17 lignes de transport paramtres distribus, lesquelles
sont modlises par des sources de courant non-linaires alimentes en tension. Chaque
ligne triphase requiert six sorties (trois tensions de phase chaque extrmit de la ligne)
et six entres (trois courants de ligne chaque extrmit). Ce rseau comporte aussi 48
transformateurs monophass, dont 30 ont deux enroulements et 18 en ont trois. Enfin, le
systme comprend aussi 17 inductances mutuelles triphases.

Au dpart, le seul critre de performance de nos programmes tait le temps requis


pour obtenir la reprsentation d'tat du systme. On souhaite que ce temps soit le plus

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.

54

petit possible. La principale raison pour laquelle nous avons choisi le rseau dcrit
ci-haut pour nos essais est que ce rseau est trs long analyser avec la version 1 du
Power System Blockset, mme sur des ordinateurs trs performants. La nouvelle
mthode permet de rduire radicalement le temps de calcul, comme le montre le
tableau 1-1. Ces essais ont t raliss sur un ordinateur SUN Ultra lO quip de 256 Mo
de mmoire vive et dont le processeur UltraSparc IIi comporte une horloge de 333 MHz.
Bien que les trois parties des calculs soient plus rapides qu'avant, notre travail affecte
seulement la partie 2, le calcul des matrices d'tat, du tableau 1-l. Le temps de calcul de
cette partie passe de 6h40 moins de six secondes, soit un gain en vitesse d'un facteur de
plus de 4000.
Tableau 1-1
Temps requis pour obtenir les matrices d'tat d'un grand rseau

Tche

l - Analyse graphique et conversion des donnes en matrices


2- Calcul des matrices d'tat
A,B, CetD
3 - Calcul des conditions initiales
permettant de dmarrer la simulation en rgime permanent

Temps requis
avec PSB 1.0
(s)

Temps requis
avec nouvelle
mthode
(s)

360

28

24200

5.8

11.0

7.6

la suite de ces essais, nous avons galement conclu que la mthode propose per-

met d'obtenir des matrices d'tat beaucoup plus "propres" et creuses. En effet, la
mthode employe pour le calcul de ces matrices dans la version l du Power System
Blockset cause beaucoup d'erreurs numriques, de sorte que les matrices contiennent un
grand nombre de termes ngligeables. Pour comparer entre elles les diverses matrices

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.

55

d'tat obtenues avec diffrentes mthodes de calcul, nous considrons comme rfrences
les matrices obtenues avec la mthode propose. En d'autres termes, tout lment qui est
nul dans une matrice obtenue avec la mthode propose et qui est non-nul dans la matrice
quivalente obtenue avec une autre mthode est considr comme un terme parasite. La
figure 1-9 permet de constater que pour la matrice A, d'ordre 261 et pouvant contenir au
maximum 68 000 termes, la mthode propose donne une matrice creuse plus de 93%
alors que la matrice obtenue avec le PSB 1.0 contient presque dix fois plus de termes.

Le plus petit terme non-nul obtenu avec la mthode propose est de l'ordre de

w-5.

La mme matrice obtenue avec le PSB 1.0 contient plus de 25 000 termes infrieurs
cette valeur et en compte prs de 16 000 qui sont suprieurs ce seuil, ce qui est prs de
quatre fois plus qu'avec la mthode propose. Le tableau 1-2 montre les taux de remplissage pour les quatre matrices d'tat, en comparant les deux mthodes d'obtention des
quations d'tat. On y remarque que la mthode propose permet de rduire substantiellement les termes parasites dans les quatre matrices.

b)

100

200

41795 termes non-nuls


(38.6% creuse)

Figure 1-9

100

200

4425 termes non-nuls


(93.5o/o creuse)

Patron de remplissage de la matrice d'tat A. a) avec le PSB 1.0;


b) avec la mthode propose.

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.

56

Tableau 1-2
Remplissage des matrices d'tat selon la mthode de calcul.

Matrice

Nombre
maximum
d'lments

Nombre de termes non-nuls


PSB 1.0

Mthode
propose

68 121

41 795

4425

38 367

13 326

1 596

50 112

32 711

2 010

28 224

12 612

1 049

1.7 Conclusions

Ce chapitre dcrit une mthodologie permettant d'obtenir systmatiquement la


reprsentation d'tat d'un systme lectrique quelconque. Bien que la thorie et les algorithmes soient en grande partie connus et documents, nous considrons que la combinaison de ces algorithmes et leur programmation, le tout rsultant en un logiciel fonctionnel,
est une contribution intressante.

tant donn les bonnes performances de cette mthode, les travaux dcrits dans le
prsent chapitre ont t intgrs la version 2.0 du Power System Blockset, commercialement disponible depuis l't 2000.

Enfin, l'obtention de la reprsentation d'tat d'un systme lectrique gnral n'est


que la premire tape dans nos travaux. Nous allons maintenant considrer plus spcifiquement une classe de systmes lectriques, savoir les entranements lectriques.

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.

CHAPITRE 2
MODLISAnON DES ENTRANEMENTS LECTRIQUES

L'AIDE DE LA REPRSENTAnON D'TAT

Le chapitre prcdent dcrit une mthodologie permettant d'obtenir la reprsentation d'tat de la partie linaire d'un systme lectrique quelconque. Dans notre dveloppement, nous avons trs peu parl des lments non-linaires prsents dans de nombreux
systmes. En fait, date, nous avons seulement mentionn que les modles de lignes
paramtres distribus taient modliss par des sources de courant commandes en tension.

Cette approche de modlisation est celle employe dans le Power System Blockset
pour toutes les composantes non-linaires, incluant:

a.

tous les types d'interrupteurs (disjoncteur, diode, thyristor, etc.);

b.

tous les types de machines lectriques (synchrone, asynchrone, etc.):

c.

les lignes de transport paramtres distribus;

d.

le parafoudre;

e.

la branche de magntisation du transformateur saturable.

Dans le cadre de nos travaux, nous avons conserv une approche similaire. Le prsent chapitre vise dcrire de faon plus spcifique comment nous modlisons les composantes non-linaires prsentes dans des entranements lectriques. Nous commenons
par considrer les systmes lectriques comportant des interrupteurs. Ensuite, nous ajou-

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.

58

tons la possibilit d'inclure les machines lectriques dans ces mmes systmes et nous
dcrivons le modle de machine asynchrone utilis dans nos travaux. Enfin, nous dcrivons une mthode qui permet d'obtenir une reprsentation d'tat unique pour toute la
partie lectrique d'un entranement, incluant la machine. Les performances de cette
mthode sont analyses en temps diffr.

2.1

Systmes comprenant des Interrupteurs


Nous considrons d'abord les systmes lectriques comportant des interrupteurs.

Le travail dcrit dans cette section s'applique tous les types d'interrupteurs, puisque le
macromodie de la partie lectrique d'un interrupteur demeure le mme, qu'il s'agisse
d'un disjoncteur, d'une diode, d'un transistor MOSFET ou autre. Seule la logique de
commutation varie d'un type d'interrupteur l'autre.

En premier lieu, nous discutons de la modlisation des interrupteurs. Nous dcrivons ensuite une mthode innovatrice rcemment mise au point pour mettre jour les
matrices d'tat suite la commutation d'interrupteurs.

2.1.1 Modlisation des interrupteurs


Il existe essentiellement deux grandes familles de modles d'interrupteurs, soit les
micromodles et les macromodles. Dans le premier cas, il s'agit de reprsenter fidlement le comportement statique et dynamique de l'interrupteur. Les micromodles sont
principalement utiliss par les concepteurs de circuits lectroniques et le niveau de dtail
avec lequel ils sont modliss rend les calculs associs leur simulation trs longs.
Cependant, lorsque le comportement dtaill de 1' interrupteur lui-mme importe peu et
que l'on veut plutt tudier le comportement d'un systme comprenant des interrupteurs,
un macromodle suffit [21]. Nous considrons trois types de macromodles d'interrupteurs, soit:

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.

59

a.

l'interrupteur idal (impdance nulle l'tat passant, impdance infinie


l'tat ouvert);

b.

le modle binaire rsistif (faible rsistance l'tat passant, trs grande rsistance l'tat ouvert);

c.

le modle binaire rsistif avec lment(s) ractif(s).

L'interrupteur idal est utilis entre autres dans le logiciel EMTP [22], lequel est
bas sur 1' approche nodale et la discrtisation trapzodale. L'approche nodale se prte
bien la simulation d'interrupteurs idaux puisque quand 1' interrupteur est ferm, les
deux noeuds auxquels il est raccord deviennent un seul noeud et on retire une range et
une colonne de la matrice d'admittance nodale. Cependant, la modlisation d'un interrupteur idal n'est pas possible lorsque le systme lectrique est exprim sous forme d'une
reprsentation d'tat puisqu'une rsistance nulle conduit une conductance infinie (et
vice-versa) et les matrices R et G deviennent singulires. Nous sommes donc contraints
d'utiliser au minimum un modle d'interrupteur consistant en une rsistance binaire.
Quant au modle binaire rsistif avec composantes ractives, il s'agit d'ajouter dans le
modle un certain nombre de rsistances, d'inductances et de condensateurs [7] afin de
reprsenter plus fidlement les caractristiques de l'interrupteur l'allumage et
1' extinction.

Nous avons utilis deux de ces modles dans nos travaux, savoir le modle
binaire rsistif et le modle binaire rsistif avec inductance en srie. Ces deux modles
sont illustrs la figure 2-l. Nous avons d'abord utilis le modle avec inductance en

a)

Figure 2-1

Macromodles d'interrupteurs utliss. a) modles binaire rsistif avec


inductance srie; b) modle binaire rsistif.

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.

60

srie. Cette inductance est typiquement de l'ordre du

JJ.H. L'inclusion de cette inductance

dans le modle se justifie de diverses faons. Dans le cas du modle employ dans le
Power System Blockset version 1, cette inductance sert briser la boucle algbrique [23]
forme lorsque le modle d'interrupteur, simul l'extrieur de la reprsentation d'tat,
est plac dans une boucle de contre-raction avec cette dernire, tel qu'illustr la figure
2-2.

Sources de tension
et courant

--

~
Courant
de l'interrupteur

Figure 2-2

Reprsentation d'tat
de la partie linaire
Modle
d'interrupteur

...

--

Mesures de tension
et courant
~

Tension aux borne s


de l'interrupteur

Interface de la partie linaire du systme avec le modle d'interrupteur.

L'ajout de cette inductance peut aussi se justifier par le fait que l'on cherche
modliser la caractristique de l'interrupteur l'allumage. En effet, lorsqu'un semiconducteur de puissance passe de l'tat bloqu l'tat passant, le courant ne s'tablit pas instantanment, mais croit graduellement comme dans une rsistance en srie avec une
inductance.

Cependant, 1' ajout de 1' inductance dans le modle a pour effet d'augmenter le nombre de variables d'tat, et par consquent la taille des matrices d'tat. Pour un circuit
comprenant seulement quelques interrupteurs, cette augmentation peut tre sans consquence. Cependant, pour des systmes comportant un grand nombre d'interrupteurs, par
exemple un systme de transport d'nergie courant continu, l'impact est loin d'tre
ngligeable. Une autre consquence de l'inclusion de l'inductance dans le modle est
qu'elle rend le systme trs rigide. Un systme est dit rigide lorsqu'il comporte la fois

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.

61

des dynamiques trs lentes et trs rapides. Lorsqu'un systme lectrique est exprim sous
forme d'quations d'tat, les valeurs propres de la matrice d'tat A sont en fait les ples
du systme. Le rapport. en valeur absolue, du ple avec la plus grande valeur sur le ple
avec la plus petite valeur donne le coefficient de rigidit [20].

Pour illustrer le concept de rigidit, considrons le circuit simple illustr la


figure 2-3. Il s'agit d'un redresseur diode simple alternance alimentant une charge
inductive. Un circuit amortisseur, consistant en une rsistance en srie avec un condensateur, est raccord aux bornes de l'interrupteur.

0.1 J.LF 100 n

Dio
lQ

Diode:

L = 10 J.LH (modle inductif seulement)


R

1 mH

Figure 2-3

=1 mQ (interrupteur ouvert)

R = 1 MO (interrupteur ferm)

Circuit simple utilis pour illustrer le concept de rigidit.

Les matrices d'tat ont t calcules pour ce circuit dans quatre conditions diffrentes, soit en utilisant alternativement les deux modles d'interrupteurs et dans chaque cas,
avec l'interrupteur ouvert (rsistance trs leve) puis ferm (rsistance faible). Les
valeurs propres de la matrice d'tat A ont t calcules et le coefficient de rigidit obtenu.
Le tableau 2-1 rsume les rsultats. En comparant les deux modles pour un mme tat de
l'interrupteur, on voit que le fait d'inclure une petite inductance srie dans le modle augmente substantiellement le coefficient de rigidit du systme.

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.

62

Tableau 2-1
Coefficients de rigidit obtenus dans diverses conditions

Modle d'interrupteur

tat de
l'interrupteur

Coefficient de
rigidit

ouvert

ferm

100

ouvert

1 ()()()()()()

ferm

10000

Binaire rsistif

Binaire rsistif avec inductance srie

Nous verrons au chapitre suivant qu'un systme caractris par un coefficient de


rigidit lev pose certains problmes au niveau de l'intgration numrique des quations.

2.1.2 Changements d'tat d'Interrupteurs


Nous avons dcrit au chapitre prcdent une mthode permettant d'obtenir la reprsentation d'tat de la partie linaire d'un systme lectrique. Nous avons aussi discut
la section prcdente de deux modles d'interrupteurs. Nous allons maintenant voir comment le modle d'interrupteur est interconnect au reste du systme.

Un interrupteur peut tre simul de diverses faons lorsque le systme est modlis
sous forme d'quations d'tat. Nous avons dj discut de la faon dont les modles
non-linaires sont simuls dans la version 1 du Power System Blockset (figure 2-2). Une
autre faon de faire serait de modifier la valeur de la rsistance d'un interrupteur directement dans la matrice des rsistances et de reprendre le calcul des matrices d'tat de la
mme manire que le calcul initial (chapitre 1). Or, le nombre de calculs impliqus rend
cette mthode peu attrayante pour une simulation en temps rel.

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.

63

Une mthode combinant ces deux approches a rcemment t dvelopp par Gilbert Sybille, un chercheur de l'Institut de Recherche d'Hydro-Qubec (IREQ). Nous
avons particip l'implantation et l'optimisation de cette mthode dans la version 2 du
Power System Blockset et allons maintenant la dcrire.

D'abord, cette mthode n'est applicable que pour des systmes o chaque interrupteur est modlis comme une simple rsistance binaire, sans inductance. En conservant la
convention tablie plus tt, soit que chaque interrupteur est une source de courant aliment en tension, on dfinit la relation suivante.

isw

(2-1)

Gswvsw

Dans (2-l ), isw est le vecteur des courants circulant dans les n.nv interrupteurs, G.nv
est une matrice diagonale dont les lments reprsentent les conductances des interrupteurs, et v.nv est le vecteur des tensions aux bornes des n.nv interrupteurs. Fait signaler,
cette faon de modliser les interrupteurs permet d'utiliser une rsistance intnie (conductance nulle) pour un interrupteur l'tat bloqu. Les tensions

Vsw

forment une partie du

vecteur des sorties y de la reprsentation d'tat de la partie linaire du systme. Le reste


du vecteur y contient diffrentes mesures de courants et tensions, que nous identifions par

Ymes Les courants

sw

forment quant eux une partie du vecteur d'entre u de cette mme

reprsentation d'tat. Le reste du vecteur u contient les sources indpendantes de tension


et de courant prsentes dans le systme. Ces sources sont identifies par "src Notre systme peut alors tre dfini tel qu'illustr la figure 2-4, o les matrices d'tat ont un suffixe o pour indiquer qu'il s'agit des matrices d'tat originales du systme. Il s'agit ensuite
de dvelopper les expressions dfinissant une nouvelle reprsentation d'tat quivalente
au schma de la figure 2-4, tel qu'illustr la figure 2-5.

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.

64

y-

u =

vsw]
[Ymes

DSW =

Figure 2-4

Schma-bloc illustrant la mthode de mise jour des matrices d'tat.

r-----------,
u i = A0 x + 8 0 u

y=C0 x+D 0 u

i = Ax+ Bu 1

y= Cx+Du 1

--y

l.-----------.J
Figure 2-5

Reprsentation d'tat quivalente (matrices A, B, Cet 0).

Les relations suivantes servent de base pour obtenir les expressions des nouvelles
matrices d'tat.

i = A 0 x+ 8 0 u

(2-2)

y= C0 x+D0 u

(2-3)

U2

= DswY

u = ul + u2

= Ul +DswY

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.

(2-4)
(2-5)

65

En substituant (2-5) dans (2-3), on obtient (2-6).

(2-6)

En isolant y dans (2-6), et en r-arrangeant les termes, on obtient les matrices C et

D de la nouvelle reprsentation d'tat. La matrice 1 dans (2-8) est une matrice identit de
dimension approprie.

y= Cx+Du 1

(2-7)

= (/- DoDsw) -1

(2-8)

= DXCO

(2-9)

D = DXDO

(2-10)

Dx

Pour le calcul des matrices A et 8, il s'agit d'abord de substituer (2-5) et (2-7) dans
(2-2}, puis d'arranger les termes. Le rsultat est le suivant:

= Ax+8u 1
= 8oDsw

(2-11)

A = A 0 + 8_tC

(2-13)

8=8 0 +8xD

(2-14)

8x

(2-12)

La mise jour des matrices d'tat A, 8, Cet D se rsume donc de la faon suivante,
lorsqu'un ou plusieurs interrupteurs changent d'tat:

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.

66

a.

mettre jour la matrice D sw qui contient sur sa diagonale les conductances


de tous les interrupteurs;

2.2

b.

calculer (2-8), (2-9) et (2-10);

c.

calculer (2-12), (2-13) et (2-14).

Machines lectriques

Nous abordons maintenant la modlisation de la composante centrale dans un


entranement, soit la machine lectrique. Comme tous nos travaux ont t effectus avec
une machine asynchrone ou machine d'induction, nous allons discuter uniquement de
cette machine. Aprs avoir prsent le modle utilis et justifi notre choix de variables
d'tat, nous discutons de l'impact du choix de la transformation de rfrentiel sur la stabilit de la simulation des entranements haute frquence de commutation. toujours en
temps diffr.

2.2.1

Modlisation de la machine asynchrone

La modlisation de la machine asynchrone est bien documente dans la littrature.


Cependant, il existe un grand nombre de modles. Le niveau de dtail du modle dpend
de l'application que l'on dsire simuler. Par exemple, pour un manufacturier de machines, il est imponant de faire des simulations d'une grande prcision si l'on souhaite
reproduire fidlement le componement de la machine dans toutes les conditions. D'autre
pan, si l'on dsire tudier l'impact de la dynamique d'une machine place dans un grand
rseau lectrique, il n'est pas ncessaire de la simuler de faon trs dtaille. Ceci dit,
notre choix de modle est dict par le fait que l'on dsire simuler cette machine en temps
rel, ce qui impose une contrainte svre au niveau du temps disponible pour rsoudre les
quations associes notre modle. Comme nous nous intressons aux entranements,
nous souhaitons simuler le plus fidlement possible le componement d'une machine

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.

67

relle, tout en respectant la contrainte de temps de calcul. Nous avons donc choisi d'utiliser un modle trs semblable celui dvelopp dans le cadre du Power System Blockset.

Ce modle utilise des transformations de rfrentiel afin de convertir les variables


de phase en variables dans le rfrentiel dq. L'utilisation de transformations de rfrentiel
est principalement motive par le fait qu'elle simplifie grandement les quations de la
machine. En effet, les matrices d'inductances de la machine varient dans le temps lorsque
les variables de phase sont utilises (rfrentiel abc). Certaines inductances sont des
fonctions du sinus ou du cosinus de l'angle rotorique. Les transformations dans le rfrentiel dq, judicieusement choisies, rendent ces inductances constantes. Ces transformations sont cependant applicables uniquement si les enroulements de la machine sont
quilibrs et distribus sinusodalement. Pour le moment, nous allons dvelopper les
quations de la machine dans le rfrentiel dq arbitraire et nous discuterons plus en dtail
des transformations de rfrentiel dans une section ultrieure.

Notre modle est bas sur les hypothses suivantes [24]:

a.

l'entrefer est uniforme;

b.

le circuit magntique est linaire (pas de saturation magntique);

c.

les enroulements du stator sont identiques et distribus de telle sorte qu'ils


produisent une force magntomotrice purement sinusodale, avec les phases
disposes de telle sorte qu'une seule force magntomotrice tournante est tablie lorsque les courants du stator sont quilibrs;

d.

les enroulements ou barres du rotor sont disposs de telle sorte que, tout instant, la force magntomotrice du rotor peut tre considre comme purement
sinusodale et comportant le mme nombre de ples que la force
magntomotrice du stator;

e.

les enroulements du rotor et du stator sont raccords en toile et le neutre


n'est pas accessible (connexion trois fils).

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.

68

Une caractristique importante du modle est la nature des variables d'tat. Dans la
plupart des modles de machines lectriques, les variables d'tat sont gnralement les
courants circulant dans les divers enroulements de la machine ou les flux de ces mmes
enroulements. Krause et Thomas [24] mentionnent que le choix devrait tre dict par le
systme d'quations qui requiert le moins de calcul. Selon eux, ceci se produit lorsque les
flux sont les variables d'tat. Cependant, leur motivation rduire les calculs provient du
fait que leurs simulations sont faites sur des ordinateurs analogiques. Dans ce cas, un calcul plus complexe signifie un plus gros ordinateur analogique. Dans notre cas, nous verrons la prochaine section que les quations de notre modle de machine sont insres
dans un systme d'quations plus gnral. Avec cette faon de procder, les courants de
la machine servent de variables d'interface et doivent tre les variables d'tat.

Les quations des tensions dans le rfrentiel dq arbitraire pour notre modle sont
donnes par (2-15). Les quations des flux sont quant elles donnes par (2-16). Le
schma quivalent correspondant ces quations est montr la figure 2-6 [25].

vqs

= rsiqs + ;t')..qs + O>cls

vJs

= riels+ ;t')..ds- O>qs


(2-15)

v qr
o

d ')..'
(
) ')..'
r ,, qr +dt qr + CJ)- ro, dr
1

.,

o o

"lo

v dr = r r1 dr+ dt/\. dr-

(1)-

ro, )"~'
1\. qr

qs

= Liqs + Ln/qr

ds

')..'qr

= L',i'qr + Lmiqs

')..'dr

= L',i'dr + Lmids

Ls

Lsids + Lmi'dr

Lts+Lm

L', = L'Ir+ Lm

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.

(2-16)

69

axeq

axed
Figure 2-6

Schma quivalent du modle de machine asynchrone dans le rfrentiel dq arbitraire.

Dans (2-15), (2-16) et la figure 2-6, on remarque d'abord qu'il n'y a pas de composante homopolaire, consquence du raccordement en toile trois fils. Les suffixes s et r
identifient les grandeurs lies respectivement au stator et au rotor. Les suffixes 1 et m
identifient respectivement les inductances de fuite (de l'anglais "leakage") et de magntisation. Les "primes" servent indiquer que toutes les grandeurs lies au rotor sont rfres au stator. Enfin,

ro et ro, identifient respectivement la vitesse angulaire du rfrentiel

et la vitesse angulaire lectrique du rotor.

Les quations d'tat de la partie lectrique de notre modle s'obtiennent en substituant les flux de (2-16) dans les quations des tensions (2-15), puis en isolant les drives
de tous les courants. On obtient alors deux systmes de deux quations deux inconnues
qu'il faut rsoudre. Le rsultat est le suivant.

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.

70

-rsL'r

: r ,Lm

-rorLmL'r ;qs
-rsL'r :rorLmL'r r'rLm
ids
Ct

-C 1
1
D -----------~----------'sLm rorLmLs: -r'rLs
C2
1

-rorLmLs

rsLm : -C2

1
D

i'qr
j'dr

-r'rLs

L'r

0 :-Lm 0

vqs

L' r : 0 -Lm

V ds

-L-m- -0- ~ L-s - -01

0 -Lm: 0

Ls

qr

v'dr

.,

D
C1

= L'rLs-L~

= L;( ro- ror)- roL' rLs


(2-17)

Afin de modliser le comportement de la machine complte, nous devons ajouter


(2-17) les quations relatives la partie mcanique de la machine. D'abord, le couple
lectromagntique Te dvelopp par la machine s'obtient l'aide de la relation (2-18)
[25], o p est le nombre de paires de ples de la machine.

Te

= 3 PLm("qs ., dr- .ds.,qr )


1

(2-18)

La partie mcanique de la machine (le rotor) est modlise par une masse cylindrique de densit unifonne tournant sur son axe. On considre que le rotor et la charge qu'il
entrane sont caractriss par un moment d'inertie combin Jet un coefficient de frottement visqueux F. Les quations dynamiques associes au rotor sont les suivantes:

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.

71

d
1
dt(J}m = )<Te-Tm- From)

d
dtem

(2-19)

= rom

Dans (2-19), rom et 9m identifient respectivement la vitesse angulaire mcanique et


la position angulaire mcanique du rotor, tandis que Tm est le couple mcanique de la
charge.

2.2.2 Les transformations de rfrentiel


L'quation (2-17) ayant t dveloppe dans le rfrentiel dq arbitraire, nous allons
maintenant discuter brivement des principales transformations de rfrentiel couramment utilises dans les modles de machines lectriques et justifier le choix du rfrentiel
retenu dans nos travaux.

2.2.2.1 Relations entre les variables de phase et le rfrentiel dq


arbitraire
Il est important de faire la distinction entre deux types de transformations de rfrentiel, soit les transformations appliques des circuits stationnaires et celles appliques
des circuits en rotation. Dans le cas de la machine asynchrone, ces deux types de transformation sont appliques respectivement au stator et au rotor. La figure 2-7 illustre le
passage du rfrentiel des variables de phase abc au rfrentiel dq arbitraire et ce, pour
des circuits stationnaires. On remarque que les axes d (direct) et q (quadrature) sont
orthogonaux et tournent une vitesse arbitraire ro. d'o le nom de rfrentiel dq arbitraire. L'axe magntique de la phase a a arbitrairement t plac l'origine du cercle trigonomtrique, qui sert de rfrence. L'axe q forme quant lui un angle 9 avec l'origine.
Le symbole f identifie la variable lectrique laquelle on applique la transformation et

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.

72

Figure 2-7

Reprsentation graphique de la transformation de rfrentiel pour des


circuits stationnaires.

peut tre soit un courant, une tension, un flux ou une charge lectrique. Dans notre cas, la
seule variable que nous transformons du rfrentiel abc vers le rfrentiel dq arbitraire est
la tension statorique de la machine. Comme nous considrons une machine triphase dont
les enroulements sont raccords en toile et que le neutre n'est pas accessible (connexion
trois fils), il y a seulement deux tensions indpendantes qui peuvent tre spcifies.
Nous avons arbitrairement choisi d'utiliser Vab et vbc comme tensions d'entre et ce, au
rotor comme au stator. Nous dfinissons donc une premire matrice de transformation de
rfrentiel en (2-20). Le symbole K sera utilis pour identifier toutes les matrices de
transformation et le suffixe s indique qu'il s'agit d'une transformation applique des
circuits stationnaires.

(2-20)
2cos8

cos9 + J3sin9l

2sin9

sin9- J3cos9j

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.

73

Il est galement important de dfinir la transformation complmentaire (2-20),


qui nous permettra le passage du rfrentiel dq arbitraire au rfrentiel abc. Dans notre
cas, la seule variable subir cette transformation au stator est le courant de phase. Encore
une fois, cause de la connexion en toile trois fils, seulement deux des trois courants
de phase sont indpendants. Nous avons arbitrairement choisi de travailler avec as et ibs
et la matrice de transformation associe ces courants est donne en (2-21 ). Nous utiliserons le symbole JC 1 pour identifier toutes les matrices de transformation permettant le
passage du rfrentiel dq arbitraire au rfrentiel abc.

(2-21)

= 1[
2cos6
2sin6
]
2 -cos6+J3sin6 -J3cos6-sin6

Il reste dfinir les relations entres les variables de phase abc et les variables dq,
mais cette fois du ct du rotor, ou de faon plus gnrale pour des circuits en rotation.
La figure 2-8 permet de dfinir les principales relations. Le rfrentiel dq forme toujours

fer

Figure 2-8

Reprsentation graphique de la transformation de rfrentiel pour des


circuits en rotation.

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.

74

un angle 9 avec la rfrence (origine du cercle trigonomtrique) et tourne toujours une


vitesse ro. Le rfrentiel abc quant lui tourne aussi une vitesse ro,. De plus, il forme un
angle 9, avec l'origine. Enfin, la diffrence d'angle entre les deux rfrentiels est identifie par le symbole ~.

Les variables que nous devons transformer au rotor sont les mmes qu'au stator,
c'est--dire que nous devons transformer les tensions rotoriques du rfrentiel abc vers le
rfrentiel dq arbitraire et les courants rotoriques en sens inverse, soit du rfrentiel dq
arbitraire au rfrentiel abc. Les matrices de transformations requises sont identifies en
(2-22) et (2-23). Le suffixe r indique que les transformations sont appliqus des circuits
en rotation.

Kr

![

=3

2cosp
2sinP

(2-22)

cos~+ J3sin~l
sinP- J3cos~J

(2-23)

= 1[

2cos~

2sinP

2 -cos~+ J3sin~ -J3cos~-sin~

2.2.2.2 Transformations de rfrentiel courantes


Il y a trois transformations de rfrentiel qui sont couramment employes dans la
simulation des machines lectriques. Dans chaque cas, il s'agit d'assigner une vitesse
particulire au rfrentiel pour obtenir une transformation donne. Ces transformations se
font dans les rfrentiels suivants:

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.

75

a.

rfrentiel dq fix au stator ou stationnaire;

b.

rfrentiel dq fix au rotor;

c.

rfrentiel dq synchrone.

Le choix optimal du rfrentiel dpend essentiellement de l'application. Dans chaque cas, il s'agit de rendre disponible les variables que l'on dsire observer tout en minimisant la quantit de calculs [24]. Nous allons d'abord prsenter les trois transformations,
aprs quoi nous discuterons de l'utilisation de chacune.

Le transformation dans le rfrentiel dq fix au stator ou stationnaire porte aussi le


nom de transformation de Clarke ou transformation

ap.

Ce rfrentiel tant fixe, la

vitesse est nulle. Comme la vitesse est nulle, l'angle du rfrentiel demeurera constant et
sa valeur est arbitraire. Nous avons choisi de travailler avec un angle nul. Pour obtenir les
matrices de transformation dans le rfrentiel dq stationnaire, il suffit donc de substituer
dans les matrices de transformations dans le rfrentiel dq arbitraire (2-20) (2-23) les
valeurs (2-24). Dans ces conditions, on obtient les matrices de transformation (2-25)
(2-28).

ro=O
8 = 0

p=
Ks

-er

![ -~J

=3

( K,f 1

(2-24)

(2-25)

=~ [ 2

(2-26)

-1 -./3

Kr

![

=3

2cos8r

cos9,- J3 sin 9,

-2sin8r

- sin8r- ./3cos8r

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.

(2-27)

76

(2-28)

Les matrices de transformation dans le rfrentiel fix au rotor s'obtiennent de la


mme manire. La vitesse du rfrentiel ainsi que sa position angulaire deviennent celles
du rotor. L'angle~ est alors nul. En substituant les valeurs (2-29) dans (2-20) (2-23), on
obtient les matrices (2-30) (2-33).

=9

(2-29)

![

cos8, + J3sin8~

Ks = 3

(2-30)

sm9,- J3cos9J

(2-31)

K =
r

![
3

2
0

= 1[2

(2-32)

ol

(2-33)

1
-J3J

2 -1 -J3J

Enfin, il nous reste dfinir les matrices de transformations associes au rfrentiel

dq synchrone. Ce rfrentiel tourne la vitesse du champ tournant du stator, que 1'on


identifie par le symbole roe, tandis que sa position angulaire est identifie par 9e. L'angle
~

est calcul chaque pas de simulation et consiste cette fois en la diffrence d'angle

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.

77

identifie la figure 2-8. Les matrices de transformation pour ce rfrentiel s'obtiennent


donc en substituant les valeurs (2-34) dans (2-20) (2-23). Le rsultat est (2-35) (2-38).

(1)

(l)e

(2-34)

8=8e

Ks =

(Ksf =

Kr

(K,f'

~[

2cos8e

cosO, + ../3sin0J

2sin8e

sin8e- J3cos8e

1[
2cos0,
2 - cos8e+J3sin8e

![
=![

=3

2sin0,

(2-36)

-J3cos8e-sin8e

2cosP

cosP +../3sinP]

2sinP

sinP-J3cosp

2cosP

(2-35)

2sinP

(2-37)

2 -cos p +J3 sin p -J3cosP-sinP

(2-38)

Nous avons dj mentionn que le choix de transformation de rfrentiel est essentiellement dict par les variables de phase que nous voulons observer ainsi que l'application. Quelques exemples sont fournis dans [24] et nous rsumons ces exemples dans ce
qui suit. Le premier cas cit est lorsque l'on utilise une machine asynchrone dans un
rseau lectrique quilibr. Si les tensions statoriques appliques une machine d' induction cage sont quilibres, les tensions Vqs et vds sont des constantes lorsque l'on utilise
le rfrentiel synchrone tandis que pour une machine cage, les tensions rotoriques v' qr
et v'dr sont nulles. Si les variables de phases au stator et au rotor ne nous intressent pas,
la machine peut tre simule dans le rfrentiel synchrone sans qu'aucune transformation
ne soit ncessaire. Si l'on dsire simuler cette mme machine dans des conditions quilibres mais que cette fois, on dsire observer les courants de phase statoriques, la transformation dans le rfrentiel stationnaire est celle qui requiert le moins de calculs. Si par

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.

78

contre on s'intresse aux courants de phase rotoriques, la transformation dans le rfrentiel fix au rotor sera la plus avantageuse.

Dans le cas o il y a un dsquilibre, que ce soit au stator ou au rotor, aucun rfrentiel ne permet d'obtenir des valeurs constantes de tension comme c'est le cas dans
l'exemple sus-mentionn. Si par exemple on simule une machine rotor bobin et que
des rsistances externes sont raccordes au rotor, il devient ncessaire d'obtenir les courants de phase rotoriques afin de modliser l'interaction entre le modle de machine et
ces rsistances, si ces dernires sont simules dans le rfrentiel abc. Si nous nous intressons aussi aux courants de phase statoriques, le rfrentiel fix au rotor ou le rfrentiel stationnaire permettront une simulation avec un minimum de calculs. Si par contre on
simule une machine cage comportant un rotor quilibr et que les courants de phases
rotoriques ne sont pas requis, le rfrentiel stationnaire permettra une simulation optimale puisque dans ces conditions, les matrices Ks et (Ksr 1 sont constantes et les matrices

Kr et (Krr 1 ne sont pas requises.


Dans nos travaux, nous nous intressons exclusivement la machine asynchrone
cage d'cureuil. Comme nous tentons de faire de la simulation en temps rel, il est important d'utiliser l'approche la plus performante. C'est pour cette raison que nous allons utiliser la transformation dans le rfrentiel stationnaire dans tout le dveloppement qui suit.
En substituant

ro =0 dans les quations d'tat de la partie lectrique de la machine asyn-

chrone dans le rfrentiel arbitraire (2-17), on obtient le systme d'quations d'tat suivant.

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.

79

-RsL'r -Lmror : R'rLm -LmL'rror iqs

iqs

1 L!ror -RsL'r : L,.L'r(J)r R'rLm


ids
d ids
dt-.,- =o-----------~-----------' qr
RsLm LmLsror: -R'rLs LsL'rror
1
i'dr
-LmLsror RsLm :-LsL'r(J)r -R'rLs
'

L' r

+D

:.-m

'
0 11-Lm 0
L'r: 0 -Lm
-0- ~ L-- -01

0 -Lm: 0

Ls

vqs

(2-39)

vds
v~;

v' dr

D = L'rLs-L!

2.3 Entrainement complet


Nous prsentons maintenant une technique permettant de modliser toutes les composantes d'un entranement lectrique dans un seul systme d'quations d'tat, permettant ainsi une simulation simultane sans dlai de la dynamique complte de
l'entranement. La technique en question est tire d'une thse de doctorat publie en 1979
[26]. Outre le fait qu'elle permet la solution simultane du systme entier, cette mthode
a le grand avantage d'utiliser un modle de machine dans le rfrentiel dq, ce qui en simplifie grandement les quations. Nous utiliserons le systme montr la figure 2-9 en
guise d'exemple. Il s'agit d'un onduleur MOSFET aliment par une source de tension
idale courant continu et alimentant une machine d'induction cage d'cureuil.

Figure 2-9

Schma de l'exemple.

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.

80

La premire tape consiste bien dfinir les diffrentes parties de notre simulation.

Le systme est d'abord coup en deux, soit le convertisseur et la source de tension d'un
ct et la machine de l'autre. Pour l'instant, la machine est considre comme deux sources de courant dites fictives [26] qui reprsentent les courants statoriques d'une machine
raccorde en Y trois fils, tel que montr la figure 2-1 O.

source et
convertisseur

1 mac h.me
1

Figure 2-10 Sparation du schma.

Le convertisseur voit donc deux ensembles d'entres:

=[vdc1 qui dans ce cas-ci ne contient qu'un lment;

a.

le vecteur e

b.

le vecteur i =lias ibs1r. qui contient les sources de courant fictives.

Ensuite nous devons subdiviser le systme nouveau. Il s'agit cette fois de sparer
la machine en deux parties, soit une partie commune avec le convertisseur (le stator) et
une partie propre la machine (le rotor). Notre systme comporte maintenant trois parties
distinctes, tel qu'illustr la figure 2-11. Dans cette figure, l'indice c est utilis pour
identifier une variable propre au convertisseur et ce, dans le rfrentiel abc. L'indice mm
identifie une variable propre la machine dans le rtrentiel dq. Les tensions et courants
rotoriques vmm et mm sont ces variables. Enfin, l'indice cm identifie une variable commune aux deux parties, mais dans le rfrentiel dq. Les courants et tensions statoriques
v cm et cm formeront ce dernier groupe.

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.

81

partie onvertisseur

partie machine

r----1-r_-_-_-__....,--- / .

'mm

...........-

Vmm

_____ ..

partie commune
Figure 2-11 Sparation du systme en trois parties distinctes.

Nous avons expliqu au chapitre prcdent comment obtenir la reprsentation


d'tat du convertisseur l'aide de la thorie des graphes. Cependant, nous devons scinder
le vecteur des entres u (et par consquent la matrice 8) en deux afin d'accommoder les
tapes suivantes. L'quation d'tat du convertisseur devient alors

(2-40)

On peut maintenant exprimer (2-17) de faon plus compacte:

(2-41)

Les vecteurs des variables d'tat et des entres de la machine sont dfinis comme
suit (rfrentiel dq):

Xm

= ~qsids:i'qrtdJT = ~cm:imm]T
1

tlm

= [vqs vds~'qr v'dJT = [vcm:vmJT


1

(2-42)

Comme nous sommes en prsence d'une machine cage, les tensions rotoriques

v'qr et v'dr (figure 2-6, page 69) sont nulles, donc vmm est zro et ne sera plus considr

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.

82

dans le reste du dveloppement. L'quation d'tat de la machine s'exprime maintenant

par:

!!_[;cm] =

dt 1.

(2-43)

mm

Il nous reste maintenant dfinir les quations qui nous permettront d'interfacer la
partie convertisseur dans le rfrentiel abc la partie commune de la machine dans le
rfrentiel dq. D'abord, comme les courants de la partie commune de la machine ion sont
exprims dans le rfrentiel dq, nous devons dfinir la transformation suivante afin de
pouvoir calculer les injections de courant ias et ibs dans le convertisseur:

(2-44)

La matrice M est en fait la matrice (Ksr 1 dans (2-26). Ensuite, les entres de la partie commune (vues du convertisseur) sont les tensions Vab et vbc aux bornes des sources
de courant fictives de la figure 2-1 O. Ces tensions sont obtenues dans le rfrentiel abc
avec la relation suivante:

(2-45)

Dans cette quation, i est le vecteur des sources de courant fictives ete est le vecteur des sources de tension, tous deux dfinis plus haut. Les matrices P, Q1 et Q2 sont des

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.

83

sous-matrices des matrices C et D (y = Cx + Du) du convertisseur. Les deux tensions


Vab et

vbc

sont ensuite transformes dans le rfrentiel stationnaire avec la relation sui-

vante:

vcm

[::J = [

2/3

1/3

J[~

-J313 Vbcs

= Nv;
= N(Pxc + Q 1e + Q 2Micm)

(2-46)

La matrice N est en fait la matrice Ks dans (2-25). La combinaison des diverses


expressions nous permet de dfinir le comportement du systme complet, avec comme
variables d'tat les tensions aux bornes de condensateurs et les courants d'inductances du
convertisseur (xc, rfrentiel abc) et les courants statoriques et rotoriques de la machine
icm

et imm (rfrentiel dq):

Bc2M
Amtt+BmllNQ2M

(2-47)

Am21+Bm21NQ2M

2.4 Validation de la mthode de simulation en temps diffr


Bien que notre but ultime soit de simuler des entranements lectriques en temps
rel, nous devons d'abord tudier la validit de la mthodologie propose en temps diffr.

La premire tape de notre validation consiste raliser une simulation talon du


montage tudier qui servira de rfrence. Nous avons choisi d'utiliser le Power System

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.

84

Blockset pour faire cette simulation de rfrence. Ce choix est principalement motiv par
le fait qu'en tant que co-auteur du logiciel, nous le connaissons bien.

Le systme choisi est relativement simple et consiste en une machine asynchrone


triphase alimente par un onduleur MOSFET, lui mme aliment par une batterie. La
commande directe du flux et du couple (Direct Flux and Torque Control, ou DFTC)
[27,28] est utilise pour contrler l'onduleur. La machine entrane une charge de type
ventilateur. La figure 2-12 illustre le schma du montage, tandis que la figure 2-13 illustre le schma de la simulation ralise avec le Power System Blockset et Simulink. Les
principaux paramtres associs cet entranement sont donns 1'annexe A. Quelques
prcisions s'imposent ici relativement aux deux figures. D'abord, ce systme est la version simplifie d'un systme plus complexe. Le systme d'origine comprend, au lieu
d'une batterie, un redresseur triphas. Comme ce systme sera utilis au dernier chapitre,
nous conservons ici les composantes qui en feront partie, notamment le bus courant
continu ainsi que la rsistance de dcharge qui lui est raccorde. La seule composante de
la figure 2-12 que 1' on ne retrouve pas dans le systme complet est la rsistance en parallle avec chacun des interrupteurs. Cette rsistance est en fait requise cause du fait que
les interrupteurs sont vus par la reprsentation d'tat comme des sources de courant. Or,
sans la rsistance, nous nous retrouverions avec des sources de courant en srie, ce qui
viole une des lois fondamentales d'interconnection des sources. La rsistance place en
parallle avec chaque interrupteur permet de contourner cette restriction, laquelle est uni-

Bus

cc

Machine
asynchrone

Figure 2-12 Schma de l'entranement tudi.

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.

85

Onduleur
MOSFET

VDC

Multimtre

Bus

oc

wr

ia

ml4-_.

Figure 2-13 Schma Simulink/PSB de la simulation de rfrence.

quement due la modlisation utilise. La rsistance que nous utilisons a une valeur de
1 MU et n'influence pas le comportement dynamique du systme tudi.

Nous avons programm les quations de la mthode propose la section 2.3 dans
une s-function. La s-function est un bloc Simulink qui peut tre insr dans un
schma-bloc et auquel est associ un programme. La raison d'tre de la s-function est de
permettre aux usagers de raliser sous forme de programme des algorithmes difficilement
ralisables avec les blocs standards de Simulink. Elle permet donc d'interconnecter des
algorithmes complexes avec des schmas de commandes raliss dans Simulink.

Cette s-function peut tre programme dans divers langages, notamment le langage
Matlab, le C, et le Fortran. Dans un premier temps, nous avons ralis notre s-function en
langage Matlab, puisque celui-ci permet de raliser simplement les calculs matriciels, lesquels sont nombreux dans nos quations. La programmation d'une s-function en langage
Matlab est la plus simple, mais c'est aussi la moins performante en termes de vitesse de

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.

86

simulation. Or, elle permet de dvelopper rapidement des prototypes de simulation. La


figure 2-14 illustre un schma Simulink utilisant notre s-function en langage Matlab.

On voit que la s-function reoit en entre la tension de la batterie, les impulsions


produites par la commande DFfC ainsi que le couple mcanique de la charge. La
s-function transmet sa sonie un vecteur de signaux comprenant entre autres les tensions
statoriques et les courants de phase de la machine ainsi que la vitesse de rotation de la
machine, signaux requis par la commande. On remarque aussi la prsence de deux dlais
unitaires introduits entre l'entre de la s-function et les sonies de la commande et du ventilateur. Ces dlais sont requis pour briser des boucles algbriques, dont nous discuterons
dans le prochain chapitre. Mentionnons simplement pour l'instant que deux boucles algbriques sont formes dans cette simulation parce que la sonie y(n) de la s-function
dpend de l'entre u(n) de la s-function et que la mme situation se prsente d'une part
dans la commande DFfC, et d'autre pan dans le modle du ventilateur. Comme ces deux
derniers modles sont chacun dans une boucle de contre-raction avec la s-function, les
sonies de chacun des trois systmes au moment n dpendent d'elles mmes. La simulation du modle mathmatique du systme dans son ensemble requien, dans ces condi-

s-function
sfun_drive_trapm

Contrleur DFTC
wm

Dlai unitaire2
Vitesse de
rfrence
Dlai unitaire1

Ventilateur

Figure 2-14 Schma Simulink utilisant la s-function en langage Matlab.

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.

87

tions, une solution itrative chaque pas de calcul. Comme nous visons faire de la
simulation en temps rel, un processus itratif n'est pas tolr et des dlais unitaires sont
ajouts pour briser les boucles algbriques.

La s-function requiert galement un certain nombre de paramtres d'entre, entre


autres les valeurs des paramtres du convertisseur et de la machine, les valeurs initiales
des matrices d'tat, etc. Ces valeurs sont saisies partir du schma de la simulation de
rfrence de la figure 2-13 l'aide d'une version modifie des routines d'analyse du
Power System Blockset.

Une fois les paramtres d'entre obtenus, le schma de la figure 2-14 peut tre
simul dans Simulink. Nous dcrirons en dtail les diffrentes tches effectues dans la
s-function au chapitre suivant, aprs avoir discut de la question de 1' intgration numrique des quations d'tat de notre systme.

Les performances, en termes de vitesse d'excution, de cette premire s-function en


langage Matlab se sont avres dcevantes. Nous avons donc converti la s-function en
langage C afin d'en augmenter la vitesse d'excution. Bien qu'il existe aujourd'hui un
toolbox Matlab, le Matlab Compiler, qui permette de faire cette conversion automatiquement, ce produit n'tait pas disponible au moment o nous avons converti notre
s-function. Nous l'avons donc converti nous-mme du langage Matlab au langage C.
Cette conversion a ncessit une familiarisation avec l'interface de programmation (API,
ou Application Program Interface) des s-function en langage C [30,31]. La tche de conversion qui a exig le plus d'effort consistait crire en langage C les principales routines
d'algbre matriciel requises (inversion, multiplication et addition de matrices).

Avant d'effectuer notre comparaison, nous devons prciser certains faits relatifs au
montage tudi. Bien que notre but ne soit pas d'tudier le fonctionnement de la commande DFfC, nous devons au moins dcrire les particularits de cette commande qui

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.

88

nous concernent. D'abord, contrairement une commande modulation de largeur


d'impulsions (MLO. la frquence de commutation maximale n'est pas dfinie dans la
commande DFI'C, si on ne prend pas les moyens de la limiter. En d'autres termes, les
interrupteurs peuvent changer d'tat chaque pas de calcul. Si notre simulation est ralise pas fixe, la frquence maximale de commutation devient l'inverse du pas de calcul
employ. Nous devons donc ajouter dans la commande un mcanisme qui limite la frquence de commutation des interrupteurs une valeur raisonnable, en fonction de la puissance de l'entranement simul.

Notre objectif tant de simuler des entranements de moyenne et grande puissances


afin de faciliter le prototypage des commandes, nous fixons la frquence de commutation
maximale des interrupteurs quatre kHz, valeur raisonnable pour des entranements de
quelques dizaines de HP et plus. Cette frquence de commutation maximale impose des
contraintes sur le pas de calcul qui peut tre utilis pour la simulation d'un tel systme.
Selon le thorme d'chantillonnage, on peut utiliser un pas de calcul maximum Tmax
gal

T max= 2

J
'
X max

(2-48)

ofmax est la frquence du signal le plus rapide dans la simulation. Dans notre cas,

cette frquence correspond la frquence maximale de commutation, que nous limitons


quatre kHz. Ceci implique donc que le pas de calcul maximum que nous pouvons utiliser
dans ces conditions est Tmax = 125 J.LS. Dans la pratique, on utilise couramment des pas de
calcul plus petits que le pas obtenu avec le thorme d'chantillonnage. Nous considrerons quand mme 125 J.Ls comme le pas maximum, afin d'valuer et comparer la prcision des rsultats obtenus avec les deux mthodes de simulation.

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.

89

Nous devons galement fixer un pas de calcul minimum pour faire nos comparaisons, en gardant en tte que nous visons faire de la simulation en temps rel. Les simulateurs en temps rel sont en fait des ordinateurs multiprocesseurs quips d'entres/
sorties. Or, dans ces simulateurs, un temps minimum est requis chaque pas de calcul
afin d'effectuer l'acquisition et la conversion des entres/sorties d'une part, et les communication interprocesseur d'autre part. Sur le simulateur Hypersim de l'.T.S., ces deux
tches prennent environ 25 J.I.S chaque pas de calcul. Il est prvu que sur la prochaine
gnration de simulateurs, ces tches totaliseront environ 15 JJ.s. Ce temps s'ajoute au
temps ddi au calcul et le total doit tre infrieur au pas de calcul utilis pour la simulation. Nous utilisons donc 25 J.I.S comme limite infrieure de pas de calcul pour nos comparaisons.

Un dernier commentaire s'impose concernant le pas de calcul du montage l'tude.


Notre commande DFfC nous force intgrer un mcanisme de limitation de la frquence
maximale de commutation. La faon dont nous nous y prenons pour implmenter cette
fonctionnalit consiste d'abord remettre un compteur zro chaque changement
d'tat, puis incrmenter ce compteur chaque pas de calcul. Si la commande dicte un
changement d'tat mais que le compteur n'a pas atteint la valeur correspondant la frquence de commutation maximale prescrite, le changement n'est pas autoris. Ce mcanisme impose une contrainte additionnelle sur le pas de calcul. Nous tenons conserver
une frquence maximale de commutation de quatre kHz, peu importe le pas de calcul,
afin de comparer entre elles des simulations faites dans des conditions similaires. Il faut
donc que l'inverse de la frquence de commutation maximale, 250 JJ.s ici, soit un multiple
exact du pas de calcul, puisque nous n'avons pas la possibilit d'incrmenter le compteur
entre deux pas de calcul. En tenant compte de cette contrainte et des pas de calcul minimum et maximum tablis plus haut, nous tablissons le tableau 2-2 des pas de calcul qui
serviront nos comparaisons.

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.

90

Tableau 2-2
Pas de calculs utiliss pour les comparaisons

Pas de calcul Ts
(J.LS)

Valeur minimale du
compteur permettant un
changement d'tat

125

83.3

62.5

50.0

41.6

25.0

10

Nous avons donc compar les performances de simulation des schmas des figures
2-13 (Power System Blockset 2.0) et 2-14 (mthode propose), en utilisant dans ce dernier cas la s-function compile partir de code en langage C. La simulation consiste dans
chaque cas dmarrer l'entranement, qui est initialement l'arrt. Les simulations ont
t effectues sur un ordinateur personnel (PC) quip d'un processeur Pentium de premire gnration avec une horloge de 233 MHz et 64 Mo de mmoire vive, avec le systme d'exploitation Windows 95. La premire comparaison que nous faisons est de
nature qualitative. Il s'agit de comparer les courbes de divers signaux des deux simulations. Nous prsentons d'abord dans la figure 2-15 le courant au stator de la phase a du
moteur asynchrone, une fois le rgime permanent atteint et avec un pas de calcul de
50 J.Ls. On peut constater que bien que lgrement dcales dans le temps, les deux courbes sont tout fait similaires.

Nous observons ensuite la vitesse du rotor de la machine pour les deux mthodes de
simulation la figure 2-16. Cette fois-ci, nous superposons sur la mme courbe la vitesse
de la machine pour diffrents pas de calcul. On remarque d'abord que les courbes se ressemblent beaucoup pour les deux mthodes, mais qu'une diffrence commence appa-

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.

91

150r---------r---------r---------r---------~------~

a)

100

50

__:a
-50

-100
-150~--------~--------~--------~--------._------~

1.4

1.42

1.44

1.46

1.48

1.5

Temps (s)

150r--------r-------,--------~------~--------,

b)

__:a

-150~--------~--------~--------~--------~~------~

1.4

1.42

1.44

1.46

1.48

1.5

Temps (s)

Figure 2-15 Courant statorique de la phase a de la machine avec les deux mthodes
de simulation: a) PSB 2.0; b) mthode propose.
ratre pour les pas de plus de 62.5 J.Ls. Cette diffrence est particulirement apparente
125 J.Ls, mais la dynamique diffre moins de celle obtenue avec des pas de calculs moindres avec la mthode propose. Rappelons que 125 J.1S est le pas de calcul maximal respectant le thorme d'chantillonnage, en considrant que la frquence maximale de
commutation des interrupteurs est de quatre kHz.

Comme notre but final est de faire de la simulation en temps rel, la temps d'excution est un autre critre de performance important. Le tableau 2-3 rsume les temps
d'excution des deux simulations pour 1.25 s de temps simul, avec un pas de calcul de

50 J.lS.

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.

92

200

a)

180
160
140
_120

~100

~80
60

40

T 5 =50JJ.S

-+- T5 = 63 J.1S

-A- Ts = 83 J.1S
~ T = 125J.LS
5
0

0.5

1.5
Temps (s)

b)

200
180
160
140
_120

~100

s:E

80
60

40

T 5 =50JJ.S

--- T 5 = 63 J.1S
-A- T s = 83 J.1S
-e- T 5 = 125 J.lS
0

1.5

0.5
Temps (s)

Figure 2-16 Vitesse du moteur d'induction avec les deux mthodes de simulation et
pour diffrents pas de calcul: a) PSB 2.0; b) mthode propose.

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.

93

Tableau 2-3
Temps d'excution des deux simulations

Mthode de
simulation

Temps d'excution
(s)

Power System Blockset 2.0

36.2

Mthode propose

12.3

Le tableau 2-3 nous permet de constater que la mthode propose est prs de trois
fois plus rapide simuler pour le montage l'tude que la mthode utilise dans le Power
System Blockset. Ceci nous permet de conclure que les algorithmes de la mthode propose sont non seulement prcis, mais galement relativement performants. La performance
de ces algorithmes en temps rel fera l'objet d'une analyse dtaille au dernier chapitre.

2.5 Conclusions
Aprs avoir vu au premier chapitre la mthode que nous employons pour obtenir
les quations d'tat de la partie linaire d'un systme lectrique quelconque, nous avons
dcrit dans le prsent chapitre comment nous nous y prenons pour modliser et simuler
une classe particulire de systmes lectriques, savoir les entranements lectriques.
Nous avons d'abord discut des principaux types de modles d'interrupteurs et de leur
inclusion dans un systme lectrique. Nous avons ensuite prsent une mthode innovatrice de mise jour des matrices d'tat suite un changement d'tat d'interrupteur. Rappelons que cette technique a t mise au point par Gilbert Sybille, chercheur I'IREQ, et
qu'elle a t intgre la version 2.0 du Power System Blockset. Nous avons par la suite
discut de modlisation de machines lectriques et avons dcrit un modle de machine
asynchrone dans le rfrentiel dq arbitraire. Aprs avoir analys les transformations de
rfrentiel courantes, nous avons choisi de travailler avec un modle de machine dans le
rfrentiel dq stationnaire ou fix au stator. Les transformations associes ce rfrentiel

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.

94

sont galement connues sous les noms de transformation de Clarke et transformation

a~.

Notre tude des transformations de rfrentiel nous a galement permis de dvelopper un


nouveau modle de machine asynchrone multirfrentiel, lequel a t implant dans la
version 2.0 du PSB.

La matire prsente jusqu' ce point est bien documente et connue. Cependant, la


technique de modlisation prsente la section 2.3, bien que publie dans une thse de
doctorat datant de 1979, est peu connue selon nous. Cette technique originale permet
d'obtenir une reprsentation d'tat unique pour l'ensemble convertisseur/machine d'un
entranement, et de surcrot avec comme variables d'tat les tensions de condensateurs et
les courants des inductances dans le rfrentiel abc, et les courants associs la machine
dans le rfrentiel dq arbitraire.

Enfin, dans la dernire section, nous avons valid l'approche propose en comparant nos rsultats avec ceux obtenus l'aide du Power System Blockset. Aprs nous tre
assurs que les signaux d'intrt (courants et vitesse de la machine) soient qualitativement comparables, nous avons compar les temps de simulation pour conclure qu'avec le
montage utilis, la mthode propose est prs de trois fois plus rapide simuler que la
mthode utilise dans le Power System Blockset version 2.0.

Le sujet n'ayant t qu'effleur ici, bien qu'tant important, nous allons au prochain chapitre analyser plus en dtailla question de l'intgration numrique qui est faite
dans nos simulations.

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.

CHAPITRE 3
INTGRATION NUMRIQUE

Le thme central de cette thse tant la simulation de systmes dynamiques, en


1'occurrence des entranements lectriques, une partie de nos recherches a consist tudi les algorithmes d'intgration, lesquels sont requis pour trouver la solution de nos
quations diffrentielles. Ce chapitre rsume l'tude en question. Nous discutons d'abord
des particularits des quations diffrentielles que nous devons rsoudre et des limitations que ces particularits nous imposent au niveau du choix des algorithmes qui peuvent nous servir. Nous prsentons ensuite une synthse des algorithmes d'intgration
classiques et discutons de l'implantation de l'une d'elles, la discrtisation trapzodale.
Nous dcrivons ensuite une mthode d'intgration rcemment publie et qui est destine

la classe de problmes que nous avons rsoudre. Enfin, les perfonnances de cette nouvelle mthode sont compares celles de la discrtisation trapzodale l'aide d'une
tude de cas.

3.1

quations diffrentielles rigides

Nous avons brivement discut la section 2.1.1 du concept de rigidit. Rappelons


qu'un systme est dit rigide lorsque le rapport des parties relles du ple le plus rapide
sur le plus lent est lev. Les quations diffrentielles rgissant le comportement dynamique des systmes lectriques sont en gnral rigides. Ceci est particulirement vrai dans
le cas d'un systme lectromcanique tel un entranement lectrique, qui est caractris
par une dynamique lectrique trs rapide et une dynamique mcanique plus lente par plu-

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.

96

sieurs ordres de grandeur. Une simulation du montage de la figure 2-12 a t ralise en


utilisant l'approche prsente la section 2.3 et le coefficient de rigidit a t calcul
chaque pas de la simulation. La figure 3-1 illustre le rsultat obtenu. On y remarque que
le coefficient de rigidit se situe prs de 1.7 million en dbut de simulation et que sa
valeur minimale est atteinte la fin de la simulation et descend tout juste sous 80 000. En
fait, au premier pas de calcul de la simulation, soit au temps zro, si la vitesse initiale de
la machine est zro, la matrice A de l'quation (2-47) est singulire et ceci pose un problme lorsque nous voulons la discrtiser, car elle doit tre inverse. De plus, le coefficient de rigidit est alors infini puisque la plus petite valeur propre de la matrice A est
nulle. Nous devons donc dmarrer le systme avec une vitesse initiale non-nulle de la
machine. Nous utilisons une vitesse initiale de 0.001 rad/s. Cette petite valeur suffit rendre la matrice A non-singulire, mais le coefficient de rigidit atteint tout de mme 10 16
durant le premier pas de calcul. Au second pas, quelques interrupteurs ferment et la
valeur du coefficient de rigidit s'abaisse un niveau moindre, qui s'lve tout de mme
l. 7 million.

Le principal impact de la rigidit est qu'elle restreint substantiellement le choix des


algorithmes d'intgration qui peuvent tre utiliss pour rsoudre les quations diffren6

x 10

2r---------------~-----------------r----------------~

-~
1.5
-,:,

:~
Cl)

-,:,

80.5
OL_--------~========~========~
0
0.5
1.5
Temps (s)

Figure 3-1

Coefficient de rigidit obtenu en simulant 1'entranement de la


section 2.4.

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.

97

tielles d'un systme rigide. Avant d'analyser les proprits des algorithmes d'intgration
couramment employs pour la solution d'quations diffrentielles rigides, mentionnons
qu'il existe essentiellement deux grandes familles d'algorithmes d'intgration, soit les
algorithmes pas fixe et les algorithmes pas variable. Ces derniers tant de nature itrative, ils sont inutilisables pour des simulations en temps rel utilisant un pas de calcul de
l'ordre des dizaines de microsecondes. Ainsi, nous considrons uniquement les algorithmes d'intgration pas fixe dans nos travaux.

3.2

Caractristiques des mthodes courantes d'intgration pas fixe

Parmi les mthodes d'intgration pas fixe, il existe aussi deux grandes catgories,
soit les mthodes explicites et les mthodes implicites. Afin d'illustrer la diffrence entre
ces deux types de mthodes, nous utilisons la dfinition (3-1) de la mthode linaire k
pas [20].

L
j=O

k
ajxn + j

= T L ~;-in+ j

(3-1)

j=O

En prenant la transforme en Z de part et d'autre du signe d'galit de (3-1) et en


posant des conditions initiales nulles, on obtient la fonction de transfert discrte (3-2)
pour un intgrateur.

(3-2)

Une mthode d'intgration k pas est dite implicite si ~k est non-nul (ordre du
numrateur gal l'ordre du dnominateur) et explicite si ~k est nul (ordre du numrateur
infrieur l'ordre du dnominateur). Au niveau de l'implantation des deux types de

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.

98

mthodes, le vecteur d'tat xk dpend uniquement de valeurs passes (instant k-l, k-2,
etc.) si la mthode est explicite mais dpend aussi de valeurs l'instant prsent (instant k)
si la mthode est implicite. Dans ce dernier cas, il est ncessaire d'itrer la solution chaque pas de calcul si le systme simul est dcrit par des quations diffrentielles
non-linaires. Le tableau 3-1 montre les fonctions de transfert discrtes de trois mthodes
d'intgration pas fixe couramment employes dans la simulation des systmes lectriques.
Tableau 3-1
Fonctions de transfert discrtes correspondant une approximation du processus
d'intgration selon trois mthodes courantes

Nom de la mthode

Fonction de
transfert discrte

Euler arrire ou
Gear-1

Tz
-z-1

Tustin ou
trapzodale

T(z + 1)

2(z- 1)

.,

Gear-2

.,

2Tz-

3z- -4z + 1

3.2.1 valuation de la stabilit des mthodes d'Intgration


Il existe un outil d'analyse permettant d'valuer si une mthode d'intgration pas
fixe s'applique un systme donn et avec un pas de calcul particulier et par consquent,
qui permet de comparer entre elles les mthodes d'intgration. Cet outil consiste en la
rgion de stabilit associe chacune des mthodes d'intgration. Chaque mthode correspond un ensemble particulier de coefficients a et ~ et par consquent, une mthode
est dfinie par une fonction de transfert discrte qui lui est propre. Pour tracer la rgion de
stabilit associe la mthode d'intgration, il suffit de faire la substitution (3-3) dans la

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.

99

fonction de transfert discrte et de faire varier roT de zro 1t. Ceci nous donne la moiti
de la zone de stabilit. La seconde moiti est obtenue par symtrie de la premire par rapport 1' axe horizontal du plan complexe T. Le rsultat est trac dans le plan complexe et
la rgion de stabilit est obtenue.

(3-3)

Pour dterminer si un systme donn peut tre simul avec une mthode d'intgration et un pas de calcul T particuliers, il suffit de connatre les valeurs propres de la
matrice d'tat A du systme. Ces valeurs propres correspondent aux ples du systme en
boucle ferme. Chaque valeur propre est multiplie par le pas de calcul et le rsultat est
report dans le plan complexe. Si tous les produits T sont l'intrieur de la rgion de
stabilit correspondant la mthode d'intgration, la simulation sera stable. La figure 3-2
illustre les zones de stabilit associes aux mthodes d'intgration du tableau 3-1.

a)
2

S'
'E

c)

b)

2
Stable

S'
I

-2

Stable

Instable

0
Re(.T)

Figure 3-2

0
-2

-2

-2

S'
I

-2

0
Re(.T)

Ae(.T)

Zones de stabilit correspondant aux trois mthodes: a) Euler arrire;


b) trapzodale; c) Gear-2.

Le plan complexe T utilis pour tracer les zones de stabilit de la figure 3-2
s'interprte de la mme manire que le plan complexe utilis pour analyser les systmes
de commande. Le demi-plan gauche est la zone de stabilit, alors que le demi-plan droite

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.

lOO

est la zone d'instabilit. Fait noter, les zones de stabilit des mthodes Euler arrire et
Gear-2 incluent une partie du demi-plan droite. Nous discutons de cette particularit un
peu plus loin. Les trois zones de stabilit de la figure 3-2 rvlent une caractristique
importante des trois mthodes d'intgration: elles sont toutes les trois A-stables. Une
mthode d'intgration est dite A-stable si sa zone de stabilit comprend tout Je demi-plan
gauche du plan complexe "A.T. Ceci se traduit par le fait que si un systme continu stable
est discrtis avec une mthode A-stable, la simulation discrte est ncessairement stable
et ce, peu importe le pas de calcul employ pour la discrtisation. Ce pas de calcul peut
alors tre choisi en se basant uniquement sur des considrations de prcision.

Bien qu'elle soit A-stable, la discrtisation trapzodale comporte une caractristique bien visible sur la figure 3-2b, en ce sens que la frontire de sa zone de stabilit est en
fait l'axe imaginaire du plan complexe. Si un ple du systme se retrouve sur cette frontire, la simulation est oscillatoire. La discrtisation trapzodale est en fait connue pour
osciller dans certaines conditions. Dans des systmes lectriques, cette condition se produira par exemple lors d'une discontinuit dans Je courant d'une inductance ou la tension
d'un condensateur.

Les mthodes d'intgration sus-mentionnes n'ont pas t choisies au hasard. Nous


venons de voir qu'elles sont toutes les trois A-stable, une proprit apprcie au niveau de
la stabilit des simulations. Elles sont galement toutes les trois implicites. De faon
gnrale, une mthode d'intgration implicite possde une zone de stabilit beaucoup
plus large qu'une mthode explicite du mme ordre. De plus, aucune mthode explicite
ne peut tre A-stable. Cette raison justifie le fait que les trois mthodes du tableau 3-1,
toutes implicites, soient les plus utilises dans la simulation pas fixe des systmes rigides.

Le fait qu'une mthode d'intgration soit A-stable assure que cette mthode pourra
simuler de faon stable un systme rigide. Cependant, il existe un autre type de stabilit

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.

lOI

moins exigeant que laA-stabilit et qui permet d'assurer la simulation stable de systmes
rigides.

n s'agit de

la stabilit rigide, traduction libre de l'expression anglophone "stiff

stability". En se rfrant la figure 3-3, une mthode d'intgration est rigidement stable
si sa zone de stabilit contient les rgions R et S et que la mthode produit des rsultats
prcis lorsque les produits 'A.T sont dans la rgion S et que la partie relle des ples . est
ngative. Une mthode d'intgration rigidement stable permet de choisir le pas de calcul

T de sorte que la dynamique dominante (lente) se retrouve dans la zoneS et la dynamique


rapide soit automatiquement accommode par la zone R. Cette zone R correspond en fait

une zone A-stable dcale vers la gauche.

Un commentaire s'impose sur la figure 3-3. On y remarque que la zoneS dborde


dans le demi-plan droit, qui est une zone d'instabilit. La rponse d'un systme qui comprend un ple dans le demi-plan droit sera un signal exponentiel croissant (ple purement
rel) ou une sinusode contenue dans une enveloppe exponentielle croissante (ples conjugus complexes). Avec une mthode rigidement stable, on cherche obtenir dans la
portion de S qui se trouve dans le demi-plan droit une simulation relativement stable. Il
s'agit en fait de simuler avec un minimum de prcision l'instabilit du systme. On choisit alors le pas de calcul de telle sorte que l'exponentielle ne croisse pas trop rapidement.

Re<'A.n

Figure 3-3

Zone de stabilit d'une mthode d'intgration rigidement stable.

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.

102

3.2.2 valuation de la prcision des mthodes d'Intgration

La stabilit d'une simulation utilisant une mthode d'intgration pas fixe est un
critre de performance important. Cependant, nous avons trs peu parl jusqu'ici de la
prcision des rsultats. Une des mthodes couramment utilises pour dvelopper les
mthodes d'intgration linaires k pas consiste utiliser l'expansion en srie de Taylor.
La srie de Taylor permettant d'obtenir xn+l partir de xn et de ses drives s'exprime tel
que montr en (3-4) et la drive de cette dernire est montre en (3-5).

(3-4)
2

.
. T .. T ...
T <m + 1>
x,+ 1 = x,+ X 11 + -21 X n + ... + - 1x,
.
m.

(3-5)

L'erreur de troncation locale (LTE) est dfinie comme tant l'erreur produite en un
pas de calcul par une mthode d'intgration discrte donne, en supposant une prcision
infinie. Cette erreur peut tre dfinie en termes de (3-1 ):

(3-6)

En insrant (3-4) et (3-5) dans (3-6) et en r-arrangeant les termes, on obtient aussi
l'expression suivante pour le LTE:

(3-7)

Les quations de Lambert dfinissent les relations entre les coefficients Cet les et
les

J3. Ces quations sont donnes par (3-8).

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.

103

Co
C1

= ao +al + a2 + ... + ak

= a 1 +2a2 + ... +kak-(~ 0 +~ 1 + .. . +~k)


(3-8)

Une mthode d'intgration est dite de prcision d'ordre psi les relations suivantes
sont respectes.

C0

= C 1 = ... = cP=

(3-9)

cp+ 1 :to

Le terme Cp+l est souvent dfini comme tant la constante d'erreur. Cette constante ainsi que le terme de (3-7) qui l'accompagne sont identifis comme tant l'erreur de
troncation locale principale. Le tableau 3-2 indique le LTE principal pour les trois mthodes tudies la section prcdente.
Tableau 3-2
Termes principaux du LTE pour trois mthodes courantes

Nom de la mthode

LTE principal

Euler arrire ou
Gear-1

r-.'

Tustin ou
trapzodale

T3 x

Gear-2

.,

12
2T4 x< 4 >
9

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.

104

Bien qu'tant toutes les deux des mthodes un pas, on voit au tableau 3-2 que les
mthodes trapzodale et Euler arrire sont de prcision d'ordres diffrents. La mthode
Euler arrire est de prcision d'ordre deux alors que la discrtisation trapzodale est de
prcision d'ordre trois. La discrtisation trapzodale est d'ailleurs la mthode un pas la
plus prcise. La mthode Gear-2 est quant elle de prcision d'ordre quatre, mais cette
prcision additionnelle a un prix, soit un algorithme sensiblement plus complexe que les
deux mthodes un pas.

3.3 Discrtisation trapzodale applique aux quations d'tat


La discrtisation trapzodale tant A-stable, prcise et simple, nous avons choisi de
l'utiliser comme mthode d'intgration dans nos travaux. Cependant, comme nous utilisons la mthode avec un systme d'quations d'tat, nous devons d'abord l'exprimer
sous forme matricielle plutt que sous forme de fonction de transfert. Nous avons identifi deux implantations de la discrtisation trapzodale sous forme matricielle dans un
contexte d'quations d'tat.

La premire mthode est tire de [32]. Cette mthode est utilise par la commande
c2d dans Matlab, lorsque l'option 'Tus tin' est spcifie. La discrtisation trapzodale

tant une mthode implicite, cette implantation est base sur un changement de variables
o l'on dfinit un nouveau vecteur d'tat. Le dveloppement prsent dans [32] est valable pour des systmes invariants dans le temps. Nous avons essay de dvelopper les
mmes quations, mais cette fois pour un systme variant dans le temps, et nous ne parvenons pas un rsultat concluant. Nous en concluons que le changement de variables
propos n'est pas valable pour un systme variant dans le temps. D'autre part, avec cette
mthode, le changement de variables impose de discrtiser non seulement les matrices
d'tat A et B, mais aussi les matrices Cet D, ce que nous considrons comme un inconvnient non-ngligeable.

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.

105

La seconde implantation de la discrtisation trapzodale des matrices d'tat provient de [20]. Encore une fois, nous devons modifier lgrement la dmarche pour
accommoder notre systme d'quations d'tat, qui est variant dans le temps. La premire
tape consiste remanier la fonction de transfert discrte correspondant la discrtisation
trapzodale de la manire suivante.

(3-10)

On substitue ensuite aux deux drives de (3-10) les relations suivantes.

in+l
in

= An+lxn+l +Bn+lun+l
=

Anxn

+ Bnun

(3-11)

En r-arrangeant le rsultat de cette substitution, on obtient (3-12).

(3-12)

On remarque dans (3-12) que

Xn+ 1

Cependant, il dpend encore de l'entre

ne dpend que de valeurs passes des tats.

un+l

Bien que ceci ne pose pas de problme en

soi, nous devons porter une attention particulire l'implantation de cette variante de la
discrtisation trapzodale, particulirement si l'on utilise les s-function de Simulink.
L'quation (3-12) est de la forme Ax =b, o x et b sont des vecteurs. ce stade-ci,
nous avons deux choix pour trouver la solution de (3-12). La premire solution consiste
inverser la matrice gauche de

Xn+ 1

dans (3-12) puis prmultiplier tout ce qui est

droite de l'galit par cette matrice inverse. Le rsultat est (3-13).

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.

106

(3-13)

Une autre solution consiste rsoudre le systme d'quations linaires (3-12).


Nous avons choisi d'utiliser la dcomposition LU pour rsoudre (3-12). La factorisation
LU est en fait une fonne d'limination gaussienne. Il s'agit essentiellement de dcomposer une matrice carre gnrale, dense et sans structure particulire qui puisse tre exploite (par exemple la symtrie) en deux matrices triangulaires L ("lower triangular", ou
triangulaire infrieure) et U ("upper triangular", ou triangulaire suprieure). L'utilisation
de matrices triangulaires est souhaitable parce qu'elle pennet de solutionner simplement
des systmes d'quations linaires [33]. Voyons comment solutionner le systme d'quations linaires (3-14) l'aide de la factorisation LU.

Ax = b

(3-14)

La premire tape de notre algorithme consiste donc dcomposer la matrice A en


un produit de deux matrices Let U, tel que montr en (3-15).

PA= LU

(3-15)

Dans (3-15), la matrice P est une matrice de pennutation et consiste en fait en une
matrice identit dont les ranges ont t pennutes. Cette pennutation est requise afin
d'assurer la stabilit de l'algorithme de la factorisation LU. Une fois la dcomposition
(3-15) obtenue, le systme suivant est solutionn et un vecteur intenndiaire y est obtenu.

Ly =Pb

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.

(3-16)

107

Le systme d'quations (3-16) pourrait, par exemple, ressembler (3-17) pour un


systme d'ordre trois o la factorisation ne requiert pas de permutation (Pest la matrice
identit).

(3-17)

Le vecteur de solution y est trouv en commenant par y 1 et en procdant vers le


bas. Cette phase de l'algorithme est ainsi baptise la substitution avant. Une fois obtenu
le vecteur y, il suffit de solutionner le systme (3-18) pour obtenir le vecteur de la solution finale x.

Ux =y

(3-18)

Poursuivant avec le mme exemple, l'allure de (3-18) est la suivante.

(3-19)

Cette fois, la solution de (3-19) commence par le bas, soit avec 1' lment x 3, et procde vers le haut, d'o l'appellation de cette phase, substitution arrire.

Dans le cas que nous venons de dcrire, x et b sont des vecteurs. Cependant, si ces
deux paramtres sont des matrices (X et B), il suffit de factoriser A exactement de la
mme manire que ci-haut et ensuite, trouver la solution colonne par colonne. Dans le cas
o B est une matrice identit, la solution X sera A-l. La factorisation LU peut donc tre

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.

108

utilise pour rsoudre des systmes d'quations linaires et aussi pour inverser des matrices. La raison pour laquelle nous avons opt pour la solution d'un systme d'quations
linaires est simplement la performance des calculs en termes de vitesse. En effet, la factorisation LU est de complexit mathmatique 0(2N3/3). Le nombre exact d'oprations
mathmatiques requises pour solutionner (3-12) est compt la figure 3-4.

Nous avons travaill longtemps sur un systme qui compte onze variables d'tat et
une seule entre. Dans ce cas, la solution de (3-12) requiert 1378 oprations mathmatiques selon le rsultat de la figure 3-4. Si l'on utilise plutt l'inversion de matrice (3-13),
les quatre premires oprations de la figure 3-4 sont inchanges. Cependant, l'inversion
de matrice qui utilise la factorisation LU revient alors solutionner un systme de type

AX = B, o tous les paramtres sont des matrices d'ordre p. En tenant compte du fait que
B est la matrice identit, le nombre d'oprations mathmatiques requises pour solutionner

(3-13) est illustr la figure 3-5.

m: nombre d'entres
p: nombre d'tats

1 - Produit matrice (p par p) par vecteur (p par 1):


2 - Produit matrice (p par m) par vecteur (m par 1):
3 - Produit matrice (p par m) par vecteur (p par 1):
4 - Somme de 3 vecteurs (p par 1):
5- Factorisation LU d'ordre p:
6- So1uon LU d'ordre p de type Ax = b:

2p2pm
2pm
3p
2 3

1 2

jP -p -6p-1
2p2

Total:

Figure 3-4

Nombre d'oprations mathmatiques requises pour solutionner


(3-12) (factorisation et solution LU)

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.

109

m: nombre d'entres
p: nombre d'tats

1 -Produit matrice (p par p) par vecteur (p par 1):


2 - Produit matrice (p par m) par vecteur (m par 1}:
3- Produit matrice (p par m) par vecteur (p par 1):
4 - Somme de 3 vecteurs (p par 1):

2p2
2pm
2pm
3p

5- Inversion de matrice avec factorisation LU d'ordre p:

3 3 2 3
2p --p +-p-1
2
2

6 - Produit matrice (p par p) par vecteur (p par 1):

Total:

Figure 3-5

3 3 .,
9
2p +-p-+4pm+-p-1
2
2

Nombre d'oprations mathmatiques requises pour solutionner


(3-12) (inversion de matrice l'aide d'une factorisation LU).

Pour le mme systme que ci-haut (onze tats et une entre), la solution de (3-13)
requiert 2936 oprations mathmatiques selon le rsultat de la figure 3-5, soit plus de
deux fois plus que la solution de (3-12). C'est prcisment pour cette raison que nous
avons adopt la mthode utilisant la solution du systme d'quations plutt que celle qui
inverse explicitement la matrice.

3.4 Implantation de la discrtisation trapzodale

Comme notre simulation est ralise l'aide d'une s-function dans Matlab/Simulink, nous devons dcrire comment une simulation se droule dans Simulink, lorsque
cette simulation comprend une s-function. La comprhension de ce mcanisme est
requise car notre problme diffre subtilement du problme type pour lequel 1' interface
entre Simulink et la s-function est prvu.

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.

llO

Une s-function est un bloc spcial de la librairie de Simulink. Comme tous les
autres blocs, il est pourvu d'un port d'entre u, d'un port de sortie y et peut contenir ou
non des variables d'tat x. Cependant, le comportement du bloc s-function est dict par
un programme associ au bloc. Ce programme contient plusieurs fonctions. Pour une
simulation discrte pas fixe, la fonction d'initialisation de la s-function est d'abord excute en dbut de simulation, puis chaque pas de calcul, deux fonctions sont excutes
tour tour. D'abord, la fonction qui calcule le vecteur des sorties de la s-function est excute, puis la fonction qui met jour le vecteur des tats discrets est excute. Ce mcanisme part du principe qu'en dbut de simulation, au temps t=O, on spcifie les valeurs
initiales du vecteur des tats comme suit.

x(O) = x 0

(3-20)

Le fait que la fonction qui met jour les sorties soit appel avant la fonction qui
met jour les tats est bas d'une part sur le fait que les conditions initiales soient celles
des tats et d'autre part sur l'hypothse que les quations d'tat discrtes se prsentent
sous la forme dite normale (3-21 ).

x(n+ 1)

= Ax(n)+ Bu(n)

y(n)

= C x(n) + D u(n)

(3-21)

Cet exemple est bas sur le fait que le systme est linaire et invariant dans le
temps. Une simulation dont les quations d'tat sont solutionnes par une s-function et
sont exprimes telles qu'en (3-21) se droule donc de la faon suivante. On spcifie x(O)
dans la fonction d'initialisation. Connaissant x(O) et aussi u(O), on calcule ensuite y(O).
En tant toujours n=O, on calcule x(n+l), soit x(l), pour le prochain pas de calcul. Au
pas suivant, on calcule y( 1) puis x(2), et ainsi de suite.

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.

Ill

Or, notre but est d'implanter une simulation qui utilise la discrtisation trapzodale
dcrite par (3-12). Il est clair que (3-12) ne peut s'exprimer sous la forme normale (3-21)
puisque le vecteur des tats x au moment (n+ 1) dpend du vecteur des entres u au
moment (n+ 1). De plus, notre systme est variant dans le temps et les matrices A, B. Cet
D changent. Il faut faire attention l'ordre des oprations (changement des matrices, calcul des sorties et calcul des tats) afin que le tout soit cohrent. Les fonctions standards
de mise jour des sorties et de mise jour des tats de la s-function doivent par consquent tre utilises de faon diffrente de leur usage habituel.

Dans notre implantation, nous n'avons simplement pas utilis la fonction de mise
jour des tats et nous faisons tous les calculs dans la fonction de mise jour des sorties.
La figure 3-6 illustre sous forme d'organigramme le contenu de la fonction de mise jour
des sorties de notre s-function. Cette fonction est appele chaque pas de calcul. Les
numros des quations sont indiqus lorsqu'applicable. Au dmarrage de la simulation,
tous les interrupteurs sont ouverts et les valeurs initiales des matrices d'tat du convertisseur sont calcules dans ces conditions. La vitesse initiale de la machine est aussi spcifie. Nous sommes donc en mesure de calculer les matrices d'tat globales de
1'entranement. Nous devons galement calculer une portion de 1'quation (3-12) qui sera
requise lors de la mise jour des tats au prochain pas de calcul. On calcule ensuite les
sorties de la s-function et le premier pas de calcul est complt. Pour tous les pas de calculs subsquents, la boucle de simulation est toute la colonne de gauche de la figure 3-6.
La premire tche accomplir dans cette boucle est de vrifier si les interrupteurs du convertisseur changent d'tat. Si le convertisseur change d'tat, les matrices d'tat du convertisseur sont recalcules selon la mthode expose la section 2.1.2. On effectue
ensuite la mise jour des termes de la matrice d'tat Am de la machine qui contiennent le
terme de vitesse de la machine ror Il suffit ensuite de complter les matrices d'tat A et B
finales englobant tout l'entranement selon la mthode dcrite la section 2.3 et de procder la mise jour des tats discrets de la partie lectrique du systme. Une fois les variables d'tat lectriques modifies, on calcule le couple lectromagntique de la machine et

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.

112

Dbut

non

vrifier logique des interrupteurs

non

changement d'tat
d'interrupteur?
oui

construire les matrices d'tat finales


A0 et 8 0 de l'entranement complet
(2-47)

mettre jour les matrices d'tat du


convertisseur
(2-8) (2-10) et (2-12) (2-14)
calculer(/+ A 0 T 12)x0 + (B 0 T /2)u 0
(partie de (3-12) pour le
prochain pas de calcul)
mettre jour les matrices d'tat de la
machine (termes contenant ror)
(2-39)

construire les matrices d'tat finales A et B


de l'entranement complet
(2-47)

mettre jour les tats "lectriques" discrets


(3-12)

calculer le couple lectromagntique (2-18)


et la vitesse de rotation de la machine (2-19)
(intgration trapzodale)

calculer les sorties


y= C.t +Du

Figure 3-6

Fin

Organigramme de la fonction de mise jour des sorties de la s-function


(discrtisation trapzodale).

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.

113

on met jour la seule variable d'tat mcanique du systme, soit la vitesse de rotation du
rotor. Notons que la position angulaire du rotor n'est pas requise puisque nous utilisons
une transformation dans le rfrentiel stationnaire. Enfin, la dernire tape de chaque pas
de calcul consiste calculer le vecteur des sorties y de la s-function.

3.5 La mthode MSRP-2


Bien que nous ayons choisi d'utiliser la discrtisation trapzodale comme mthode
d'intgration, nous avons galement tudi dans le cadre de nos travaux une mthode
d'intgration matricielle publie rcemment et baptise "Matrix Stability Region Placement" (MSRP) [ 19], ou mthode de placement de rgion de stabilit. Cette mthode
explicite est caractrise par le fait que les coefficients d'intgration sont des matrices au
lieu de scalaires. Il n'y a donc pas d'intgrateur local pour chaque tat. L'intgrateur
associ chaque tat tient compte de tous les autres tats. De plus, la mthode est base
sur une technique de placement de ples qui permet une transposition exacte ("mapping")
des ples principaux du plan s au plan

z. avec la relation bien connue suivante.

= esT

(3-22)

Les auteurs mentionnent que lorsqu'applique un systme linaire invariant dans


le temps, la mthode MSRP donne une rponse temporelle exacte et une erreur nulle en
rgime permanent. L'application de cette mthode requiert que le processus simuler
soit dcrit par des quations d'tat. Si le systme simul est non-linaire, on doit le linariser autour d'un point d'opration et obtenir le Jacobien des matrices du systme Jet de
couplage des entres G. Sous forme matricielle, on peut alors dcrire le systme simuler
par l'quation d'tat suivante:

i(t)

= Jx(t) + Gu(t)

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.

(3-23)

114

L'algorithme d'intgration explicite de la mthode matricielle de placement de


rgion de stabilit d'ordre deux (MSRP-2) est dfini comme suit:

(3-24)

En substituant l'quation (3-23) dans l'quation (3-24) et en plaant tous les faux
ples l'origine du plan

z, on obtient les contraintes de stabilit sur les coefficients A; et

B;. Les quations de Lambert nous permettent d'obtenir les contraintes sur la prcision de
la simulation en boucle ferme et on obtient les expressions suivantes pour les coefficients A; et B; (IN est la matrice identit N par N, o N est le nombre de variables d'tat):

JT

A 1 = (e

- 1N )( JT)

Ao = -(A 1 + 1N)

-1

- 21 N

= (A 1 + eJT )(JT) -1
-1
8 0 = A 0 (JT)

81

(3-25)

Les coefficients A0 , A 1, 8 0 et 8 1 sont des matrices N par N. Avant mme de tester


cette mthode, on peut dj faire quelques commentaires son sujet. D'abord, elle ncessite l'obtention de la matrice d'tat du systme simuler (matrice J) ou son Jacobien si le
systme est non-linaire. Ensuite, il est clair que la matrice J doit tre non-singulire
1

puisque le terme (JTf apparat dans le calcul des coefficients. Ceci peut poser un problme dans certains cas. Cependant, il existe une gnralisation de la mthode qui vite
d'avoir inverser la matrice J. Cette variante utilise plutt une transfonnation de coordonnes pour solutionner le problme [19]. Enfin, il faut calculer l'exponentielle de JT.
Tout ceci peut priori sembler coOteux en termes de quantits de calcul. Cependant, les
auteurs de la mthode ont fait une tude du gain en temps de calcul qui est fait si on utilise un intgrateur discret scalaire plutt que 1'oprateur matriciel propos ici. En fait, il
s'agit de quantifier la hausse de la priode d'chantillonnage que la mthode MSRP-2
permet par rapport la priode d'chantillonnage qui devait tre utilise avec un intgrateur scalaire. Par exemple, si un certain systme doit tre simul avec une priode

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.

115

d'chantillonnage T de lO ms avec la mthode AB-2, la mthode MSRP-2, plus complexe


en terme de calculs, devient rentable si elle permet d'utiliser par exemple une priode
d'chantillonnage de 60 ms.

La principale raison qui a pouss les auteurs de la mthode MSRP la dvelopper


est qu'ils simulent en temps rel des systmes non-linaires. L'exemple qui revient dans
toutes leurs publications est la simulation d'un modle de turbine d'avion. Mentionnons
galement que les simulations cites sont ralises avec un pas de calcul de 1'ordre de la
milliseconde. Dans l'introduction de [19], ils affirment que les mthodes d'intgration
implicites ne sont pas de bonnes candidates pour la simulation en temps rel de systmes
non-linaires puisque leur nature implicite requiert une solution itrative chaque pas de
calcul et par consquent, elles sont trop lentes. Les mthodes explicites sont, par contre,
des candidates idales pour la simulation en temps rel puisqu'avec une telle mthode, la
mise jour du vecteur des tats discrets dpend uniquement de valeurs passes des tats
et des entres et aucun processus itratif n'est requis pour trouver la solution. Le principal
problme des mthodes explicites est que leurs rgions de stabilit sont tellement plus
petites que les mthodes implicites du mme ordre qu'un pas de calcul prohibitivement
petit doit tre utilis pour permettre une simulation stable. Lorsque compare des
mthodes explicites telles Adams-Bashforth d'ordre deux, la mthode MSRP-2 permet
de simuler des systmes non-linaires avec des pas de calcul tels que le calcul additionnel
requis par la mthode est largement compens par le grand pas de calcul qu'elle permet
d'utiliser.

Nous avons cru pendant un certain temps que la mthode MSRP-2, tant explicite,
nous permettrait d'liminer certains dlais que nous sommes obligs d'introduire dans
nos simulations pour briser des boucles algbriques. La figure 3-7 illustre le phnomne
de boucle algbrique, qui est gnralement forme via une boucle de contre-raction qui
ne contient aucun dlai. La sortie y(n) du systme est alors une fonction d'elle mme.

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.

116

y(n)

= u(n)- IOy(n)

y(n)

= u(n)
li

Figure 3-7

Une boucle algbrique simple et sa solution.

Dans l'exemple de la figure 3-7, la solution de la boucle algbrique est simple, mais
cette situation n'est pas la norme. Par exemple, si l'on s'attarde au fonctionnement de
notre s-function et que l'on analyse son interaction avec le reste du systme (le contrleur), on se rend compte qu'il peut y avoir une boucle algbrique. La figure 3-8 illustre
l'interaction entre notre s-function et le contrleur qu'on lui associe.

Notre s-function est elle mme implicite, et ceci avant mme que l'on considre le
processus d'intgration. En effet, elle contient la logique des interrupteurs et change les
matrices d'tat si au moins un interrupteur change d'tat. Consquemment, les sorties
y(n) de la s-function sont des fonctions directes des entres u(n) de la s-function au mme

moment. Si les sorties du contrleur Yc(n) sont elles aussi fonctions des entres du contrleur uc(n) au mme instant, une boucle algbrique est forme et sa solution n'est pas triviale puisque la boucle en question contient des discontinuits, en l'occurrence les

sources V et 1
u(n)

=[u 1(n) u2(n)]T


=[u 1(n) Yc(n )]T

u 1(n)
"2fn)

Yln)

s-function
y( li)= j(u(n), t)

mesures de tensions, courants, vitesse, c ouple, etc.


y(n)

uc(n)

commande

sign aux de gchette


des interrupteurs
Figure 3-8

Interaction entre notre s-function et le contrleur.

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.

117

changements d'tat des interrupteurs. Si cette condition se prsente, nous devons ajouter
un dlai unitaire z- 1 quelque part dans la boucle afin de la briser. Notre conclusion sur cet
aspect est donc la suivante. Bien que l'utilisation d'une mthode d'intgration explicite
puisse dans certains cas viter des boucles algbriques qui seraient formes en utilisant
une mthode d'intgration implicite, ce n'est pas notre cas, puisque notre systme est
implicite, et ce sans mme tenir compte de l'intgration.

3.6 tude de cas


Afin de dterminer si la mthode MSRP-2 est intressante pour notre application,
nous la comparons la discrtisation trapzodale. Notre comparaison est de nature qualitative (formes d'ondes obtenues) et quantitative (temps de calcul). Nous utilisons le
mme systme que celui utilis au chapitre prcdent, soit celui illustr la figure 2-13.
Cependant, nous utilisons cette fois-ci des s-function en langage Mati ab plutt qu'en langage pour faire la comparaison. Nous justifions ce choix par le fait que la mthode
MSRP-2 requiert des fonctions plus complexes, notamment le calcul de l'exponentielle
matricielle. Si la mthode MSRP-2 donne des meilleurs rsultats que la discrtisation trapzodale avec la s-function en langage Matlab, alors nous prendrons le temps de la programmer en langage C.

La s-function avec laquelle nous implantons la mthode MSRP-2 ressemble beaucoup celle utilise pour l'implantation de la discrtisation trapzodale. Cependant, les
calculs ne sont pas effectus dans le mme ordre, tant donn que la mthode MSRP-2
est explicite et se prte mieux la forme "standard" (3-21). La figure 3-9 illustre sous
forme d'organigramme les tches effectues dans la s-function pour la mthode MSRP-2.

Nous avons donc ralis deux simulations, une pour chaque mthode d'intgration.
La figure 3-l 0 illustre les courants statoriques de la phase a obtenus avec les deux mtho-

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.

118

des, en rgime permanent. On remarque que les courbes sont tout fait comparables et la
mthode MSRP-2 n'apporte rien de plus la prcision des courbes. La figure 3-11 illustre la vitesse de rotation de la machine obtenues avec les deux mthodes. Cette fois, les
courbes sont superposes et elles sont peu prs confondues, mise part une lgre diffrence juste avant d'atteindre le rgime permanent, ce qui nous permet de conclure encore
une fois que la mthode MSRP-2 nous donne d'aussi bons rsultats que la discrtisation
trapzodale, sans tre meilleurs.

Ct temps de calcul, le tableau 3-3 nous permet de constater que la mthode


MSRP-2 est sensiblement plus lente que la discrtisation trapzodale. Or, les temps indi(

Dbut

oon<$?
t>O'? .
OUI

construire les matrices d'tat finales A et 8


de l'entranement complet
(2-47)

vrifier logique des interrupteurs

calculer les sorties


y= C.t +Du
non

changement d'tat
d'interrupteur'!
oui
mettre jour les matrices d'tat du
convertisseur
(2-8) (2-10) et (2-12) (2-14)

calculer l'quation d'tat


.i = Ax+ Bu

calculer les coefficients


de la mthode MSRP-2
(3-25)

mettre jour les matrices d'tat de la


machine (termes contenant r>
(2-39)

mettre jour les tats "lectriques" discrets


(3-24)

calculer le couple lectromagntique (2-18)


et la vitesse de rotation de la machine (2-19)
(intgration trapzodale)

c
Figure 3-9

'

Fin

Organigramme de la fonction de mise jour des sorties de la s-function


(mthode MSRP-2).

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.

119

a)

100

[Q

-100
1.4

1.42

1.44

1.46

1.48

1.5

1.46

1.48

1.5

Temps (s)

b)

100

__:a

1.4

1.44

1.42

Temps (s)

Figure 3-10 Courant statorique de la phase a de la machine avec les deux mthodes
d'intgration: a) trapzodale; b) MSRP-2.

200~--------------~r---------------~----------------~

180
160
140
-120
~

"t:l

~100
:t

a ao
-&- Discrtisation trapzodale
~

Mthode MSRP-2

1.5

0.5
Temps (s)

Figure 3-ll Vitesse de rotation de la machine avec les deux mthodes d'intgration.

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.

120

qus dans ce tableau doivent tre interprts prudemment. En effet, cette simulation a t
ralise avec pas de calcul de 50 J.I.S, ce qui veut dire que pour 1.5 seconde de simulation,
il y a eu 30 000 pas de calcul. Or, il n'y a eu des changements d'tat d'interrupteurs que
dans 5 166 de ces pas de calcul, soit environ 17% du temps. La diffrence de dure des
deux simulations a lieu exclusivement durant les pas o il y a eu des changements d'tat
puisque lorsqu'il n'y en a pas, les deux s-function font exactement les mmes calculs,
savoir la mise jour des vecteur des sorties y et des tats x.
Tableau 3-3
Temps d'excution des deux simulations

Mthode d'intgration

Temps d'excution
(s)

Trapzodale

336

MSRP-2

365

Avec cette faon de compter, la mthode MSRP-2 est donc plus lente que la
discrtisation trapzodale par

Diffrence de temps de simulation

336
= 365336
x 100 + 0.17
-

(3-26)

=51%

Nous considrons ce rsultat comme approximatif. Pour faire des mesures prcises
du temps de calcul, il nous faudrait programmer la s-function pour la mthode MSRP-2
en langage C et reprendre l'analyse. Or, suite aux rsultats obtenus, nous ne voyons
aucun intrt poursuivre cette voie.

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.

121

3. 7 Conclusions

Nous nous sommes concentrs dans ce chapitre la question d'intgration pas


fixe des quations d'tat lies aux entranements lectriques. Aprs avoir constat que les
quations diffrentielles de notre systme sont rigides, nous avons pass en revue les
caractristiques des mthodes d'intgration les plus couramment utilises pour rsoudre
cette classe de systmes. Nous avons choisi de travailler avec la discrtisation trapzodale, tant donn sa grande prcision et son algorithme relativement simple, puis avons
dcrit comment cette discrtisation a t implante dans nos simulations. Nous avons par
la suite dcrit une mthode d'intgration rcemment dveloppe spcifiquement pour la
simulation en temps rel d'quations diffrentielles rigides, soit la mthode MSRP-2.
Une comparaison des rsultats obtenus avec la mthode MSRP-2 et la discrtisation trapzodale nous permettent de conclure qua les deux mthodes donnent des rsultats qui
sont qualitativement trs similaires. Cependant, la discrtisation trapzodale donnant des
simulations plus rapides en temps diffr, c'est avec cette mthode que nous allons continuer travailler.

La validit de l'approche de simulation ainsi que de la mthode d'intgration choisie ayant t dmontres en temps diffr, nous allons maintenant dcrire la dernire
phase de nos travaux, qui consiste implanter le tout en temps rel sur un ordinateur multiprocesseurs.

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.

CHAPITRE4
SIMULATION EN TEMPS REL

Ce dernier chapitre dcrit les tapes qui nous permettent d'atteindre notre but
ultime, soit de raliser en temps rel des simulations d'entranements lectriques, lesquels
sont modliss l'aide de l'approche par variables d'tat. Il s'agit en fait d'intgrer les
techniques des trois chapitres prcdents en un tout cohrent.

Nous dcrivons d'abord le systme que nous tentons de modliser et simuler en


temps rel. Ce systme consiste en un entranement industriel commercialis par la compagnie ABB. Nous dcrivons ensuite brivement les deux grandes architectures d'ordinateur parallles sur lesquelles nous avons ralis nos simulations. L'entranement tudi
tant relativement complexe, nous dcrivons aussi une technique de dcouplage qui nous
permet de simuler sparment les deux principales parties de 1' entranement. Afin de
rduire le temps de calcul, nous tentons de sparer encore en deux les calculs associs
l'une des deux principales parties de notre simulation dcouple. Nous identifions par la
suite les principaux facteurs qui peuvent influencer la performance, en terme de vitesse
de calcul, de nos simulations, aprs quoi nous dcrivons les diffrentes optimisations que
nous avons faites dans nos programmes. Enfin, nous prsentons des rsultats de simulations ralises en temps rel sur un ordinateur parallle.

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.

123

4.1

Systme tudi

Nous avons justifi notre dmarche au dbut de cette thse en spcifiant que l'un
des aspects intressants de la simulation en temps rel est qu'elle permet de raliser des
essais sur des commandes relles de faon plus efficace et scuritaire que si l'on fait ces
mmes essais sur le systme rel. ll s'agit en fait de simuler en temps rel toute la partie
haute puissance et de raccorder la commande au processus simul. La simulation doit
donc modliser le plus fidlement possible le processus simuler. Dans cet esprit, nous
avons choisi d'tudier un entranement industriel commercialement disponible. Le contrleur choisi est fabriqu par la compagnie ABB et est de la famille ACS 600. Notre
choix est principalement motiv par le fait que plusieurs de ces contrleurs sont disponibles dans nos laboratoires d'lectrotechnique. Nous avons donc facilement accs l'quipement ainsi qu' toute la documentation associe. L'un des techniciens de l'.T.S. ayant
suivi une formation spciale pour la mise en service et l'entretien de ces entranements,
nous avons accs des plans dtaills du contrleur. Ce dernier aspect est loin d'tre
ngligeable puisque l'une des principales difficults rencontres dans la simulation des
entranements est l'obtention d'un ensemble complet de paramtres d'un systme rel.

La modification du systme consiste essentiellement remplacer la batterie du


schma 2-12 par une source triphase et un redresseur diodes. La figure 4-1 illustre le
schma complet de l'entranement. Les principaux paramtres associs cet entrane-

..........__.........~.oo_.-_.__...._--"'-..&...--'
Figure 4-1

reinage
dynamique

Machine
asynchrone

Schma de 1' entranement tudi.

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.

124

ment sont donns l'annexe B. La source comporte une impdance srie compose d'une
rsistance et d'une inductance sur chaque phase. On note aussi la prsence de circuits
amortisseurs ("snubbers") aux bornes de chaque diode. Enfin, un interrupteur command
en srie avec une petite rsistance font office de mcanisme de freinage dynamique. Ce
mcanisme sert galement maintenir la tension du bus DC, qui a tendance monter
des valeurs trs leves lorsque la machine change de mode de fonctionnement (de
moteur gnratrice et vice-versa), lors de ralentissements et d'acclrations. Enfin, la
commande utilise pour la famille d'entranements ACS 600 de ABB est une commande
DFTC ("Direct Flux and Torque Control") tel que dcrite au chapitre 2.

4.2 Ordinateurs parallles

Comme notre but est de raliser des simulations en temps rel, nous devons nous
attarder la question du matriel sur lequel ces simulations sont excutes, c'est--dire
l'ordinateur. Bien que ce ne soit pas encore vident ce stade-ci, le systme que nous
dsirons simuler est trop complexe pour tre simul en temps rel sur un seul processeur,
avec un pas de calcul raisonnable. Nous devons donc utiliser un ordinateur plusieurs
processeurs, ou ordinateur parallle. Il existe principalement deux grandes familles
d'architectures d'ordinateurs parallles, savoir:

a.

les architectures mmoire distribue, ou passage de messages;

b.

les architectures mmoire partage.

Comme nous avons eu l'occasion de travailler sur les deux types d'architectures
dans le cadre de nos travaux, nous les dcrivons sommairement afin d'identifier leurs
principales caractristiques.

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.

125

4.2.1 Architectures mmoire distribue


Un ordinateur parallle mmoire distribue est gnralement caractris par un
certain nombre de processeurs comportant chacun une plage de mmoire prive,
mmoire qui est inaccessible aux autres processeurs. Comme il arrive que plusieurs processeurs aient besoin des mmes donnes pour accomplir leurs tches respectives, les
processeurs sont relis par des liens de communication permettant l'change des donnes
entre eux. La figure 4-2 illustre un ordinateur parallle mmoire distribue comportant
quatre processeurs. Cette figure nous permet d'identifier les principales caractristiques
de cette architecture. D'abord, chaque processeur dispose d'un nombre fini de liens de
communication. La quantit de liens de communication de chaque processeur est une
contrainte sur la topologie d'interconnexion des processeurs. Dans notre exemple de la
figure 4-2, chaque processeur dispose d'au moins trois liens de communication et il est
possible dans ces conditions d'avoir une topologie dite compltement connecte, o chaque processeur est capable de communiquer directement avec tous ses pairs. Or, avec un
grand nombre de processeurs, il est difficile d'avoir une topologie compltement connecte et nous sommes contraints d'utiliser des topologies o chaque processeur n'est pas
capable de communiquer directement avec tous ses pairs, mais doit passer par un ou plusieurs processeurs intermdiaires pour atteindre certains processeurs loigns.

Mentionnons aussi que si d'autres processeurs doivent traiter les donnes se trouvant sur un processeur en particulier, ces donnes doivent tre transmises d'un processeur

M: Mmoire (prive)
P: Processeur

Figure 4-2

Ordinateur parallle mmoire distribue.

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.

126

l'autre. Si beaucoup de donnes doivent transiter entre les processeurs, le temps de


communication associ la transmission de ces donnes peut devenir excessif et dominer
le temps de calcul des processeurs. Cette architecture est donc performante si 1' on parvient minimiser la quantit de donnes transmises entre les processeurs chaque pas de
calcul.

L'ordinateur mmoire distribue avec lequel nous avons eu la chance de travailler


est un ordinateur spcialement conu pour la simulation en temps rel des rseaux lectriques. Il s'agit en fait d'un simulateur Hypersim, dvelopp par l'IREQ et commercialis
par Transnergie Technologies, la filiale commerciale de Transnergie. Cet ordinateur
est compos de 15 processeurs DEC Alpha avec une horloge de 533 MHz. Chaque processeur dispose de six liens de communication. Nous dcrirons plus en dtail notre
implantation sur cet ordinateur dans une section ultrieure.

4.2.2 Architectures mmoire partage

Un ordinateur parallle mmoire partage consiste en un certain nombre de processeurs ayant tous accs une zone de mmoire unique. La figure 4-3 illustre cette
architecture et permet d'en dgager les principales caractristiques. D'abord, on remarque en comparant l'architecture mmoire distribue que l'accs par plusieurs proces-

Mmoire

P: Processeur
Figure 4-3

Ordinateur parallle mmoire partage.

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.

127

seurs une mme donne ne ncessite pas de communication interprocesseur. Les accs

la mmoire se font via un bus commun tous les processeurs. Dans une architecture
mmoire partage "pure", ceci cause des problmes lorsque plusieurs processeurs dsirent accder la mmoire en mme temps. Le bus ne pouvant tre contrl que par un
seul processeur la fois, les autres processeurs dsirant accder la mmoire doivent
attendre que le contrle du bus devienne disponible. S'il arrive rgulirement durant une
simulation que plusieurs processeurs tentent d'accder de faon simultane la mmoire,
la performance sera grandement rduite. Cette situation est souvent appele une contention de bus. Il existe toutes sortes de variantes de cette architecture permettant entre
autres les accs simultans suivants:

a.

accs simultan une zone mmoire unique par des processeurs diffrents en
lecture seulement;

b.

accs simultan des zones mmoires diffrentes par des processeurs diffrents, en lecture ou en criture.

Ces accs simultans sont rendus possibles grce l'ajout dans l'ordinateur de
matriel spcialis d'accs la mmoire. Nous tenons simplement mentionner que ces
possibilits existent et n'laborerons pas la description de ce matriel.

L'ordinateur mmoire partage avec lequel nous avons travaill est un SGI Origin
2000 comportant 12 processeurs MIPS Rl2000 avec une horloge de 400 MHz. Cet ordinateur ne possde pas une architecture mmoire partage "pure", mais plutt une architecture dite "distributed shared memory", mmoire partage distribue, ou "virtual shared
me mory", mmoire partage virtuelle. Ceci peut sembler paradoxal mais ces appellations
veulent simplement dire que la mmoire est physiquement distribue, alors que du point
de vue du programmeur, elle apparat comme un seul espace mmoire contigu. La figure
4-4 illustre l'architecture de l'ordinateur sur lequel nous avons travaill. Nous avons con-

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.

128

a)

b)

Cache L2

~=

Cache L2

Cache Ll

Cache Ll

Processeur l

Processeur 2

Mmoire
principale

1"Hub" 1L

600 Mols

R = Routeur
Lien CrayLink (600 Mols)

Figure 4-4

Architecture du SGI Origin 2000. a) systme avec huit processeurs;


b) contenu d'une carte ("Node board")

serv la notation de la littrature SGI [35] dans cette figure. Chaque symbole N reprsente une carte (dnomme "node board" par le fabricant) qui comprend deux
processeurs. Chacun de ces processeurs dispose d'une antmmoire ("cache memory") de
niveau un (LI) interne et d'une antmmoire de niveau deux (L2) externe la puce du
processeur. La mmoire cache associe un processeur n'est pas accessible par les autres
processeurs du systme. Les deux processeurs disposent cependant d'une mmoire principale. Cette mmoire doit tre accde via une autre puce, dnomme "hub". Le "hub"
contrle l'accs la mmoire principale non seulement pour les processeurs se trouvant
sur cette carte, mais aussi pour les processeurs des autres cartes. Il est possible de raccorder deux "hub" ensemble directement et ainsi obtenir un systme quatre processeurs.
Cependant, si 1' on veut relier ensemble trois cartes ou plus, il faut utiliser une autre composante, savoir un routeur (symbole R dans la figure 4-4). Chaque routeur dispose de
six ports de communication et il est donc possible de raccorder en toile douze processeurs (six cartes) l'aide d'un seul routeur. Le systme que nous avons utilis correspond

la figure 4-4a.

Cette section visait simplement prsenter sommairement les deux ordinateurs


parallles avec lesquels nous avons expriment. Nous reviendrons sur leurs caractristi-

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.

129

ques spcifiques dans une section ultrieure, alors que nous dcrirons l'implantation de
nos simulations sur chacun.

4.3 Dcouplage
Ds nos premires simulations avec le montage de la figure 4-1, il est clair que le
systme complet ne peut tre simul en temps rel sur un seul processeur, avec un pas de
calcul raisonnable. Afin de rduire le temps de calcul, une premire forme de paralllisme est tente. Il s'agit en fait de sparer ou dcoupler le systme en plusieurs morceaux. Il existe diverses faons de dcoupler un systme lectrique. L'une des mthodes
couramment utilises dans la simulation des grands rseaux lectriques consiste utiliser
les lignes de transports comme lment de dcouplage [34]. Les lignes de transport sont
caractrises par un dlai de propagation proportionnel la longueur de la ligne. Par
exemple, si l'on applique un chelon de tension une extrmit d'une ligne, l'chelon se
propage dans la ligne et arrive l'autre extrmit aprs un certain temps t. Dans une
simulation pas fixe, il suffit que le dlai de propagation dans ladite ligne soit au moins
gal au pas de calcul utilis pour la simulation afin que la ligne puisse servir d'lment de
dcouplage sans affecter le rsultat. La figure 4-5 illustre l'utilisation d'une ligne de
transport comme lment de dcouplage dans la simulation d'un lien haute tension courant continu (HTCC).

Processeur 2

Processeur 1

~H~I

Poste
redresseur

Figure 4-5

.A

'
t >=

L\t

I~Ht--0

Poste
onduleur

Dcouplage par l'utilisation d'une ligne de transport.

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.

'

130

Cette forme de dcouplage gographique est trs utilise dans les simulateurs en
temps rel de grands rseaux lectriques. Dans le cas d'un entranement lectrique,
l'ajout d'une ligne de transport assez longue pour que son dlai de propagation soit de
1'ordre du pas de calcul est difficile justifier. Dans la plupart des cas, les composantes
d'un entranement sont assez proches les unes des autres. Dans le pire des cas, la source
est une extrmit d'une grande usine et la machine l'autre extrmit, mais la distance
n'est jamais assez importante pour que cette technique de dcouplage s'applique.

Une seconde technique de dcouplage consiste couper un rseau lectrique en un


point judicieusement choisi et calculer de part et d'autre de la coupure des quivalents
de Thvenin et Norton, qui servent d'interface entre les deux sous-systmes ainsi obtenus. Cette mthode est utilise dans [ 16] pour interfacer un grand rseau, simul avec
l'approche nodale, avec un lien haute tension courant continu (HTCC), simul avec
l'approche par variables d'tat. Les auteurs affirment que le succs de la mthode dpend
de l'utilisation exclusive de quantits dites stables au point d'interface. Les quantits stables en question sont des courants traversant des inductances et des tensions aux bornes
de condensateurs. La mthode est illustre la figure 4-6, o Z 1 est la rsistance de Norton du sous-systme #1 tandis que Z2 est la rsistance de Thvenin du sous-systme #2.
Ir
Sous-systme
#1

Figure 4-6

~
...

: ..L ~

Sous-systme
#2

Dcouplage d'un rseau lectrique l'aide d'quivalents Thvenin et


Norton

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.

131

Ces rsistances sont calcules en dsactivant toutes les sources du systme et en appliquant une impulsion de courant au point d'interface. On mesure la tension obtenue, que
l'on divise par le courant appliqu pour obtenir la rsistance. Ce processus doit tre refait

chaque pas de calcul. Les amplitudes des sources sont calcules partir de ces rsistances et des valeurs de 11 et Vc au pas prcdent. Les relations sont donnes dans [ 16]. Cette
mthode est rpute comme tant prcise, mais le processus de calcul des quivalents de
Thvenin et Norton est difficilement ralisable dans une simulation en temps rel.

Nous avons donc utilis une autre technique de dcouplage, qui est peu documente, mais couramment utilise dans le domaine de la simulation en temps rel des rseaux
lectriques. Il s'agit, comme dans la mthode des quivalents Thvenin et Norton, de
mesurer un courant et une tension de part et d'autre de la coupure et de simplement transmettre cette mesure une source commande de l'autre ct de la coupure. La mthode
est illustre la figure 4-7 pour notre entranement. Bien que le courant servant l'interfaage des deux sous-systmes ne soit pas un courant d'inductance comme tel, il estrelativement stable.

4.4 Simulation parallle de la partie onduleur/machine

un certain stade de nos travaux, nous utilisions un montage diffrent de celui

dcrit dans cette thse. La partie onduleur/machine comportait plus de variables d'tat
que le montage final et le temps de calcul tait plus long. Par consquent, nous n'tions
1

Redresseur
diodes

Ide

1
1
1

W.l/k
~~h
1

Figure 4-7

..._....._......._.....__,

Machine
asynchrone

Mthode de dcouplage utilise.

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.

132

pas capable de faire de la simulation en temps rel. De plus, nous ne nous tions pas
encore rendu compte que la mise jour des tats discrets tait plus rapide en solutionnant
un systme d'quations plutt qu'en inversant une matrice, comme il a t discut la
section 3.3.

Nous avons donc essay d'exploiter une autre forme de paralllisme. Les techniques de dcouplage dcrites la section prcdente permettent d'isoler dans un processeur un sous-rseau quelconque. Cette forme de paralllisme se prte particulirement
bien une implantation sur un ordinateur parallle bas sur une architecture mmoire
distribue, puisqu'un minimum d'information transite entre les processeurs (tensions et
courants de part et d'autre du pont de dcouplage). Or, la seconde forme de paralllisme
avec laquelle nous avons expriment se prte bien selon nous une architecture
mmoire partage et consiste distribuer les calculs associs un sous rseau sur plusieurs processeurs. Dans notre cas, ce sous rseau consiste en la partie onduleur/machine.
Le travail dcrit dans cette section a donc t ralis sur 1'ordinateur SGI Origin 2000
dcrit la section 4.2.

Afin d'tudier la performance de cette forme de paralllisme, nous avons dcid


ds le dpart de nous concentrer sur une petite partie de notre simulation. Nous avons
donc mesur individuellement le temps d'excution des diverses tches effectues dans
une itration, ou un pas de calcul, de notre simulation. Nous avons constat que l'inversion de matrice requise pour la mise jour des tats selon la discrtisation trapzodale
(4-l) occupait une part importante du temps de calcul chaque pas .

xn + 1

=::(1- An 2+ T)- :
1

: [(

An T) xn + (B2nT) "n + (B n+2 T) "n + J

1+ 2

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.

(4-1)

133

Nous avons donc dcid de tenter la paralllisation de cette inversion de matrice sur
deux processeurs afin de voir si un gain en temps de calcul est possible. D'abord, l'inversion de matrice est ralise l'aide d'une factorisation LU, suivie de deux substitutions
(avant et arrire). Il existe d'autres algorithmes permettant d'inverser une matrice, mais
notre choix s'est arrt sur la factorisation LU parce qu'une part imponante de l'algorithme, soit les substitutions avant et arrire, se paralllise de faon triviale tel que dcrit

la section 3.3. La factorisation elle-mme n'est pas facile parallliser et nous n'avons
pas tent de le faire. De toute faon, la factorisation elle-mme est d'ordre de complexit
mathmatique 2N3/3 alors que l'inversion de matrice base su la factorisation LU est de
complexit 2N3 . La substitution avant et arrire reprsentent donc ensemble deux fois
plus de travail que la factorisation. Nous tenons spcifier ici que 1'ordre N de la matrice

inverser est typiquement infrieur 15. Il est imponant de le mentionner puisque la plupan des algorithmes matriciels sont optimiss pour des matrices de grande dimension,
par exemple d'ordre 500 et plus. La factorisation elle-mme est donc ralise sur un seul
processeur, puis les substitutions avant et arrire sont chacune partages sur deux processeurs, o chaque processeur traite la moiti des colonnes de X et B. La figure 4-8 illustre
1'ordre des calculs ainsi que les mcanismes de synchronisation requis, dans ce cas-ci des
barrires.
Factorisation LU de
la matrice inverser
Barrire

1
1
1
1

1
1

Substitution arrire
(colonnes de droite)

1
Processeur Il

Figure 4-8

Barrire
Processeur 12

Inversion de matrice parallle sur deux processeurs.

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.

134

Notre exprimentation avec cette forme de paralllisme nous a permis de raliser


qu'aucun gain en temps de calcul ne peut tre obtenu pour notre problme. Nous esprions gagner un peu de temps, mais le gain en temps d au partage des calculs sur deux
processeurs est domin par l'incohrence de l'antmmoire ("cache misses"). En effet, la
matrice inverser se trouve dans la mmoire principale accessible tous les processeurs.
Lorsque le processeur #l effectue la factorisation LU, il charge la matrice de la mmoire
principale son antmmoire, qui est beaucoup plus rapide. Lorsque ce mme processeur
commence utiliser les facteurs L et U, ces matrices sont dj charges en antmmoire
et ce processeur effectue sa part du calcul trs rapidement. Cependant, pour 1'autre processeur (le #2 dans la figure 4-8), les copies des matrices Let U qui sont dans son antmmoire ne sont plus valides, puisqu'elles datent du pas de calcul prcdent et viennent
d'tre recalcules par le processeur # l. Des copies fraches de ces deux matrices doivent
donc tre transfres nouveau de la mmoire principale vers 1' antmmoire du processeur #2. Ce transfert est trs coteux, la mmoire principale tant caractrise par un
temps d'accs de plusieurs fois suprieur celui de l'antmmoire. Nous reviendrons sur
ce point dans la section 4.5.1.

4.5

Principaux facteurs affectant le temps de calcul

Dans cette section, nous tenons identifier les facteurs qui ont une influence directe
sur le temps de calcul. Notre liste est relativement exhaustive, mais nous ne tenons qu'
identifier et dcrire sommairement ces facteurs. Leur tude dtaille peut facilement faire
l'objet d'un document assez volumineux. De plus, la plupart de ces facteurs tant lis au
matriel, soit l'ordinateur lui-mme, ils ne s'appliqueront pas de la mme faon d'un type
d'ordinateur un autre. Bien que les algorithmes eux-mmes soient un facteur important
pour la vitesse des calculs, nous allons les traiter sparment dans une section ultrieure.

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.

135

4.5.1 Matriel

Le matriel utilis est d'importance capitale. Nous entendons par matrielles lments suivants:

a.

le microprocesseur;

b.

l'antmmoire (mmoire "cache");

c.

la mmoire principale;

d.

les liens interprocesseur;

e.

l'interface avec le monde extrieur (entres et sorties du simulateur).

Le microprocesseur est le centre de tout ordinateur, incluant les simulateurs en


temps rel. Nous sommes habitus de comparer les processeurs en termes de la vitesse de
leur horloge, par exemple 800 MHz vs. 500 MHz, mais la vitesse de l'horloge n'est pas
toujours un bon indicateur des performances du processeur. Certains processeurs 500
MHz sont plus performants que d'autres 800 MHz. Afin de comparer les performances
des processeurs entre eux dans un contexte donn, il faut analyser leur architecture
interne, ce qui inclus entre autres:

a.

le nombre de registres;

b.

le nombre de niveaux du pipeline;

c.

le nombre d'units arithmtiques et logiques;

d.

le jeu d'instructions;

e.

la capacit d'effectuer certaines oprations complexes (multiplication et addition combines, division, racine carre) en un cycle d'horloge.

La vitesse de la mmoire principale est un autre facteur important. Nous ne mentionnons pas la quantit de cette mmoire puisqu'elle est amplement suffisante pour nos
besoins dans les ordinateurs modernes, ce qui n'a pas toujours t le cas. Il faut tre cons-

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.

136

cie nt que mme si un processeur est caractris par une horloge de 800 Mhz ou l GHz, il
communique avec la mmoire via un bus qui possde une horloge typiquement de l'ordre
de lOO MHz. Dans certaines applications dites intensives en accs la mmoire, la
vitesse de la mmoire principale est l'lment limitatif, et non pas celle du processeur.

La mmoire hirarchique (plusieurs niveaux d'antmmoire) permet de rduire ce


problme. Le principe de base de la mmoire hirarchique est relativement simple. Il
s'agit d'inclure sur la mme puce que le microprocesseur, une petite quantit de mmoire
trs rapide, souvent de la mme vitesse que l'horloge du processeur. La quantit de cette
mmoire est rduite (quelques dizaines de ko) car elle est trs dispendieuse. Le gestionnaire de cette mmoire y stocke les parties de programme et de donnes qui sont souvent
accdes. Ces gestionnaires utilisent toutes sortes de rgles pour dcider de ce qui est
souvent utilis ou non. Ces dtails dpassent le cadre de notre thse. Cette premire antmmoire est souvent dite de niveau un (L l ). Il existe dans tous les processeurs modernes
une quantit plus importante (quelques centaines de ko plusieurs Mo) d'antmmoire
de niveau deux (L2). Cette antmmoire est plus lente que l'antmmoire de niveau un
parce qu'elle se trouve sur une puce externe celle du microprocesseur et doit donc communiquer avec cette dernire via un bus. Les deux niveaux d' antmmoire sont illustrs
la figure 4-4.

Les accs en mmoire se font donc en gnral de la faon suivante. Si le processeur


doit accder une donne qui se trouve dans l'antmmoire Ll,l'accs est trs rapide. Si
la donne ne s'y trouve pas, l'antmmoire est interroge pour voir si elle ne contient pas
la donne requise. Si c'est le cas, la donne est transfre dans l'antmmoire Ll. Si elle
n'y est pas, elle doit tre transfre de la mmoire principale vers l'antmmoire L2, puis
vers l'antmmoire Ll. On comprend donc que plus une donne est loin du microprocesseur, plus elle est longue accder.

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.

137

Sur une machine multiprocesseur mmoire partage, les accs la mmoire peuvent tre encore plus long cause du processus d'invalidation de l'antmmoire. Ce phnomne se produit lorsque plusieurs processeurs possdent dans leur antmmoire une
copie de la mme donne et que l'un d'entre eux change la valeur de cette donne.
L'antmmoire des processeurs qui possdent une copie de la donne nouvellement
change est invalide. Les processeurs en question sont ainsi avertis qu'ils doivent aller
chercher une nouvelle copie de la donne dans la mmoire principale s'ils en ont encore
besoin. Ce processus peut occasionner une pnalit de plusieurs dizaines de milliers de
cycles d'horloge [36]. Il faut donc utiliser l'antmmoire de faon rflchie. Il existe plusieurs moyens de prendre avantage de l'antmmoire. L'une de ces mthodes consiste
prendre en compte la longueur des lignes d'antmmoire. Lorsqu'une donne est transfre de la mmoire principale l'antmmoire, ce n'est pas une seule donne qui est transfre, mais une ligne de donnes. La longueur des lignes d'antmmoire varie d'un
processeur l'autre, mais elle est de 128 octets sur l'ordinateur SGI Origin 2000. Si les
donnes sont en double prcision (huit octets par donne), une ligne contient 16 donnes
diffrentes sur cet ordinateur. Il faut donc utiliser au maximum une ligne d'antmmoire
lorsque celle-ci est charge. Il est dmontr dans [36] l'aide d'un exemple qu'une multiplication matricielle multiprocesseur qui tient compte de la longueur des lignes d'antmmoire peut s'excuter jusqu' dix fois plus rapidement (pour un mme nombre de
processeurs) que la mme multiplication programme de faon "nave".

Le dual de ces accs la mmoire partage se retrouve dans un ordinateur parallle


mmoire distribue sous la forme de liens de communication. Dans ce cas, nous avons

vu plus haut que chaque processeur possde sa mmoire principale prive et inaccessible
aux autre processeurs. Les donnes partager avec d'autres processeurs doivent tre
transmises via des liens de communication. Le nombre de liens, le temps de dmarrage
d'une communication ainsi que le taux de transfert ont un impact majeur sur la performance dans ce type d'ordinateur parallle.

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.

138

Un dernier point important en ce qui concerne l'impact du matriel sur les performances d'un simulateur concerne les entres et sorties. Rappelons que nous cherchons
faire de la simulation en temps rel afin de pouvoir interconnecter des quipements rels
et un processus simul. Or, l'interconnection du simulateur avec le monde externe passe
par des convertisseurs analogique numrique et numrique analogique. De plus, ces
convertisseurs tant externes au processeur, des liens de communication les relient. La
bande passante de ces liens ainsi que le dlai de conversion auront un impact sur la performance du simulateur.

4.5.2 Systme d'exploitation

Nous tenions aborder ce sujet parce nous entendons de plus en plus parler de systmes d'exploitation en temps rel. Il faut bien comprendre de quoi il s'agit. Lorsque l'on
parle de temps rel, il faut spcifier l'ordre de grandeur du pas de calcul utilis si l'on
veut tre en mesure d'analyser la possibilit d'utiliser tel type de matriel ou tel type de
logiciel. Par exemple, nous avons rencontr lors d'une confrence un chercheur qui dveloppait un simulateur servant former les oprateurs de rseaux ferroviaires. Son simulateur est en temps rel mais utilise un pas de calcul de deux secondes, puisqu'il est
suffisant de connatre la position d'un train sur un rseau ferroviaire toutes les deux
secondes. Les systmes d'exploitation en temps rel ont des caractristiques intressantes
mais sont tout fait inutilisables pour notre type d'application. Le temps que met le systme d'exploitation rpondre une requte de service est de l'ordre de la milliseconde.
Si l'on compare ce temps une simulation qui utilise un pas de calcul de 50 J!S, qui est
typique dans le domaine des rseaux lectriques, on se rend compte que nous avons
effectu plusieurs dizaines de pas de calcul alors que le soi-disant systme d'exploitation
en temps rel commence peine ragir.

Dans la version SGI du simulateur Hypersim, on charge le systme d'exploitation


dans un seul processeur matre. Les autres processeurs ne contiennent pas de systme

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.

139

d'exploitation mais sont contrls par le processeur matre, lequel ne peut servir la
simulation. Il n'est pas possible de faire de la simulation en temps rel l'chelle des
dizaines de microsecondes autrement.

Dans la version DEC Alpha du simulateur, aucun des processeurs ne contient de


systme d'exploitation. Les programmes sont chargs dans les processeurs par l'entremise d'un poste de travail li chacun des processeurs via une interface de communication IEEE 1394 ("Fire Wire").

4.5.3 Compilateur

Lorsque l'on crit un programme dans un langage de haut niveau comme le langage
C, ce programme doit tre interprt et traduit dans un langage que le processeur comprend, le langage assembl, avant de pouvoir tre excut. Cette traduction est faite par le
compilateur. Or, il y a souvent plusieurs faons de raliser cette traduction et diffrents
compilateurs vont produire des programmes avec des performances diffrentes partir
d'un mme fichier source. De plus, un compilateur fournit l'usager la possibilit de spcifier de nombreuses options de compilation qui affectent grandement la performance du
programme. Une bonne comprhension de ces options est requise lorsque l'on recherche
le niveau de performance requis dans notre application. Ceci implique que nous devons
galement bien comprendre l'architecture du processeur utilis, plusieurs des options de
compilation ayant un lien direct avec l'architecture du processeur. Afin de bien comprendre les options de compilation, une bonne documentation du compilateur est requise.

L'optimisation du code est une option que l'on retrouve dans la plupart des compilateurs modernes. Dans un environnement UNIX, on le spcifie la plupart du temps en
indiquant 1'option -On, o n est gnralement un petit chiffre entier indiquant le ni veau
d'optimisation. Le niveau zro indique qu'aucune optimisation ne doit tre effectue. Le
niveau maximum d'optimisation varie d'un compilateur l'autre, mais est gnralement

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.

140

trois ou quatre. Plus le niveau est lev et plus l'optimisation est agressive. Il faut cependant utiliser cette option avec soin puisque d'une part, le niveau d'optimisation le plus
lev ne produit pas ncessairement le programme le plus performant, et d'autre part les
niveaux levs d'optimisation peuvent produire un programme qui donne des rsultats
imprcis. Ces imprcisions proviennent du fait qu' ces niveaux, le compilateur peut
dcider de changer l'ordre de certaines oprations en plus d'utiliser des fonctions (par
exemple la racine carre) optimises pour la vitesse de calcul, mais non conforme la
norme IEEE 754 pour la reprsentation des nombres en virgule flottante. Il faut donc
exprimenter avec les niveaux d'optimisation afin de dterminer quel niveau est le plus
appropri pour une application donne. Ceci peut impliquer la sparation du programme
en plusieurs fichiers dans le but de permettre la compilation de chacun avec un niveau
d'optimisation bien adapt aux tches effectues.

Les compilateurs effectuent des optimisations divers niveaux. Le but est cependant toujours le mme, soit d'utiliser le plus efficacement possible les ressources de
l'ordinateur. Nous prsentons brivement trois aspects d'optimisation qui ont eu un
impact apprciable sur le temps d'excution de nos programmes sur l'ordinateur SGI,
soit [35]:

a.

"software pipelining";

b.

droulement de boucles;

c.

restriction des alias de pointeurs.

Le "software pipelining" consiste tirer avantage du fait que le processeur, dot


d'un pipeline plusieurs niveaux, est capable d'excuter plusieurs instructions chaque
cycle d'horloge. Il s'agit en fait de drouler la boucle la plus interne dans des boucles
imbriques ou de drouler la boucle tout simplement lorsqu'il n'y pas de boucles imbriques. Dans le cas du SGI, le pipeline quatre niveaux permet 1' excution simultane de

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.

141

quatre instructions. Ces instructions peuvent tre toute combinaison parmi la liste suivante:

a.

un accs mmoire, en lecture ou en criture;

b.

une instruction de l'unit arithmtique et logique (UAL) #l;

c.

une instruction de l'unit arithmtique et logique (UAL) #2;

d.

une addition en virgule flottante;

e.

une multiplication en virgule flottante.

Les UAL servent essentiellement au calcul des adresses (chiffres entiers) des donnes. La liste ci-haut nous permet de dduire que sur cet ordinateur, il est thoriquement
possible d'excuter deux oprations en virgule flottant (une addition et une multiplication} chaque cycle. Or ce maximum thorique est difficilement ralisable, comme le
dmontre l'exemple suivant. Le but ici est simplement de prsenter le principe, une analyse dtaille de cet exemple est disponible dans [35]. Soit une boucle sous forme de
pseudo-code tel que montr la figure 4-9.

for i=l:n
y(i}

= y(i)

a*x(i);

end
Figure 4-9

Une boucle simple.

Chaque itration de cette boucle implique:

a.

trois accs en mmoire, soit la lecture de x ( i) et y ( i) puis 1' criture

dey(i);
b.

une multiplication et une addition;

c.

deux incrmentations d'adresse, x ( i) et y ( i);

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.

142

d.

un test de fin de boucle;

e.

un branchement.

Une fois la boucle en rgime permanent, soit lorsque le pipeline est rempli, l'excution de la ligne dans la boucle requiert trois accs mmoire pour deux oprations en virgule flottante. Ceci implique que pour cette boucle, le rapport maximum d'oprations par
cycle est 2/3, ce qui est le tiers du maximum thorique de deux. Or, si la boucle est programme telle quelle, ce rapport sera plutt de 217. cause des contraintes matrielles, ce
qui est 117 du maximum thorique de deux oprations par cycle. Droulons la boucle tel
qu'indiqu la figure 4-10 (la deuxime boucle for est requise afin de raliser la dernire itration dans le cas o n est impair).

for i=l:2:n-l
y(i+O) = y(i+O) + a*x(i+O);
y(i+l) = y(i+l) + a*x(i+l);
end
for i=i:n
y(i+O) = y(i+O) + a*x(i+O);
end

Figure 4-10 Une boucle simple droule une fois.

Dans ces conditions, le processeur arrive raliser quatre oprations en virgule


flottante en huit cycles, ce qui donne 1/4 du maximum thorique et est une nette amlioration. En droulant la boucle quatre fois plutt que deux, on arrive atteindre le maximum pour ce problme, qui est de deux oprations par trois cycles et reprsente 1/3 de la
capacit maximale du processeur.

Le but est donc le suivant. TI s'agit que le compilateur dtermine automatiquement


le niveau optimal de droulement des boucles interne ("software pipelining") afin de

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.

143

maximiser le taux d'oprations en virgule flottante par cycle, sans avoir faire ce travail
manuellement (dans notre programme). L'efficacit de ce type d'optimisation dpend en
grande partie de l'architecture interne du processeur (niveaux de pipeline, nombre
d'VAL) et de la taille du problme. Plus une boucle comporte d'itrations, plus son optimisation rapportera. Dans le cas o une boucle comporte peu d'itrations, il vaut mieux
ne pas utiliser cette fonne d'optimisation, puisque la perfonnance peut tre rduite
cause du code additionnel requis pour remplir le pipeline et tenniner les dernires itrations (deuxime boucle for dans l'exemple ci-haut).

Un autre concept intimement li au "software pipelining" est le droulement des


boucles externes lorsque plusieurs boucles sont imbriques. Cette fonne d'optimisation
est nomme "loop-nest optimisation" (LNO) dans la littrature SGI. Un exemple dtaill
est dcrit dans [35] o l'on dmontre qu'avec ce type d'optimisation, il est possible, pour
un algorithme de multiplication matricielle, de passer de 33% 100% d'utilisation du
processeur en droulant judicieusement les deux boucles externes, l'algorithme comportant trois boucles imbriques. Comme le concept est trs similaire celui du "software
pipelining", nous ne prsentons pas l'exemple ici. Nous tenons simplement mentionner
que nous avons utilis cette fonne d'optimisation lors de la compilation de nos programmes.

Une dernire fonne d'optimisation a eu un impact favorable sur la perfonnance de


nos simulations. Cette optimisation consiste simplement donner une infonnation additionnelle au compilateur concernant les pointeurs utiliss dans nos programmes. Dans un
programme, il est possible de dclarer des pointeurs vers diffrents espaces mmoire.
Cependant, rien n'empche que deux pointeurs diffrents pointent vers la mme adresse
en mmoire. Le compilateur assume le pire cas, c'est--dire que des pointeurs avec des
noms diffrents vont tt ou tard pointer vers la mme adresse. Ce phnomne est baptis
"aliasing" dans la littrature SGI et empche le compilateur d'effectuer certaines optimisations, surtout en prsence de boucles. Or, nos programmes contiennent beaucoup de

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.

144

boucles. Par contre, tous nos pointeurs pointent vers des zones spcifiques en mmoire,
de telle sorte qu'aucun pointeur ne devient l'alias d'un autre. Nous pouvons avertir le
compilateur que c'est le cas l'aide d'une option de compilation. Lorsque cette option est
utilise, c'est cependant la responsabilit du programmeur de s'assurer que les pointeurs
pointent bien vers des plages distinctes en mmoire.

4.5.4 Outils d'analyse

La mention de ce sujet dans notre thse nous tient coeur puisqu'ayant expriment avec deux types d'ordinateurs parallles, nous avons t en mesure d'apprcier la
valeur de bons outils d'analyse. Nous avons d'abord tent de raliser une simulation en
temps rel sur le simulateur Hypersim de l'.T.S., qui est la version mmoire distribue
base sur le processeur DEC Alpha. Nous ne disposons sur cet ordinateur d'aucun outil
nous permettant d'analyser les performances de nos programmes. Toute forme d'optimisation consiste alors apporter une modification au code et vrifier si le temps de simulation est amlior ou non. Aprs un certain temps, nous avons eu l'occasion d'essayer nos
programmes sur le simulateur Hypersim de l'IREQ, bas sur la technologie SOI. La compagnie SOI fournit avec ses ordinateurs une quantit impressionnante d'outils de dveloppement et de documentation. De plus, ces ordinateurs sont dots de matriel interne
sophistiqu permettant de faire une analyse dtaille du comportement d'un programme.
La combinaison de ces facteurs nous a permis d'apporter des modifications importantes
qui ont contribu amliorer la performance de nos programmes sur cet ordinateur. Nous
nous sommes aperus plusieurs reprises que les parties plus lentes de notre programme
ne se trouvaient pas aux endroits o l'on s'attendait. Enfin, c'est grce ces outils que
nous avons pu constater hors de tout doute que notre tentative de paralllisation dcrite
la section 4.4 n'apportait aucun gain en termes de temps de calcul.

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.

145

4.5.5 Style de programmation

Notre but tant de raliser de la simulation en temps rel, nous nous sommes aperus trs tt dans nos travaux qu'il fallait laisser de ct toutes les bonnes pratiques de
programmation qu'on nous enseigne dans les cours de programmation de base. Par exemple, lorsqu'une fonction dpasse tant de lignes de code, il faut en crer une autre car la
fonction devient trop complexe, ou encore il faut minimiser la quantit de variables globales et utiliser le plus possible les variables locales. Lorsque 1' on veut rsoudre des
quations diffrentielles, interfacer notre simulation avec de l'quipement externe, communiquer entre plusieurs processeurs, le tout en quelque dizaines de microsecondes, ces
bonnes pratiques ne sont tout simplement pas applicables. D'abord, chaque fois qu'une
fonction est appele dans un programme, un changement de contexte survient. Le processeur doit d'abord sauvegarder l'tat de tous les registres sur la pile. Ensuite, les arguments de la fonction sont interprts et passs la fonction, puis la fonction elle-mme
s'excute et son argument de sortie retourn au programme appelant. Enfin, le processeur
doit rcuprer les registres sur la pile et les remettre dans le mme tat que celui dans
lequel ils taient avant l'appel de la fonction. Ces changements de contexte peuvent facilement prendre quelques microsecondes chacun. Si dans notre boucle de simulation plusieurs fonctions sont appeles de la sorte, il ne reste pas beaucoup de temps pour faire les
calculs.

Pour ce qui est de l'utilisation restreinte de variables globales, il faut en fait faire
exactement l'inverse lorsque la vitesse de calcul est importante. Il faut minimiser le nombre de variables, et le moyen le plus simple de faire ceci est d'utiliser les variables globales. Nous avons tudi pendant un certain temps le gnrateur de code "Real-Time
Workshop", un produit de la compagnie Mathworks qui permet de gnrer du code C
partir d'un schma Simulink. Il s'avre que toutes les donnes lies une simulation sont
contenues dans trois gros vecteurs:

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.

146

a.

un vecteur pour les donnes entires;

b.

un vecteur pour les donnes en point flottant (dans ce cas-ci en double prcision);

c.

un vecteur pour tous les pointeurs.

Il n'y a donc dans le code gnr par le Real-Time Workshop que trois variables
pour toutes les donnes lies la simulation, et elles sont globales. Une approche semblable est utilise dans Hypersim. Une analyse rapide du code gnr par Hypersim nous a
permis de constater que tous les paramtres lis une simulation sont contenus dans quelques gros vecteurs.

Nous n'avons pas t jusqu' rduire le nombre de variables dans nos programmes
car cette approche rend le code assez difficile lire et par consquent, modifier ou
dverminer. Notre programme principal, la s-function qui implante la simulation de la
partie onduleur et machine, utilise une trentaine de vecteurs diffrents.

Un autre point qui nous semblait anodin au dpart, s'est avr trs important. Il
s'agit de la faon dont sont stockes en mmoire les diffrentes donnes, particulirement
les matrices. Nous avions adopt au dpart la mthode dcrite dans [37] qui consiste
utiliser des double pointeurs. Il s'avre qu' moins de prendre des prcautions particulires, cette faon de procder a pour effet qu'une mme matrice n'est pas ncessairement
dans un espace contigu en mmoire. Les accs en mmoire ayant un impact majeur sur la
performance d'un programme, cette alternative t mise de ct. Nous stockons plutt
nos matrices dans des vecteurs en plaant bout bout les ranges ou les colonnes de la
matrice originale. Le choix optimal entre stocker les ranges ou stocker les colonnes
dpend des algorithmes utiliss [33]. Dans notre cas, la factorisation LU et la solution
partir des facteurs L et U nous ont encourag adopter le stockage par colonnes. Nous
avons galement expriment avec le stockage par ranges et n'avons pas not de diffrence apprciable dans les temps de calcul.

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.

147

4.6 Optimisation dea calcula

Nous avons prsent la section prcdente plusieurs facteurs qui affectent le


temps de calcul associ un programme, mais n'avons pas abord la question de l'optimisation des algorithmes, ce que nous allons faire maintenant. Nous identifions d'abord
les points auxquels nous devons porter une attention particulire lorsque nous ralisons
des algorithmes matriciels, aprs quoi nous dcrivons quelques optimisations spcifiques
apportes nos programmes.

4.6.1 Algorithmes matriciels

Un facteur sur lequel un algorithme a un impact direct est le patron d'accs aux
donnes en mmoire. Nous avons vu la section 4.5 que 1' antmmoire est accde non
pas une donne la fois, mais une ligne la fois. Nous n'avons pas la possibilit de spcifier explicitement comment l'antmmoire stocke et rcupre les donnes, mais nous
pouvons le faire indirectement via nos algorithmes. Considrons par exemple la multiplication d'une matrice A, de dimension m par p, par une matrice 8, de dimension p par n.
Le rsultat est stock dans une matrice C, de dimension m par n. L'algorithme de la
figure 4-1 1 effectue ce calcul.

for i = l:m
for j=l:n
for k=l:p
C(i,j) = A(i,k)

* B(k,j)

end
end
end

Figure 4-11 Algorithme de multiplication matricielle, version ijk.

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.

148

Cet algorithme porte souvent l'appellation de variante ijk. Cette appellation provient de l'ordre des trois boucles for. Les indices i etj sont couramment utiliss pour
parcourir les ranges et les colonnes du rsultat, respectivement, tandis que la variable k
sert pour la troisime boucle. L'algorithme de la figure 4-11 comporte six variantes (ijk,
ikj, jik, jki, kij, kjl) qui s'obtiennent simplement en changeant l'ordre des trois boucles

for. Bien que les six variantes reprsentent le mme travail en termes du nombre d'oprations mathmatiques, les accs aux diffrentes donnes se font selon des patrons varis
qui ne donneront pas tous les mmes performances. Le tableau 4-1 nous permet de constater comment les matrices sont accdes pour chaque variante.
Tableau 4-1
Patrons d'accs aux donnes pour les variantes de la multiplication matricielle

Variante

Accs aux donnes dans


la boucle interne

ijk

A par ranges, B par colonnes

jik

A par ranges, B par colonnes

ikj

B par ranges, C par ranges

jki

A par colonnes, C par colonnes

kij

B par ranges, C par ranges

kji

A par colonnes, C par colonnes

Ceci dit, une fois choisi la mthode de stockage des matrices (par ranges ou par
colonnes), il faut porter une attention particulire l'ordonnancement des boucles dans
nos algorithmes matriciels.

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.

149

4.6.2 Mise jour des matrices d'tat suite une commutation


La mthode de mise jour des matrices d'tat de la section 2.1.2 a t implante
dans le Power System Blockset version 2, mais d'une faon lgrement diffrente de
celle prsente la section 2.1.2. Au lieu de faire l'inversion de matrice (2-8), il s'agit de
modifier les matrices en prenant en compte un changement d'interrupteur la fois. Par
exemple, si deux interrupteurs changent d'tat durant le mme pas de calcul, on change
d'abord l'tat du premier, on obtient les matrices d'tat correspondant au nouvel tat de
cet interrupteur, puis on change l'tat du second interrupteur et on remet jour les matrices d'tat. Cette faon de faire permet d'viter d'inverser une matrice et elle est plus efficace en termes de temps de calcul, lorsqu'un nombre restreint d'interrupteurs changent
d'tat durant un mme pas de calcul. Cette situation se produira le plus souvent lorsque
les interrupteurs sont de type commutation naturelle (diode, thyristor). Par exemple,
dans un redresseur diodes en pont triphas, il est rare que plus de deux ou trois diodes
changent d'tat au mme moment.

Cependant, dans le cas d'interrupteurs commutation force (GTO, IGBT, MOSFET), il y a des moments o tous les interrupteurs d'un convertisseur changent d'tat au
mme moment. Dans ces conditions, la mthode de mise jour "un interrupteur la fois"
n'est pas la plus efficace. De plus, la matrice qu'il faut inverser dans (2-8) comporte des
proprits intressantes qui peuvent tre exploites afin de rduire la quantit de calculs
requise.

On remarque d'abord que le terme de droite de (2-8) consiste post-multiplier la


matrice D0 par la matrice Dsw Or, cette dernire est une matrice diagonale contenant des
valeurs non-nulles uniquement dans les colonnes correspondant des interrupteurs ferms, si l'on considre des interrupteurs avec une rsistance infinie l'tat bloqu. En
post-multipliant la matrice D0 par cette matrice diagonale, le rsultat est une matrice
comportant des lments non-nuls seulement dans les colonnes correspondant des inter-

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.

150

rupteurs ferms. On soustrait ensuite ce rsultat de la matrice identit. Par exemple, pour
un systme comportant quatre interrupteurs et huit sorties, avec le premier et le quatrime
interrupteur ferm, la matrice(/- Dflsw) a la forme montre la figure 4-12.

x
Xl

x
x
x
x
x
x

x
x
IX

x
Xl

x
x
x

Figure 4-12 Forme de la matrice(/- Dflsw>

La forme de la matrice de la figure 4-12 nous intresse parce que nous nous sommes aperu que cette matrice est diagonale dominante pour notre systme, c'est--dire
que pour chaque colonne, aucun lment n'est suprieur en valeur absolue l'lment de
la diagonale. Cette condition fait que si l'on effectue une factorisation LU sur cette
matrice, il n'est pas ncessaire d'effectuer de permutation des ranges en vue d'obtenir
un pivot adquat. Sachant que nous n'avons pas a permuter de ranges, la factorisation
elle-mme peut se faire de faon trs efficace parce que nous savons dans quelles colonnes se trouvent tous les lments non-nuls. De plus, le fait de ne pas avoir permuter de
ranges fait que les facteurs Let U obtenus par la factorisation auront l'allure montre
la figure 4-13.

Encore une fois, nous savons dans quelles colonnes se trouvent les lments
non-nuls et la solution des quations (2-9) et (2-10) partir des facteurs L et U de la
figure 4-13 peut se faire de faon trs efficace.

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.

151

l
Xl

x
= x
x
x
x
x

x
x
lX

x
x
x
x

U=

Figure 4-13 Forme des facteurs L et U de l'exemple.

4. 7 tude de cas

Cette section vise prsenter les rsultats que nous avons obtenus lors de l'implantation en temps rel des techniques de modlisation et d'intgration des chapitres prcdents. Ces rsultats sont prsents dans l'ordre chronologique dans lequel nous les avons
obtenus. Des rfrences sont faites aux sections 4.5 et 4.6 afin de quantifier les gains en
temps de calcul raliss l'aide des diffrentes formes d'optimisation.

Rappelons que le systme simul est celui dcrit la section 4.1. Le systme comporte une source triphase avec une impdance interne calcule de telle sorte que la puissance de court-circuit de la source est l 0 fois suprieure la puissance de la machine et
que le facteur de qualit des ractances est de 10. Cette source alimente un redresseur
diodes en pont complet. Chaque diode est munie d'un circuit d'amortissement consistant
en une rsistance en srie avec un condensateur. Le redresseur alimente son tour un bus
courant continu (CC) comprenant un condensateur en parallle avec une rsistance le-

ve, qui sert dcharger le condensateur lorsque le systme est dsaliment. Un systme
de freinage dynamique, servant d'une part freiner la machine et d'autre part maintenir
la tension du bus CC, est galement branch sur ce bus. Le bus CC alimente enfin un
onduleur triphas qui est command par une commande DFfC. La partie lectrique du

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.

152

systme est scinde en deux en utilisant la dernire technique de dcouplage dcrite la


section 4.3. La commande DFTC est simule sur un troisime processeur. La figure 4-14
illustre les trois parties du systme sous forme de schmas Simulink/PSB. Le tableau 4-2
rsume les principaux paramtres de chaque partie du systme. Enfin, la figure 4-15 illustre le schma Hypersim utilis pour la simulation en temps rel.
Tableau 4-2
Principaux paramtres de chaque partie de la simulation

Partie

Redresseur

Nombre
Nombre Nombre
d'interd'tats d'entres
rupteurs

Liste des entres

3 tensions de la
source,
tension du bus CC

Onduleuret
machine

Il

courant du bus CC,


6 impulsions pour
l'onduleur

Commande
DFfC

----

2tensions,
3 courants et vitesse
de la machine

Nombre
de sorties

Liste des sorties

15

7 tensions ct 7 courants
d'interrupteurs,
courant du bus CC

18

6 tensions et 6 courants
d'interrupteurs,
2 tensions et 3 courants de
machine,
tension du bus CC

6 impulsions pour l'onduleur

Nos premires simulations sur un ordinateur parallle ont t ralises sur le simulateur Hypersim de l'.T.S., bas sur la technologie DEC Alpha 533 MHz. Le tableau 4-3
indique nos meilleurs temps de calculs pour la panie onduleur et machine. Notons que
ces temps incluent seulement le calcul de nos s-function et n'incluent pas les temps de
communication interprocesseur ni les temps d'acquisitions des entres et sonies. Les
temps indiqus au tableau 4-3 sont pour un systme componant Il variables d'tat, dont
six sont les tensions des condensateurs des circuits d'amortissement. Nous avons expriment avec ce montage en incluant ou non des condensateurs aux bornes des interrupteurs en guise de circuit d'amonissement. Selon nos constatations, il n'y a pas de circuit

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.

153

a)

Equivalent
550 V- 37!5 kVA

b)

Moteur asynchrone

Mullimetre

50 HP /460 V

2
Entree

impulsions

Sortie_Vcc

Sortle_wm

c)

Entree_wm
Sortie
impulsions

Controleur
viteae
OFTC

Figure 4-14 Schma Simulink 1 PSB des trois parties du systme: a) source et
redresseur; b) onduleur, machine et charge; c) commande DFfC.

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.

154

Ce petit reseau ne sert a rien. Il est present uniquement parce


qu11 est interdit de placer seulement des blocs de controle dans un
schema Hypersim.
Toute la simulation se deroule dans les blocs Hyperlink.
Vs re

Barre_l

------------

-----
------

.-----r----,------~--~---,

Reessetr

Cootraetr_DFTC

1
1
1
1
1

RZOOMW

Controle

Carlllme:
Phase A: Consigne de vitesse (radis)
Phase B: Controle de la source dans le redresseur (0/1 )
Phase C: Constante de couple de charge (ventilateur)
Figure 4-15 Schma Hypersim utilis pour la simulation en temps rel.
d'amortissement aux bornes des interrupteurs de l'onduleur dans les entranements industriels de moyenne et grande puissance. Nous avons tout de mme continu tester nos
algorithmes avec ces circuits d'amortissement puisqu'ils augmentent le nombre de variables d'tat et permettent de mettre en vidence les endroits dans nos programmes qui consomment le plus de temps de calcul.

Le temps de simulation maximum total de la partie onduleur et machine sans circuit


d'amortissement aux bornes des interrupteurs de 1' onduleur est de 17 J.lS. Cette version du
systme est d'ailleurs celle qui reprsente fidlement l'entranement ABB dcrit au dbut
de ce chapitre.

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.

155

Tableau 4-3
Temps d'excution de la partie onduleur/machine avec Il variables d'tat
(DEC Alpha 533 MHz)

Temps d'excution (J.l.s)


Numro

Description de la tche
minimum

maximum

Vrification logique des interrupteurs

1.1

1.4

Mise jour des matrices d'tat suite


un changement d'tat

0.1

34.3

Mise jour des matrices lies la


machine et construction de la matrice A
finale

0.5

6.6

Dcomposition LU de

13.5

14.0

Mise jour des tats discrets, incluant


solution LU d'un systme d'quations

3.1

3.7

Calcul des sorties

2.8

4.0

Total maximal obtenu:

(1- A2T)

64

Jusqu' prsent, nous n'avons fait aucune mention du temps de simulation des deux
autres parties, soit celle correspondant la commande et celle correspondant la partie
redresseur du montage. D'abord, le temps de calcul associ la commande DfTC ne
nous intresse pas beaucoup puisque notre but final est de permettre un usager d'interconnecter la vritable commande une simulation en temps rel de 1' tage de puissance
complet du systme. De plus, les calculs associs la commande sont insignifiants comparativement aux deux autres morceaux du systme et se font en moins de cinq J.l.s. Pour
ce qui est de la partie source et redresseur, nous ne nous y intressions pas au dpart puisque la simulation de la partie onduleur et machine comportait un temps de calcul beaucoup plus long. Cependant, suite nos optimisations et l'limination des condensateurs

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.

156

d'amortissement du ct onduleur, c'est dornavant la partie redresseur qui prend le plus


de temps calculer, tel qu'indiqu au tableau 4-4.
Tableau 4-4
Temps de calcul sur DEC Alpha 533 MHz de chacun des trois sous-systmes
de l'entranement avec cinq variables d'tat du ct onduleur/machine

Processeur

Description

Temps de calcul
maximum (J.ls)

Source triphase, redresseur diodes


et freinage dynamique

30

Bus CC, onduleur, machine asynchrone


et charge de type ventilateur

17

Commande DFI'C

< 5.0

Notons que nos travaux de recherche ont port essentiellement sur la partie du systme qui comprend I'onduleur et la machine et nous n'avons malheureusement pas eu le
temps de tenter d'optimiser la partie redresseur, qui est simule de faon tout fait identique celle utilise dans le PSB version 2.1. Nous sommes cependant convaincus qu'il y
a moyen de rduire le temps de calcul de la partie redresseur.

Afin de dterminer le pas de calcul minimum avec lequel le systme peut tre
simul en temps rel, il faut additionner au temps de calcul maximal du tableau 4-4 le
temps requis pour les communications interprocesseurs ainsi que le temps de conversion
d'ventuelles entres et sorties et leur envoi aux processeurs via un autre lien de communication. Ces temps totalisent environ 25 IJ.S sur le simulateur Hypersim bas sur la technologie DEC Alpha. En additionnant ces 25 IJ.S aux 30 IJ.S de temps de calcul du
redresseur (la tche la plus longue du tableau 4-4), on obtient un pas de calcul minimum
utilisable en temps rel de 55 J.ls. En se rfrant au tableau 2-2 o nous avons tabli les
pas de calculs en fonction de la frquence de commutation maximale de l'onduleur, on

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.

157

constate qu'un pas de calcul de 62.5 f.I.S pourrait tre utilis. Ce pas correspond une frquence de 16 kHz. ce qui est quatre fois plus que la frquence de commutation maximale
impose l'onduleur. soit 4kHz.

Nous avons galement expriment avec ces simulations sur l'ordinateur SGI Origin 2000. Cependant, la comparaison a t ralise avec une version intermdiaires de
nos programmes. Les tches ne sont pas tout fait les mmes que celles montres au
tableau 4-4. Les rsultats obtenus avec l'ordinateur SGI Origin 2000 sont montrs au
tableau 4-5.
Tableau 4-5
Temps d'excution des diffrentes tches avec Il variables d'tat
(DEC Alpha 533 MHz et SGI Origin 2000 400 MHz)

Temps d'excution (f.l.s)


Numro

Description de la tche

SGI Origin 2000


400MHz

DEC Alpha
533 MHz

Mise jour des tats discrets

2.4

3.7

Vrification logique des


interrupteurs

1.6

1.4

Mise jour des matrices d'tat


suite un changement d'tat

20.0

34.3

Calcul des sonies

2.4

4.0

Mise jour des matrices lies la


machine et construction de la
matrice A finale

7.2

10.7

Inversion de

25.6

41.9

53

93

Total maximal:

(1- A2T)

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.

158

Le temps de simulation maximum total obtenu sur le SGI est de 53 J.LS contre 93 J.Ls
pour le DEC Alpha. Ceci nous a d'abord surpris puisque les processeurs du SGI ont une
horloge de 400 MHz alors que les processeurs DEC Alpha ont une horloge de 533 MHz.
De plus, les processeurs Alpha sont rputs comme tant parmi les plus performants pour
faire du calcul en virgule flottante. Ce rsultat sert cependant dmontrer notre affirmation de la section 4.5.1, comme quoi il ne faut pas simplement comparer les horloges de
deux processeurs afin d'valuer leurs performances pour une application donne. Nos
collaborateurs l'IREQ nous ont mentionn qu'ils ont not des diffrences apprciables
entre les temps de calculs obtenus sur les deux plate-formes, mais le SGI n'est pas toujours la solution la plus avantageuse. Cet ordinateur est cependant clairement suprieur
pour notre application.

Pour ce qui est des rsultats qualitatifs (formes d'ondes), ils sont tout fait comparables ce que nous avons obtenu en temps diffr pour ce montage. Nous avons soumis
le systme un changement de rfrence de vitesse de la vitesse maximale positive la
vitesse maximale ngative. La figure 4-16 illustre le courant statorique de la phase A, la
partie du bas tant un agrandissement de la fin de la partie du haut. La figure 4-17 illustre
la rponse un chelon de vitesse ainsi que la tension du bus CC. Cette dernire courbe
nous permet de constater que la tension du bus CC fluctue beaucoup. Enfin, nous avons
trac la figure 4-18 les enveloppes des temps d'excution des deux principales parties
de notre simulation. On peut constater que la partie onduleur et machine s'excute plus
rapidement que la partie source et redresseur, conformment au tableau 4-4, et que le
temps d'excution de cette dernire fluctue selon le nombre d'interrupteurs qui changent
d'tat, ce qui n'est pas le cas dans la partie onduleur machine. La raison pour laquelle le
temps de simulation de la partie redresseur est sensible au nombre d'interrupteurs qui
changent d'tat est que cette partie utilise la mthode de mise jour des matrices d'tat
"un interrupteur la fois" dcrite la section 4.6.2. La partie onduleur et machine utilise

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.

159

400~--------~----------~----------~----------~--~

-400~--------~----------._--------~----------~--~

2
Temps (s)

150

75

-:a

-75
4.5

4.45
Temps (s)

Figure 4-16 Courant statorique de la machine, phase a.


a)

200

100 1

..!!!

- - Consigne de vitesse
-Vitesse

-~-100
0

-200

l--------1

2
Temps (s)

b) 900

Lu.

..

.....

_.....

~600
(J

>(.)300
0

Temps (s)

Figure 4-17 a) Consigne de vitesse et vitesse de la machine; b) tension du bus CC.

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.

160

a)

-20

.!

la..

~ 10
Q)

"Cl

8.

~ 0

Temps (s)

b)

-30
fi)

~interrupteurs changent d'tat

'3

020
~

2 Interrupteurs changent d'tat

Q)

~ 10
c.
E

~ 0

Aucun changement d'tat

1 interrupteur change d'tat

Temps (s)

Figure 4-18 Enveloppes des temps d'excution des deux principales parties: a) partie onduleur et machine; b) partie source et redresseur.
quant elle la dcomposition LU dveloppe "sur mesure", dcrite dans la mme section,
et qui est insensible au nombre d'interrupteurs qui changent d'tat.

En plus d'observer la rponse transitoire de notre simulation, nous avons galement


vrifi sa stabilit sur une longue priode de temps. Nous avons ralis une simulation en
temps rel de plusieurs heures pour voir si les accumulations d'erreurs sur les nombreux
pas de calculs ne faisaient pas diverger la simulation. Aprs huit heures de simulation,
l'excution se poursuivait normalement. Nous n'avons pas effectu de tests sur des priodes plus longues.

4.8 Conclusions
Ce chapitre visait exposer le travail accompli afin de parvenir simuler en temps
rel un entranement lectrique industriel en le modlisant l'aide de 1' approche par

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.

161

variables d'tat. Aprs avoir dcrit le systme simul, nous avons brivement nonc les
principales caractristiques de deux ordinateurs parallles sur lesquels nous avons eu
l'occasion d'exprimenter. tant donn que le systme considr ne peut tre simul en
temps rel sur un seul processeur un pas de calcul raisonnable, nous avons dcrit quelques mthodes de dcouplage, dont la plupart sont difficilement utilisables en temps rel.
Nous avons aussi dcrit une tentative de parallliser une des parties dj dcouple en
essayant de tirer avantage de l'architecture mmoire partage. Notre conclusion pour
cette tentative est que sur ce type d'ordinateur, si les donnes sont accdes par plusieurs
processeurs, il existe un cot associ ces accs et ce cot s'apparente au cot de la
transmission des donnes via des liens de communication dans une architecture
mmoire distribue. Par consquent, le gain ralis en temps de calcul suite au partage de
ces calculs sur deux processeurs est annul par des invalidations de lignes d'antmmoire
("cache misses"), elles-mmes causes par une mauvaise localisation, inhrente au problme, des donnes. Nous avons par la suite identifi de nombreux facteurs qui affectent
le temps de calcul. La plupart de ces facteurs tant intimement lis l'ordinateur utilis,
une bonne connaissance de 1' architecture interne de ce dernier est ncessaire. Nous avons
galement dcrit quelques formes d'optimisation qui ont t appliques aux algorithmes
utiliss et qui ont permis des gains intressants en temps de calcul.

Enfin, le fruit de tous nos travaux a t expos sous forme d'une tude de cas consistant en la simulation en temps rel de la dynamique de l'entranement dcrit au dbut
du chapitre. Un pas de calcul correspondant une frquence quatre fois plus leve que la
frquence maximale de commutation de l'onduleur a t utilis pour cette tude de cas.

De plus, bien qu'aucun quipement externe n'tait raccord au simulateur lors de nos
essais, le temps des conversions des signaux venant ventuellement de l'extrieur et y
retournant a t pris en compte et le pas de calcul utilis permet la simulation du systme
en temps rel dans ces conditions. Nous sommes convaincus qu'il y a encore moyen de
rduire le temps de calcul de la partie source et redresseur. Au moment de publier cette
thse, un de nos collgues venait de dvelopper une mthode alternative de mise jour

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.

162

des quations qui semble beaucoup moins complexe en tennes du nombre de calculs
impliqus [38]. L'implantation de cette mthode n'a cependant pu tre complte temps
pour que des rsultats soient prsents dans notre thse.

Mentionnons enfin que les techniques dcrites ici ont une limite, comme il a clairement t dmontr dans le cas o la partie onduleur et machine comportait Il variables
d'tat plutt que cinq. Nous sommes cependant confiants que la mthode alternative
sus-mentionne aidera aussi rduire le temps de calcul de cette partie.

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.

CONCLUSION
Les travaux de recherche lis cette thse ont consist tudier la possibilit de
simuler en temps rel des entranements lectriques. Nous nous sommes intresss au
sujet aprs avoir constat que les simulateurs numriques en temps rel sont principalement utiliss pour tester des composants de rseaux lectriques, tels les relais de protection, contrleur de compensateurs statiques, et autres. Nous tions d'avis que les
ingnieurs responsables de la conception d'entranements lectriques de grande puissance pouvaient eux aussi bnficier de tels simulateurs dans leur travail. Cependant, les
simulateurs actuels comportent des limitations qui rduisent leur utilit pour la simulation
des entranements lectriques. Il est en effet requis, dans certaines conditions, d'ajouter
des composants parasites comme charge additionnelle aux bornes des machines, afin
d'assurer la stabilit de la simulation. L'ajout de ces composants parasites n'est pas
acceptable dans un contexte d'entranement.

Nous avons choisi d'utiliser dans nos travaux l'approche par variables d'tat principalement parce que nous trouvons cette approche bien adapte au problme. Les quations des machines lectriques et des convertisseurs de puissance s'expriment en effet de
faon naturelle sous fonne d'quations d'tat. Tous les simulateurs en temps rel actuels
utilisent 1' approche nodale. De plus, il y a beaucoup de littrature qui traite de la simulation en temps diffr des systmes lectriques et circuits lectroniques en utilisant
l'approche par variables d'tat, mais trs peu en temps rel. Ceci nous a motiv tudier
la question fond.

Au premier chapitre, nous avons dcrit une mthode d'obtention automatique des
quations d'tat de la partie linaire d'un systme lectrique gnral. Nous nous sommes

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.

164

intresss cette mthode suite de nombreux calculs manuels d'quations d'tat causs
par le changement frquent des topologies tudies. Nous avons crit en langage Matlab
un petit programme trs limit, autant pour comprendre les concepts lis la thorie des
graphes et son application aux systmes lectriques que pour nous viter de refaire ces
calculs la main pour chaque nouvelle topologie. Au fur et mesure que les systmes
tudis devenaient plus gros, nous avons constat que notre programme tait relativement
performant. Aprs avoir ajout les modles de composantes qui n'taient pas requis pour
simuler des entranements comme tel, nous avons analys avec nos routines des rseaux
de grande envergure pour raliser que cette approche tait beaucoup plus performante
que l'approche originale du Power System Blockset, autant en termes de vitesse de calcul
qu'en termes de salubrit des matrices d'tat obtenues. Cette constatation a valu notre
groupe de recherche, le G.R..P.C.I., une commandite additionnelle permettant l'implantation de cette technique d'obtention des quations d'tat dans la version 2.0 du PSB. Le
petit programme, requis pour pouvoir commencer nos travaux, est devenu une contribution majeure de notre recherche.

Au chapitre 2, nous avons adapt notre application une technique originale de


mise jour des matrices d'tat suite un changement d'tat d'interrupteur dans un circuit
lectrique. Nous avons contribu la conversion de cette technique du langage Matlab au
langage C et avons galement optimis la fonction qui implante la mthode. Nous avons
galement implant une technique de modlisation des convertisseurs et machines lectriques permettant d'obtenir une reprsentation d'tat unique pour le systme dans son
ensemble. Les variables d'tats sont les tensions de condensateurs et les courants
d'inductances de la partie convertisseur dans le rfrentiel abc habituel, ainsi que les courants rotoriques et statoriques dans le rfrentiel dqO arbitraire. La mthode permet de
solutionner simultanment et sans dlai toutes les quations dynamiques de la partie lectrique de l'entranement. Nous croyons que lorsque le mme systme est simul de faon
modulaire, les dlais introduits entre les diverses parties apportent des imprcisions dans
les rsultats de simulation, qui sont particulirement visibles lorsque des grands pas de

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.

165

calcul sont utiliss. Enfin, nous avons galement dvelopp un nouveau modle de
machine d'induction multirfrentiel qui a galement t incorpor la version 2.0 du

PSB.

Au chapitre 3, nous avons implant une version de la discrtisation trapzodale


adapte aux systmes variant dans le temps. Cette implantation semblait ne pas demander
trop d'effort au dpart, mais a finalement exig du doigt. Nous avons galement
implant la mme simulation avec la mthode d'intgration MSRP-2, sur laquelle nous
comptions beaucoup au dbut du projet afin de potentiellement liminer les problmes
que nous croyions lis au fait que la discrtisation trapzodale est implicite. Finalement,
notre problme lui-mme est implicite et une mthode de discrtisation explicite
n'apporte rien de plus. De plus, la mthode MSRP-2 exige le calcul de l'exponentielle de
la matrice d'tat A. Ce calcul est trs coOteux et la mthode MSRP-2 est difficilement utilisable l'chelle de temps rel requise dans notre application.

Enfin, le dernier chapitre est l'aboutissement de tous nos travaux. Aprs avoir tudi les architectures des ordinateurs parallles sur lesquels nous avons expriment, nous
avons choisi une technique de dcouplage adapte notre situation et avons russi obtenir de bons rsultats qualitatifs en sparant notre systme en plusieurs parties. Nous
avons pris connaissance des principaux facteurs affectant le temps de calcul et avons
ajust nos algorithmes en consquence. Nous avons galement russi tirer avantage de
la topologie particulire de notre problme et rduire ainsi substantiellement le temps
de calcul en dveloppant un algorithme creux de factorisation et solution LU adapt au
problme. Nous avons galement eu la chance d'essayer nos algorithmes sur un ordinateur parallle mmoire partage, ce qui nous a permis de comprendre les mcanismes
d'accs la mmoire hirarchique dans ce type d'architecture. Nous avons constat que
notre mthode est applicable en temps avec un nombre restreint de variables d'tat dans
la partie onduleur et machine. Cependant, il semble que les entranements de moyenne et
grande puissance soient effectivement caractriss par un nombre rduit de variables

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.

166

d'tat et la simulation que nous ralisons en temps rel correspond un entranement


industriel rel. Enfin, c'est dornavant l'autre partie du systme, la source et le redresseur, qui domine le temps de calcul. Nous sommes confiants que les temps de calcul des
deux parties seront rduits de faon apprciable lors de l'implantation future d'une technique de mise jour des quations du systme rcemment dveloppe par un de nos collgues.

Nous devons avouer qu'au dpart, nous tions fort sceptiques de parvenir simuler
un entranement lectrique en temps rel en utilisant l'approche par variables d'tat.
Nous y sommes cependant parvenus et donc nous concluons que nous avons atteint nos
objectifs. La principale contribution de notre travail de recherche consiste en l'intgration
de diverses techniques de modlisation, de simulation et d'intgration numrique, en un
tout cohrent solutionnant de faon satisfaisante un problme bien particulier, celui de
simuler en temps rel de faon stable et prcise un entranement lectrique industriel.

Nous identifions plus spcifiquement deux contributions originales de nos travaux.


D'abord, il s'agit du fait que l'approche par variables d'tat a t utilise pour simuler en
temps rel un systme lectrique. Ensuite, nos simulations sont bases sur l'utilisation
d'un modle de plus haut niveau que les composants individuels typiquement utiliss
dans ce genre de simulation. Il s'agit de la mthode dcrite la section 2.3, o l'ensemble
convertisseur et machine est solutionn sans dlai dans un seul systme d'quations.
Cette approche permet d'liminer certains problmes de stabilit et de prcision dus a la
solution spare des mmes composants.

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.

RECOMMANDATIONS
Nos conclusions quant la prcision de nos algorithmes sont essentiellement
bases sur une comparaison avec un autre logiciel de simulation, le PSB. Cependant, un
tudiant de matrise a rcemment commenc son projet au G.R..P.C.I. et il va interconnecter la vritable commande pour laquelle nous avons modlis l'entranement avec
notre simulation en temps rel. Le comportement de l'entranement sera alors analys et
probablement compar des rsultats exprimentaux, qui nous permettront de valider de
faon plus dterminante nos algorithmes.

Notre groupe est galement en contact avers divers fabricants d'entranements afin
de dterminer leur intrt pour un ventuel simulateur numrique adapt leurs besoins.
Les travaux dcrits dans cette thse pourraient donc ventuellement faire l'objet d'une
commercialisation si l'industrie des entranements dmontre un intrt.

Les rsultats prsents au chapitre 2 nous ont galement permis de conclure que les
algorithmes proposs sont performants et prcis en temps diffr aussi. Ceci tombe sous
le sens, puisque toute optimisation visant amliorer les performances d'une simulation
en temps rel va galement tre bnfique pour la simulation en temps diffr du mme
systme. Nous sommes actuellement impliqus dans le dveloppement d'une autre librairie spcialise pour la simulation des entranements et songeons y intgrer nos travaux
de doctorat. Nous n'avons cependant pas encore valu comment les modles de machines autres que la machine asynchrone pourraient tre adapts aux mthodes prconises
ici.

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.

168

Un dernier point concerne la linarit du circuit magntique de la machine. Dans


nos travaux, nous avons suppos un circuit magntique linaire, c'est dire que nous ne
simulons pas la saturation magntique de la machine. Nous n'avons pas valu comment
la saturation pourrait tre incorpore dans nos simulations. La saturation magntique est
plus facile implanter lorsque les variables d'tat associes la machine sont les flux,
comme nous avons t en mesure de le constater lors du dveloppement du modle de
machine synchrone pour le PSB 1.0 [2]. Ceci demanderait probablement un remaniement
majeur de nos systmes d'quations et pourrait faire l'objet d'une tude future s'il
devient important de simuler la saturation magntique.

Enfin, une technique alternative de mise jour des matrices d'tat suite un changement d'tat d'interrupteur, rcemment dveloppe par un de nos collgues, semble trs
prometteuse et devrait tre tudie plus fond.

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.

RFRENCES BIBLIOGRAPHIQUES
l.

The Mathworks, inc. (1998). Power System Blockset User's Guide.

2.

Champagne, R. (1997). Conception et validation d'un modle de machine


synchrone avec saturation maentjgue <mmoire de matrise>. cole de technologie
suprieure, Montral.

3.

Balabanian, N., Bickart, T.A. ( 1969). Electrical Network Theor.y.


New York : John Wiley & Sons, inc.

4.

Rohrer, R.A. ( 1970). Circuit theor.y an introduction to the state variable approach.
New York : McGraw-Hill.

5.

Gille-Maisani,. J.-C., Clique, M. (1975). La reprsentation d'tat pour l'tude des


systmes gynamigues. Paris : Eyrolles.

6.

Chua, L.O., Lin, P.M. ( 1975). Computer-Aigeg Analysjs of Electronjc Cjrcujts:


Aleorithms and Computational TechniQues. New Jersey : Prentice Hall.

7.

Rajagopalan, V. (1987). Computer-Aideg Analysis of Power Electronjc Systems.


New York: Marcel Dekker, inc.

8.

Lauw, H.K., Meyer, W.S. (1982). Universal machine modeling for the
representation of rotating electric mac hi nery in an electromagnetic transients
program. IEEE Transactions on Power Apparatys and Systems, .1Ql(6),
pp. 1342-1351.

9.

Vainio, 0., Seppo, J.O., Pasanen, J. (1992). A Digital Signal Processing Approach
to Real-Time AC Motor Mode ling. IEEE transactions on lngustrial Electronics,
J2( 1), pp. 36-45.

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.

170

10.

Gehlot, N.S., Alsina, P.J. (1993). A Discrete Model of induction Motors for ReaiTime Control Applications. IEEE transactions on lndustrial Electronics, 40(3),
pp. 317-325.

Il.

Haskew, I.A., Biakod, R. ( 1995). Real-Time simulation of a twelve-pulse full


converter. E!ectric Power Systems Research, ~.pp. 57-63

12.

Kleinhans, C., Harley, R.G., Diana, G., McCulloch, M. (1994). The Application of
CASED as a Simulation Tool for Design and Analysis of Variable Speed Drives.
IEEE lndustr.,y Applications Society <IASl An nua! Meetini, pp. 750-757.

13.

Chhaya, S.M., Bose, B.K. ( 1995). Expert system aided automated design,
simulation and controller tuning of AC drive system. IECON <Industrial
E!ectronics Conference) Proceedjnis, pp. 712-718

14.

Matuonto, M., Monti, A., Torri, G. (1994). Testing Software Through Real-Time
Model Of The Plant: An Experimental Example. IECON <Industria! Electronics
Conference) Proceedinis, pp. 1807-1812.

15.

Dezza, F.C., Cristaldi, L., Ferrero, A., Monti, A. ( 1996). Real-time virtual system
for electric drive testing: basic concepts and implementation. Mediterranean
Electrotechnical Conference. MELECON, pp. 513-516.

16.

Zavahir, J.M., Arrillaga, J., Watson, N.R. (1992). Hybrid e!ectromagnetic transient
simulation with the state variable representation of HVDC converter plant.lliEE..
Transactions on Power De!iver.,y, .8.(3), pp. 1591-1598.

17.

Kang, Y., Lavers, J .D. ( 1996). Transient analysis of electric power systems:
reformulation and theoretical basis. IEEE Transactions on Power Systems . .ll(2),
pp. 754-760.

18.

Wasynczuk, 0., Sudhoff, S.D. (1996). Automated State Model Generation


Algorithm for Power Circuits and Systems. IEEE Transactions on Power Systems,
il(4), pp. 1951-1956.

19.

De Abreu-Garcia, J.A., Hartley, T.T. (1990). Multistep matrix integrators for reallime simulation. Control and dynamic systems, J.B., pp. 211-272.

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.

171

20.

Hartley, T.T., Beate, G.O., Chicatelli, S.P. (1994). Di~ital Simulation ofDynamic
Systems: A Control Theoty Awroach. New Jersey : Prentice Hall.

21.

Sudha, S.A., Chandrasekaran, A., Rajagopa1an, V. ( 1993). New approach to switch


modelling in the analysis of power electronic systems. IEE proceedin~s-B, ..IAQ(2),
pp. 115-123.

22.

Electromagnetic Transients Program (EMTP), Development Coordination Group


of the EMTP.

23.

Dessaint, L.-A., Al-Haddad, K., Le-Huy, H., Sybille, G., Brunelle, P. (1999). A
Power System Simulation Tool Based on Simulink. IEEE Transactions jn lndustrial
Electronics, ~(6), pp. 1252-1254.

24.

Krause, P.C., Thomas, C.H. ( 1965). Simulation of symmetrical induction


machinery. IEEE Transactions on Power Apparatus and Systems, PAS-84( ll ),
pp. 1038-1053.

25.

Krause, P.C., Wasynczuk, 0., Sudhoff, S.D. ( 1995). Analysis of e!ectric


machinety. New York : IEEE Press.

26.

Davat, B. ( 1979). tude- Mise au point et applications d'une mthode de


simulation ~!oba!e de convertisseurs statiQues connects des char~es lectriQues
complexes <thse de doctorat>. Institut national polytechnique de Toulouse,
Toulouse.

27.

Takahashi, 1., Noguchi, T. ( 1986). A new quick-response and high-efficiency


control strategy of an induction motor. IEEE Transactions on lndustty
Applications, JA:22(5), pp. 820-827.

28.

Champagne, R., Dessaint, L.-A., Sybille, G., Khodabakhchian, B. (2000).


An approach for real-time simulation of electric drives. Canadjan Conference on
Electrical and Computer En~ineerin~ <CCECE 2000l, Halifax, May 7-10 2000.

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.

172

29.

Champagne, R., Dessaint, L.-A., Sybille, G., Casoria, S. (1999). Real-Time


Simulation of Electrical drives Using the State Variable Approach. Ib.inl
International Conference on pj~jtal Power System Simulators (JCDS '99),
Vasters, Sweden, May 25-28 1999.

30.

The Mathworks, ioc. ( 1998). Writjo~ S-fynctjoos.

31.

The Mathworks, inc. ( 1998). Application Pro~ram Interface Reference Gujde


(disponible en version lectronique seulement).

32.

Franklin, G.F., Powell, J.D., Workman, M.L. (1990).


Systems. New York: Addison Wesley, inc.

33.

Golub, G.H., Van Loan, C.F. (1996). Matrix Computations. Baltimore: Johns
Hopkins University Press

34.

Thomas, R.J., Thorp, J.S., Linke, S., Poule, C., Strohman, R. ( 1985). The Cornell
University Kettering Energy Systems Laboratory. IEEE Transactions on Power
Apparatus and Systems, PAS-109, pp. 2302-2305.

35.

Silicon Graphies, inc. Ori~jn2()()() and Ooyx2 Performance Tuojo~ and


Optimjzatjoo Guide, document no. 007-3430-002.

36.

Lewis, B., Berg, D.J. (1998). Multithreaded Prow-ammin~ with PThreads.


Mountain View : Sun Microsystems, inc.

37.

Press, W.H., Teukolsky, A.A., Vetterling, W.T., Flannery, B.P. ( 1992). Numerical
Recjpes jo C. New York : Cambridge University Press.

38.

De Kelper, B. (2001) Thse de doctorat en prparation, publication prvue fin


2001.

Dj~jtal

Control ofDynamjc

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.

ANNEXE A
Paramtres des simulations des chapitres 2 et 3

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.

174

Source et bus courant coptjnu

vdc= 700 v

Rdch

=30 ldl

=1570 J.LF, R =l mn

Onduleur

Rsistance des interrupteurs 1'tat passant: l mn

Rsistance des interrupteurs l'tat bloqu: infinie

Rsistance en parallle avec chaque interrupteur: l MQ

Machine asynchrone

Puissance nominale: 50 HP

Tension nominale ligne-ligne: 460 V

Frquence nominale: 60 Hz

Stator: R5 = 0.087 Q, Lis = 0.8 mH

Rotor: R' r

Inductance magntisante: 34.7 mH

Inertie combine du rotor et de la charge: 1.662 kg.m 2

Nombre de paires de ples: 2

=0.228 n, L' 1r =0.8 mH

Commande

Type: Commande directe du flux et du couple (DFTC)

Frquence maximale de commutation de l'onduleur: 3.9 kHz

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.

ANNEXE B
Paramtres des simulations du chapitre 4

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.

176

Rseau Quivalent 550 V 1375 kVA

Sources de tension: 550 V rms ligne-ligne

Rsistance: 0.08 U

Inductance: 2 mH

Redresseur

Rsistance des interrupteurs 1' tat passant: l mU

Rsistance des interrupteurs l'tat bloqu: infinie

Circuit d'amortissement RC srie: R =66 U, C =2.2 J.LF

Freina&e dynamiQue

R= lOU

Bus courant continu

Rsistance de dcharge: 30 kU

Condensateur: 1570 J.lF

Onduleur

Rsistance des interrupteurs 1'tat passant: l mU

Rsistance des interrupteurs l'tat bloqu: infinie

Rsistance en parallle avec chaque interrupteur: l MU

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.

177

Machine asynchrone

Puissance nominale: 50 HP

Tension nominale ligne-ligne: 460 V

Frquence nominale: 60 Hz

Stator: R5 =0.087 Q, Lis =0.8 mH

Rotor: R'r = 0.228 Q, L' 1r

Inductance magntisante: 34.7 mH

Inertie combine du rotor et de la charge: 1.662 lcg.m 2

Nombre de paires de ples: 2

=0.8 mH

Commande

Type: Commande directe du flux et du couple (DFfC)

Frquence maximale de commutation de l'onduleur: 3.9 kHz

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.

Vous aimerez peut-être aussi