Académique Documents
Professionnel Documents
Culture Documents
UNNERSIT DU QUBEC
DOCTORAT EN GNIE
PH.D.
PAR
ROGER CHAMPAGNE
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
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.
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.
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
xi
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
xii
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
1-1
Temps requis pour obtenir les matrices d'tat d'un grand rseau ............. 54
1-2
2-1
2-2
2-3
3-1
3-2
3-3
4-1
4-2
4-3
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
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
1-1
1-2
1-3
1-4
1-5
1-6
1-7
1-8
1-9
2-1
2-2
2-3
2-4
2-5
2-6
2-7
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
xv
2-8
2-9
3-2
3-3
3-4
3-5
3-6
3-7
3-8
3-9
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
xvi
4-1
4-2
4-3
4-4
4-5
4-6
4-7
4-8
4-9
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
IREQ
CRSNG
PSB
PI
Proportionnel et intgrale
EMTP
dqO
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
xviii
rn
grandeur lectrique
grandeur nominale
grandeur de base
grandeur de fuite
vou
grandeur statorique
grandeur rotorique
source de tension, V
source de courant, A
RLC
matrice liant les variables d'tat aux tensions et courants des lments
rsistifs
matrice liant les entres aux tensions et courants des lments rsistifs
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
xix
D,M
matrice liant les variables d'tat aux tensions des branches inductives
rou R
frquence, Hz
nouN
co
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
xx
r:
M, N
Q 1, Q2
l3
priode d'chantillonnage
Tm
Te
x'
A0 , A 1, 8 0 , B 1
U AL
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.
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.
b.
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
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
15
1.1.1 Dfinitions
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
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
Il existe trois matrices fondamentales lorsque la thorie des graphes est utilise
pour dvelopper les quations d'tat d'un systme lectrique, soit:
a.
b.
c.
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
(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).
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
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
18
Figure 1-3
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).
(l-4)
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;,
(1-5)
___l -ici..
-o--o-~i--6--o--o--o-o
(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.
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
1\
Rch 1 1
-.
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
( 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
(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)
(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
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.
b.
c.
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.
b.
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.
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
26
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.
L'obtention des quations d'tat d'un systme lectrique l'aide de la thorie des
graphes comporte les grandes tapes suivantes:
a.
b.
c.
d.
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
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
27
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.
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.
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.
b.
les condensateurs C;
c.
les rsistances R;
d.
les inductances L;
e.
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.
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.
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
30
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
1 branches
QLL Qu
R
L
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
= []
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.
b.
c.
d.
G1: matrice des conductances ne faisant pas partie de l'arbre (R1- 1);
e.
f.
g.
h.
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)
R= [
Rel,
0
Rdio:R.J
[c,. oJ
0 cch
G=
Rsrc
0
( 1-24)
1
1
-+-Rsn Rdio
L=
[L'" 0]
0 Lch
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'
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).
( 1-26)
(1-27)
Rt
(1-28)
iu,
= -QLLiw- QuiJ
( 1-29)
(l-30)
(1-31)
(l-32)
(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)
( l-35)
:,v
ct = (f
1
(-
= 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
( 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=
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)
= -R,QRLiw-RrQRJiJ
(1-41)
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
= QcRR- 1Q'cR
F = Q'RLG- 1QRL
f' = QcRR-IQ,ER
y
= Q'RLG- 1QRJ
1
= -QcJ + QcRR- Q'RRRtQRJ
1
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
(1-44)
37
(l-45)
1'tude comporte au moins une maille forme uniquement de sources de tension idales et
de condensateurs. De la mme manire, la matrice
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
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.
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
39
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
( l-49)
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.
b.
c.
d.
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)
( 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.
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.
b.
c.
d.
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.
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
42
v2 = Nv 1
i 1 = -Ni 2
Figure 1-5
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
teur.
[::~ =
(1-54)
Csn
Rsn
Dt
02
"
Es re
'V Rpr
Cch
no
ns
Figure l-6
no
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.
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.
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
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]
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)
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)
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
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
Rdio
-1
-1
CsnRsn
CsnRsn
Cs,1Rsn
-1
----
-+-
-1
CciiRsn
Rsn
Rcll
Rdio
ccli
-1
B=
Rsn
Rdio
ccli
ccli
( 1-60)
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 14
= D 2(-M 1Gtt-G1,)
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)
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
49
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.
R 1: rsistance de 1'enroulement 1.
R2: rsistance de l'enroulement 2.
Figure 1-8
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-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)
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 =
'uJ
t3
V 11
vt2
[El
Jj
= (Ltl- LIIQLL)t-t
= t 3G
= -r3F
w11
= r/1
wt2
= -r3F
(l-66)
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
52
a.
b.
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.
b.
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.
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
53
a.
b.
c.
d.
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.
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
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
Figure 1-9
100
200
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
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
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.
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
CHAPITRE 2
MODLISAnON DES ENTRANEMENTS LECTRIQUES
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.
b.
c.
d.
le parafoudre;
e.
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
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.
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
59
a.
b.
le modle binaire rsistif (faible rsistance l'tat passant, trs grande rsistance l'tat ouvert);
c.
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
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
60
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
~
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].
Dio
lQ
Diode:
1 mH
Figure 2-3
=1 mQ (interrupteur ouvert)
R = 1 MO (interrupteur ferm)
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
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
sw
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
64
y-
u =
vsw]
[Ymes
DSW =
Figure 2-4
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
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
(2-6)
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.
2.2
b.
c.
Machines lectriques
2.2.1
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.
a.
b.
c.
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.
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
vJs
v qr
o
d ')..'
(
) ')..'
r ,, qr +dt qr + CJ)- ro, dr
1
.,
o o
"lo
(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
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,
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
0 -Lm: 0
Ls
qr
v'dr
.,
D
C1
= L'rLs-L~
Te
(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
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
72
Figure 2-7
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
(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
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
74
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
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
75
a.
b.
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.
ap.
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)
=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
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
(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-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
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
iqs
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!
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
a.
le vecteur e
b.
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.
(2-40)
(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
(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
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
vbc
vante:
vcm
[::J = [
2/3
1/3
J[~
-J313 Vbcs
= Nv;
= N(Pxc + Q 1e + Q 2Micm)
(2-46)
Bc2M
Amtt+BmllNQ2M
(2-47)
Am21+Bm21NQ2M
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.
Bus
cc
Machine
asynchrone
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
85
Onduleur
MOSFET
VDC
Multimtre
Bus
oc
wr
ia
ml4-_.
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
s-function
sfun_drive_trapm
Contrleur DFTC
wm
Dlai unitaire2
Vitesse de
rfrence
Dlai unitaire1
Ventilateur
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.
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.
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
T max= 2
J
'
X max
(2-48)
ofmax est la frquence du signal le plus rapide dans la simulation. Dans notre cas,
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.
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)
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
a~.
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
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
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
96
x 10
2r---------------~-----------------r----------------~
-~
1.5
-,:,
:~
Cl)
-,:,
80.5
OL_--------~========~========~
0
0.5
1.5
Temps (s)
Figure 3-1
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
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
(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
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)
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.
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
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
Re<'A.n
Figure 3-3
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
102
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
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
103
Co
C1
= ao +al + a2 + ... + ak
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.
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)
in+l
in
= An+lxn+l +Bn+lun+l
=
Anxn
+ Bnun
(3-11)
(3-12)
Xn+ 1
un+l
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
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
106
(3-13)
Ax = b
(3-14)
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
(3-17)
Ux =y
(3-18)
(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
m: nombre d'entres
p: nombre d'tats
2p2pm
2pm
3p
2 3
1 2
jP -p -6p-1
2p2
Total:
Figure 3-4
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
109
m: nombre d'entres
p: nombre d'tats
2p2
2pm
2pm
3p
3 3 2 3
2p --p +-p-1
2
2
Total:
Figure 3-5
3 3 .,
9
2p +-p-+4pm+-p-1
2
2
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.
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
non
changement d'tat
d'interrupteur?
oui
Figure 3-6
Fin
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.
= esT
(3-22)
i(t)
= Jx(t) + Gu(t)
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
(3-23)
114
(3-24)
En substituant l'quation (3-23) dans l'quation (3-24) et en plaant tous les faux
ples l'origine du plan
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)
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
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
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)
"2fn)
Yln)
s-function
y( li)= j(u(n), t)
uc(n)
commande
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.
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.
Dbut
oon<$?
t>O'? .
OUI
changement d'tat
d'interrupteur'!
oui
mettre jour les matrices d'tat du
convertisseur
(2-8) (2-10) et (2-12) (2-14)
c
Figure 3-9
'
Fin
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
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
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.
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.
..........__.........~.oo_.-_.__...._--"'-..&...--'
Figure 4-1
reinage
dynamique
Machine
asynchrone
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.
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.
b.
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
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
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
126
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
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
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.
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
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.
Figure 4-6
~
...
: ..L ~
Sous-systme
#2
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.
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
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.
xn + 1
=::(1- An 2+ T)- :
1
: [(
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
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
134
4.5
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.
c.
la mmoire principale;
d.
e.
a.
le nombre de registres;
b.
c.
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.
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".
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.
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.
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.
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.
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.
b.
c.
d.
e.
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
a.
dey(i);
b.
c.
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
142
d.
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
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).
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.
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
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.
b.
un vecteur pour les donnes en point flottant (dans ce cas-ci en double prcision);
c.
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
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
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
ijk
jik
ikj
jki
kij
kji
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
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.
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
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=
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
Partie
Redresseur
Nombre
Nombre Nombre
d'interd'tats d'entres
rupteurs
3 tensions de la
source,
tension du bus CC
Onduleuret
machine
Il
Commande
DFfC
----
2tensions,
3 courants et vitesse
de la machine
Nombre
de 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
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
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.
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)
Description de la tche
minimum
maximum
1.1
1.4
0.1
34.3
0.5
6.6
Dcomposition LU de
13.5
14.0
3.1
3.7
2.8
4.0
(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
Processeur
Description
Temps de calcul
maximum (J.ls)
30
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)
Description de la tche
DEC Alpha
533 MHz
2.4
3.7
1.6
1.4
20.0
34.3
2.4
4.0
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)
200
100 1
..!!!
- - Consigne de vitesse
-Vitesse
-~-100
0
-200
l--------1
2
Temps (s)
b) 900
Lu.
..
.....
_.....
~600
(J
>(.)300
0
Temps (s)
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)
'3
020
~
Q)
~ 10
c.
E
~ 0
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.
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.
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.
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
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.
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
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.
2.
3.
4.
Rohrer, R.A. ( 1970). Circuit theor.y an introduction to the state variable approach.
New York : McGraw-Hill.
5.
6.
7.
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.
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.
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.
22.
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.
25.
26.
27.
28.
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
172
29.
30.
31.
32.
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.
36.
37.
Press, W.H., Teukolsky, A.A., Vetterling, W.T., Flannery, B.P. ( 1992). Numerical
Recjpes jo C. New York : Cambridge University Press.
38.
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
vdc= 700 v
Rdch
=30 ldl
=1570 J.LF, R =l mn
Onduleur
Machine asynchrone
Puissance nominale: 50 HP
Frquence nominale: 60 Hz
Rotor: R' r
Commande
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
Rsistance: 0.08 U
Inductance: 2 mH
Redresseur
Freina&e dynamiQue
R= lOU
Rsistance de dcharge: 30 kU
Onduleur
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
177
Machine asynchrone
Puissance nominale: 50 HP
Frquence nominale: 60 Hz
=0.8 mH
Commande
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.