Commande vectorielle de machine asynchrone

publicité
CONSERVATOIRE NATIONAL DES ARTS ET MÉTIERS
CENTRE RÉGIONAL ASSOCIÉ DE GRENOBLE (C.U.E.F.A.)
________________________
MÉMOIRE
présenté en vue d'obtenir
le DIPLÔME D'INGÉNIEUR C.N.A.M.
en
AUTOMATISME INDUSTRIEL
par
Gabriel BUCHE
__________________________
COMMANDE VECTORIELLE DE MACHINE ASYNCHRONE
EN ENVIRONNEMENT TEMPS RÉEL MATLAB/SIMULINK
___________________________
Soutenu le 7 mars 2001
JURY :
Président
:
M. J.-L. THOMAS
Membres
:
M. E. CHAMBEROD
M. B. DESCOTES-GENON
M. L. DUGARD
M. D. LUBINEAU
M. M. NOUGARET
M. D. REY
Remerciements
Remerciements
Ce mémoire a été préparé au sein du Laboratoire d'Automatique de Grenoble, sous la
direction de M. Luc DUGARD, Directeur du L.A.G. et M. Denis LUBINEAU, professeur agrégé à
l'I.U.T. Génie Electrique et Informatique Industrielle de Grenoble..
Je tiens à leur témoigner ma reconnaissance pour leurs conseils et leur disponibilité sans
faille.
Mes remerciements vont également à M. Jean-Michel DION, ancien Directeur du L.A.G, qui, à
l'origine, m'a proposé une étude sur la machine asynchrone.
Je tiens à remercier particulièrement :
Monsieur Jean-Luc THOMAS, Professeur au Conservatoire National des Arts et Métiers, qui
me fait l'honneur de présider ce jury.
Monsieur Marcel NOUGARET, Responsable de la section Automatisme industriel au C.U.E.F.A.
de Grenoble, pour ses conseils et ses nombreux encouragements.
L'ensemble des enseignants du C.U.E.F.A.
Je ne peux oublier M. Jean BARNIER et M. Thierry BLANC pour le suivi technique de la plateforme, ainsi que M. Daniel REY, responsable de l'équipe technique.
Je remercie également M. Ricardo ALVAREZ-SALAS pour son aide précieuse lors des
nombreux essais.
Je réitère mes plus vifs remerciements à MM. DUGARD, NOUGARET et LUBINEAU pour la
relecture de ce rapport.
A Isabelle
A Samuel, Caroline, Solène
Table des matières
Table des matières
Notations
8
Introduction
11
Chapitre 1 Modélisation du moteur asynchrone triphasé
13
1.1 Description du moteur asynchrone à cage ......................................................................13
1.2 Avantages du moteur asynchrone ...................................................................................14
1.3 Problèmes posés par le moteur asynchrone ....................................................................14
1.4 Hypothèses simplificatrices ............................................................................................14
1.5 Principe du contrôle vectoriel à flux orienté...................................................................15
1.6 Notion de vecteur tournant .............................................................................................16
1.7 Transformation de Clarke ...............................................................................................16
1.8 Transformation de Park ..................................................................................................18
1.9 Modèle du moteur asynchrone........................................................................................19
1.9.1 Équations de base.....................................................................................................19
1.9.2 Modèle exprimé dans le repère (α,β) lié au stator...................................................19
1.9.3 Modèle exprimé dans le repère (d,q) lié au champ tournant....................................22
1.10 Expressions du couple électromagnétique instantané ..................................................24
Chapitre 2 Commande vectorielle à flux rotorique orienté
25
2.1 Expression générale de la commande .............................................................................25
2.2 Découplage entrée-sortie ................................................................................................26
2.2.1 Découplage par retour d'état ....................................................................................26
2.2.2 Découplage par compensation .................................................................................30
2.2.3 Problèmes posés par le découplage .........................................................................31
2.3 Commande vectorielle à flux orienté..............................................................................32
2.3.1 Schéma de principe ..................................................................................................32
2.3.2 Calcul de Φr .............................................................................................................32
2.3.3 Calcul de ωs et θs .....................................................................................................33
2.3.4 Schéma complet de la commande vectorielle directe à flux rotorique orienté ........33
2.3.5 Calcul des régulateurs ..............................................................................................35
2.3.5.1 Régulateur de flux.............................................................................................35
2.3.5.2 Régulateur de couple ........................................................................................36
2.3.5.3 Régulateur de vitesse ........................................................................................37
2.3.5.4 Application numérique .....................................................................................39
Chapitre 3 Plate-forme expérimentale
41
3.1 Structure électromécanique.............................................................................................42
3.1.1 Description...............................................................................................................42
3.1.2 Principaux paramètres..............................................................................................42
5
Table des matières
3.2 Commande de la machine asynchrone ...........................................................................43
3.2.1 L'onduleur de puissance JIS 35 (Jeumont-Schneider).............................................43
3.2.2 Pilotage de l'onduleur par la carte Alcatel PWM ......................................................44
3.2.2.1 Modulation de largeur d'impulsion...................................................................44
3.2.2.2 Génération de référence....................................................................................44
3.2.2.3 Gestion des impulsions.....................................................................................45
3.2.2.4 Problèmes liés à la modulation de largeur d'impulsion ....................................47
3.2.2.5 Adaptation de la carte Alcatel ..........................................................................49
3.3 Environnement de mesures.............................................................................................50
3.3.1 Instrumentation du banc ..........................................................................................50
3.3.2 Capteurs ...................................................................................................................51
3.3.2.1 Capteur de flux et de couple électromagnétique ..............................................51
3.3.2.2 Capteur de vitesse.............................................................................................52
3.4 Evaluation des retards.....................................................................................................52
3.4.1 Retards dus à l'onduleur et au temps de calcul ........................................................52
3.4.2 Retards dus aux filtrage des mesures.......................................................................53
3.5 Environnement dSPACE ...................................................................................................54
Chapitre 4 Simulation de la commande vectorielle
57
4.1 Présentation de l'environnement MATLAB/SIMULINK™.................................................57
4.2 Modélisation sous MATLAB/SIMULINK ...........................................................................57
4.2.1 Introduction aux S-Functions ..................................................................................57
4.2.2 Fonctionnement d'une S-Function ...........................................................................59
4.2.3 Modèle du moteur asynchrone ................................................................................60
4.3 Structure des principaux blocs de simulation .................................................................61
4.3.1 Bloc régulateurs et découplages ..............................................................................61
4.3.2 Blocs transformations (d,q)→ (α,β) et (α,β)→ (d,q)................................................63
4.3.3 Bloc calcul ωs, θs .....................................................................................................65
4.3.4 Génération des consignes ........................................................................................66
4.3.5 Visualisation des courbes de réponse ......................................................................66
4.4 Résultats de simulation...................................................................................................67
4.4.1 Aspects pratiques.....................................................................................................67
4.4.2 Définition des profils de régulation et poursuite .....................................................68
4.4.3 Résultats en régulation de vitesse............................................................................69
4.4.4 Résultats en poursuite..............................................................................................70
Chapitre 5 Mise en œuvre sur le banc
73
5.1 Environnement MATLAB/SIMULINK/dSPACE™ ..............................................................73
5.1.1 Présentation des interfaces dSPACE ..........................................................................73
5.1.2 Utilisation du module Real Time Interface (RTI) ....................................................73
5.1.3 Module de contrôle COCKPIT ...................................................................................76
5.1.4 Module d'affichage TRACE ......................................................................................78
5.2 Adaptation du schéma de simulation..............................................................................79
6
Table des matières
5.2.1 Intégrateurs ..............................................................................................................79
5.2.2 Limitation des consignes de commande ..................................................................79
5.2.3 Estimation du couple électromagnétique .................................................................80
5.2.4 Ajustement des compensations ................................................................................80
5.2.4.1 Compensation de fem. ......................................................................................80
5.2.4.2 Compensation de déphasage .............................................................................80
5.2.5 Interfaces dSPACE .....................................................................................................80
5.2.5.1 Commande de la machine asynchrone..............................................................80
5.2.5.2 Commande de la charge (machine à courant continu)......................................81
5.2.5.3 Mesures .............................................................................................................82
5.2.5.4 Transformation (a,b,c)→(α,β) ..........................................................................82
5.3 Résultats expérimentaux .................................................................................................83
5.3.1 Aspects pratiques .....................................................................................................83
5.3.1.1 Compilation et chargement ...............................................................................83
5.3.1.2 Mise en route du banc .......................................................................................84
5.3.2 Résultats en régulation de vitesse ............................................................................85
5.3.3 Résultats en poursuite ..............................................................................................86
Conclusion
89
Annexe A Variateurs de vitesse et contrôleurs
91
A.1 Variateur machine asynchrone : l'onduleur de puissance JIS 35 ..................................91
A.1.1 Schéma fonctionnel.................................................................................................91
A.1.2 Liste des sous-ensembles technologiques ...............................................................92
A.1.3 Fonctionnement.......................................................................................................93
A.1.4 Régulation interne (U/f) ..........................................................................................94
A.1.5 Protection et séquences ...........................................................................................94
A.2 Variateur machine à courant continu : le Jistor triphasé VM011 .................................95
A.2.1 Raccordement de puissance ....................................................................................95
A.2.2 Liste des sous-ensembles technologiques ...............................................................95
A.3 Contrôle de l'inducteur de la machine à courant continu : le Babytrex SMO ................96
Annexe B Environnement de mesures
97
B.1 Interface d'isolement puissance/système de contrôle-commande ..................................97
B.2 Mesure des courants et des tensions...............................................................................98
B.3 Mesure de vitesse et de position.....................................................................................99
B.3 Mesure du couple mécanique (capteur Staiger Mohilo) ................................................99
B.4 Mesure du couple électromagnétique...........................................................................100
Annexe C Adaptation carte Alcatel ALCT01
103
Annexe D Fichiers C et MATLAB
105
D.1 Modèle C du moteur asynchrone "moteur.c"...............................................................105
D.2 Définition des paramètres moteur "Majn.m" et "Datafocn.m" ....................................108
D.3 Calcul des régulateurs "Calcregn.m" ...........................................................................109
Annexe E Schémas de simulation et d'implantation temps réel
111
7
Table des matières
E.1 Schéma de simulation .................................................................................................111
E.2 Schéma d'implantation temps réel...............................................................................112
E.3..Génération des consignes............................................................................................113
E.4 Interface COCKPIT .......................................................................................................114
8
Notations
Notations
Indices
r
s
Grandeur rotor ou de repère rotor (R)
Grandeur stator ou de repère stator (S)
Opérateur de Laplace
Repère tournant (d,q) ≡ (T)
Axe α du repère stator (S) ≡ (α,β)
Axe β du repère stator (S) ≡ (α,β)
Axe d du repère tournant (T) ≡ (d,q)
Axe q du repère tournant (T) ≡ (d,q)
Grandeur nominale
t
α
β
d
q
n
Principales grandeurs
[Xy(z)]
Vecteur X, y ∈ {r, s} exprimé dans le repère biphasé (z), z ∈ {r , s, t}
 xd 
 xα 
X ( s) =   , X ( t ) =  
 xβ 
 xq 
Nombre complexe associé au vecteur [Xy(z)]
[ ]
X y(z)
[ ]
Estimation de x
dx
x& , x
dt
xref
consigne x
vsd
tension statorique instantanée dans l'axe d
vsq
tension statorique instantanée dans l'axe q
courant statorique instantané dans l'axe d
isd
courant statorique instantané dans l'axe q
isq
vsα
tension statorique instantanée dans l'axe α
vsβ
tension statorique instantanée dans l'axe β
θ
position du rotor
θs
angle électrique entre l'axe d du référentiel tournant (T) et le référentiel fixe (S) lié
1
au stator, θ s = ωs
s
ωs
pulsation statorique
Ω
vitesse de rotation mécanique
couple électromagnétique
Γe
x̂
o
9
Notations
Γr
Te, Tech
couple résistant
période d'échantillonnage
Principaux paramètres moteur asynchrone
Rs
Rr
Ls
Lr
Lm
p
Tr
J
f
résistance statorique
résistance rotorique
inductance cyclique statorique
inductance cyclique rotorique
inductance magnétisante
nombre de paires de pôles
constante de temps rotorique
moment d'inertie ramené sur l'axe moteur
coefficient de frottement visqueux
10
Introduction
Introduction
La machine asynchrone, de par sa simplicité de conception et d'entretien, a la faveur des
industriels depuis son invention par Nikola Tesla à la fin du siècle dernier, quand il découvrit les
champs magnétiques tournants engendrés par un système de courants polyphasés.
Cette simplicité s'accompagne toutefois d'une grande complexité physique, liée aux
interactions électromagnétiques entre le stator et le rotor.
D'autre part, à la différence du moteur à courant continu où il suffit de faire varier la tension
d'alimentation de l'induit pour faire varier la vitesse, le moteur asynchrone nécessite l'utilisation
de courants alternatifs de fréquence variable. L'un des principaux blocages était constitué par
l'onduleur devant fonctionner en commutation forcée.
La machine asynchrone a donc longtemps été utilisée essentiellement à vitesse constante,
faute de pouvoir maîtriser convenablement la dynamique de l'ensemble moteur-charge.
L'apparition des thyristors GTO (Gate Turn Off) et, par la suite, des transistors IGBT (Insulated
Gate Bipolar Transistor) a permis le développement d'onduleurs à modulation d'impulsion
performants, fiables et proposés à un coût non prohibitif. Le problème de l'alimentation étant
pratiquement réglé, les commandes vectorielles à flux orienté et de contrôle direct de couple ont
pu être implantées dans des conditions satisfaisantes.
Toutefois, la commande de la machine asynchrone reste complexe par les développements
théoriques mis en œuvre et la difficulté à identifier certains paramètres en temps réel
(observateurs en boucle fermée).
Le Laboratoire d'Automatique de Grenoble a été amené, avec l'aide de la fédération ELESA,
groupement de recherche pluridisciplinaire établi à Grenoble et des organismes de tutelle, à
développer un banc d'essai dédié exclusivement à l'étude de la chaîne de commande du moteur
asynchrone. Cette machine présente en effet un grand intérêt pour l'automaticien et
l'électrotechnicien : c'est un procédé non-linéaire, multivariable, fortement couplé, avec des
caractéristiques dynamiques variables, des saturations possibles sur les entrées, les états, les
sorties. Chercheurs et étudiants peuvent tester et valider leurs algorithmes sur une plate-forme
entièrement instrumentée.
L'objet de ce travail est d'illustrer le développement complet d'une commande vectorielle à
flux rotorique orienté dans un environnement MATLAB/ SIMULINK/dSPACE, de la modélisation à
l'implantation temps réel. Nous présentons, à chaque étape, hypothèses de travail et adaptations
nécessaires liées aux caractéristiques du banc.
L'objectif est de permettre une adaptation rapide des intervenants aux fonctionnalités offertes
par la plate-forme et de servir de point de départ à une étude personnelle.
11
Introduction
Le mémoire est structuré de la manière suivante :
• Dans le chapitre 1, nous proposons une modélisation classique de la machine asynchrone en
utilisant les transformations de Clarke et de Park. Le choix de la représentation complexe permet
une simplification de l'écriture.
• Dans le chapitre 2, nous abordons l'étude d'une commande à flux rotorique orienté. Une
technique de découplage est proposée. Nous évoquons ses limitations, liées à celles de
l'estimateur de flux utilisé, ainsi qu'une technique permettant d'éviter une éventuelle divergence
du système due à l'évolution des paramètres du modèle en cours de fonctionnement. Un calcul
pratique des différents régulateurs (flux, couple, vitesse) est présenté en fin de chapitre.
• Le chapitre 3 est consacré à la description de la plate-forme expérimentale. Les principales
adaptations matérielles et logicielles sont décrites de manière détaillée. Une modification de la
carte de pilotage MLI (Modulation de largeur d'impulsion) permettant un fonctionnement à
fréquence réduite (500 Hz) a été réalisée par l'auteur.
L'évaluation des retards, et notamment ceux liés au filtrage des mesures, a nécessité une
identification précise du comportement, dans la bande de fréquence de travail, du filtre utilisé.
Une compensation de déphasage a pu ainsi être intégrée dans les schémas de simulation et
d'implantation temps réel.
• Dans le chapitre 4, nous implantons la commande proposée au chapitre 2 dans un schéma de
simulation SIMULINK. Nous avons utilisé, pour décrire le modèle du moteur, une fonction
système (S-function) écrite en langage C. Les résultats obtenus en poursuite et en régulation
valident dans un premier temps la commande.
• Le chapitre 5 est consacré à la mise en œuvre sur le banc dans l'environnement
MATLAB/SIMULINK/dSPACE et aux essais expérimentaux. L'adaptation du schéma de simulation
est présentée de manière détaillée, notamment au niveau de l'utilisation des intégrateurs, de
l'ajout de gains de compensation de fem (découplage) et de déphasage dus aux filtres, et de
l'appel aux interfaces système dDPACE.
12
Chapitre 1 Modélisation du moteur asynchrone triphasé
Chapitre 1
Modélisation du moteur asynchrone
triphasé
1.1 Description du moteur asynchrone à cage
Un moteur asynchrone à cage se présente (Figure 1.1) sous la forme d'un carter (2) entourant
le circuit magnétique, ferromagnétique, statorique qui accueille dans des encoches l'enroulement
statorique polyphasé (généralement triphasé) bobiné en fil de cuivre isolé (1). A l'intérieur de ce
circuit magnétique, qui se présente comme un cylindre creux, séparé par un entrefer, tourne le
circuit magnétique rotorique (3) qui accueille dans ses encoches les barreaux de la cage
rotorique, en aluminium coulé ou en cuivre, court-circuités à chaque extrémité par des anneaux
réalisés dans le même matériau. Le circuit magnétique rotorique est traversé par l'arbre qui
repose sur des paliers montés dans les flasques (5), (6) fixées au carter.
Figure 1.1 Moteur asynchrone à cage Leroy-Somer
13
Chapitre 1 Modélisation du moteur asynchrone triphasé
Le moteur asynchrone utilisé est donc caractérisé :
• par la présence d'un seul bobinage polyphasé alimenté par une source extérieure au
stator,
• par la présence d'un "bobinage" massif en court-circuit au rotor.
1.2 Avantages du moteur asynchrone
Le machine asynchrone à cage est le moteur le plus répandu dans l'industrie : il est robuste,
fiable, économique. Il est également apprécié pour sa très bonne standardisation.
1.3 Problèmes posés par le moteur asynchrone
Dans le moteur asynchrone, le courant statorique sert à la fois à générer le flux et le couple.
Le découplage naturel de la machine à courant continu n'existe plus.
D'autre part, on ne peut connaître les variables internes du rotor à cage (Ir par exemple) qu'à
travers le stator. L'inaccessibilité du rotor nous amènera à modifier l'équation vectorielle
rotorique pour exprimer les grandeurs rotoriques à travers leurs actions sur le stator.
La simplicité structurelle cache donc une grande complexité fonctionnelle due aux
caractéristiques qui viennent d'être évoquées mais également aux non-linéarités, à la difficulté
d'identification et aux variations des paramètres (Rr en particulier, jusqu'à 50%).
1.4 Hypothèses simplificatrices
La modélisation s'appuie sur un certain nombre d'hypothèses :
• parfaite symétrie,
• assimilation de la cage à un bobinage en court-circuit de même nombre de phases que
le bobinage statorique (c'est à dire 3),
• répartition sinusoïdale, le long de l'entrefer, des champs magnétiques de chaque
bobinage,
• absence de saturation dans le circuit magnétique.
14
Chapitre 1 Modélisation du moteur asynchrone triphasé
(a)
(A)
STATOR (S)
θ
(C)
ROTOR
(R)
(b)
(c)
(B)
Figure 1.2 Machine asynchrone modélisée - Définition des repères stator et rotor
1.5 Principe du contrôle vectoriel à flux orienté
L'objectif de ce type de contrôle est d'aboutir à un modèle simple de la machine asynchrone
qui rende compte de la commande séparée de la grandeur Flux Φ et de la grandeur Courant I,
générateur de couple.
Il s'agira donc de retrouver la quadrature entre I et Φ, naturellement découplés pour une
machine à courant continu (courant d'excitation – producteur de flux -, et courant d'induit –
producteur de couple -).
La difficulté va résider justement dans le fait que, pour une machine à induction, il est
difficile de distinguer le courant producteur de couple du courant producteur de flux, fortement
couplés.
La méthode du flux orienté consiste à choisir un système d'axes (d,q), repère tournant biphasé
orienté sur Φr (flux rotorique) ou Φs (flux statorique) et un type de commande qui permettent de
découpler le couple et le flux.
Nous nous intéressons à la commande à flux rotorique orienté.
Le système d'axes (d,q) est élaboré à partir des transformations de Clarke et de Park.
15
Chapitre 1 Modélisation du moteur asynchrone triphasé
1.6 Notion de vecteur tournant
Au stator comme au rotor, les courants triphasés parcourant des enroulements triphasés créent
des champs magnétiques pulsatoires dont les superpositions génèrent des champs magnétiques
tournants.
Figure 1.3 Principe de création d'un vecteur champ tournant
Compte tenu des relations entre les différentes grandeurs, il est possible d'étendre la notion de
vecteur tournant à tout ensemble de grandeurs triphasées : [Is], [Φs], [Vs], [Φr],…
1.7 Transformation de Clarke
L'idée de Clarke repose sur le fait qu'un champ tournant créé par un système triphasé peut
l'être aussi par un système biphasé de deux bobines à π/2 équivalent, à condition que le champ
ou les forces magnétomotrices et la puissance instantanée soient conservés.
Ainsi, aux trois grandeurs triphasées xa, xb, xc, on associe le vecteur [X(s)] dans le référentiel
(S) d'axes (α,β) fixe lié au stator (Figure 1.4).
16
Chapitre 1 Modélisation du moteur asynchrone triphasé
β
b
KTxc
0
XH(s)
KTxa
a
α
KTxb
c
Figure 1.4 Représentation du vecteur champ tournant
Le vecteur [X(s)] a pour expression :
[X ]
(s)
où K T =
1

1
−

x
 α
2
=   = KT 
3
 xβ 
0
2

1 x 
a
2 x 

3  b 
−
x 
2   c 
−
(1.1)
2
pour une représentation conservant la puissance.
3
Le nombre complexe associé aux composantes de ce vecteur s'écrit :
2π
4π
j
j


X ( s ) = KT  xa + xb e 3 + xc e 3 


Pour obtenir une matrice de passage carrée et donc inversible, on ajoute une composante x0
fictive :
[X ]
(s)


 xα 

2
=  xβ  =
3

 x0 


1
0
1
2
1
2
3
2
1
2
−
1 
2 x 
 a
3  
−
xb
2  
1   xc 

2 
−
Dans beaucoup de cas, le système de grandeurs triphasées est tel que la somme instantanée
des grandeurs est nulle, ce qui permet d'annuler la composante homopolaire d'indice 0.
Les relations inverses sont définies par :
17
Chapitre 1 Modélisation du moteur asynchrone triphasé

2
Réel[ X ( s ) ]
 xa =
K
3
T

2π

−j
2
3
x
Réel
[
X
.
e
]
=
(
)
s
 b
3
K
T

4π

−j
2
 xc =
Réel[ X ( s ) .e 3 ]

3K T
(1.2)
1.8 Transformation de Park
La transformation de Park permet d'exprimer le vecteur [X(s)] dans un référentiel tournant (T)
d'axes (d,q) lié aux champs tournants :
[X ] =  xx  = P(−θ ) xx 
α
d
(t )
 cos θ s
avec P (−θ s ) = 
− sin θ s

q
s


β

sin θ s 
, matrice de rotation d'angle -θs (Figure 1.5).
cos θ s 
Le nombre complexe associé au vecteur [X(t)] s'écrit :
X ( t ) = e − jθ s X ( s )
β
d (T)
q
θs
α, (a)
0
Figure 1.5 Position du système d'axes (d,q)
18
(S)
Chapitre 1 Modélisation du moteur asynchrone triphasé
1.9 Modèle du moteur asynchrone
Le choix d'un modèle de représentation, qu'il soit formel ou issu d'une identification se fait
toujours en fonction du type de commande à réaliser.
La machine est alimentée en tension : les composantes du vecteur de commande de l'équation
d'état seront donc des tensions.
Les différentes grandeurs seront, dans un premier temps, exprimées dans leurs repères
respectifs. Un premier changement de variable permettra d'exprimer le flux Φ r (r ) dans le repère
(α,β) fixe par rapport au stator.
1.9.1 Équations de base
Les différents vecteurs sont, dans un premier temps, exprimés dans leurs repères biphasés
respectifs :
[V ] = R [I ]+ dtd [Φ ]
s(s)
s(s)
s
s(s)
[V ] = R [I ]+ dtd [Φ ]
r (r )
r (r )
r
r (r )
[Φ ] = L [I ]+ L P( pθ)[I ]
s(s)
s
s(s)
m
r (r )
[Φ ] = L [I ]+ L P(− pθ)[I ]
r (r )
r
r (r )
m
s(s)
où P(±pθ) est la matrice de rotation d'angle ±pθ qui permet le passage du repère (R) au repère
(S) et θ la position du rotor, p le nombre de paires de pôles. L'angle pθ est l'angle électrique du
rotor (R) par rapport au stator (S).
L'utilisation de la représentation complexe permet de simplifier l'écriture :
V s ( s ) = Rs I s ( s ) + d
Φ s(s)
dt
(1.3)
V r ( r ) = Rr I r ( r ) + d
Φ r (r )
dt
(1.4)
Φ s ( s ) = Ls I s ( s ) + Lm e jpθ I r ( r )
(1.5)
Φ r ( r ) = Lr I r ( r ) + Lm e − jpθ I s ( s )
(1.6)
1.9.2 Modèle exprimé dans le repère (α,β) lié au stator
Nous avons, d'après (1.6) :
19
Chapitre 1 Modélisation du moteur asynchrone triphasé
I r (r ) =
[
1
Φ r ( r ) − Lm e − jpθ I s ( s )
Lr
]
D'où, après dérivation,
o
I r (r ) =
1
Lr
o
o
o

− jpθ
Φ
−
L
e
I
+
L
jp
θ
e − jpθ I s ( s ) 
r
r
(
)
(
)
s
s
m
m



(1.7)
Les équations (1.3) et (1.5) donnent :
o
o
o
Ls I s ( s ) + j Lm p θ e jpθ I r ( r ) + Lm e jpθ I r ( r ) = V s ( s ) − Rs I s ( s )
o
Remplaçons I r ( r ) par l'expression (1.7) :
o
o
Ls I s ( s ) + j Lm p θ e jpθ I r ( r ) +
o
o

Lm jpθ  o
e Φ r ( r ) − Lm e − jpθ I s ( s ) + jLm p θ e − jpθ I s ( s )  = V s ( s ) − Rs I s ( s )
Lr


(1.8)
Nous avons V r ( r ) = 0 (rotor en court-circuit), soit d'après (1.4),
o
I r (r )
Φ r (r )
=−
Rr
En remplaçant I r (r ) dans l'expression (1.6),
o
Φ r (r ) = −
[
Rr
Φ r ( r ) − Lm e − jpθ I s ( s )
Lr
]
o
(1.9)
Nous avons alors, en remplaçant I r (r ) et Φ r (r ) par leurs expressions respectives dans (1.8) :

L2  o
 Ls − m  I s ( s ) =
Lr 

o


Rr  Lm p θ Lm  jpθ
e Φ r(r )
− j
−
Lr 
Rr
Lr 


o

 

L
p
L 
L2 o
θ
R

m
r
+  j
− m  e jpθ Lm e − jpθ − j m p θ− Rs I s ( s )

 Lr 
Rr
Lr 
Lr


 
+ V s(s)
Après simplifications,

L2  o
 Ls − m  I s ( s ) =
Lr 

20
Chapitre 1 Modélisation du moteur asynchrone triphasé
o


p θ  jpθ
 Rr
Lm  2 − j
e Φ r (r )
Lr 
 Lr


2
L

−  m2 Rr + Rs  I s ( s )
 Lr

+ V s(s)
L2m
appelé coefficient de dispersion.
Posons σ = 1 −
Ls Lr
Nous obtenons alors :
o
I s(s) =
Lm
σLr Ls
o
 Rr
 − jp θ e jpθ Φ r ( r ) −
 Lr

Rs + Rr
L2m
L2r
σLs
I s(s) +
V s(s)
σLs
L2m
Rs + Rr 2
Lm
Lr
et γ =
.
Posons k =
σLr Ls
σLs
o
Nous avons également Ω = θ , vitesse mécanique et Tr =
Lr
constante de temps rotorique.
Rr
Nous pouvons alors écrire :
o

1
I s ( s ) = − γ I s ( s ) + k  − jpΩ +
Tr

 jpθ
1
 e Φ r ( r ) +
Vs ( s )
σLs

Soit le changement de repère :
Φ r ( s ) = e jpθ Φ r ( r )
qui définit le flux rotorique dans le repère (α,β) fixe par rapport au stator.
Dérivons cette équation :
o
o
o
Φ r ( s ) = jp θ e jpθ Φ r ( r ) + e jpθ Φ r ( r )
o
En remplaçant Φ r (r ) par l'expression (1.9), nous obtenons :
o
o
Φ r ( s ) = jp θ e jpθ Φ r ( r ) + Lm
Soit, après regroupement,
21
Rr
R
I s ( s ) − r e jpθ Φ r ( r )
Lr
Lr
(1.10)
Chapitre 1 Modélisation du moteur asynchrone triphasé
o
Φ r (s) =
1

Lm
I s ( s ) −  − jpΩ Φ r ( s )
Tr
 Tr

(1.11)
Nous obtenons finalement le système d'équations suivant :
o

1
1
V s(s)
 I s ( s ) = − γ I s ( s ) + k  − jpΩ + Φ r ( s ) +
Tr 
σLs


o
Φ = Lm I −  1 − jpΩ Φ
 r (s)
 r (s) T s(s)  T
r
 r


(1.12)
Nous avons :
I s ( s ) = isα + jisβ
Φ r ( s ) = Φ rα + jΦ rβ
et
Nous pouvons alors écrire :
k
1
o
+ Φ rα + kpΩΦ rβ +
vsα
i sα = − γisα
σLs
Tr

k
1
o
− γisβ − kpΩΦ rα + Φ rβ
+
vsβ
i sβ =
σLs
Tr

o
1
Φ rα = Lm i
− Φ rα − pΩΦ rβ
sα

Tr
Tr
o
Lm
1
Φ rβ =
isβ + pΩΦ rα − Φ rβ

Tr
Tr
(1.13)
1.9.3 Modèle exprimé dans le repère (d,q) lié au champ tournant
Soient :
Φ r ( t ) = e − jθ s Φ r ( s )
(1.14)
V s ( t ) = e − jθ s V s ( s )
I s ( t ) = e − jθ s I s ( s )
Dérivons cette dernière équation :
o
o
o
I s ( t ) = e − jθ s I s ( s ) − j θ s e − jθ s I s ( s )
o
En remplaçant I s ( s ) par son expression dans le système d'équations (1.12), nous obtenons :
22
Chapitre 1 Modélisation du moteur asynchrone triphasé
o
1

1 − jθ s
I s ( t ) = − γe − jθ s I s ( s ) + k  − jpΩ e − jθ s Φ r ( s ) +
e V s ( s ) − j θ s e − jθ s I s ( s )
σLs
 Tr

o
Nous pouvons alors écrire :
o
o
1

1


I s ( t ) = − γ + j θ s  I s ( t ) + k  − jpΩ Φ r ( t ) +
V s (t )
σLs


 Tr

De même, dérivons l'équation (1.14) :
o
o
o
Φ r ( t ) = e − jθ s Φ r ( s ) − j θ s e − jθ s Φ r ( s )
o
En remplaçant Φ r ( s ) par l'expression (1.11), nous obtenons :
o
Φ r (t ) =
o 
1
Lm
I s (t ) −  − jpΩ + j θ s Φ r ( t )
Tr
 Tr

Nous obtenons finalement le système d'équations suivant :
o
o

1
1


V s (t )
 I s ( t ) = − γ + j θ s  I s ( t ) + k  − jpΩ Φ r ( t ) +
σLs




 Tr
o
Φ = Lm I −  1 − jpΩ + j θo Φ
s
 r (t )
 r (t ) T s (t )  T
r
r



(1.15)
Il est possible de vérifier que si θ s = 0 , nous retrouvons le repère (α,β).
Nous avons :
I s ( t ) = isd + jisq
et
Φ r (t ) = Φ rd + jΦ rq
o
Si nous faisons l'hypothèse que la dynamique de la vitesse est lente ( Ω ≈ 0 ) devant celle des
courants et des flux, nous pouvons alors écrire l'équation d'état linéaire suivante :
o
X = AX + BU
avec :
23
Chapitre 1 Modélisation du moteur asynchrone triphasé

 −γ

− ω
 s
A=
L
 m
 Tr

 0

et
ωs
k
Tr
−γ
− pΩk
0
Lm
Tr
−

pΩk 
 1

 σL
k 
 s

Tr

, B= 0
ωs − pΩ 
 0


1 
 0
−
Tr 
1
Tr
− (ωs − pΩ )

0 

1 
σLs 
0 

0 
(1.16)
 isd 
i 
vsd 
sq 
, U = 
X =
Φ rd 
vsq 


 Φ rq 
1.10 Expressions du couple électromagnétique instantané
Une expression du couple électromagnétique exprimé à partir des différentes grandeurs
exprimées dans le repère (α,β) peut être donnée par :
Γe = p
Lm
(Φ rαisβ − Φ rβisα )
Lr
(1.17)
Dans le repère (d,q), l'expression devient :
Γe = p
Lm
(Φ rd isq − Φ rqisd )
Lr
Si nous choisissons le référentiel tournant (T) tel que Φ r ( t ) soit calé sur l'axe (d),
nous avons Φ rq = 0 et Φ r ( t ) = Φ rd . Par la suite, nous utiliserons la notation suivante :
Φ r = Φ rd
Le couple électromagnétique est alors égal à :
Γe = p
Lm
Φ r isq
Lr
L'équation mécanique du moteur s'écrit :
J
dΩ
= Γe − Γr
dt
où Γr représente le couple résistant, incluant frottements et couple de charge.
24
(1.18)
Chapitre 2 Commande vectorielle à flux rotorique orienté
Chapitre 2
Commande vectorielle à flux
rotorique orienté
2.1 Expression générale de la commande
La commande vectorielle à flux rotorique orienté que nous mettons en œuvre est basée sur
une orientation du repère tournant (T) d'axes (d,q) tels que l'axe d soit confondu avec la direction
de Φr.
Le flux Φr étant orienté sur l'axe d, l'équation d'état (1.16) nous permet d'exprimer vsd et vsq ,
o
Φr et ωs avec Φ rq ≡ 0 et Φ rq ≡ 0 :
o


L2m 
L

i − ωs σLs isq − m2 Rr Φ r
v
L
i
R
R
=
σ
+
+
sd
 sd
s
r
2  sd
 s
Lr 
Lr



2
o


vsq = σLs i sq + ωs σLs isq +  Rs + Rr Lm isq + Lm pΩΦ r
2 


Lr 
L2r


 o
Tr Φ r + Φ r = Lmisd

ω = pΩ + Lm isq
 s
Tr Φ r
(2.1)
Ces expressions peuvent être exploitées telles quelles pour réaliser la commande vectorielle à
flux orienté des machines asynchrones alimentées en tension mais vsd et vsq influent à la fois sur
isd et isq donc sur le flux et le couple (Figure 2.1). Il est donc nécessaire de réaliser un découplage
[2].
25
Chapitre 2 Commande vectorielle à flux rotorique orienté
f
vsd→ isd
vsd
isd
f
isd→ flux
flux
isq
f
isq→ couple
couple
f
vsd→ isq
f
vsq→ isd
f
vsq→ isq
vsq
couplages
Figure 2.1 Description des couplages
2.2 Découplage entrée-sortie
L'objectif est, dans la mesure du possible, de limiter l'effet d'une entrée à une seule sortie.
Nous pourrons alors modéliser le processus sous la forme d'un ensemble de systèmes
monovariables évoluant en parallèle. Les commandes sont alors non interactives.
Différentes techniques existent : découplage utilisant un régulateur [5], découplage par retour
d'état, découplage par compensation. Nous présentons ces deux derniers types de découplage.
2.2.1 Découplage par retour d'état
Principe [3], [5]
Soit le modèle :
o
X = AX + BU
(2.2)
Y = CX
(2.3)
où X ∈ ℜ , Y ∈ ℜ ,U ∈ ℜ , les matrices B et C sont de rang maximum et la sortie Y est
n
m
m
commandable, ce qui s'exprime par la relation :
rang[CB, CAB,..., CAn −1 B ] = m
26
(2.4)
Chapitre 2 Commande vectorielle à flux rotorique orienté
L'objectif est de déterminer un retour d'état :
U = KX + LW ,
W désignant le nouveau vecteur d'entrée (Figure 2.2), qui découple le système de façon à ce
que la sortie Yi ne dépende que de l'entrée Wi.
W
L
Uref
U
o
X
X
B
C
Y
A
processus
K
Figure 2.2 Principe du découplage par retour d'état
L'équation du système corrigé s'écrit :
o
X = ( A + BK ) X + (BL )W , Y = CX
et la matrice de transfert entre l'entrée W et la sortie Y :
T = C (s[I ] − ( A + BK ) ) BL avec Y = T ( s ).W
−1
Il faut déterminer K et L telles que cette matrice de transfert soit diagonale. La résolution de
ce problème n'est pas simple.
Résolution
Notons Ci la i-ème ligne de la matrice C. La commandabilité de la sortie scalaire yi s'exprime
sous la forme :
rang[Ci B, Ci AB,..., Ci An −1 B] = 1
La sortie Y du système étant commandable, il en est de même de yi, c'est à dire que si la
condition (2.4) est vérifiée, alors, pour tout i dans {1,…,m}, il existe nécessairement un
d i ∈ {0,1,..., n − 1} tel que :
Ci Ad i B ≠ 0, ∀α ∈ N , α < d i , Ci Aα B = 0
Par dérivations successives des relations (2.2) et (2.3), nous obtenons pour la i-ème sortie :
27
Chapitre 2 Commande vectorielle à flux rotorique orienté
 y& i = Ci ( A + BK ) X + Ci BLW
= Ci AX ,

= Ci A 2 X ,
 &y&i = Ci A( A + BK ) X + Ci ABLW

M
 ( di )
d i −1
d i −1
di
 yi = Ci A ( A + BK ) X + Ci A BLW = Ci A X ,
 y ( d i+1 ) = C Ad i ( A + BK ) X + C Ad i BLW
(Ci Ad i B ≠ 0)
i
i
 i
Cette dernière équation, pour laquelle Ci Ad i B ≠ 0 , fixe la valeur de di.
En écrivant cette relation pour chacune des sorties, nous obtenons :
 y1( d1 +1)   C1 Ad1 +1   C1 Ad1  
 C1 Ad1 





 



M
  M  
 M  
 M 
 yi( di +1)  =  Ci Ad i +1  +  Ci Ad i  BK  X +  Ci Ad i  BLW
 
 
 



  M  
M
 M  
 M 
 y ( d m +1)   C Ad m +1   C Ad m  
C Ad m 
  m

 m
 m
  m
 
que nous pouvons mettre sous la forme :
Y * = ( A* + B* K ) X + B* LW
Si la nouvelle matrice d'application des entrées B* est inversible, le choix :
K = −( B * ) −1 A* et L = ( B * ) −1
conduit à Y * = W , soit la relation entrées-sorties découplées :
∀i ∈ {1,..., m } , Yi ( s ) =
1
s
d i +1
Wi ( s )
Application
Reprenons l'équation d'état (1.16) avec un vecteur X de dimension 3, puisque Φ rq ≡ 0 et
o
Φ rq ≡ 0 .
Nous avons :
 isd 
 o
X = AX + BU où X =  i  ,

 sq 
Y = CX
Φ rd 

 −γ

A =  − ωs
 Lm
 T
 r
 1
k 
 σL
ωs
 s
Tr 

− γ − pΩk  , B =  0

1 
 0
0
−
Tr 


Le vecteur de sortie est donné par :
 isd 
isd 
Y =   = C  isq 
isq 
Φ rd 
28

0 

1 
σLs 
0 


Chapitre 2 Commande vectorielle à flux rotorique orienté
1 0 0
La matrice d'observation s'écrit alors C = 
.
0 1 0 
Nous avons :
 1
 σL
 s
C1 B = [1 0 0]  0

 0



0 

1   1
=
σLs   σLs
0 


 1
 σL
 s
C2 B = [0 1 0]  0

 0



0 

1  
= 0
σLs  
0 



0 ≠ 0

et
1 
≠0
σLs 
D'où
d1 = d 2 = 0
Nous pouvons facilement déterminer A* et B* :

C A
−γ
A = 1 =
C2 A − ω
 s
*
k 
Tr 

− γ − pΩk 
ωs
 1
 C B   σL
B* =  1  =  s
C2 B   0


0 

1 
σLs 
Les matrices de gain K et L assurant le découplage sont donc les suivantes :

γσLs
K =

ωs σLs
soit

L2m
 Rs + Rr 2
Lr
K =

 ωs σLs

− ωs σLs
γσLs
− σLs k 
Tr 

pΩkσLs 
− ωs σLs
L2m
Rs + Rr 2
Lr
29
Lm 

L2r 
L 
pΩ m 
Lr 
− Rr
Chapitre 2 Commande vectorielle à flux rotorique orienté
σL
et L =  s
 0
0 
σLs 
Nous obtenons le système découplé suivant :
1
1
y1 = w1 , soit isd = wsd
s
s
1
1
y2 = w2 , soit isq = wsq
s
s
Or,
Φr =
Lm
1
isd − Φ r
Tr
Tr
soit
Φr =
Lm
wsd
s(1 + Tr s )
o
2.2.2 Découplage par compensation
Définissons deux nouvelles variables de commande vsd1 et vsq1 [8], [10] telles que :
vsd = vsd 1 − esd et vsq = vsq1 − esq
esd = ωs σLs isq +
avec
esq = −ωs σLs isd −
et
Lm
Rr Φ r
L2r
Lm
L2
ωs Φ r + m isq
Lr
LrTr
Les tensions vsd et vsq sont alors reconstituées à partir des tensions vsd1 et vsq1 (Figure 2.3) :
esd
vsd
vsd1
vsq
vsq1
MAS
+
commande
vectorielle
esq
Figure 2.3 Reconstitution des tensions vsd et vsq
30
flux
couple
Chapitre 2 Commande vectorielle à flux rotorique orienté
Nous définissons ainsi un nouveau système (Figure 2.4) pour lequel :
o


L2m 

vsd 1 = σLs i sd +  Rs + Rr 2  isd
Lr 



2
v = σL io +  R + R Lm  i
sq
sq
s
r
 s
 sq1
L2r 


(2.5)
Les actions sur les axes d et q sont donc découplées.
vsd1
vsq1
L2r
σLs L2r s + Rs L2r + Rr L2m
)
isd
L2r
σLs L2r s + Rs L2r + Rr L2m
)
isq
(
(
) (
) (
Figure 2.4 Commande découplée – Expression de isd et isq
En faisant apparaître de manière explicite flux (2.1) et couple (1.18), nous obtenons :
vsd1
Lm
1
σLs (s + γ )(Tr s + 1)
Φr
vsq1
pLm Φ r 1
σLs Lr (s + γ )
Γe
Figure 2.5 Commande découplée – Expression de Φr et Γe
2.2.3 Problèmes posés par le découplage
Nous pouvons montrer que, dans les deux types de découplage proposés, un risque
d'instabilité existe si les paramètres du modèle évoluent et pose donc un problème de robustesse
de la commande.
Dans le cas du découplage par compensation, si celle-ci est correcte, toute action sur l'une des
entrées ne provoque aucune variation de l'autre sortie. En revanche, une mauvaise compensation
pourrait provoquer une évolution de cette dernière dans un sens tel qu'il y aurait renforcement de
31
Chapitre 2 Commande vectorielle à flux rotorique orienté
l'action, et donc divergence du système. Une solution consiste, par exemple, à fixer a priori, un
gain plus faible dans les fonctions de transfert compensatrices. C'est la technique que nous
utiliserons pour l'implantation réelle de la commande.
En pratique, les paramètres Rs, Rr évoluent avec la température.
2.3 Commande vectorielle à flux orienté
2.3.1 Schéma de principe
A partir du modèle du moteur élaboré au chapitre 1 et des équations de découplage données
au paragraphe 2.2, nous pouvons élaborer un schéma de principe de la commande vectorielle à
flux rotorique orienté sur l'axe d (Figure 2.6).
La position θs de l'axe d par rapport au stator est obtenue par intégration de la pulsation
statorique ωs.
vsd ref
vsd 1ref
Découplage
vsq1ref
vsqref
Φ rref
Φ̂ r
Calcul
Φr
ωs
isd
isq
isd isq
ωs
Transformation
(d,q) → (α,β)
vsα ref
vsβref
Transformation v
sabc
(α,β) → (a,b,c)
ref
θs
Calcul
θs,ωs
isα
Transformation
(α,β) → (d,q)
Transformation
(a,b,c) → (α,β)
i sabc
isβ
Figure 2.6 Schéma de principe d'une commande vectorielle
2.3.2 Calcul de Φr
Les grandeurs d'état ou de sorties utilisées pour l'élaboration de la commande sont souvent
difficilement accessibles pour des raisons techniques (c'est le cas du flux) ou pour des problèmes
de coût.
Le flux peut être reconstitué par :
32
Chapitre 2 Commande vectorielle à flux rotorique orienté
– des estimateurs utilisés en boucle ouverte,
– des observateurs corrigeant en boucle fermée les variables estimées.
Les estimateurs reposent sur l'utilisation d'une représentation de la machine sous forme
d'équation de Park définie en régime permanent (estimateur statique) ou transitoire (estimateur
dynamique). Ils sont obtenus par une résolution directe des équations associées à ce modèle.
L'intérêt d'une telle approche conduit à la mise en œuvre d'algorithmes simples et donc
rapides. Toutefois, ils sont peu robustes aux variations paramétriques (résistance rotorique et
statorique, mutuelle, etc.).
ˆr :
Le système d'équations (2.1) permet d'estimer le flux Φ
ˆ r = Lm isd
Φ
1 + Tr s
(2.6)
2.3.3 Calcul de ωs et θs
La pulsation statorique s'écrit, d'après (2.1) :
ωs = pΩ +
Lm isq
ˆr
Tr Φ
L'équation n'est pas exploitable telle quelle puisque Φ̂ r est nul au démarrage du moteur.
Nous utiliserons, pour l'implantation, l'équation suivante :
ωs = pΩ +
Lm isq
ˆ r +ε
Tr Φ
avec ε = 0,01 .
Nous avons alors :
1
θ s = ωs
s
De même, l'expression exploitable est la suivante :
1
θ s = ωs mod[2π]
s
2.3.4 Schéma complet de la commande vectorielle directe à flux rotorique
orienté
Le schéma que nous proposons (Figure 2.7) est une commande vectorielle de type direct : le
flux rotorique est asservi à une consigne de flux [2]. Une commande indirecte ne comporterait
pas de régulateur de flux.
Nous utilisons les estimateurs de flux et de pulsation statorique déterminés précédemment.
33
Chapitre 2 Commande vectorielle à flux rotorique orienté
Les grandeurs mesurées dont nous avons besoin sont les suivantes :
– vitesse Ω donnée par le codeur incrémental monté directement sur l'axe du moteur,
– courants isa, isb, donnés par des sondes à effet Hall.
Valim
MAS
isa
transformation
(a,b,c) → (d,q)
MLI
vsaref vsbref vscref
θs
isb
isd
θs
isq
transformation
(d,q)→ (a,b,c)
vsd ref
ωs
Φ rref
estimateurs
vsqref
découplage
vsd 1ref
régulateur
flux
Φ̂ r Γe ωs θ s
vsq1ref
régulateur
couple
Φ̂ r
Γe
Φ̂ r ref
régulateur
vitesse
Ω
Ω ref
Figure 2.7 Commande vectorielle directe de flux d'une machine alimentée en tension
34
DT
Chapitre 2 Commande vectorielle à flux rotorique orienté
2.3.5 Calcul des régulateurs
2.3.5.1 Régulateur de flux
Le découplage proposé Figure 2.5 permet d'écrire :
Φr =
avec K1 =
K1
( s + γ )( s +
1
)
Tr
vsd 1
Lm
.
σLsTr
Nous souhaitons obtenir en boucle fermée une réponse de type 2nd ordre.
Soit un régulateur proportionnel-intégral classique de type :
PI ( s ) = K p +
Ki
s
Nous pouvons représenter le système en boucle ouverte par la Figure 2.8.
s+
Φ rref
K p1
K i1
K p1
vsd1
K1
s
( s + γ )( s +
1
)
Tr
Φr
Figure 2.8 Schéma en boucle ouverte
Compensons le pôle le

1
régulateur, soit  s +  par
 Tr 
plus lent par le numérateur de la fonction de transfert de notre


 s + K i1  , ce qui se traduit par la condition :

K p1 

K i1 1
=
K p1 Tr
En boucle ouverte, la fonction de transfert s'écrit maintenant :
BO( s ) =
K p1 K1
s( s + γ )
L'équation caractéristique du système en boucle fermée est la suivante :
1+
γ
K p1 K1
s+
s2
K p1 K1
que nous cherchons à identifier à la forme canonique du 2nd ordre.
35
(2.7)
Chapitre 2 Commande vectorielle à flux rotorique orienté
Nous avons donc à résoudre le système suivant :
1
 1
 K K = ω2
n
 p1 1

 γ = 2ζ 1
 K p1 K1 ωn
Le gain K p1 est donné par :
K p1 =
γ2
2
K1 (2ζ1 )
(2.8)
1
K p1
Tr
(2.9)
L'équation (2.7) permet de déduire K i1 :
K i1 =
2.3.5.2 Régulateur de couple
De même, les équations de découplage proposées Figure 2.5 permettent d'exprimer Γe :
Γe =
avec K 2 =
pLm Φ rref
σLs Lr
K2
vsq1
s+γ
.
Les paramètres du régulateur seront donc dépendants de la consigne de flux Φ rref .
L'utilisation d'un régulateur proportionnel-intégral donne le schéma en boucle
ouverte suivant (Figure 2.9) :
s+
Γeref
K p2
Ki 2
K p2
vsq1
s
K2
s+γ
Γe
Figure 2.9 Schéma en boucle ouverte
Compensons le pôle s + γ par s +
Ki 2
, ce qui se traduit par la condition :
K p2
Ki2
=γ
K p2
36
(2.10)
Chapitre 2 Commande vectorielle à flux rotorique orienté
La fonction de transfert en boucle ouverte s'écrit maintenant :
BO( s ) =
K p2 K2
s
En boucle fermée, nous obtenons une réponse de type 1er ordre de constante de
1
temps
.
K p2 K2
Pour un temps de réponse imposé t rep 2 ( 5%) , nous obtenons la condition suivante :
3
1
= t rep 2 ( 5%)
K p2 K2
K p2 = 3
soit
σLs Lr
pLm Φ rref t rep 2 ( 5%)
Et, d'après l'équation (2.10), :
K i 2 = γK p 2
2.3.5.3 Régulateur de vitesse
La chaîne de régulation de vitesse peut être représentée par le schéma fonctionnel suivant
(Figure 2.10) :
Γr couple résistant
Régulateur
de vitesse
Ω ref
Γ
1
Js + f
Figure 2.10 Schéma fonctionnel de la régulation de vitesse
Nous avons :
Ω=
1
(Γ − Γr )
Js + f
Dans le cas de l'utilisation d'un régulateur PI classique, Ω s'écrit alors :
Ω=
1  K p3s + Ki3 
1

(Ω ref − Ω ) −
Γr
Js + f 
s
Js
+
f

37
Ω
J : moment d'inertie
ramené sur l'axe
moteur
f : frottements
visqueux
Chapitre 2 Commande vectorielle à flux rotorique orienté
soit
Ω=
K p3s + Ki3
Js + ( K p 3 + f ) s + K i 3
2
Ω ref −
s
Γr
Js + ( K p 3 + f ) s + K i 3
2
Cette fonction de transfert possède une dynamique du 2nd ordre.
1
En identifiant le dénominateur à la forme canonique
, nous avons à résoudre le
2ζ
s2
s+ 2
1+
ωn
ωn
système d'équations suivant :
1
 J
 K = ω2
 i3
n

 2ζ 3 = K p 3 + f
 ωn
Ki3
Pour un coefficient d'amortissement ζ3 de 1, nous avons ωnt rep 3 ≈ 4,75 , trep3 représentant le
temps de réponse en vitesse du système (Tableau 2.1).
ζ
ωntrep(5%)
0,4
7,7
0,5
5,3
0,6
5,2
0,7
3
1
4,75
Tableau 2.1 Relation entre ωn, trep(5%) et ζ
Les paramètres du régulateur PI sont alors les suivants :

 4,75 

 K i 3 = J 

t

rep
3



 K = J 9,5 − f
 p3
t rep 3

38
2
Chapitre 2 Commande vectorielle à flux rotorique orienté
2.3.5.4 Application numérique
Les paramètres du moteur donnés Tableau 3.1 permettent de calculer les valeurs des différents
coefficients (Tableau 2.2).
L'application numérique montre que la valeur du coefficient de frottement visqueux f est
9,5
.
négligeable devant celle de J
t rep 3
Il conviendra de s'assurer, lors des essais en simulation, que nous ne saturons pas la
commande, c'est à dire que la norme de la tension statorique Vsdqref n'atteigne pas la valeur limite
admissible (380 V).
γ
σ
Tr(ms)
Régulateur de flux
171,6
0,062
0,227
ζ1
Kp1
Ki1
0,4
0,5
0,6
691 442 307
3036 1923 1350
Régulateur
de vitesse
Régulateur de couple
Φ rref (Wb)
trep2 (ms) 50
0,21
Kp2
36,3
Ki2
0,85
40
0,26
45,4
0,7
225
991
ζ3
30
0,35
60,6
trep3(ms)
Kp3
Ki3
500
4,18
19,8
Tableau 2.2 Paramètres des régulateurs
39
1
400
5,2
31
300
7
55,1
Chapitre 3 Plate-forme expérimentale
Chapitre 3
Plate-forme expérimentale
Le Laboratoire d'automatique de Grenoble dispose depuis 1994 d'un banc d'essais "Machine
asynchrone" destiné à valider des algorithmes de commande dédiés.
Leur implantation nécessite un environnement susceptible de permettre une mise en œuvre
rapide et d'offrir une modularité importante.
La solution retenue passe par l'utilisation d'un processeur de signal (le DSP TMS320C30 de
TEXAS INSTRUMENTS) dont les programmes temps réel sont générés par le logiciel MATLAB et
complété par des outils de compilation spécifiques au DSP (RTW, Real Time Workshop), et par
des modules de pilotage de l'application, COCKPIT et TRACE.
La représentation synoptique de la plate-forme est donné Figure 3.1 :
PC 486
Matlab
Simulink
Protections
et gestion des défauts
Carte PWM
Alcatel
Génération de
largeur
d'impulsion
_________
Génération de
consigne
(charge)
DSP TMS320C30
Ta+
Interface
et Isolement.
Filtres
Antirepliement
Tc+
Db+
Dc+
Ia
Ud
Ib
Ic
DaTa-
Tb-
Db-
Va
Vb
Vc
Dc-
Tc-
Onduleur triphasé
F=1kHZ
Convertisseur à circulation
de courant
Acquisition de
données
Tb+
Da+
MOTEUR ASYNCHRONE
P=7.5k
Ω nom=1500 tr/mn
Cnom=50N.m
MACHINE
A
COURANT CONTINU
P=7kW
couplemètre
Figure 3.1 Représentation synoptique de la plate-forme expérimentale du L.A.G..
41
Chapitre 3 Plate-forme expérimentale
Nous détaillerons dans ce chapitre la commande la structure électromécanique du banc, les
organes de commande de la machine asynchrone et l'environnement de mesures. Les éléments de
contrôle de la machine à courant continu sont détaillés en Annexe A.
3.1 Structure électromécanique
3.1.1 Description
La structure électromécanique est constituée par :
• Une machine asynchrone triphasée à cage d'écureuil d'une puissance de 7,5 kW. Cette
puissance a été choisie pour sa capacité à simuler des moteurs de taille plus importante (de
l'ordre de 50 kW).
• Une machine à courant continu ventilée d'une puissance de 7,5 kW servant de charge
variable associée à une dynamo tachymétrique pour l'asservissement local de vitesse.
• Un codeur optique incrémental pour la mesure de vitesse de l'axe.
• Un couplemètre à grande bande passante intercalé entre les deux machines ; il est relié aux
moteurs par deux accouplements rigides en torsion et souples en flexion de manière à rattraper
les défauts d'alignement.
Accouplements
D.T.
Moteur à
courant continu
Moteur
asynchrone
Couplemètre
Socle IPN rigide
Figure 3.2 Structure électromécanique de la plate-forme
3.1.2 Principaux paramètres
Le Tableau 3.1 donne les principaux paramètres du moteur asynchrone.
42
Codeur
optique
Chapitre 3 Plate-forme expérimentale
Puissance nominale
P
7,5
kW
Vitesse nominale
Ωn
1450
Couple nominal
Γn
50
N.m
Courant nominal
In
16
A
Résistance statorique
Rs
0,63
Ω
tr/min
Résistance rotorique
Rr
0,4
Ω
Inductance mutuelle
Lm
0,091
H
Inductance statorique
Ls
0,097
H
Inductance rotorique
Lr
0,091
H
Vitesse maximale
Ω
Tension maximale
(norme en repère
V
Inertie
J
0,22
kg.m²
Frottement visqueux
f
0,001
N.s/rad
Paire de pôles
p
2
Couple
i l
de
tr/min
380
V
35
A
1
Wb
45
N.m
smax
Courant maximal
(norme en repère
Flux maximal
(norme en repère
200
Is
max
Φ
r max
Γ
charge
Tableau 3.1 Paramètres du moteur et valeurs maximales admissibles
3.2 Commande de la machine asynchrone
3.2.1 L'onduleur de puissance JIS 35 (Jeumont-Schneider)
Cet onduleur triphasé de technologie bipolaire (Figure 3.3) [Annexe A], conçu à l'origine pour
fonctionner de manière autonome en U/f, n'était pas utilisable pour le test de lois de commande
avancées : il ne pouvait recevoir d'ordres en provenance d'un logiciel de contrôle.
Ta
Valim
Tb
Tc
Va
Ud
2
N
0
Ud
2
Vb
Ta
Tb
Tc
Figure 3.3 Onduleur triphasé
43
Vc
Chapitre 3 Plate-forme expérimentale
Le variateur a donc été modifié afin de recevoir des consignes en provenance d'un processeur
de signal.
3.2.2 Pilotage de l'onduleur par la carte Alcatel PWM
3.2.2.1 Modulation de largeur d'impulsion
La modulation de largeur d'impulsions est une technique de découpage de tension ou de
courant permettant de générer des formes quasi sinusoïdales. L'objectif principal de cette
technique est de régler l'amplitude et la fréquence du terme fondamental et de rejeter les
harmoniques indésirables générées par une ondulation "pleine onde" vers les fréquences élevées,
leurs amplitudes devenant alors négligeables.
On démontre que plus le nombre d'angles de découpage est important, plus on annule
d'harmoniques. Ainsi, pour trois angles calculés, la modulation est déjà performante et il est
possible de supprimer les harmoniques de rangs 3 et 5 et régler la valeur efficace du
fondamental.
3.2.2.2 Génération de référence
Chaque bras du pont (Figure 3.3) est chargé de générer par modulation de largeur d'impulsion
un signal dont le fondamental est le signal de référence.
Il existe différents types de modulation :
• MLI naturelle ou intersective : le calcul des instants de commutation se fait par intersection
du signal de référence avec un signal triangulaire.
• MLI avec contrôle d'amplitude : l'amplitude crête est constante et pour la valeur efficace du
fondamental, on agit sur la largeur des impulsions. Pour maintenir U/f=Cte, il faut modifier la
valeur des angles d'amorçage de la MLI pour chaque valeur de vitesse. Ceux-ci sont donc
précalculés et stockés dans une mémoire.
• MLI vectorielle : les instants de commutation sont calculés en ligne.
Cette technique est utilisée par la carte PWM Alcatel ALCT01 (Figure 3.1), développée
spécialement par la société dSPACE pour le compte d'Alcatel Alsthom Recherche et implantée sur
la plate-forme du L.A.G.
Il s'agit d'une carte client compatible PHS-Bus, le bus propriétaire des équipements dSPACE.
Les principales caractéristiques de cette carte sont les suivantes :
•
•
•
•
•
six générateurs MLI indépendants,
impulsions symétriques pour sortie triphasée sinusoïdale,
tension, fréquence, déphasage programmables,
fréquence de découpage 20 kHz,
temps morts, retards à la mise en et hors circuit programmable,
44
Chapitre 3 Plate-forme expérimentale
• transformation automatique du repère cartésien en repère polaire,
• fonctionnement synchrone ou asynchrone sur toutes les voies.
Les générateurs MLI sont basés sur un circuit spécialisé, le PBM 1/89, de la société Hanning
[24]. Chaque circuit fournit trois voies MLI déphasées de 120° (Figure 3.4), à raison de deux
signaux (On et Un) par voie.
Une étude détaillée de la modulation du PBM 1/89 a été réalisée [6]. Elle conclut à une
modélisation de type modulation sinusoïdale simple avec un harmonique de rang 3.
Les sorties On pilotent les branches supérieures du pont de puissance de l'onduleur et les
sorties Un sont conçues pour piloter les branches inférieures.
Figure 3.4 Modulation PBM 1/89
3.2.2.3 Gestion des impulsions
Le PBM 1/89 prévoit le paramétrage des durées minimales de conduction et de temps de
garde. Néanmoins, cette mise en œuvre n'est pas apparue suffisamment fiable pour permettre
d'envoyer directement ces impulsions sur les transistors. Les signaux Un ne sont donc pas
utilisés.
Une interface de protection a été réalisée (Figure 3.5). En pratique, les trois signaux O1, O2,
O3 de commande sont calibrés pour que les impulsions présentent une durée minimale (400 µs,
signaux S11, S12, S13) [14]. Toutefois, ces durées ne sont pas appliquées en raison de la
technologie bipolaire de l'onduleur. Ce paramètre prendrait toute son importance avec des
transistors de type MOS.
45
Chapitre 3 Plate-forme expérimentale
ALCT 01
Signaux
PBM 1/89
O2
O3
Défauts variateur
Ordres de marche
T1
S11
O1
Durée
minimale
d'impulsions
S12
T'1
Application
des temps
de garde
S13
Gestion
marche/arrêt
et défauts
T2
T'2
Buffer
6
Ta,b,c
Ta,b,c
T3
T'3
Déblocage
impulsions
Figure 3.5 Interface commande - puissance
L'application des temps de garde consiste à partir du signal S11 à générer un signal S11r retardé
de la valeur du temps mort (25 µs). Les signaux de commande T1 et T'1 du transistor Ta et de son
complémentaire sont alors obtenus par les opérations logiques suivantes :
S11 final = ( S11.S11r )
S 21 final = ( S11 + S11r )
La Figure 3.6 donne une représentation de cette équation.
Les signaux prêts à être appliqués aux transistors sont alors stockés dans un buffer. Une
logique de contrôle veille au blocage des impulsions pendant la séquence de démarrage et
interrompt la commande en cas de défaut sur le banc d'essai.
46
Chapitre 3 Plate-forme expérimentale
TMLI
S11
S11r
Temps
morts
temps
T1=
S11.S11r
T'1=
S11.S11r
Figure 3.6 Génération des temps morts
3.2.2.4 Problèmes liés à la modulation de largeur d'impulsion
Si l'on considère le fonctionnement logiciel et matériel de l'ensemble carte DSP DS1002 carte Alcatel (Figure 3.7), on constate que :
• L'algorithme de commande est séquencé par une horloge (timer1) qui envoie des
interruptions au processeur.
La fonction appelée isr_t1 assure la mise à jour du modèle du contrôleur et le calcul des
sorties.
• La carte de génération de la MLI appelle le processeur de manière périodique (intc04) mais
indépendante de isr_t1.
47
Chapitre 3 Plate-forme expérimentale
O1
O2
O3
PBM 1/89
int_c04
TMS320C30
TRACE
isr_t1
Horloge
PWM
Horloge
commande
Timer1
ALCT01
DS1002
COCKPIT
PC
Figure 3.7 Contrôle des interruptions – Cartes ALCT01 et DS1002
La génération de MLI fonctionne donc de manière asynchrone par rapport à l'algorithme de
commande. Les conséquences sont les suivantes :
• un déphasage supplémentaire dû au blocage par la MLI venant s'ajouter au bloqueur d'ordre
0 en sortie de régulateur numérique,
• une différence de période des deux bloqueurs dans la mesure où les horloges de référence
sont générées à partir de deux quartz différents.
Des relevés ont été effectués [6] qui mettent en évidence les harmoniques perturbateurs,
essentiellement de rang 2, générés par ce type de fonctionnement, en particulier sur les courants
de phase.
Ce fonctionnement entraîne de plus des retards qui sont préjudiciables à la robustesse de
l'algorithme, ainsi qu'un aléa quant à la valeur de ce retard.
Un solution logicielle a été élaborée pour résoudre ce problème d'asynchronisme : utiliser
l'interruption int_c04 pour contrôler l'algorithme de commande [14]. Elle est schématisée par la
Figure 3.8.
• L'interruption PBM 1/89 (int_c04) est appelée toutes les 500 µs.
• Une fois sur deux, le timer 1 est réarmé pour lancer isr_t1 une milliseconde plus tard, ce
qui synchronise les deux algorithmes.
48
Chapitre 3 Plate-forme expérimentale
TMLI
TMLI
TMLI
Int_c04
∆1
∆1
∆1
Décomptage
timer1
Isr_t1
Tr
T calcul DSP
TMLI
: Période de calcul de la MLI
Tr
: Retard dû au temps de calcul et de transfert vers la MLI
∆1
: Intervalle de temps entre la fin du calcul et la prise en compte de la donnée par la MLI
Figure 3.8 Synchronisation des algorithmes MLI – Commmande
3.2.2.5 Adaptation de la carte Alcatel
La fréquence de MLI utilisée actuellement (1 kHz) limite le temps d'exécution total du
programme implanté sur le DSP à environ 800 µs. Certaines commandes, gourmandes en temps
de calcul (notamment le DTC), nécessitent une période de MLI plus faible.
Nous avons donc modifié la carte Alcatel ALCT 01 en ajoutant un diviseur de fréquence à
l'horloge de base distribuée aux circuits PBM 1/89 par l'intermédiaire des drivers de ligne
74BCT2245 [22].
Le schéma fonctionnel de la carte d'adaptation est proposé Figure 3.9.
Quatre diviseurs sont disponibles : 1, 2, 4 et 8. La sélection peut être effectuée directement sur
la carte par straps ou par deux inverseurs situés sur la face arrière du boîtier PX20.
Pour une fréquence de MLI fixée à 500 Hz, les inverseurs A et B doivent être en position "L"
(diviseur par 2).
L'utilisation d'un multiplexeur évite le passage des signaux d'horloge par des circuits de
commutation mécaniques et limite ainsi la sensibilité de l'ensemble aux parasites.
49
Chapitre 3 Plate-forme expérimentale
Le schéma électronique complet est fourni en Annexe C.
H
Horloge
ALCT01 20 MHz
/2
E0
/4
E1
/8
E3
B0
A0
Vers
PBM 1/89
Y
Driver
E4
Diviseur
Multiplexeur
A7
B7
Sélection
diviseur
Figure 3.9 Adaptation horloge carte ALCT 01
3.3 Environnement de mesures
3.3.1 Instrumentation du banc
La commande des moteurs asynchrones nécessite généralement la mesure :
• des courants statoriques (deux des trois phases étant instrumentées, la troisième obtenue par
soustraction),
• de la vitesse (la suppression de ce capteur motive d'ailleurs de nombreuses recherches).
Le banc d'essai a néanmoins été instrumenté avec d'autres capteurs qui permettent une
meilleure évaluation du comportement du procédé (Figure 3.10) :
• capteurs de tensions (tensions stator, Ur tension redressée onduleur, Ua tension d'induit
MCC),
• capteurs de courant Ia, courant d'induit MCC et Ir courant redressé onduleur,
• capteur de couple mécanique sur l'arbre moteur,
• capteurs de flux Φsa, Φsb,
• capteur de couple électromagnétique Γe
Une possibilité de pilotage du moteur asynchrone en U/f à partir du DSP via la carte de sortie
DS2101 a également été prévue.
50
Chapitre 3 Plate-forme expérimentale
Gestion modes marche/arrêt
Carte DSP
DS1002
Consignes Vitesse/couple
Consigne U/f
Carte PWM
ALCT01
ONDULEUR
VARIATEUR
MCC
Carte CNA
DS2101
Ir, Ur
Isa, Usa
Isb, Usb
Ia, Ua
Iex
Ωana
Γm
Carte
filtre
Φsa,Φsb,Γe
Carte CAN
DS2002
Carte codeur
DS3001
D.T.
MCC
Codeur
optique
Couplemètre
MAS
Figure 3.10 Instrumentation du banc
3.3.2 Capteurs
3.3.2.1 Capteur de flux et de couple électromagnétique
L'une des difficultés de la commande du moteur asynchrone réside dans la nécessité de
reconstruire les flux qui ne sont pas mesurés dans la pratique.
Dans le but d'évaluer la performance des observateurs et des contrôleurs réalisés par certains
utilisateurs du banc, il est paru souhaitable de disposer d'une information sur les flux
effectivement créés dans le moteur.
Une solution simple a été mise en œuvre au laboratoire : elle consiste à insérer sous les pôles
du stator des spires de mesure de la tension induite, ce qui permet par intégration de reconstruire
le flux statorique. Cette technique pose toutefois deux types de problèmes :
• L'intégration du signal de mesure est en pratique réalisée à l'aide d'un filtrage passe-bas. Il
en résulte que les mesures ne seront exploitables que pour des fréquences de signaux, et donc de
vitesse rotorique, suffisante.
51
Chapitre 3 Plate-forme expérimentale
• La mesure est dépendante de la réalisation technologique de l'enroulement de mesure
(emplacement du brin dans l'encoche).
La connaissance des flux statoriques permet aisément de construire une image du couple
électromagnétique à l'aide de la formule :
Γe = 3 (Φ bia − Φ a ib )
où Φ a , Φ b et ia, ib sont des grandeurs par phase.
3.3.2.2 Capteur de vitesse
La vitesse est évaluée par dérivation de la position fournie par un codeur optique. L'interface
logicielle doit prendre en compte le dépassement de capacité du registre mémorisant la position.
3.4 Evaluation des retards
3.4.1 Retards dus à l'onduleur et au temps de calcul
Le retard statistique dû à l'onduleur est en moyenne équivalent à une demi-période
d'échantillonnnage.
Le retard dû au temps de calcul est illustré par la Figure 3.11.
Sortie du
procédé
t
Calcul
commande
fin de
calcul
t0
Commande
t1
fin de
calcul
t0+Te
t1+Te
t0+2Te
t
t1+2Te
t
Figure 3.11 Retard dû au temps de calcul
52
Chapitre 3 Plate-forme expérimentale
Le retard est théoriquement équivalent à une période d'échantillonnage. Toutefois, compte
tenu des caractéristiques particulières du circuit PBM 1/89, il peut dans certains cas être réduit à
une demi-période d'échantillonnage.
Ces retards devront être pris en compte lors de la simulation (Figure 3.12).
Vsα
Bloqueur
ordre 0
Retard
temps de calcul
Retard
PBM 1/89
e-T s
e-T /2.s
e
e.
Vsβ
Echantillonnage
Modèle
moteur
asynchrone
Filtre
anti-repliement
Mesures
Figure 3.12 Présentation synoptique des différents retards
3.4.2 Retards dus au filtrage des mesures
Les mesures sont échantillonnées et destinées à un traitement numérique. Elles sont donc
soumises au problème de repliement de spectre. Les convertisseurs numériques-analogiques sont
donc précédés de filtres anti-repliement (Figure 3.12).
Or, ces filtres génèrent des retards de phase incompatibles avec les dynamiques demandées et
conduisent à l'instabilité à haute vitesse.
Il faudra donc tenir compte de leur présence dans la synthèse de la commande.
Afin de compenser les déphasages induits, il est nécessaire d'identifier correctement le filtre
utilisé.
Identification du filtre anti-repliement
Le circuit MAX280 fabriqué par Maxim [25] est un filtre passe-bas du 5e ordre qui a été choisi
pour son absence d'offset et sa bande passante (jusqu'à 20 kHz). Toutefois, la technologie utilisée
(4e ordre à capacité commutée associé à un circuit RC) ne permet pas a priori de connaître son
comportement précis dans la bande de fréquence qui nous intéresse.
L'analyse des courbes de Bode du MAX280, relevées à partir d'essais en laboratoire, a permis
d'assimiler le comportement du circuit à celui d'un filtre de Butterworth du 5e ordre (Figure
3.13), à la condition de choisir le couple (R,C) tel que [25] :
fc
1
=
1,62 2πRC
53
Chapitre 3 Plate-forme expérimentale
Un mauvais réglage du filtre RC entraîne une résonance près de la fréquence de coupure.
0
-2
-4
Phase (deg)
-6
-8
-10
-12
-14
-16
-18
-20
0
50
100
150
200
250
Frequence (rad/sec)
300
350
en continu : relevé (fréquence,phase) du MAX280 pour fcoupure=500 Hz et fclk=50 kHz
en pointillé : filtre de Butterworth du 5e ordre théorique
Figure 3.13 Courbes MAX280 et filtre de Butterworth du 5e ordre
Dans la bande de fréquence qui nous intéresse, c'est à dire jusqu'à ω = ωs ≈ pΩnom (p nombre
de paires de pôles, Ωnom = 1500 tr/mn) soit 300 rad/s, nous avons la relation linéaire suivante :
Pour le MAX280 : ϕdeg ≈ −0,063.ωs , soit ϕ rad ≈ −1,1.10 −3.ωs
Pour le filtre de Butterworth théorique : ϕdeg ≈ −0,059.ωs , soit ϕ rad ≈ −1,03.10 −3.ωs
Ces équations seront utilisées pour le passage des repères (α,β) à (d,q), en simulation et dans
les schémas temps réels implantés sur le banc.
3.5 Environnement dSPACE
Le système informatique dSPACE est construit autour du processeur de signal TMS320C30 de
la société Texas Instruments..
L'unité centrale DS1002 est située dans un coffret type PX20, qui peut être considéré comme
une extension du PC (Figure 3.14).
Les échanges d'informations entre la carte DS1002 et les autres cartes d'interface sont réalisés
par l'intermédiaire du bus rapide PHS-Bus (16,6 MB/s) déjà mentionné.
54
Chapitre 3 Plate-forme expérimentale
DS1002
Unité centrale DSP
DS2101
Sorties analogiques
DS2002
Entrées analogiques
DS3001
Codeur incrémental
Carte
d'extension
DS4001
Entrées-sorties numériques
PHS-Bus
ALCT01
Alcatel PWM
PC
Coffret PX 20
Figure 3.14 Environnement dSPACE
Les principales caractéristiques des cartes d'interface sont les suivantes :
• Carte DS2101 – Sorties analogiques
– 5 convertisseurs N/A 12 bits parallèles,
– 3 µs de temps d'établissement à ± 0,01% de la pleine échelle,
– gammes de tension de sortie programmables,
• Carte DS2002 - Entrées analogiques
– deux convertisseurs A/N 16 bits séparés avec chacun 16 voies multiplexées,
– résolution programmable : 4, 8, 12, 16 bits,
– temps de conversion :1,5- 2,7-3,8- 5 µs suivant la résolution demandée,
– gammes de tension d'entrée programmables : ± 5 V, ± 10 V.
55
Chapitre 3 Plate-forme expérimentale
• Carte DS3001 - Codeur incrémental
– 5 voies codeur indépendantes,
– entrées différentielles (RS 422) ou simples (TTL),
– résolution : 24 bits,
– fréquence de comptage maximum : 5 MHz,
– multiplication par 4,
– étage filtre du 4ème ordre.
• Carte DS4001 -Entrées-Sorties numériques
– 32 E/S compatibles TTL, configurables en entrée ou en sortie par blocs de 8,
– 5 compteurs/timers 16 bits indépendants avec possibilité d'interruptions,
– base de temps 5 Mhz avec 200 ns de résolution.
56
Chapitre 4 Simulation de la commande vectorielle
Chapitre 4
Simulation de la commande
vectorielle
4.1 Présentation de l'environnement MATLAB/SIMULINK™
MATLAB est un logiciel destiné principalement au calcul scientifique, à la modélisation et à la
simulation [15]. Le noyau de calcul est associé à l'environnement SIMULINK, permettant une
modélisation basée sur des schémas-blocs [16].
Des bibliothèques spécialisées sont disponibles (les "Toolboxes") pour la plupart des
domaines scientifiques nécessitant des moyens de calcul importants : automatique, traitement de
signal, mathématiques appliquées, télécommunications, etc.
Des modules temps réel, développés autour des produits dSPACE (Real Time Interface, TRACE,
COCKPIT) sont également proposés et rendent l'environnement de travail particulièrement
attractif : l'utilisateur dispose en effet de tous les outils nécessaires à l'élaboration d'une
application sur procédé réel, de la simulation à la supervision.
Les simulations proposées sont réalisées sous MATLAB version 4.2.c1. Le passage aux
versions 5.x nécessite quelques adaptations mineures (en particulier la recompilation des Sfunctions écrites en C).
4.2 Modélisation sous MATLAB/SIMULINK
4.2.1 Introduction aux S-Functions
L'élaboration d'un algorithme sous MATLAB/SIMULINK est basée sur une description
arborescente par schémas-blocs.
Chaque bloc fonctionnel peut être décrit de trois manières :
• graphiquement. C'est la méthode la plus courante et la plus facile à utiliser (Figure 4.1).
57
Chapitre 4 Simulation de la commande vectorielle
x(n+1)=Ax(n)+Bu(n)
y(n)=Cx(n)+Du(n)
Signal
Generator
Discrete State-Space
Mux
Scope
Mux
Figure 4.1 Représentation graphique sous Simulink
• par une S-function (fonction système) écrite en langage MATLAB standard.
L'avantage de ce type de description est la simplicité. Par contre, la simulation est plus lente
et, surtout, une S-function de ce type n'est pas compilable par le module temps réel Real Time
Workshop (RTW).
• par une S-function écrite en langage C. Celle-ci doit être compilée avant utilisation
(fonction cmex). Elle a pour principales caractéristiques une écriture plus complexe, une
simulation rapide et une compatibilité avec RTW.
La Figure 4.2 illustre le lien entre un bloc S-function, sa boîte de dialogue et le fichier source
définissant la fonction réalisée par le bloc.
Fichier source
S-function
Fichier C MEX
ou
Fichier Matlab
Figure 4.2 Lien entre S-function et fichier source
58
Chapitre 4 Simulation de la commande vectorielle
L'utilisation de S-functions est incontournable pour la description de processus complexes,
difficilement représentables graphiquement ou encore pour les systèmes modélisés sous forme de
jeu d'équations. Pour la modélisation du moteur asynchrone, nous utiliserons donc des
S-functions écrites en C.
Nous utilisons le compilateur WATCOM C/C++ v11, lancé sous MATLAB 4.2c.1 par la
commande !cmex. Un fichier C-MEX est généré (Figure 4.3). Celui-ci pourra être appelé par la Sfunction correspondante.
Fichier
moteur.C
commande
!cmex
sous Matlab
Compilateur
Watcom
Fichier
moteur.MEX
Figure 4.3 Génération d'un fichier C-MEX
4.2.2 Fonctionnement d'une S-Function
Tout bloc S-function contenu dans un schéma Simulink possède les caractéristiques
suivantes [17] : un vecteur d'entrée u, un vecteur de sortie y et un vecteur d'état x (Figure 4.4).
état x
entrée u
sortie y
Figure 4.4 Fonctionnement d'une S-function
Le vecteur d'état peut être discret, continu ou une combinaison des deux.
Les vecteurs u, x et y sont définis de la manière suivante :
y = f o (t , x, u ) (sortie)
xd k +1 = f u (t , x, u ) (mise à jour)
x&c = f d (t , x, u ) (dérivée)
avec
 xc 
x=

 xd k +1 
59
Chapitre 4 Simulation de la commande vectorielle
En cours de simulation, SIMULINK appelle à chaque itération les blocs S-functions et demande
un calcul des sorties, une mise à jour des états discrets ou un calcul des dérivées. Des routines
complémentaires assurent une initialisation et une sortie correctes des différentes tâches.
Dans le cas d'une S-function écrite en langage MATLAB (M-file) , ces appels sont gérés par le
contenu du paramètre flag dans la fonction appelante.
Pour une S-function écrite en C, les appels sont gérés différemment comme le montre le
Tableau 4.1 : ils font appels à des routines indépendantes.
Etat simulation
C Mex-file Function
M-File Flag
Initialisation
mdlInitializeSizes,
mdlInitializeSampleTimes,
mdlInitializeConditions
Flag = 0
Calcul des sorties
mdlOutputs
Flag = 3
Mise à jour
mdlUpdate
Flag = 2
Calcul des dérivées
mdlDerivates
Flag = 1
Fin de simulation
mdlTerminate
Flag = 9
Tableau 4.1 Appel des routines liées aux S-functions
4.2.3 Modèle du moteur asynchrone
A partir du modèle du moteur, une S-function, basée sur le programme 'moteur.c' (appel à
'moteur.mex' après compilation), a été développée.
L'accès à cette S-function dans un schéma SIMULINK est possible par l'utilisation d'un bloc
dédié (Figure 4.5). Ce bloc est constitué lui-même de sous-blocs contenant l'appel à la S-function
'moteur.mex', les fonctions de multiplexage et démultiplexage, et les ports correspondants [16].
Les entrées du bloc sont les suivantes : vsα , vsβ et Γr, couple résistant.
Seules les sorties Ω, Γe, isα , isβ seront utilisées dans notre application.
60
Chapitre 4 Simulation de la commande vectorielle
Phisalpha
Vsalpha
Commande Unmask sous SIMULINK
Phisbeta
Phiralpha
Phirbeta
Vsbeta
1
Phisalpha
Sous-système moteur
(Subsystem)
omega
Ce
2
Phisbeta
isalpha
Cr
3
Phiralpha
isbeta
1
Vsalpha_ref
moteur
2
Vsbeta_ref
Bloc modèle moteur asynchrone
3
Cr1
Mux
moteur
S-Function
Demux
4
Phirbeta
5
omega
6
Ce
Mux
Demux
7
isalpha
8
isbeta
Accès au passage de paramètres
Accès à la définition de la S-function
Figure 4.5 Bloc modèle moteur asynchrone
Le listage du programme 'moteur.c' est donné en Annexe D.
4.3 Structure des principaux blocs de simulation
A partir de l'étude théorique de la structure de la commande vectorielle à flux rotorique
orienté du Chapitre 2, nous pouvons élaborer les différents blocs nécessaires à une simulation du
procédé.
Le schéma d'ensemble est donné en Annexe E.
4.3.1 Bloc régulateurs et découplages
Compte tenu de la valeur limite de la norme de la tension statorique évoquée au §2.3.5.4, les
saturations sur Vsd_ref et Vsq_ref sont fixées à ± 350 V (Figure 4.6).
61
Chapitre 4 Simulation de la commande vectorielle
1
isq_mes
*
-K-
2
ws
sigma*Ls
3
Phir_est
+
+
Sum
1
femd
-KLm*Rr/Lr^2
Compensation Femd
Compensation Femd
1
Phir_ref
+
Sum
Vsd1
PID
Régulateur flux
2
Phir_est
6
ws
5
isq_mes
Vsd_ref_
+
Sum1
Saturation
1
Vsd_ref
cem_ref
To Workspace2
3
omega_ref
Ce_ref
+
PID
Sum2 Régulateur vitesse
8
omega
+
Sum3
PID
Vsq1
+
2
Régulateur couple pour Phi_ref fixé Sum4 Saturation1 Vsq_ref
4
Ce_mes
7
isd_mes
Régulateurs+décou
Compensation Femq
Régulateurs+découplage
1
isd_mes
*
-K-
3
ws
2
Phir_est
4
isq_mes
sigma*Ls
*
+
Sum
-KLm/Lr
-K-
Lm^2/Lr/Tr
Compensation Femq
Figure 4.6 Bloc Régulateur + découplages
62
1
femq
Chapitre 4 Simulation de la commande vectorielle
4.3.2 Blocs transformations (d,q)→ (α,β) et (α,β)→ (d,q)
Le modèle du moteur exprimé dans le repère (d,q) présenté §1.9.3 nous permet de construire
facilement les différents blocs de changement de repères (Figure 4.7, Figure 4.8).
Vsd_ref
Vsalpha_ref
Vsq_ref
Vsbeta _ref
theta_s
Transformation d,q->alpha,beta
1
Vsd_ref
2
Vsq_ref
3
theta_s
Mux
cos(u[1])
cos theta
sin(u[1])
sin theta
-1
f(u)
1
park -theta(d) Vsalpha_ref
f(u)
2
park -theta(q) Vsbeta_ref
Figure 4.7 Bloc transformation (d,q) → (α,β)
63
Chapitre 4 Simulation de la commande vectorielle
isalpha_mes
isd_mes_
isq_mes_
Analog Butterworth
5e ordre
theta_s
ws
Transformation alpha,beta -> d,q
avec compensation
isbeta_mes
Analog Butterworth
5e ordre1
1
isalpha_mes_filtré
2
isbeta_mes_filtré
3
theta_s
cos theta
sin(u[1])
park theta(q)
sin theta
-1.03e-003*u[1]
psi_f=f(ws)
psi_f
Mux
cos(psi_f)
1
Switch isd_mes
f(u)
rotation isd
f(u)
rotation isq
cos(u[1])
4
ws
-1
constante
isd_f
f(u)
park theta(d)
isq_f
f(u)
Mux
cos(u[1])
2
isq_mes
Switch1
Switch : si 0 -> pas de compensation
si -1 -> compensation
sin(u[1])
sin(psi_f)
Transformation alpha,beta -> d,q avec compensation du déphasage par rotation du vecteur tournant
Figure 4.8 Bloc transformation (α,β) → (d,q) et filtres sur les courants
64
Chapitre 4 Simulation de la commande vectorielle
4.3.3 Bloc calcul ωs, θs
La Figure 4.9 illustre le bloc calcul (ωs,θs). La constante présente au dénominateur de la
ˆ r = 0 , c'est-à-dire au démarrage du
fonction f(u) permet de rendre le calcul possible quand Φ
moteur.
Le bloc "Intégration modulo 2pi" est l'expression du calcul de θs proposé §2.3.3.
isq_mes
theta_s
Phir-est
ws
omega
Calcul ws,theta_s
+
Lm/tr
1
isq_mes
*
f(u)
1
theta_s
+
Integration
modulo 2pi
p
2
Phir_est
3
omega
Sum
2
ws
1
in_1
1/s
Reset
Integrator
f(u)
[0 2pi]
1
out_1
f(u)
reste
Figure 4.9 Bloc calcul ωs,θs
65
Chapitre 4 Simulation de la commande vectorielle
4.3.4 Génération des consignes
• Des filtres destinés à adoucir les commandes sont appliqués sur les générations de consigne
de vitesse et de flux. Ils seront destinés essentiellement au schéma d'implantation.
Ω ref
1
2
Φ rref
s
s
+ +1
400 10
Figure 4.10 Filtres de génération de consigne – pôles à –20
• Le flux est fixé à 0,85 Wb (ne pas dépasser 1 Wb). Il a été fixé à cette valeur pour permettre
la comparaison des résultats avec des benchmarks antérieurs.
• L'accélération en vitesse maximale applicable a été estimée par la relation suivante :
2
&
JΩ
max ≈ Γemax , avec J = 0,22 kg .m et Γemax ≈ 50 N .m
soit,
2
&
Ω
max ≈ 200 rad/s
Cette valeur définit le "Slew rate" utilisé dans les schémas Simulink.
4.3.5 Visualisation des courbes de réponse
En cours de simulation, il est possible de visualiser les courbes de réponse par l'utilisation des
blocs 'Scope'.
L'exploitation ultérieure des courbes est réalisée à l'aide des blocs "To Workspace". Ils
nécessitent, pour notre usage, le stockage du vecteur temps dans une variable Time utilisée pour
le tracé des courbes.
Un programme MATLAB permet d'afficher les différents couples de vecteurs (Figure 4.11).
66
Chapitre 4 Simulation de la commande vectorielle
Exemple de programme de visualisation sous
Matlab
w
w_mes
To Workspace1_
omega
figure(1);
subplot(2,1,1);
cem
To Workspace2_
Ce_mes
plot(time,isalpha);grid on;
isalpha_mes_
isbeta_mes_
title('isalpha');
isalpha
subplot(2,1,2);
isalpha
To Workspace3
moteur
plot(time,isbeta);grid on;
title('isbeta');
isbeta
figure(2);
isbeta
To Workspace4
axis([0 9 –200 200]);
plot(time,w_mes,'r');grid on;
title('Vitesse mesurée');
Clock
time
To Workspace
Figure 4.11 Blocs visualisation des courbes et programme MATLAB associé
4.4 Résultats de simulation
4.4.1 Aspects pratiques
Le lancement de la simulation nécessite la prise en compte des procédures suivantes :
– Mise à jour de constantes et de vecteurs ainsi que la déclaration de variables. Le listage des
programmes MATLAB correspondants ('majn' et 'Data_focn') est proposé en Annexe D.
– Définition des paramètres de simulation SIMULINK. Nous avons travaillé avec l'algorithme
d'intégration 'Runge-Kutta 5', qui donne les meilleurs résultats pour notre application.
Le pas d'itération minimal a été fixé à 1.10-4, pour une valeur maximale de 1.10-3 (Figure
4.12).
67
Chapitre 4 Simulation de la commande vectorielle
Figure 4.12 Définition des paramètres Simulink
4.4.2 Définition des profils de régulation et poursuite
• En régulation de vitesse, nous proposons le benchmark suivant (Figure 4.13a) : la vitesse de
rotation étant fixée à 150 rad/s (vitesse nominale), un couple résistant positif, puis négatif de
30 N.m est appliqué.
• En poursuite, la vitesse est amenée à 150 rad/s en 1 s, puis à –150 rad/s en 2 s. Un couple
résistant de 30 N.m est appliqué (Figure 4.13b).
Référence flux rotorique (Phir_ref)
Référence flux rotorique (Phir_ref)
1.1
1.1
1
0.9
[Wb]
[Wb]
1
0.9
0.85
0.8
0.7
0.8
0.7
0.6
0.6
0.5
0.5
0
0.5
1
1.5
[s]
2
2.5
3
Référence vitesse (omega_ref)
0
2
6
[s]
Référence vitesse (omega_ref)
4
8
200
150
[rad/s]
[rad/s]
100
100
50
-100
0
-50
0
0
05
1
15
2
25
3
-200
0
2
4
(b)
(a)
Figure 4.13 Profils de régulation de vitesse et de poursuite
68
6
8
Chapitre 4 Simulation de la commande vectorielle
4.4.3 Résultats en régulation de vitesse
Les résultats sont illustrés par les figures (4.14) et (4.15) (profil de la Figure 4.13a).
Paramètres des régulateurs :
• Flux : Kp1 = 691, Ki1 = 3036
( ζ1 = 0,4 )
• Couple : Φ rref = 0,85 , Kp2 = 0,21,
Ki2 = 36,3 (trep2 = 50 ms)
• Vitesse : Kp3 = 4,18, Ki3 = 19,8
(trep3 = 500 ms)
Figure 4.14 Résultats en régulation de vitesse (simulation)
69
Chapitre 4 Simulation de la commande vectorielle
Figure 4.15 Erreurs de régulation (simulation)
• La régulation de vitesse en simulation est correcte : le dépassement maximal est de l'ordre
de 7% et le temps de réponse ne dépasse pas 250 ms.
• La norme de tension statorique de commande reste inférieure à 300 V.
• La norme de courant statorique ne dépasse pas 30 A.
4.4.4 Résultats en poursuite
Les figures (4.16) et (4.17) illustrent les résultats en poursuite (profil de la Figure 4.13b).
• La poursuite en vitesse est satisfaisante : le dépassement maximal est de l'ordre de 3,5 % et
le temps de réponse ne dépasse pas, là encore, 250 ms.
• La valeur maximale de la norme de la tension statorique est de 300 V environ.
• La norme de courant statorique dépasse 40 A, valeur qu'il s'agira de surveiller lors de
l'implantation temps réel.
Conclusion
Les résultats de simulation valident la commande proposée et permettent d'envisager une
implantation sur le banc.
70
Chapitre 4 Simulation de la commande vectorielle
Paramètres des régulateurs :
• Flux : Kp1 = 691, Ki1 = 3036
( ζ1 = 0,4 )
• Couple : Φ rref = 0,85 , Kp2 = 0,21,
Ki2 = 36,3 (trep2 = 50 ms)
• Vitesse : Kp3 = 4,18, Ki3 = 19,8
(trep3 = 500 ms)
Figure 4.16 Résultats en poursuite (simulation)
71
Chapitre 4 Simulation de la commande vectorielle
Figure 4.17 Erreurs de poursuite (simulation)
72
Chapitre 5 Mise en œuvre sur le banc
Chapitre 5
Mise en œuvre sur le banc
5.1 Environnement MATLAB/SIMULINK/dSPACE™
5.1.1 Présentation des interfaces dSPACE
Les interfaces développées par dSPACE permettent une implantation rapide des schémas
SIMULINK sur processeur DSP TEXAS INTRUMENTS.
Le module dSPACE Real Time Interface (RTI) assure la compilation et le transfert du code
généré par Real Time Workshop (RTW) de SIMULINK dans l'environnement temps réel (Figure
5.1).
Le module COCKPIT permet de superviser l'exécution du programme implanté dans le DSP. Il
est possible de visualiser ou modifier en temps réel toutes les variables mémoire de la carte mère
DS 1002.
Le module TRACE permet d'afficher les courbes d'évolution de ces variables. Il est possible
d'exporter les fichiers de points au format binaire MATLAB pour une exploitation ultérieure.
5.1.2 Utilisation du module Real Time Interface (RTI)
Des bibliothèques de modèles d'entrées/sorties sous forme de blocs SIMULINK pour chacune
des cartes dSPACE sont fournies avec l'interface RTI [19]. Ces blocs sont donc utilisés lors de
l'adaptation du schéma de simulation à l'environnement temps réel dSPACE (Figure 5.2).
Le lancement des différentes étapes d'implantation de l'application sur DSP est accessible par
une boîte de dialogue lancée depuis le menu "Code" de SIMULINK (Figure 5.3).
Le modèle "rti.tmf" appelé par la commande Makefile permet la prise en compte de
l'environnement matériel spécifique dSPACE connecté au bus PC/AT. Il peut être considéré
comme le pilote du module RTI.
73
Chapitre 5 Mise en œuvre sur le banc
Environnement
MATLAB/SIMULINK
MATLAB
SIMULINK
Real-Time
Workshop
appli.c
Environnement dSPACE
Real-Time
Interface
appli.c pour DSP TMS320C30
Compilateur "C"
Texas Instrument
appli.obj
Module de
chargement
TRACE
variables
COCKPIT
paramètres
DSP
Figure 5.1 Développement d'une application temps réel sous MATLAB/SIMULINK/dSPACE
Figure 5.2 Bibliothèques dSPACE pour SIMULINK
74
Chapitre 5 Mise en œuvre sur le banc
Figure 5.3 Définition des options temps réel
L'appui sur le bouton "Build" a pour effet de lancer automatiquement la procédure suivante
(Figure 5.4) :
• génération du code C du modèle SIMULINK par RTW,
• lancement du M-file MATLAB make_rt qui crée un fichier appli.mk basé sur le modèle
rti.tmf,
• utilisation de ce fichier par l'application make pour appeler les modules suivants :
– le postprocesseur RTI qui modifie le code C du fichier généré par RTW pour une
implantation sur DSP,
– le compilateur/éditeur de liens TEXAS INSTRUMENTS, qui compile le modèle, la trame
temps réel dSPACE et assure l'édition de liens avec les différents fichiers-objets et bibliothèques,
générant ainsi un fichier exécutable,
– le "loader" dSPACE qui charge celui-ci sur le DSP et lance l'exécution,
– l'utilitaire de détection d'erreurs dSPACE qui contrôle le démarrage correct du fichier
exécutable.
75
Chapitre 5 Mise en œuvre sur le banc
Build
SIMULINK
D/A
A/D
RTW
RTI
Template
Makefile
make_rt
generate
generate
make
appli.c
appli.h
Application
Makefile
RTI
Simulation
Frame
DSP
Figure 5.4 Génération d'un fichier exécutable pour DSP
5.1.3 Module de contrôle COCKPIT
Le module COCKPIT utilise des fichiers générés par RTI et par le compilateur TEXAS
INSTRUMENTS (Figure 5.5).
Le fichier "appli.trc" est de type ASCII et contient la description des variables globales
utilisées par le programme implanté dans le DSP.
Le fichier "appli.map" contient des informations sur l'emplacement mémoire des variables du
DSP. Ces deux fichiers sont interprétés ensemble par COCKPIT.
Le fichier "appli.ccs" (Cockpit Control Script) est généré par COCKPIT en mode édition. Il
contient la description du "tableau de contrôle" élaboré par l'utilisateur. La création d'un tel
tableau est facilitée par la mise à disposition "d'instruments" de base tels que des boutons, des
afficheurs, des potentiomètres, etc. (Figure 5.6). Il suffit ensuite d'associer à ces instruments des
variables issues du fichier "appli.trc", elles-mêmes créées par le schéma SIMULINK (Figure 5.7).
76
Chapitre 5 Mise en œuvre sur le banc
Real Time Interface
(RTI)
appli.c
fichiers liés par références
croisées
Compilateur/Editeur de liens TI
appli.obj
appli.map
appli.ccs
appli.trc
dSPACE Loader
DSP
COCKPIT
appli.err
Figure 5.5 Fichiers utilisés par COCKPIT
Figure 5.6 Liste des instruments disponibles
77
Chapitre 5 Mise en œuvre sur le banc
Figure 5.7 Définition des instruments – association aux variables DSP
5.1.4 Module d'affichage TRACE
Le module TRACE utilise les même fichiers que le module COCKPIT (Figure 5.5). Un fichier
"appli.tmd" permet de mémoriser un masque d'affichage par défaut.
TRACE offre les fonctionnalités particulières suivantes [20] :
•
•
•
•
balayage libre ou mode trigger,
sous-échantillonnage des variables,
stockage et rappel des données anciennes pour comparaison avec données temps réel,
exportation des données au format binaire MATLAB (".mat") ou ASCII.
Nous utiliserons TRACE pour le suivi temps réel et l'exportation des données au format
MATLAB.
78
Chapitre 5 Mise en œuvre sur le banc
5.2 Adaptation du schéma de simulation
5.2.1 Intégrateurs
Les intégrateurs utilisés dans les régulateurs doivent impérativement pouvoir être désactivés.
Dans le cas contraire, ils saturent dès le lancement de l'application sur DSP.
Les blocs PID utilisent donc des intégrateurs initialisables continus ("Reset Integrator"), dont
l'entrée de commande sera pilotable sous COCKPIT (Figure 5.8).
P
Kp
I
1
In
Ki
D
Kd
2
reset
+
+
+
Sum
1/s
Reset
Integrator
1
Out
du/dt
Derivative
0
00
Figure 5.8 Utilisation des intégrateurs initialisables
L'utilisation, le cas échéant, de régulateurs numériques, impose l'utilisation d'un intégrateur
discret faisant appel à la S-function "intc.c". Cette routine est basée sur la discrétisation de type
bilinéaire (ou méthode de Tustin), correspondant à une approximation trapézoïdale de
l'intégration.
La transformation est donnée par :
s=
2 (1 − z −1 )
Tech (1 + z −1 )
5.2.2 Limitation des consignes de commande
Les commandes Vsd ref et Vsqref ne doivent pas dépasser les valeurs limites admissibles
(± 380 V).
Des blocs "saturation" sont donc insérés systématiquement dans les schémas.
79
Chapitre 5 Mise en œuvre sur le banc
5.2.3 Estimation du couple électromagnétique
Nous estimons le couple électromagnétique Γe par la relation suivante (bloc "Estimateur
Cem") :
L ˆ
Γˆ e = p m Φ
r isq
Lr
Une image du couple électromagnétique peut également être donnée par les mesures de force
électromotrices induites dans les phases du stator instrumentées sur le banc du L.A.G. (Annexe
B).
5.2.4 Ajustement des compensations
5.2.4.1 Compensation de fem.
Nous avons évoqué les problèmes posés par le découplage au §2.2.3. Un gain ajustable au
schéma SIMULINK, accessible sous COCKPIT, a donc été ajouté aux fonctions de transfert
compensatrices "femd" et "femq" afin d'ajuster celles-ci au procédé réel.
5.2.4.2 Compensation de déphasage
La compensation sur le déphasage de θs a été traitée au §3.4.2. Un gain permettant d'ajuster
l'angle de rotation a été ajouté dans les mêmes conditions que précédemment.
5.2.5 Interfaces dSPACE
Les blocs Real Time Interface (RTI) pour SIMULINK sont insérés à la place du modèle du
moteur.
5.2.5.1 Commande de la machine asynchrone
Le bloc "mise à niveau" (Figure 5.9) permet de transformer la commande Vsα , Vsβ afin :
– d'adapter les tensions à la partie puissance du banc,
– de délivrer les consignes au PBM1/89 en coordonnées polaires [24].
norm(Vsabc)
Vsalphabeta_ref
phi
Transformation d,q->alpha,beta
mise a
niveau
PWM
1
norm(Vsabc)
2
phi
Figure 5.9 Commande de la carte ALCT01
80
Mux
pwmfunc
S-Function
Mux
Chapitre 5 Mise en œuvre sur le banc
Les équations de transformation sont les suivantes :
Vabc =
et
2
3K T
Vs2α + Vs2β
220 2
, KT =
ϕ = − Arctg
2
(cf. équation (1.2)
3
Vsα
+π
Vsβ
Le bloc "PWM" fait appel à la S-function "pwmfunc.c" permettant l'accès à la carte ALCT01.
Figure 5.10 Passage de paramètres au bloc dSPACE PWM
5.2.5.2 Commande de la charge (machine à courant continu)
La commande en couple (donc en courant) du moteur à courant continu est réalisée par
l'intermédiaire du bloc "Sorties analogiques", qui accède à la carte CNA DS2101 (Figure 5.11).
Un gain permet de normaliser les grandeurs.
2
Commande MCC en N.m
DAC
Board
1/81
S
OutPlug3
GA3
DS2101_#1
Figure 5.11 Commande de la charge (moteur à courant continu)
81
Chapitre 5 Mise en œuvre sur le banc
5.2.5.3 Mesures
Les différentes mesures sont accessibles par le bloc "Carte de mesures". Il permet l'acquisition
des différentes voies de la carte CAN DS2002 et de la carte codeur incrémental DS3001
( Figure 5.12).
-K1
vsabc
Mux
-K-
VSa
VSb
-K-
2
isabc
Mux
4
PHI
Mux
ISa
ISc
-KVSc
-K-
M
Mux-ADC
Board
ISb
phi sa
M
-K-K-
phi_sb
DS2002_#1
phi_sc
-10*50/2.5
COUPLE
mécanique
+
+
Sum
-662
Demultiplexeur
-0.5329
Constant offset
cem
3
vitesse
0.0464z+0.0464
5270.718
z-0.907
OMEGA
derivateur
S
enc
enc_to_fract
DS3001ENC_#1
Figure 5.12 Bloc "carte mesures"
Pour une acquisition dans la gamme [-10 V, +10 V] de la carte DS2002, les gains appliqués
sont les suivants :
– sur les mesures de tensions Vsa, Vsb, Vsc : 10x220/4,75
– sur les courants : 10x16/1,4
– sur les flux : 10/4,43
– sur le couple mécanique : -10x50/2,5
– sur le couple électromagnétique : -662x(CemDS2002-0,5329)
Un filtre passe-bas du 1er ordre, de fréquence de coupure 100 rad/s est appliqué après le
dérivateur de la mesure de vitesse.
5.2.5.4 Transformation (a,b,c)→(α,β)
Les blocs "abc2alphabeta" sont utilisés pour les mesures de tensions, de courant et de flux.
La transformation est basée sur l'équation matricielle (1.1).
82
Chapitre 5 Mise en œuvre sur le banc
Nous avons donc :

1
1 

 xα = KT  xa − 2 xb − 2 xc 


2

avec K T =

3
3
3 
 x = K 
xb −
xc 
β
T

2
2



5.3 Résultats expérimentaux
5.3.1 Aspects pratiques
5.3.1.1 Compilation et chargement
Les fichier suivants doivent obligatoirement être présents avant compilation :
– pwm4201.c,
– pwmfunc.c,
– pwmusr.c,
– srtframe.c,
– timer1.c,
– srtframe.c,
– intc.c
– les fichiers de déclaration de variables ("Datafocn.m" et "majn.m" dans le cadre de ce
travail)
Le répertoire courant doit également contenir un fichier C de déclarations appelé "appli.usr",
"appli" représentant le nom du schéma de travail SIMULINK (Figure 5.13).
Figure 5.13 Fichier "appli.usr" de déclarations
83
Chapitre 5 Mise en œuvre sur le banc
La fenêtre de paramétrage des options temps réel doit contenir les paramètres suivants (Figure
5.3) :
– "Algorithm" : Euler. La méthode Runge-Kutta n'est pas exploitable en temps réel car le
code généré entraîne un temps de calcul trop long (total >800 µs),
– "Step size" : 0,9728 ms. Cette valeur représente la période réelle de la MLI.
– "Template Makefile" : rti30.tmf
– "Target Makefile" : $model.mk
– "Build Command" : make_rt
5.3.1.2 Mise en route du banc
La procédure suivante doit impérativement être respectée lors de la mise en route :
Sur le pupitre de commande
– Activer "ALIMENTATIONS PLATINES".
– Activer "MOTEUR ASYNCHRONE".
– ORDRE DE MARCHE MOTEUR ASYNCHRONE en position I.
– Activer "MOTEUR COURANT CONTINU".
– ORDRE DE MARCHE MOTEUR COURANT CONTINU en position I.
Sous COCKPIT
– Lancer l'exécution du programme DSP à flux réduit (0,1 Wb).
Sur le pupitre de commande
– Activer "LIAISON PAR FIBRES OPTIQUES".
Sous COCKPIT
– Augmenter le flux jusqu'à la valeur nominale (0,85 Wb dans le cadre de notre travail).
– Activer les intégrateurs.
Contrôle du temps d'exécution de la tâche temps réel
Le temps d'exécution du programme sur le DSP est inférieur à 600 µs.
84
Chapitre 5 Mise en œuvre sur le banc
5.3.2 Résultats en régulation de vitesse
Les résultats en régulation sont illustrés par les figures (5.14) et (5.15).
Figure 5.14 Résultats en régulation de vitesse (procédé réel)
85
Chapitre 5 Mise en œuvre sur le banc
Paramètres des régulateurs :
• Flux : Kp1 = 691, Ki1 = 3036
( ζ1 = 0,4 )
• Couple : Φ rref = 0,85 , Kp2 =
0,35, Ki2 = 60,6 (trep2 = 30 ms)
• Vitesse : Kp3 = 5,2, Ki3 = 31
(trep3 = 400 ms)
Figure 5.15 Erreurs de régulation (procédé réel)
• Ces résultats ont été obtenus :
– en sous-compensant les fem de découplage de 30 % (cf. §2.2.3),
– en sur-compensant le déphasage dû aux filtres de 40 % lors du changement de repère
(α,β)→(d,q).
Ces deux compensations ont pour effet de corriger les erreurs de modélisation, en particulier
sur la constante de temps rotorique Tr, qui entraîne une erreur d'orientation du référentiel
tournant (d,q). Toutefois, cette constante évolue en cours de fonctionnement de la machine et un
observateur permettrait d'effectuer un meilleur contrôle à la fois du découplage, et de l'erreur
d'orientation du repère (d,q).
• Le contrôle de la vitesse est satisfaisant, l'utilisation d'un codeur permettant de rattraper les
erreurs sur les boucles de régulation internes.
• La boucle de flux permet de limiter l'erreur sur celui-ci, qui reste inférieure à 0,1 Wb.
5.3.3 Résultats en poursuite
Les figures (5.16) et (5.17) illustrent les résultats en poursuite de la machine.
Les compensations sont identiques à celles du fonctionnement en régulation (cf. §5.3.2).
86
Chapitre 5 Mise en œuvre sur le banc
Figure 5.16 Résultats en poursuite (procédé réel)
87
Chapitre 5 Mise en œuvre sur le banc
Paramètres des régulateurs :
• Flux : Kp1 = 546, Ki1 = 2400
( ζ1 = 0,45 )
• Couple : Φ rref = 0,85 , Kp2 =
0,35, Ki2 = 60,6 (trep2 = 30 ms)
• Vitesse : Kp3 = 5,2, Ki3 = 31
(trep3 = 400 ms)
Figure 5.17 Erreurs de poursuite (procédé réel)
• Le contrôle de la vitesse est là encore satisfaisant.
• La tension statorique reste inférieure à 350 V, valeur qu'il convient de ne pas approcher, au
risque de provoquer un début de saturation de l'onduleur.
• L'erreur sur le flux ne dépasse pas 0,1 Wb, ce qui est correct pour une commande sans
estimateur en boucle fermée.
88
Conclusion
Conclusion
Il était important d'élaborer dans le cadre du fonctionnement de la plate-forme un document
de synthèse illustrant les différentes étapes d'implantation d'une commande temps réel.
L'objectif est atteint.
Les problèmes inhérents à toute adaptation d'une commande simulée sur un procédé réel, et
particulièrement sur un banc de ce type, ont été abordés : retards, asynchronismes, déphasages,
saturations, variation des paramètres du modèle. L'accroissement de la complexité des
algorithmes, et donc l'allongement des temps de calcul, peut rendre difficile leur implantation.
Dans ce cadre, une modification de la carte de pilotage MLI a été proposée.
Les limites, prévisibles, de la commande vectorielle à flux orienté avec estimateur en boucle
ouverte sont clairement établies : un certain nombre de grandeurs sont mal maîtrisées (tension et
courant statorique). L'étude a d'autre part été réalisée dans l'hypothèse d'une dynamique de
& ≈ 0 ) afin de travailler sur des équations d'état linéaires.
vitesse lente ( Ω
Les recherches actuelles portent sur l'élaboration d'observateurs plus performants, afin de
maîtriser correctement les états du système. La suppression du capteur de vitesse reste un
objectif pour les industriels. Les commandes discrètes de type D.T.C. (Direct Torque Control)
sont à l'étude et offrent des perspectives très attractives en termes de performances dynamiques.
Sur un plan pédagogique, il est envisagé de proposer des travaux pratiques sur la plate-forme
dans le cadre de la formation d'ingénieurs. Le projet est intéressant : pour l'automaticien, qui est
ainsi amené à travailler sur un procédé particulièrement difficile à piloter, et pour l'élèveingénieur qui doit apprendre à extraire d'une théorie les éléments pertinents et applicables dans
l'état de la technologie à un instant donné.
89
Annexe A Variateurs de vitesse et contrôleurs
Annexe A
Variateurs de vitesse et contrôleurs
A.1 Variateur machine asynchrone : l'onduleur de puissance JIS 35
(Jeumont-Schneider)
Le principe de fonctionnement, très classique, est le suivant :
– Un pont de diodes transforme la tension alternative triphasée du réseau en une tension
continue filtrée par des condensateurs.
– Alimenté par cette tension continue, le pont onduleur à transistors génère un système
triphasé de tensions alternatives d'amplitude et de fréquence variables.
La tension de sortie est constituée d'impulsions de largeur variable et leur nombre varie en
fonction de la fréquence. La loi de modulation de la largeur des impulsions est telle que l'onde de
courant résultante a une forme proche de celle d'une sinusoïde.
La technique de modulation choisie permet la neutralisation des premiers harmoniques ainsi
que le réglage en amplitude et en fréquence de la tension fondamentale de sortie de l'onduleur.
A.1.1 Schéma fonctionnel
La figure A.1 donne une représentation schématique du variateur JIS35 et de ses sousensembles.
91
Annexe A Variateurs de vitesse et contrôleurs
Précharge
effectuée
PLRGPO 91/02
Ref.
Freq.
Circuits de contrôle et de
surveillance
SQUAL 21
CFP 71
Commande U/F = cste
Autorisation de fonctionnement
6 Impulsions PWM
Contrôle
Capa.
Contrôle
réseau
(Branchement
manuel)
HFBR 2531
TI
ITPL 251
Commande de l'onduleur
LT
100-P
Pont à transistors de puissance
Filtrage
réseau
380 V
Pont
redresseur
F1
380 V
F2
Précharge
-
+
8
7
56 kž
LV
25-P
IR
4
5
6
Masy.
UR
Figure A.1 Schéma fonctionnel de l'onduleur JIS35
A.1.2 Liste des sous-ensembles technologiques
Précharge, Redressement, Filtrage, Pont onduleur
Ce sous-ensemble est constitué de boîtiers moulés (ponts de diodes et Darlington de
puissance), de deux résistances de précharge, de condensateurs électrolytiques de filtrage avec
leurs résistances d'équilibrage, d'un transformateur d'alimentation pour les autres sous-ensembles
du JIS 35.
92
Annexe A Variateurs de vitesse et contrôleurs
Carte SQAL 21/02 - Séquence, alimentation
Ce circuit comprend l'électronique de séquence, l'isolement du retour tension, le capteur de
courant et l'ensemble des alimentations des circuits électroniques.
Carte ITPL 251 - Commande des interrupteurs de puissance
Cet ensemble, comportant six cartes identiques, réalise l'isolement entre la régulation et la
puissance ainsi que la commande des transistors de puissance.
Carte PLRGPO 91/02 - Régulation et protection
Ce circuit comprend l'électronique de régulation et de contrôle des paramètres électriques et
fournit la commande des interrupteurs de puissance ; il supporte également la carte de
personnalisation CFP 71 enfichable.
Carte CFP 71 - Personnalisation
Ce circuit regroupe notamment les potentiomètres de réglages propres au moteur.
A.1.3 Fonctionnement
L'onduleur se compose de six interrupteurs (Darlington de puissance) commandés par la carte
ITPL 251. Chaque interrupteur possède ses propres alimentations électroniques obtenues à partir
d'un transformateur monophasé.
Les commandes sont isolées de la partie puissance par des photocoupleurs. Les interrupteurs
sont protégés en surintensité et en surtension ; la surintensité dans un interrupteur est mémorisée
sur la carte PLRGPO 91/02. De plus ce défaut est signalé par une diode électroluminescente rouge
et peut être acquitté par l'effacement défaut.
Modulation de largeur d'impulsion
Les trois courants d'alimentation du moteur sont obtenus par la technique dite de modulation
de largeur d'impulsion (MLI) qui permet notamment d'obtenir par intégration dans les bobinages
du moteur, un système triphasé d'ondes sinusoïdales dépourvues d'harmoniques de rangs faibles.
Les ordres de modulation sont générés par un circuit intégré spécifique. A partir de la tension
continue issue du redresseur et filtrée par les condensateurs, les interrupteurs créent trois tensions
hachées, déphasées de 120° l'une par rapport aux autres.
Les interrupteurs d'un même bras ont leurs commandes décalées d'un temps mort de 25 µs.
Les commandes sont telles que la valeur efficace de la tension de sortie du convertisseur croît
linéairement avec la fréquence de fonctionnement.
93
Annexe A Variateurs de vitesse et contrôleurs
Précharge des condensateurs de puissance
Dès la mise sous tension, les condensateurs de filtrage sont chargés à travers deux résistances
et un pont redresseur monophasé. Lorsque la tension des condensateurs atteint 80 % de la tension
nominale, la fermeture d'un contact libre de potentiel permet la montée du contacteur de tête. Un
contrôle de la tension redressée autorise alors le déblocage du variateur. En cas de décharge
supérieure à un niveau prédéterminé, ou lors de l'absence d'une phase du réseau, le même
contrôle bloque le variateur jusqu'au retour des conditions normales.
A.1.4 Régulation interne (U/f)
Le régulateur inclut une régulation de tension ; elle agit uniquement en protection lorsque le
variateur fonctionne en ralentissement et que la tension du condensateur de filtrage atteint une
valeur supérieure à un seuil prédéterminé : son action est de s'opposer à la variation de fréquence
qui a créé l'élévation de tension.
Le signal de référence vitesse est une tension 0, +10 V ; afin d'assurer une montée en vitesse
et un ralentissement progressifs, ce signal est appliqué à un circuit "rampe" à taux fixe de 5
secondes.
A.1.5 Protection et séquences
Protections
Cinq protections intégrées signalées par des diodes électroluminescentes rouges provoquent le
blocage immédiat du variateur. Il s'agit de se prémunir contre les défauts suivants :
– défaut ventilation,
– surintensité onduleur : indique une surintensité au niveau de l'un des interrupteurs de
puissance,
– surintensité redresseur,
– thermique moteur,
– défaut réseau : surveillance de la charge des condensateurs de filtrage et d'un contrôle de la
présence du réseau de puissance.
Séquences
Une commande à distance permet, en absence de défaut sur le variateur, de débloquer les
impulsions de commande après une temporisation ; le déblocage est signalé par une diode
électroluminescente verte.
Une inversion électronique du sens de rotation est possible par une commande logique
extérieure ; l'équipement ralentit suivant la rampe et l'inversion du sens de rotation se fait à
vitesse faible.
94
Annexe A Variateurs de vitesse et contrôleurs
A.2 Variateur machine à courant continu : le Jistor triphasé
VM011 (Jeumont-Schneider)
Ce variateur de vitesse est un équipement réversible conçu pour résoudre les problèmes
d'entraînement d'axes à l'aide de moteurs à courant continu spécialement dans le domaine de la
machine-outil ; en effet sa bande passante peut atteindre 25 Hz.
A.2.1 Raccordement de puissance
Le convertisseur est constitué de deux ponts triphasés alimentés par l'intermédiaire d'un
transformateur à un secondaire (Figure A.2).
L
L
M.C.C.
V1 V2 V3
I
Figure A.2 Schéma de puissance du Jistor VM011
Les deux inductances L permettent de découpler les deux ponts.
Pour de fortes variations de l'angle d'amorçage, seul un des deux ponts conduit et nous
retrouvons le fonctionnement classique en onduleur ou en redresseur.
A.2.2 Liste des sous-ensembles technologiques
Le Jistor est constitué de deux sous-ensembles : outre la partie puissance composée de deux
ponts triphasés à thyristors à ventilation naturelle décrits ci-dessus ; la partie contrôle et
régulation est assurée par deux cartes dédiées :
95
Annexe A Variateurs de vitesse et contrôleurs
• la carte XASQ 31 pour la commande des thyristors réalisée à l'aide d'amplificateurs
opérationnels et de circuits logiques à haute immunité,
• la carte RGAL 31 pour la régulation du type cascade, les fonctions de limitation de courant,
sécurités de défaut réseau et de surintensité.
A.3 Contrôle de l'inducteur de la machine à courant continu : le
Babytrex SMO (Jeumont-Schneider)
Le contrôleur Babytrex SMO est un régulateur de courant inducteur et de force contreélectromotrice induite d'une machine à courant continu. Il permet d'assurer la désexcitation de ce
type de moteur avec contrôle de la fcem.
Il est muni d'un pont complet monophasé et d'une partie électronique assurant la commande
des thyristors, la protection du redresseur ainsi que le contrôle par régulation du courant
inducteur et de la fcem induite.
Les différents éléments constituant ce contrôleur sont :
• la carte PLTJP 20, pont complet monophasé,
• la carte PLRGXA 6, qui comporte un circuit de contrôle isolé par rapport au circuit de
puissance. Il assure les fonctions suivantes :
– amorçage des thyristors par trains d'impulsions 25 kHz garantissant la mise en
conduction des thyristors sur charge selfique,
– asservissement du fonctionnement du Babytrex à la présence réseau : déblocage
temporisé à l'apparition du réseau,
– élaboration du retour courant inducteur à partir du transformateur d'intensité et
protection de l'installation contre le manque de champ : relais désexcité sur défaut,
– atténuation de la tension induit pour élaborer le retour fcem non isolé par rapport à
l'alimentation alternative de l'induit,
– régulation dite "parallèle" du courant inducteur et de la fcem induite.
96
Annexe B Environnement de mesures
Annexe B
Environnement de mesures
B.1 Interface d'isolement puissance/système de contrôle-commande
Les équipements de puissance et de contrôle-commande sont isolés galvaniquement.
Les filtres anti-repliement ("F" sur le schéma ci-dessous, Figure B.1) possèdent deux
fréquences de coupure (500 Hz et 1 kHz) , sélectables par straps sur la carte filtres.
DT
Γe
Φsa
Φsb
Φsc
Ref Ref.
N/ Γ freq.
Mcc Masy
Γm
Pha C O AV/AR
Phb
Masy
Index
Isa
Isb
Vsa
Vsb
Vsc
Ur
Ir
Iex
Ia
Ua
±15v
iso.
5v
220 v~
F
5v
F
F
5v
±15v
6 impulsions
vers ITPL 251
dSPACE
CPU
DS1002
DA
AD
CO
TOR
DS 2101
DS 2002
DS 3001
DS 4001
- Gestion des
impulsions
- Sécurités
Figure B.1 Interface puissance / contrôle-commande
97
ALCATEL
PWM board
Annexe B Environnement de mesures
B.2 Mesure des courants et des tensions
Ces capteurs sont conçus pour la mesure électronique des courants (AC, DC, IMP.).
Ils reposent sur le principe de la compensation du champ magnétique : le champ magnétique
généré par le courant à mesurer est compensé par un champ crée par le bobinage secondaire,
incorporant une sonde à effet Hall, associé à un circuit électronique de compensation : le courant
de mesure est l'image du courant primaire réduit par le nombre de spires du bobinage secondaire.
Pour mesurer une tension, il faut prélever un courant proportionnel à la tension à mesurer :
pour ce faire on insère en série dans le primaire du capteur une résistance dimensionnée de
manière à ce que la tension nominale à mesurer corresponde à un courant primaire de 10 mA
(par exemple Un = 380 V, R = 38 kΩ).
Pour le banc expérimental, on a utilisé pour la mesure des courants et des tensions des
capteurs de la société LEM :
Machine asynchrone :
– Isb, Isc : module LEM LT 100P.
– Usa, Usb, Usc : module LEM LV 25 P.
Variateur JIS 35 :
– Ir : module LEM LT 100 P.
– Ur : module LEM 25 P.
Génératrice à courant continu :
– Ia : module LEM LT 100 P.
– Ua : module LEM 25 P.
– Iexc. : module LEM 25 NP-09.
98
Annexe B Environnement de mesures
B.3 Mesure de vitesse et de position
Mesure de position moteur asynchrone :
La position de l'axe moteur est mesurée à l'aide d'un codeur optique.
Le principe est le suivant : on compte le nombre d'impulsions à partir d'une position de
référence sachant qu'entre chaque impulsion existe un écart angulaire de 2π/n rad, n étant le
nombre de pistes codeur).
Le codeur IDEACOD de la série GHM5 a été retenu. Sa résolution est de R = 2500 pts/tr ; l'étage
de sortie est un driver RS 422 ; la bande passante de 100 kHz est suffisante pour les essais en
survitesse (fmax = 1/60*Nmax*R ≈ 84 kHz).
Mesure de la vitesse machine à courant continu :
La charge constituée par la machine à courant continu possède un asservissement local de
vitesse ; celle-ci est mesurée par une génératrice à courant continu, type REO 444 R (RadioEnergie).
Elle comporte un inducteur statorique à aimants permanents et un induit rotorique composé
d'un circuit magnétique en tôles de qualité avec un grand nombre d'encoches et d'un collecteur
très divisé.
Sa constante de vitesse est de Cv = 0,06 V/tr/min ; il sera donc nécessaire de conditionner le
signal vitesse en tenant compte de la possibilité d'effectuer des essais en survitesse à 2000 tr/min
soit une fem de 120 V aux bornes de la dynamo tachymétrique.
B.3 Mesure du couple mécanique (capteur Staiger Mohilo)
Il s'agit d'un système de mesure à fréquence porteuse de la famille IC 3000 de la société
Staiger Mohilo. Le schéma de principe est le suivant (Figure B.2) :
Capteur de couple
Amplificateur de mesure
~
_
Redresseur
Osc.
Amplificateur
de sortie
Figure B.2 Capteur de couple mécanique
99
Annexe B Environnement de mesures
Il est conçu pour des mesures rapides et possède un dispositif interne de contrôle de bon
fonctionnement.
Il comporte deux coffrets rackables (19 ") :
– le générateur d'onde porteuse IC 3002,
– le système de mesure de vitesse NC 2000.
Le signal issu du couplemètre présente à la mise sous tension du variateur JIS 35 et du
variateur JVMO11 deux fréquences "parasites" centrées respectivement sur 116 Hz et 150 Hz.
– la première est d’origine électronique,
– la seconde est due au variateur utilisé sur la machine à courant continu - de type "à
circulation de courant" - prévu à l’origine pour la commande des machines-outils.
Afin d’obtenir un signal visuellement correct, deux filtres réjecteurs de fréquence ont été
insérés en sortie du couplemètre, qui déphasent fortement le signal (plus d’une période
d’échantillonnage).
Pour le moment, le signal du couplemètre n'est utilisé que pour la comparaison avec des
signaux calculés. Par contre, si ce signal intervient comme mesure dans la boucle de commande,
il sera nécessaire d’utiliser des techniques adaptatives ou de traitement du signal si ce signal
intervient comme mesure dans la boucle de commande.
B.4 Mesure du couple électromagnétique
Le couple électromagnétique des machines asynchrones peut être exprimé par différentes
expressions combinant les flux et les courants statoriques et rotoriques.
L'une d'elles est donnée par :
Γe = 3(Φ s 2 × is1 − Φ s1 × is 2 )
où Φ s1 et Φ s 2 sont les flux sous un pôle pour les enroulements 1 et 2 du stator, is1 et is 2 les
courants dans ces mêmes enroulements.
Flux et courants doivent donc être mesurés.
Mesure des flux :
Des spires ont été placées sous un pôle de chaque phase concernée [14]. Si Ns est le nombre
de spires par pôle et par phase, le flux traversant ces spires a pour expression :
φ=
Φ
, avec Ns= 243 spires pour notre moteur
Ns
100
Annexe B Environnement de mesures
Les fem induites dans ces spires sont relevées par des amplificateurs d'instrumentation.
Calcul de la fem induite :
Chaque enroulement est soumis à une tension de 380 V, ce qui donne pour la fem induite :
e=
380
= 1,56 V , soit Emax = 2,2 V
243
Le flux est ensuite calculé à l'aide d'un intégrateur à amplificateur opérationnel. Le circuit AD
549 de la société Analog Devices a été choisi pour son courant de polarisation et sa tension
d'offset d'entrée faibles.
Avec R = 10 kΩ, C = 100 nF, nous avons, en sortie, à 50 Hz :
1
1
Emax ×
≈ 7,07 V
RC
2πf
Des filtres passe-hauts placés en sortie des intégrateurs éliminent d'éventuelles composantes
continues.
Mesure des intensités :
Pour assurer une isolation galvanique entre le moteur et l'électronique de traitement d'une part
et bénéficier d'une bande passante suffisante d'autre part, des capteurs de courant à effet Hall ont
été choisis.
Le modèle Transtronic EH/EV 50 de la société ABB permet de mesurer les intensités de
démarrage (Id/In = 7, avec In = 16,7 A).
Le courant de mesure est transformé en tension par une résistance de 10 Ω amplifiée 10 fois.
Calcul analogique du couple électromagnétique :
Les produits flux – intensités sont réalisés par des multiplieurs analogiques (AD 532JH de la
société Analog Devices). La sortie d'un amplificateur monté en soustracteur donne l'image du
couple électromagnétique. Pour la transmission, cette tension est transformée en courant 4/20
mA.
101
Annexe C Adaptation carte Alcatel ALCT01
Annexe C
Adaptation carte Alcatel ALCT01
Figure C.1 Schéma électronique carte adaptation carte Alcatel ALCT01
103
Annexe D Fichiers C et MATLAB
Annexe D
Fichiers C et MATLAB
D.1 Modèle du moteur asynchrone "moteur.c"
/************************
Definition de la S-function
**************************/
#define S_FUNCTION_NAME moteur
/************************
#ifdef
Librairies
**************************/
MATLAB_MEX_FILE
#include "mex.h"
#endif
#include "simstruc.h"
#include "math.h"
#include <stdlib.h>
#include "stdio.h"
/********************
#define PARAM
Passage des arguments
ssGetArg(S,0)
#define X0 ssGetArg(S,1)
#define Ls
ssGetRWorkValue(S,0)
#define Lr
ssGetRWorkValue(S,1)
#define Lm ssGetRWorkValue(S,2)
#define Rs ssGetRWorkValue(S,3)
#define Rr
ssGetRWorkValue(S,4)
#define p
ssGetRWorkValue(S,5)
#define J
ssGetRWorkValue(S,6)
#define f
ssGetRWorkValue(S,7)
#define alpha
ssGetRWorkValue(S,8)
105
**************************/
Annexe D Fichiers C et MATLAB
#define beta
#define k
ssGetRWorkValue(S,9)
ssGetRWorkValue(S,10)
#define sigma
ssGetRWorkValue(S,11)
/*******************
flag=0 initialisation
**************************/
static void mdlInitializeSizes(S)
SimStruct *S;
{
if (ssGetNumArgs(S)==2) {
ssSetNumContStates(
S, 5);
/* number of continuous states */
ssSetNumDiscStates(
S, 0);
/* number of discrete states */
ssSetNumInputs(
S, 3);
ssSetNumOutputs(
/* number of inputs */
S, 8);
/* number of outputs */
ssSetDirectFeedThrough(S, 0);
/* direct feedthrough flag */
ssSetNumSampleTimes( S, 1);
/* number of sample times */
ssSetNumInputArgs(
S, 2);
/* number of input arguments */
ssSetNumRWork(
S, 12);
/* number of real work vector elements */
ssSetNumIWork(
S, 0);
ssSetNumPWork(
S, 0);
/* number of integer work vector elements */
/* number of pointer work vector elements */
}
}
/*******************
Initialisation des periodes d'echantillonage
**************************/
static void mdlInitializeSampleTimes(S)
SimStruct *S;
{
ssSetSampleTimeEvent (S, 0, 0.00);
ssSetOffsetTimeEvent (S, 0, 0.0);
}
/*******************
Conditions initiales sur l'etat
static void mdlInitializeConditions(x0, S)
double *x0;
SimStruct *S;
{
double *paramptr=mxGetPr(PARAM);
double *x0ptr
=mxGetPr(X0);;
double *RWork =ssGetRWork(S);
int i, nstates;
106
**************************/
Annexe D Fichiers C et MATLAB
nstates = ssGetNumContStates(S);
{
for (i = 0; i < nstates; i++)
*x0++ = *x0ptr++;
RWork[0]=paramptr[0];
/*
ls
*/
RWork[1]=paramptr[1];
/*
lr
*/
RWork[2]=paramptr[2];
/*
lm
*/
RWork[3]=paramptr[3];
/*
rs
*/
RWork[4]=paramptr[4];
/*
rr
*/
RWork[5]=paramptr[5];
/*
p
*/
RWork[6]=paramptr[6];
/*
J
*/
RWork[7]=paramptr[7];
/*
f
*/
RWork[11]=1-((Lm*Lm)/(Ls*Lr));
/*
sigma */
RWork[8]=Rs/(sigma*Ls);
/*
alpha
*/
RWork[9]=Rr/(sigma*Lr);
/*
beta
*/
RWork[10]=Lm/(sigma*Ls*Lr); /*
k
*/
};
}
/*******************
Calcul des sorties
**************************/
static void mdlOutputs(y, x, u, S, tid)
double *y, *x, *u;
SimStruct *S;
int tid;
{
y[0]=x[0];
y[1]=x[1];
y[2]=x[2];
y[3]=x[3];
y[4]=x[4];
y[5]=p*k*(x[2]*x[1]-x[3]*x[0]);
y[6]=(x[0]-x[2]*Lm/Lr)/sigma/Ls;
y[7]=(x[1]-x[3]*Lm/Lr)/sigma/Ls;
}
/*******************
Mise a jour de l etat
**************************/
static void mdlUpdate(x, u, S, tid)
double *x, *u;
SimStruct *S;
int tid;
{
107
Annexe D Fichiers C et MATLAB
}
/*******************
Derivee de l etat
**************************/
static void mdlDerivatives(dx, x, u, S, tid)
double *dx, *x, *u;
SimStruct *S;
int tid;
{
dx[0]= -alpha*x[0] + k*Rs*x[2] + u[0];
dx[1]= -alpha*x[1] + k*Rs*x[3] + u[1];
dx[2]= k*Rr*x[0] - beta*x[2] - p*x[4]*x[3];
dx[3] = k*Rr*x[1] + p*x[4]*x[2] - beta*x[3];
dx[4] = (p*k*(-x[0]*x[3]+x[1]*x[2]) - u[2]-f*x[4])/J;
}
static void mdlTerminate(S)
SimStruct *S;
{
}
#ifdef
MATLAB_MEX_FILE
#include "simulink.c"
/* Is this file being compiled as a MEX-file? */
/* MEX-file interface mechanism */
#else
#include "cg_sfun.h"
/* Code generation registration function */
#endif
D.2 Définition des paramètres moteur "Majn.m" et "Datafocn.m"
Listage "Majn.n" :
clear all
phir_ref=0.85
disp('Chargement des nouveaux paramètres moteur')
datafocn;
T=0.5; % Coefficient profil consignes vitesse et couple
Listage "Datafocn.m" :
lmax=100000; % Nombre maximal des lignes du vecteur de sortie des blocs "To
Workspace"
lmaxk=lmax;
108
Annexe D Fichiers C et MATLAB
%==================================================
%PARAMETRES GLOBAUX
global Rr Rs Lr Ls Lm J f p
global gamm sigma alpha beta k tr
X0=[0 0 0 0];
PARAM=[Ls Lr Lm Rs Rr p J f];
%==================================================
% PARAMETRES machines
Rr=0.4;
Rs=0.63;
Lr=0.091;
Ls=0.097;
Lm=0.091;
J=0.22;
f=0.001;
p=2;
sigma = 1-Lm^2/Ls/Lr;
gamm=Rs/(sigma*Ls)+((Rr*Lm*Lm)/(sigma*Ls*Lr*Lr));
alpha = Rs/sigma/Ls;
beta = Rr/sigma/Lr;
tr = Lr/Rr;
k1 = Lm/sigma/Ls/tr;
Tech=0.001;
Tech=0.0009728; % Période réelle MLI à utiliser pour l'implantation temps réel
ts=Tech;
TFVN=100; % Fréquence de coupure filtre de vitesse (cartes mesures)
D.3 Calcul des régulateurs "Calcregn.m"
% Régulateur de flux PI ======================
dzeta1 = 0.6;
k1 = Lm/sigma/Ls/tr;
kp1 = gamm^2/k1/(2*dzeta1)^2
ki1 = kp1/tr
% Régulateur de couple PI ===================
phi_ref = 0.85;
109
Annexe D Fichiers C et MATLAB
trep2 = 0.05;
k2 = p*Lm*phi_ref/sigma/Ls/Lr;
kp2 = 3/k2/trep2
ki2 = gamm*kp2
% Régulateur de vitesse PI ==================
% Pour dzeta3=0.7, wn*trep=3
%disp('Pour dzeta=0.7')
%dzeta3 = 1;
%trep3 = 0.5;
%kp3 = J*6*dzeta3/trep3
%ki3 = J*(3/trep3)^2
% Pour dzeta3=1, wn*trep=4.75
disp('Pour dzeta=1')
dzeta3=1;
trep3=0.5;
kp3=J*9.5/trep3-f
ki3=J*(4.75/trep3)^2
110
Annexe E Schémas de simulation et d'implantation temps réel
Annexe E
Schémas de simulation et
d'implantation temps réel
E.1 Schéma de simulation complet
Figure E.1 Schéma de simulation SIMULINK
111
Annexe E Schémas de simulation et d'implantation temps réel
E.2 Schéma d'implantation temps réel complet
Figure E.2 Schéma d'implantation SIMULINK/dSPACE
112
Annexe E Schémas de simulation et d'implantation temps réel
E.3..Génération des consignes
Les blocs "Top synchro" sont utilisés pour la synchronisation de l'affichage sous TRACE.
Bloc "Consignes" (Figure E3) :
1
1/400s 2+1/10s+1
Phir_ref
Filtre consigne1
1
out_1
Si 0 -> Poursuite
1 -> Régulation
omega_ref
0
regpoursuite
1
1/400s 2+1/10s+1
Accélération max.
Filtre consigne
Arret urgence
Regulation/Poursuite
1
Normal
0
consigne nulle
2
out_2
Si 1 -> fonctionnement normal
0 -> Arret urgence
0
3
out_3
gain_couple_charge
Regulation/Poursuite1
Cr_ref
Arret urgence1
0
consigne nulle1
Top synchro régulation
1
synchro
Regulation/Poursuite2
Top synchro poursuite
Figure E.3 Consignes : schéma général
Bloc "omega_ref" (Figure E.4) :
Figure E.4 Consignes de vitesse
113
Annexe E Schémas de simulation et d'implantation temps réel
Bloc "Cr_ref" :
Couple de charge
régulation
Couple de charge
poursuite
1
Consigne pour
régulation vitesse
2
Consigne pour
poursuite vitesse
Figure E.5 Consignes de couple de charge
Bloc "Phir_ref" :
phir_ref
To Workspace2
0.85
Phir_ref
1
Phir_ref_
Figure E.6 Consigne de flux rotor
E.4 Interface COCKPIT
Figure E.7 Contrôle du banc sous COCKPIT
114
Bibliographie
Bibliographie
[1]
Commande des machines à courant alternatif. Le procédé, description et modélisation.
D. Roye. Actes de l'Ecole d'Été d'Automatique de Grenoble. Septembre 1997
[2]
Actionneurs électriques. Principes, modèles, commande. G.Grellet et G.Clerc. Éditions
Eyrolles. 1996
[3]
Commande des machines asynchrones. Journées de l'Enseignement de l'Électrotechnique
et de l'Électronique Industrielle "3EI 93". SEE-MAFPEN. 1993
[4]
Modélisation et commande de la machine asynchrone. J.-P. Caron et J.-P. Hautier.
Éditions Technip. 1995
[5]
Commande et optimisation des processus. P. Borne, G. Dauphin, J.-P. Richard,
F. Rotella, I. Zambettakis. Éditions Technip. 1990
[6]
Commande non linéaire de moteur asynchrone avec observateur. Denis Lubineau. Thèse
de doctorat INPG, Laboratoire d'Automatique de Grenoble. 1999
[7]
"Design of an advanced non linear controller for induction and experimental validation
on an industrial benchmark". D. Lubineau, J.M Dion, L. Dugard, D. Roye. European
Physical Journal Applied Physics. Vol.9. 2000
[8]
Variateur de vitesse pour machine asynchrone, contrôle de vitesse sans capteur
mécanique. Xavier Roboam. Thèse de doctorat de l'INPT, Toulouse. 1991
[9]
"The principle of field orientation as applied to the new transvector closed loop control
system for rotating field machines". F. Blaschke. Siemens Review. 1972
[10] Contraintes spécifiques du contrôle vectoriel : description, effets, dégradation des
performances. M. Pietrzak-David, X. Roboam. Actes du GDR sur la conception de dispositifs
et systèmes électrotechniques, Toulouse. Juin 1993
[11] Commandes vectorielles de machines alternatives à base de processeur de signal.
J. Guiraud. Mémoire d'ingénieur CNAM, Centre régional de Grenoble. 1997
115
Bibliographie
[12] Plate-forme d'essais : Commande de machines électriques. L. Douaud. Mémoire
d'ingénieur CNAM, Centre régional de Nantes. 1996
[13] Banc d'essais machine asynchrone. Laboratoire d'automatique de Grenoble.
R.Alvarez-Salas, J.M. Dion, L. Dugard. Note interne. 2000
[14] Plate-forme expérimentale moteur asynchrone. J. Barnier, Th. Blanc, L. Dugard,
D. Lubineau. Rapport interne Laboratoire d'Automatique de Grenoble. 1998
[15]
MATLAB Reference Guide. The MathWorks, Inc. 1992
[16]
SIMULINK User's Guide. The MathWorks, Inc. 1993
[17]
SIMULINK Release Notes v1.3. The MathWorks, Inc. 1994
[18]
DSP-CITpro TRACE COCKPIT RTI. dSPACE GmbH. 1994
[19]
Real-Time Interface to SIMULINK RTI 30 User's Guide v 2.0. dSPACE GmbH. 1995
[20]
Real-Time TRACE Module User's Guide – Reference Guide v 2.0. dSPACE GmbH. 1995
[21]
COCKPIT Instrument Panel User's Guide – Reference Guide v 2.0. dSPACE GmbH. 1995
[22]
Alcatel PWM-Board User's Guide v1.0. dSPACE GmbH. 1995
[23]
SIMULINK/RTI Interface for the Alcatel PWM-Board v1.0. dSPACE GmbH. 1995
[24] Pulse Width Modulator PBM 1/87 – PBM 1/89 Data sheet Rev. 2.0. Hanning ElektroWerke GmbH. 1993
[25]
MAX280/MXL062 5th Order Low pass Filter. Data sheet Rev. 3. Maxim. 1995
116
Téléchargement