Vous êtes sur la page 1sur 135

ECOLE SUPERIEURE POLYTECHNIQUE

UNIVERSITE D’ANTSIRANANA

CONTRIBUTION A L’ETUDE DES


DIFFERENTES STRATEGIES DE COMMANDE
D’UNE MACHINE ASYNCHRONE

Mémoire

Pour l’obtention du Diplôme d’Etudes Approfondies (DEA)


en génie électrique

Département : Electricité

Candidat : RAKOTOARISOA Armand Jean Claude

Jury :

Pr. RAMINOSOA Chrysostome R. R


Pr. RAZAFIMAHENINA Jean Marie
Dr. RAZAFINJAKA Nirinarison Jean
Dr. RABE Tsirobaka

Encadreurs :

Pr. RAZAFIMAHENINA Jean Marie


Dr. RAZAFINJAKA Nirinarison Jean

Décembre 2006
Contribution à l’étude des différentes stratégies de commande d’une machine asynchrone

AVANT-PROPOS

e document présente les travaux effectués durant mon mémoire de DEA au sein du

C laboratoire d’automatique de l’Ecole Supérieure Polytechnique d’Antsiranana, dirigés


par Monsieur RAZAFINJAKA Nirinarison Jean

Le présent mémoire est consacré à la contribution à l’étude des différentes stratégies de


commande d’une machine asynchrone. A ce titre, je tiens à remercier l'ensemble des parties
ayant contribué à l’accomplissement de ce travail.
Mes remerciements vont également aux membres du jury qui ont accepté d'évaluer ce travail :
Messieurs, professeur RAMINOSOA Chrysostome, directeur de l'Ecole Supérieure
Polytechnique d’Antsiranana pour avoir présidé ce jury.
Monsieur le professeur Jean Marie RAZAFIMAHENINA, responsable de la formation
doctorale de l'Ecole Supérieure Polytechnique d’Antsiranana et Monsieur RAZAFINJAKA
Nirinarison Jean, Maître de conférence de l'Ecole Supérieure Polytechnique d’Antsiranana,
pour avoir encadré ce mémoire et m'avoir supporté (dans tous les sens du terme) pendant
toute la durée des travaux.
Monsieur RABE Tsirobaka, enseignant en génie électrique pour avoir accepté d'être le
rapporteur de ce mémoire.
J'aimerais aussi remercier mes proches et en premier lieu mes parents, frères et sœurs et
particulièrement mon cousin Jimmy à qui je dédie ce mémoire. Je les remercie de m'avoir
soutenu. Je pense qu'ils sauront aisément trouver à quels évènements je fais allusion.
Ce mémoire est également dédié à Samueline pour le soutien qu'elle m'a apporté, et à mon fils
Armel, même s'il n'a pas encore tout à fait compris ce que va faire son papa tous les jours
dans ce mystérieux "laboratoire".
Je remercie enfin les nombreux autres doctorants et jeunes ingénieurs avec qui mes
discussions philosophico-métaphysiques ont enrichi mes séances d’absorption massive de
caféine, dans un ordre totalement aléatoire.

A mes parents qui m'ont soutenu pendant toute la durée de ces longues études,
A Samueline,
A Armel,

-0-
Avant-propos

NOTATIONS

INDICES
d Axe d du repère tournant ( Γ ) ≡ (d,q)
n Grandeur nominale
p Opérateur de Laplace[s-1]
q Axe q du repère tournant ( Γ ) ≡ (d,q)
r Grandeur rotor ou de repère rotor (R)
R Régulateur intégrateur
s Grandeur stator ou de repère stator (S)
v Grandeur de perturbation
w Grandeur de consigne
α Axe α du repère stator (S) ≡ ( α , β )
β Axe β du repère stator (S) ≡ ( α , β )

PRINCIPALES GRANDEURS
Ce Couple électromagnétique[Nm]
Cr Couple résistant[Nm]
i Courant instantané[A]
u Tension instantanée[V]
x Grandeur instantanée x ∈ {i, u , φ}
x Grandeur complexe
x* Grandeur complexe conjuguée
dx
x& = Dérivée de x par rapport au temps
dt
x yz Grandeur exprimée dans un repère biphasé ( y ∈ {d , q} et z ∈ {s, r} )
φ Flux instantané[Wb]
θ Position du rotor[rd]
θs Angle électrique entre l’axe du référentiel tournant et celui fixe[rd].
ωs Pulsation statorique ( ω = θ& )[rd/s]
s s
Ω Vitesse de rotation mécanique[rd/s]

PRINCIPAUX PARAMETRES D’UNE MACHINE ASYNCHRONE


Lr inductance cyclique rotorique[H]
Ls inductance cyclique statorique[H]
Lsr inductance cyclique mutuelle (stator-rotor)[H]
p nombre de paires de pôles
Rr résistance rotorique[ Ω ]
Rs résistance statorique[ Ω ]

-1-
Contribution à l’étude des différentes stratégies de commande d’une machine asynchrone

SOMMAIRE

AVANT-PROPOS .................................................................................................................... 0

NOTATIONS............................................................................................................................ 1

RESUME................................................................................................................................... 5

INTRODUCTION.................................................................................................................... 6

CHAPITRE 1 : GENERALITES SUR LA REGULATION AUTOMATIQUE ............... 8

1.1. THEORIE D’ANALYSE D’UN SYSTEME DE REGLAGE ........................................................... 8


1.2. MODELISATION ................................................................................................................ 9
1.2.1. Description mathématique........................................................................................ 9
1.3. CONCEPTION D’UN CIRCUIT DE REGLAGE ....................................................................... 10
1.4. PERFORMANCE D’UN SYSTEME DE REGLAGE .................................................................. 10
1.4.1. Essais typiques d’un système asservi. .................................................................... 10
1.4.2. Caractéristiques d’une réponse d’un essai ............................................................. 11
1.4.3. Spécifications usuelles ........................................................................................... 12
1.5. SYNTHESE DE REGULATEUR ........................................................................................... 13
1.5.1. Dimensionnement selon le critère sur la réponse harmonique Méplate................. 13
1.5.2. Dimensionnement selon le critère sur la réponse harmonique Symétrique ........... 15
1.5.3. Méthode de Ziegler-Nichols ................................................................................ 15
1.6. REPRESENTATION D’ETAT D’UN SYSTEME MULTI-VARIABLE .......................................... 16
1.6.1. Introduction-définition ........................................................................................... 16
1.6.2. Représentation d’état.............................................................................................. 17
1.6.3. Commandabilité-Observabilité .............................................................................. 17
1.7. PRINCIPE DE REGLAGE D’ETAT ....................................................................................... 18
1.7.1. Régulateur d’état .................................................................................................... 19
1.7.2. Synthèse de régulateur d’état ................................................................................. 20
CONCLUSION ......................................................................................................................... 22

CHAPITRE 2 : MODELISATION DU SYSTEME A REGLER...................................... 23

2.1. GENERALITES SUR LA MACHINE ASYNCHRONE ............................................................... 23


2.1.1. Définition ............................................................................................................... 23
2.1.2. Description ............................................................................................................. 23
2.1.3. Principe de fonctionnement.................................................................................... 24
2.1.4. Avantages et problèmes posés par le moteur asynchrone ...................................... 24
2.2. MODELISATION DE LA MACHINE ASYNCHRONE .............................................................. 25
2.2.1. Représentation schématique des enroulements ...................................................... 25
2.2.2. Hypothèses ............................................................................................................. 25

-2-
Sommaire

2.2.3 Modélisation dans le système d’axes triphasé......................................................... 26


2.2.4. Modélisation en utilisant les phaseurs spatiaux[7]................................................. 27
2.2.5. Equations de la machine dans un référentiel lié au champ tournant en régime
quelconque. ...................................................................................................................... 30
2.2.6. Modélisation de la machine en régime permanent................................................. 31
2.2.7. Diagramme fonctionnel.......................................................................................... 33
2.3. MODELISATION DU CONVERTISSEUR DE FREQUENCE ...................................................... 34
2.3.1. Généralités.............................................................................................................. 34
2.3.2. Principe de la conversion ....................................................................................... 34
2.3.3. Fonction de transfert de l’organe de commande .................................................... 36
2.4. SIMULATION DU MODELE ............................................................................................... 36
2.4.1. Données numériques .............................................................................................. 36
2.4.2. Résultats de la simulation....................................................................................... 37
CONCLUSION ......................................................................................................................... 38

CHAPITRE 3 : COMMANDE SCALAIRE DE LA MACHINE ASYNCHRONE. ........ 39

INTRODUCTION ...................................................................................................................... 39
3.1. GRANDEURS DE REGLAGE DU COUPLE EN REGIME PERMANENT ...................................... 39
3.2. COMMANDE SCALAIRE EN TENSION DE LA MACHINE ...................................................... 41
3.2.1. Principe................................................................................................................... 41
3.2.2. Elaboration de la commande .................................................................................. 42
3.2.3. Schéma de l’asservissement ................................................................................... 44
3.2.4. Simulation de la commande scalaire de la tension................................................. 44
3.3. CONTROLE SCALAIRE EN COURANT DE LA MACHINE ...................................................... 46
3.3.1. Principe................................................................................................................... 46
3.3.2. Loi de commande ................................................................................................... 46
3.3.3. Schéma complet de l’asservissement ..................................................................... 47
4.3.4. Simulation de la commande scalaire du courant .................................................... 48
CONCLUSION ......................................................................................................................... 49

CHAPITRE 4 : COMMANDE VECTORIELLE DE LA MACHINE ASYNCHRONE 50

INTRODUCTION ...................................................................................................................... 50
4.1. PRINCIPE DE LA COMMANDE VECTORIELLE .................................................................... 50
4.2. ELABORATION DES LOIS DE COMMANDE ........................................................................ 52
4.2.1. Orientation du flux rotorique.................................................................................. 52
4.2.1. Expressions des tensions de commande u d s e t u q s ........................................ 53
4.2.2. Représentation des lois de mailles ......................................................................... 53
4.3. DECOUPLAGE ENTREE-SORTIE ........................................................................................ 54
4.3.1. Découplage par retour d'état................................................................................... 54
4.3.2. Découplage par compensation[15]......................................................................... 58
4.4. SCHEMA DE LA COMMANDE VECTORIELLE .................................................................... 60

-3-
Contribution à l’étude des différentes stratégies de commande d’une machine asynchrone

4.4.1. Transformations directes et inverses ...................................................................... 60


4.4.2. Calcul de l'angle de la transformation de Park θ s et de pulsation statorique ωs : .. 61
4.4.3. Estimation du flux rotorique .................................................................................. 61
4.4.4 Schéma complet de la commande vectorielle directe à flux rotorique orienté ....... 62
4.5. SYNTHESE DES REGULATEURS ........................................................................................ 63
4.5.1. Régulateur de flux .................................................................................................. 63
4.5.2. Régulateur de couple............................................................................................. 65
4.5.3. Régulateur de vitesse............................................................................................. 66
4.6. SIMULATION DU COMPORTEMENT DE LA MACHINE PAR LA COMMANDE VECTORIELLE ... 69
CONCLUSION ......................................................................................................................... 71

CHAPITRE 5 : REGLAGE D’ETAT DE LA MACHINE ASYNCHRONE ................... 72

5.1. REPRESENTATION D’ETAT DU SYSTEME .......................................................................... 72


5.1.1. Principe d’orientation sur le flux rotorique ............................................................ 72
5.1.2. Représentation d’état.............................................................................................. 73
5.2. REGLAGE DU COURANT STATORIQUE ............................................................................. 74
5.2.1. Structure de réglage................................................................................................ 74
5.2.2. Equation matricielle du système réglé ................................................................... 75
5.2.3. Synthèse de régulateur ........................................................................................... 76
5.2.4. Simulation du circuit de réglage du courant statorique :........................................ 78
5.2.5. Méthode d’approximation ...................................................................................... 80
5.3. REGLAGE DU FLUX ROTORIQUE ...................................................................................... 81
5.3.1. Structure de réglage................................................................................................ 82
5.3.2. Représentation d’état du système réglé.................................................................. 82
5.3.3. Simulation de la régulation de flux ........................................................................ 83
5.4. REGLAGE DE VITESSE A FLUX ROTORIQUE CONSTANT .................................................... 84
5.4.1. Structure de réglage................................................................................................ 84
5.4.2. Equation matricielle du système réglé ................................................................... 85
5.4.3. Synthèse du régulateur ........................................................................................... 86
5.5. COMPORTEMENT DYNAMIQUE DE LA MACHINE ASYNCHRONE ....................................... 90

CONCLUSION ......................................................................................................................... 92

CONCLUSION GENERALE ............................................................................................... 93

ANNEXE ................................................................................................................................. 95

ANNEXE A : DEMONSTRATIONS DE QUELQUES FORMULES .................................................... 95


ANNEXE B : LISTING DE PROGRAMMATION ......................................................................... 100
ANNEXE C : SCHEMAS D’IMPLANTATION SUR SIMULINK/MATLAB ..................................... 120
ANNEXE D : EXEMPLE D’EXECUTION DU PROGRAMME ....................................................... 126

BIBLIOGRAPHIE ............................................................................................................... 131

-4-
Résumé

RESUME

La machine asynchrone ne cesse pas d’être exploitée pour le système de réglage et commande
dans les installations industrielles. La méthode classique utilisant des régulateurs standards de
type PID permet d’avoir une bonne performance mais limitée pour commander cette machine
car le système est multi-variable et fortement couplé. Différentes stratégies ont été élaborées
pour commander ce type de machine. La commande scalaire qui est basée sur le
fonctionnement à tension sur fréquence constant a permis d’ajouter une boucle
d’asservissement pour la vitesse de la machine, la commande vectorielle qui est basée sur la
théorie du champ orienté a été élaborée pour commander séparément les deux composantes du
courant statorique, le réglage d’état qui est basé sur la méthode d’assignation des pôles a été
élaboré pour imposer le comportement dynamique et d’intervenir directement sur les
grandeurs d’entrées du système. Les résultats obtenus ont montré que pour une faible
variation (moins de 5%) de la vitesse, la commande scalaire semble suffisant pour
l’asservissement du système, la performance s’améliore lorsqu’on applique à la machine le
principe de la commande vectorielle, le couple de la machine est bien contrôlé dans tous les
régimes de fonctionnement, une variation de 100% du couple électromagnétique n’entraîne
qu’une déviation de 2% du flux rotorique, ce qui marque le découplage entre ces deux
variables. Des réponses indicielles avec un premier dépassement de moins de 10% ont été
obtenues avec un gain de 5fois de rapidité par rapport à la commande scalaire, par le choix
adéquat des pôles du système en boucle fermée. Les trois méthodes proposées contribuent
bien selon la performance exigée par le cahier de charges, à la résolution du problème de
commande d’une machine asynchrone. Bien que ces approches ont permis, d’un coté, de
simplifier la dynamique de la machine asynchrone en séparant ses deux comportements
(magnétique et mécanique) et, d’un autre coté, d’implémenter des commandes performantes,
elles se sont avérées inefficaces devant la variation des paramètres et l’incertitude des valeurs
des variables d’état (mesurées, estimées ou observées), en particulier, dans le cas des régimes
transitoires et des régimes dégradés. Le recours aux méthodes d’adaptation classiques, pour
compenser l’effet de ces variations et de ces incertitudes peut s’avérer une solution
prometteuse.

MOTS-CLES :
- machine asynchrone
- auto-pilotage
- V/f constant
- champ orienté
- compensation par retour d’état
- Matlab/Simulink

-5-
Contribution à l’étude des différentes stratégies de commande d’une machine asynchrone

INTRODUCTION

Dans les installations industrielles modernes, la machine asynchrone à cage bénéficie d’une
attention particulière pour plusieurs raisons, notamment : le faible coût, la masse réduite, la
robustesse et la simplicité de construction. Malgré tout, la machine asynchrone n’a été l’objet
d’une commande et de réglage dans le domaine industriel que depuis quelques années. La
difficulté réside du fait qu’il est difficile et coûteux de produire une tension triphasée à
fréquence variable.
Avec les progrès de l'électronique de puissance et de commande, liés à l'apparition des
composants interrupteurs tel que les thyristors GTO (Gate Turn Off) et par la suite, des
transistors IGBT (Insulated Gate Bipolar Transistor) et le développement des technologies
numériques de commande, câblées et programmées, il est possible de choisir une structure de
commande évoluée et d'atteindre des performances de contrôle du couple équivalentes à celles
obtenues avec la machine à courant continu.
Toutefois, la commande de la machine asynchrone reste toujours complexe par sa difficulté
d’identifier certains paramètres en temps réel, ainsi que l’interaction(couplage) entre les
variables principales, notamment le flux et le couple.
Ce type de machine présente en effet un grand intérêt pour les automaticiens et les
électrotechniciens. Sa dynamique est non-linéaire, multivariable et fortement couplée. En
plus, certaines de ses variables d’état sont inaccessibles aux mesures directes (flux rotorique)
et les paramètres de la machine (en particulier, la résistance rotorique) sont affectés par l’effet
thermique et les conditions de fonctionnement, des saturations possibles sur les entrées, les
états et les sorties posent un problème pour sa commande. La méthode de synthèse utilisant le
régulateur standard de type P-I-D1 donne des résultats satisfaisants mais limités, pour ce
système[1].
Par conséquent, toute commande développée pour la machine asynchrone doit permettre,
d’une part, de simplifier son modèle mathématique en assurant un découplage parfait entre les
dynamiques de la vitesse et du flux et, d’autre part, de faire face à la variation des paramètres
et à l’incertitude liée aux mesures et aux estimations (observations) des variables d’état ainsi
que de mettre en œuvre des lois de commande assez simples et assez souples pour une
implémentation aisée et efficace. A cet effet, avec l’accroissement de la puissance du logiciel
MATLAB SIMULINK en calcul et simulation numérique, plusieurs schémas de commande ont
été proposés pour la machine asynchrone. En effet, pour simplifier le modèle de la machine
asynchrone, on peut procéder de deux manières :
• Le contrôle vectoriel du flux rotorique, qui se base sur l’utilisation des techniques
d’orientation du champ.
• La commande par retour d’état (réglage d’état), qui est une théorie moderne de réglage
ayant recours à une description plus complète (interne) du système dont le traitement
s’effectue directement dans le domaine temporel.
Le laboratoire d’automatique de l’Ecole Supérieure Polytechnique d’Antsiranana (LA-ESP)
propose de contribuer à l’étude de ces différentes stratégies.

1
Proportionnel Intégrateur Dérivateur

-6-
Résumé

A la lumière de ce qui a été dit, l’objectif à atteindre dans le présent travail est d’une part de
reconstituer fidèlement et en temps réel les réactions d’état nécessaires pour générer les
entrées de commande désirées et d’autre part d’assurer un découplage exact entre la
commande de la vitesse et celle du flux dans toutes les conditions de fonctionnement.
Ce travail est structuré comme suit :
Après un bref rappel des concepts et de la théorie générale sur la régulation automatique au
premier chapitre, ce document rappelle au chapitre deux les équations régissant le
fonctionnement de l’ensemble machine asynchrone – convertisseur de fréquence. Une
première vue sur la validité du modèle sera présentée à la fin du chapitre deux, par la
simulation du comportement au démarrage à vide d’une machine asynchrone.
Le troisième chapitre sera consacré aux méthodes scalaires, on présentera deux façons,
notamment le controle scalaire de la tension et le controle scalaire du courant pour
commander la machine asynchrone.
Le chapitre quatre fera l’objet de la commande vectorielle à flux orienté. Cette commande est
élaborée et testée en synthétisant des régulateurs linéaires : Proportionnel- Intégral, basé sur la
théorie montrée au premier chapitre. Les performances du dispositif seront analysées et
comparées en termes de suivi de consigne, robustesse, et rejet de perturbations.
Enfin le cinquième et dernier chapitre sera consacré au réglage d’état de la machine
asynchrone, sur ce, on va traiter le circuit de réglage de courant statorique, le circuit de
réglage de flux et le circuit de réglage de la vitesse. La synthèse des régulateurs sera effectuée
d’une part pour assurer le découplage des variables et d’autre part pour assurer la dynamique
du système à l’aide de la méthode d’imposition de pôles.
Les résultats obtenus dans ces investigations nous permettront de conclure sur les méthodes et
outil utilisé « logiciel MATLAB/SIMULINK » et d'envisager les perspectives et suites à donner à
ce travail.

-7-
Contribution à l’étude des différentes stratégies de commande d’une machine asynchrone

CHAPITRE 1

GENERALITES SUR LA REGULATION AUTOMATIQUE

Avant d’entamer aux différentes stratégies de commande d’une machine asynchrone, nous
allons d’abord rappeler quelques concepts de base sur la régulation automatique.

1.1. THEORIE D’ANALYSE D’UN SYSTEME DE REGLAGE


L’étude préliminaire se décompose en plusieurs étapes :
- analyse et décomposition du processus technique,
- modélisation,
- configuration du système automatique,
- conception des circuits de réglage,
- synthèse, dimensionnement et analyses des réglages,
- simulation

Fig.1.1 : Etapes pour l’analyse du processus et conception

-8-
Chapitre 1 : Généralités sur la régulation automatique

1.2. MODELISATION
C’est la description mathématique du système. Certains processus sont entièrement définis
par les équations de fonctionnement (en général, sont des équations différentielles), on
parle dans ce cas le modèle de connaissance, autres dont on ne connaît pas à priori les
équations régissant son fonctionnement à cause de la complexité ou l’inaccessibilité, dans
ce cas, on procède aux méthodes d’identification pour établir le modèle de représentation.

1.2.1. Description mathématique


La description mathématique se fait normalement par des équations différentielles
régissant le fonctionnement du système. Après formulation des équations, on passe à la
transformation de Laplace ou à la représentation d’état(système multi-variables) et enfin
on représente le système sous forme de bloc diagramme structurel pour pouvoir effectuer
la simulation[2].

Fig.1.2 : Etablissement d’un modèle


Remarque
Dans le cas du modèle de représentation, le système est considéré comme une boîte noire
et c’est par des essais entrées/sorties que l’on peut connaître le modèle.

-9-
Contribution à l’étude des différentes stratégies de commande d’une machine asynchrone

1.3. CONCEPTION D’UN CIRCUIT DE REGLAGE


Un circuit de réglage peut se présenter comme suit :

Fig.1.3 : Représentation simplifiée d’un circuit de réglage


Les grandeurs de commande U sont imposées de manière variable par l’intermédiaire
d’organes de commande à l’aide de régulateurs. Ces derniers traitent la différence entre
les grandeurs de consigne W et les grandeurs de sortie mesurées YM. Les grandeurs de
consigne peuvent être ajustées à l’aide des organes de consigne tandis que les grandeurs
de sortie mesurées sont fournies par les organes de mesure[2].
Le processus est formé par les organes de consigne, de commande et de mesure, tandis
que les régulateurs sont des dispositifs superposés.
L’influence des perturbations est éliminée ou fortement réduite grâce aux régulateurs.
La conception d’un circuit de réglage consiste à dimensionner les régulateurs.

1.4. PERFORMANCE D’UN SYSTEME DE REGLAGE


Les entrées (commande et perturbations) auxquelles sont soumis les systèmes asservis
sont aléatoires. Donc, pour juger les performances de ces systèmes, on doit logiquement
faire appel à des méthodes statistiques, et dans la pratique courante on caractérise les
performances d’un système par la manière dont il répond à un certain nombre d’entrées
typiques.

1.4.1. Essais typiques d’un système asservi.


Les entrées typiques usuelles sont : échelon, rampe, impulsion et fonction harmonique.

Fig.1.4 : Essais typiques d’un système asservi

- 10 -
Chapitre 1 : Généralités sur la régulation automatique

0, t < 0 δ (t ) = 0, t < 0 t > 0


Avec Γ(t ) =  et  b
1, t > 0  ∫− a δ (τ )dτ = 1 pour tout a et b positifs
Dans ces quatre essais, on a e(t)=0 pou t<0 : on dit que le système part du repos.
Soumis à une entrée de l’un des quatre types précédents, le système finit en général par
présenter une sortie y(t) appartenant aussi à un de ces types, on dit alors qu’il atteint son
régime définitif ou permanent. Mais avant d’atteindre ce régime il lui faut un certain
temps, pendant ce temps on dit qu’il est en régime transitoire.

Cas de l’échelon Cas de la rampe


Fig.1.5 : Réponses aux essais typiques

1.4.2. Caractéristiques d’une réponse d’un essai


Erreur permanente ep et erreur de traînage ev :
L’écart entre la sortie et l’entrée en régime permanent est appelé erreur permanente ep
pour le cas de l’échelon et erreur de traînage ev pour l’essai en rampe. Ces erreurs peuvent
être nulles, finies ou infinies. Il est souhaitable que ces erreurs soient nulles.
Amortissement
Le degré d’amortissement est caractérisé par les dépassements successifs D1, D2, etc. de la
réponse unitaire, on considère surtout le premier dépassement. Pour qu’un système soit
suffisamment amorti, on impose que son premier dépassement ne doit pas excéder un
certain pourcentage.
Rapidité
La rapidité d’un système est chiffrée par son temps de réponse tr qui est le temps au bout
duquel la réponse du système atteint 5% près sa valeur finale et ne s’écarte plus de ± 5%
de son état permanent, pour une excitation unitaire
Stabilité
On dit qu’un système est stable lorsque, écarté de sa position d’équilibre, il tend à y
revenir ; instable, lorsqu’il tend à s’en écarter davantage[3].
La condition fondamentale de stabilité d’un système est que les pôles de sa fonction de
transfert aient leur partie réelle négative, i.e. soient situé dans le demi-plan complexe

- 11 -
Contribution à l’étude des différentes stratégies de commande d’une machine asynchrone

gauche. Si au moins un pôle a sa partie réelle positive, i.e. est situé à droite, il y a
instabilité.

Fig.1.6 : Représentation complexe des pôles

1.4.3. Spécifications usuelles


Les performances d’un système de commande se jugent par la qualité de leur régime
transitoire (rapidité, amortissement).
Voici un tableau résumant les conditions généralement imposées qui apparaissent ainsi
comme des critères de performance[3].
Tableau I.1 : Conditions généralement imposées aux réponses

CONDITIONS GENERALEMENT IMPOSEES A LA REPONSE


TYPE D’ENTREE
REGIME TRANSITOIRE REGIME PERMANENT

Echelon
e0 Γ(t ) Amorti : Erreur permanente nulle
dépassement faible
Rampe
α t Γ(t ) Erreur de traînage faible

Impulsion Rapide :
Aδ (t )
temps de réponse faible

Harmonique
Etude des réponses en
e0 sin(ωt + ϕ )
fréquence

- 12 -
Chapitre 1 : Généralités sur la régulation automatique

1.5. SYNTHESE DE REGULATEUR


La synthèse consiste à concevoir la structure(type) et les coefficients du régulateur à
utiliser pour satisfaire aux performances prescrites dans le cahier de charges.
En général, on essaie d’utiliser des régulateurs standards de type PI ou PID. Des méthodes
empiriques ont été élaborées[2], pour dimensionner les régulateurs.

1.5.1. Dimensionnement selon le critère sur la réponse harmonique Méplate


Le principe de dimensionnement des régulateurs standards se fait par le critère sur la
réponse harmonique méplate. Dans ce cas, on exige que le module H ( jω ) de la réponse
harmonique du circuit de réglage fermé par rapport à la grandeur de consigne soit le plus
possible constant pour des petites variations de ω . On désire donc : H ( jω ) ≅ 1
La fonction de transfert du système peut s’écrire sous forme :
K
G ( p) = np ns
(1-1)
∏ (1 + pT )∏ (1 + pT )
j =1
pj
k =1
k

et le régulateur :
1 + pTn k
PI : GR ( p ) = = kp + i (1-2)
pTi p
(1 + pTn )(1 + pTv ) k
PID : GR ( p ) = = k p + i + kd p (1-3)
pTi p
(1 + pTn )(1 + pTv )(1 + pTv 2 )
PID2 : GR ( p ) = (1-4)
pTi
np

On pose Tp = ∑ Tpj où les Tpj sont les petites constantes de temps.


j =1

Selon le nombre de constantes de temps dominantes n p on fait le choix de type de


régulateur :
 Si le système à régler avec l'organe de commande possède une seule constante de
temps dominante T1 et une petite constante de temps Tp ,c’est à dire une fonction
de transfert
K
G ( p) = (1-5)
(1 + pT1 )(1 + pTp )
il faut faire appel à un régulateur PI. La constante de temps T1 est à compenser au moyen
de Tn et, pour un ajustement optimal, la constante de d’intégration Ti doit être choisie telle
que : Ti = 2 KTp

Tn = T1
 (1-6)
Ti = 2 KTp

- 13 -
Contribution à l’étude des différentes stratégies de commande d’une machine asynchrone

 Si le système à régler possède un comportement intégral T1 et une petite constante


1
de temps Tp c’est à dire une fonction de transfert G ( p) =
pT1 (1 + pTp )
A première vue, il semble qu’un régulateur P soit suffisant pour réduire l’erreur statique
grâce au comportement intégral du système. Mais, si une perturbation intervient sur le
système à régler par l’intermédiaire du comportement intégral, on est contraint de faire
appel à un régulateur PI avec[1] :
 Tn 1 T1
k p = T = 2 T
 i p (1-7)
T = 4T
 n p

 Lorsque la fonction de transfert d’un système à régler avec l’organe de commande


est donnée sous la forme :
K
G ( p) = où T1 et T2 sont les constantes de temps dominantes et
(1 + pT1 )(1 + pT2 )(1 + pTp )
Tp une petite constante de temps( T1 ≥ T2 >> Tp ), on utilise un régulateur PID et pour une
adaptation optimale du régulateur, il faut choisir[1]
Tn = T1

Tv = T2 (1-8)
T = 2 KT
 i p

Si le système possède plus de deux constantes de temps dominantes (ns > 2) , il faudrait
ajouter les constantes de temps non compensées à Tp . Une autre solution consiste à
choisir un régulateur PID2 avec une dérivée double[2].
Tableau I.2 : Tableau récapitulatif
ns Type de régulateur Tn Tv Tv 2 Ti
1 PI T1 - - 2 KTp
2 PID T1 T2 - 2 KTp

3 PID2 T1 T2 T3 2 KTp

Avec ce choix, on peut obtenir la FTBO2


1
G0 ( p) = (1-9)
2 pTp (1 + pTp )
On remarque que le système est supposé comportant des constantes de temps dominantes.
Pour des systèmes ayant un comportement intégral ou même si les constantes de temps
sont élevées, ce principe ne convient plus. Dans ce cas, on peut dimensionner le régulateur
selon le critère sur la réponse harmonique symétrique.

2
Fonction de transfert en boucle fermée

- 14 -
Chapitre 1 : Généralités sur la régulation automatique

1.5.2. Dimensionnement selon le critère sur la réponse harmonique


Symétrique
La fonction de transfert du système peut s’écrire sous la forme :
K K
G ( p) = ≅ (1-10)
np ns
(1 + pTp ) p ns T1.T2 ...Tns
∏ (1 + pT
j =1
pj )p ns
∏T
k =1
k

On a le tableau récapitulatif suivant[2]


Tableau I.3 : Tableau récapitulatif de la méthode

ns Type de régulateur Tn Tv Tv 2 Ti

1 PI 4Tp - - K 2
8 Tp
T1

2 PID 8Tp 8Tp - K 3


128 Tp
T1T2

3 PID2 12Tp 12Tp 12Tp K


3456 Tp4
T1T2T3

Avec ce principe, on peut obtenir la FTBO


1 + 4Tp p 1
G0 ( p ) = (1-11)
4Tp p 2 pTp (1 + pTp )

1.5.3. Méthode de Ziegler-Nichols

Tableau I.4 : Tableau récapitulatif de la méthode de Ziegler-Nichols

Valeurs des paramètres du régulateur selon Ziegler-Nichols


Essai indiciel Essai de pompage
Transmittance
du régulateur
GR ( p )

P g g = t gu - - g = 0,5 g 0 - -
1
PI g (1 + ) g = 0.9t gu Ti = 3, 3.Tu - g = 0.45 g 0 Ti = 0,83T0 -
pTi
1
PID g (1 + + pTd ) g = 1, 2t gu Ti = 2.Tu Td = 0,5.Tu g = 0, 6 g 0 Ti = 0,5T0 Td = 0,125T0
pTi

- 15 -
Contribution à l’étude des différentes stratégies de commande d’une machine asynchrone

1.6. REPRESENTATION D’ETAT D’UN SYSTEME MULTI-VARIABLE


1.6.1. Introduction-définition
En général, un système quelconque, sous l’action d’une grandeur variable d’entrée
fournissant une grandeur de sortie fonction de l’entrée se présente symboliquement par :

Fig.1.7 : Symbole d’un système sous une entrée e et une sortie s SISO3
Cette représentation correspond à l’existence entre l’entrée e et la sortie s d’une relation
différentielle entre l’entrée, la sortie, leurs dérivées et intégrales par rapport au temps :
f (e, e&, e&&,..., ∫ e.dt , s, s&, &&
s ,...) = 0 (1-12)

En procédant à la linéarisation, il est possible de ramener l’équation (1-12) précédente à


un système d’équations différentielles linéaires à coefficients constants de la forme ci-
après en introduisant les grandeurs internes notées x1 , x2 ,..., xn intrinsèques à ce système :

 dx1
 dt = a11 x1 + a12 x2 + ... + a1n xn + b11u1 + b12u2 + ... + b1r ur + bv11v1 + bv12 v2 + ... + bv1q vq

 dx2 = a x + a x + ... + a x + b u + b u + ... + b u + b v + b v + ... + b v
 dt 21 1 22 2 2n n 21 1 22 2 2r r v 21 1 v 22 2 v2q q


M
 dx
 n = a x + a x + ... + a x + b u + b u + ... + b u + b v + b v + ... + b v (1-13)
 dt n1 1 n2 2 nn n n1 1 n2 2 nr r vn1 1 vn 2 2 vnq q

 y = c x + c x + ... + c x + d u + d u + ... + d u
 1 11 1 12 2 1n n 11 1 12 2 1r r

 y2 = c21 x1 + c22 x2 + ... + c2 n xn + d 21u1 + d 22u2 + ... + d 2 r ur



M
 yn = cn1 x1 + cn 2 x2 + ... + cnn xn + d n1u1 + d n 2u2 + ... + d nr ur

En regroupant et condensant ces équations, on obtient un système d’équations plus simple


appelé équations d’état du système dont la forme générale est :
 x& = Ax + BuU + BvV
 (1-14)
 y = C x + DU
T

On a respectivement :
x : vecteur d’état où les xi (i =1,n ) sont les grandeurs d’état

U : vecteur de commande où ui (i =1,r ) sont les grandeurs de commande

V : vecteur de perturbation où vi (i =1,q ) sont les grandeurs de perturbation

3
Single Input Single Output (Système à une entrée et une sortie)

- 16 -
Chapitre 1 : Généralités sur la régulation automatique

A : Matrice d’état, B : matrice d’entrée, C T : matrice de la sortie, BV : matrice de


perturbation et D : matrice de passage, du système.

1.6.2. Représentation d’état

Les vecteurs x, y,U et V sont liés par les matrices Bu , Bv ,C T et D et définissent


complètement le système. La représentation définie selon la relation (1-14) est appelée
représentation d’état du système4.
Sous forme de diagramme structurel, on a la représentation suivante :

Fig.1.8 : Représentation d’état d’un système multivariable

1.6.3. Commandabilité-Observabilité
a) Commandabilité
Il est nécessaire de savoir si le transfert de l’état initial d’un processus vers un autre état
qui est le but souvent recherché en réglage est possible. Pour ce faire, on introduira la
notion de commandabilité.
Par définition, un système est dit commandable si on peut, sur une durée finie, modifier
toutes les composantes du vecteur d’état x(t) par un signal de commande convenable u(t)
en vue d’obtenir un état final à partir d’un état initial.
Pour illustrer cette définition, on fera appel à la matrice Qc (matrice de commandabilité)
définie par :
Qc = [bu Abu A2 bu ... An−1 bu ] (1-15)
c’est une matrice carrée d’ordre n.

4
Cas d’un système Multivariable (MIMO : Multiple Input Multiple Output)

- 17 -
Contribution à l’étude des différentes stratégies de commande d’une machine asynchrone

Théorème
Le système est dit commandable si et seulement si la matrice Qc est régulière, c’est à dire
rang(Qc) = n. On appelle cette dernière condition de commandabilité[4].
On pourra remarquer par la suite que cette condition est nécessaire pour effectuer la
synthèse de régulateur d’état.
b) Observabilité
La commande exige l’état du processus, malheureusement il arrive fréquemment que seul
la sortie soit accessible par mesure, le vecteur d’état doit donc reconstruit à partir du
vecteur de sortie. Cette opération n’est réalisable que sous certaines conditions
d’observabilité.
Un système est dit observable s’il est possible de retrouver son état initial x(ti) à partir de
l’observation de son entrée u(t) et de sa sortie y(t) pendant un intervalle de temps fini. La
notion d’observabilité utilise le vecteur de sortie. On définit alors la matrice
d’observabilité :
CT 
 T 

Q0 = 
C A 
(1-16)
M 
 
 C T An-1 
 
Théorème
Le système est observable si et seulement si la matrice Q0 est régulière (rang(Q0) = n)

1.7. PRINCIPE DE REGLAGE D’ETAT


Dans la suite, nous utiliserons la notation avec indice s pour le système original et sans
indice pour le système transformé.
Le réglage d’état ou réglage par contre-réaction d’état est la conception de la loi de
commande de la forme :
u = v' - kxs (1-17)
où k est une matrice dite de contre-réaction. On obtient alors le système d’équations :
 x s = Ax s + bu (v' - kx s )+ bv v
 T
(1-18)
 y = C x s

La matrice liant v’ à y est donnée par C T ( pI - A + bu k) dont l’équation caractéristique


s’écrit :
det ( pI - A + bu k) = 0 (1-19)
Où I : matrice unité, p : opérateur de Laplace
Par le choix de la matrice k, on conçoit à imposer les modes(pôles) du système en boucle
fermée, c.à.d : le comportement dynamique et statique du système.

- 18 -
Chapitre 1 : Généralités sur la régulation automatique

De cette notion découle la notion de réglage d’état, ce principe est illustré par la figure ci-
après :

Fig.1.9 : Principe du réglage par retour d’état

1.7.1. Régulateur d’état


Le régulateur d’état a pour rôles :
- La mise en contre-réaction des grandeurs d’état xi par l’intermédiaire des
coefficients ki
- L’intervention de la grandeur de consigne w par l’intermédiaire d’un
coefficients kw
- L’intervention de la grandeur de perturbation v par l’intermédiaire d’un
coefficient kv
- Formation de l’intégration de l’écart de réglage ainsi que l’intervention de
la grandeur d’état xR par un coefficient kR qui garantit l’annulation de l’erreur
statique.
On obtient alors la structure optimale pour un régulateur d’état (cas monovariable).

Fig.1.10 : Structure d’un régulateur d’état

- 19 -
Contribution à l’étude des différentes stratégies de commande d’une machine asynchrone

1.7.2. Synthèse de régulateur d’état


La synthèse du régulateur d’état consiste à déterminer les différents coefficients ki , kw , kv .
La structure du régulateur précédent nous permet d’établir la loi de commande de la
forme :
ucm = − k sT x s + xR k R + kw w − kv v (1-20)
Dans la suite, il est intéressant d’introduire le vecteur d’état global pour établir l’équation
d’état du système global5.
En effet, il est possible de réunir les vecteurs xs et xR dans le vecteur x

 xs 
x =   , k = [ksT − k R ]
 xR 
Ici le système est de dimension ns (dim(xs ) = ns) donc dim(x) = ns+1.
On obtient alors un système d’équations :
 x& = Ax + bu + bw w + bv v
 T
(1-21)
y = C x
où les matrices A, bw , bv , et C T sont explicitées par :

 As 0 0 
 bu   bsv 
C = [C 0], b =   , bv =   , A =  −1 T
T T , b = 
1
 , 0 = [0 L 0]T (1-22)
s  Cs 0  w   123
0  0  T 
 i   Ti  ns

On aura alors les matrices du système global fermé :


AG = A - bk T , bGw = bw + bk w et bGv = bv - bkv (1-23)
qui aboutit à l’équation d’état
 x& n = AG xn + bGw w + bGv v
 (1-24)
 yn = C xn
T

dont l’équation caractéristique s’écrit, avec I matrice unité par :


d c ( p ) = dét ( pI − AG ) = 0 (1.25)

a) Détermination du vecteur ligne de contre-réaction d’état k T


Le comportement dynamique du système est déterminé par l’équation caractéristique
(1-25). Il s’agit donc de déterminer le vecteur ligne de contre-réaction k T de sorte que le
système ait le comportement dynamique désiré.
La méthode consiste à imposer les pôles de la fonction de transfert en boucle fermée et à
trouver les relations les liant aux coefficients de contre-réaction d’état.
En effet, l’équation caractéristique peut s’écrire :

5
Système à régler avec régulateur

- 20 -
Chapitre 1 : Généralités sur la régulation automatique

d c ( p ) = α 0 + α1 p + L + α n −1 p n −1 + α n p n = 0 (1-26)
Les relations entre les coefficients et les pôles sont données par le théorème de Viet[5].
En posant
a T = [α 0 α1 Lα n −1 ] et E = [eT eT A L eT An ] (1-27)

tel que eT est donnée par la dernière ligne de l’inverse de la matrice de commandabilité
Qc du système global( Qc = [bu Abu L An −1bu ] )
c’est à dire
eT = [0 0 L1]Qc−1 (1-28)
on obtient
k T = [a T 1]E (1-29)
On remarque que Qc doit être régulière pour pouvoir l’inverser.

Ainsi on obtient le vecteur ligne de contre-réaction k T c’est à dire les coefficients ki et kR.
b) Détermination des coefficients d’intervention directe k w et kv
Pour le choix des coefficients d’intervention directe des grandeurs d’entrée, on propose
deux méthodes
- La première méthode consiste à limiter au maximum le rôle du régulateur intégrateur en
imposant que sa sortie xR soit nulle en régime établi. Les valeurs des coefficients
d’intervention directe sont données par[2] :
k = C T (− A + b k T ) −1 b  −1
 w  s s u s u
 −1
(1-30)
kv = − C sT (− As + bu k sT )−1 bv  • C sT (− As + bu k sT ) −1 bu 

Dans ces expressions, dim(C sT ) = (1, ns ), dim( As ) = (ns , ns ), dim(ksT ) = (1, ns ), dim(bu ) = (ns ,1) .
On remarque qu’avec ce choix, les coefficients dépendent du choix des pôles puisque
k sT l’en dépend aussi.
- La deuxième méthode consiste à utiliser l’avantage principal introduit par ces
coefficients. En effet on introduit un zéro pour compenser un pôle dominant du système
en BF.
- Pour la grandeur de consigne, le zéro introduit est de la forme[2] :
−kR −k
z0 = d’où k w = R (1-31)
kw z0
- Pour la grandeur de perturbation, on introduit la fonction de transfert liant la
grandeur de consigne et la grandeur de perturbation
w( p ) N ( p )
= (1-32)
v( p) D( p)

- 21 -
Contribution à l’étude des différentes stratégies de commande d’une machine asynchrone

où N ( p ) = p (C sT [ F ( p)]adj bv + bu kv ) et F ( p ) = p 2 I − ( As − bu k sT ) p + bu C sT k R tel que F ( p )adj est


la matrice adjointe de F ( p ) , i.e : [ F ( p)]−1 = F ( p)adj / dét ( F ( p )) .
Le zéro en question qui est fonction de kv est obtenu par la résolution de l’équation
N(p)=0
On obtient un zéro qui est fonction de kv mis à part du zéro à l’origine qui assure
l’annulation de l’erreur statique.
c) Critères de choix des pôles
Quant au choix approprié des pôles, on pourra faire les considérations suivantes :
• Les pôles possèdent des parties réelles négatives afin de garantir un comportement
stable dans tout point de fonctionnement du système.
• Il est souvent judicieux de choisir des pôles complexes conjugués avec partie réelle
égale à la partie imaginaire afin d’obtenir un amortissement relatif optimal[5]. De
plus il faut garantir un amortissement absolu minimal(la partie réelle doit se trouver
à gauche d’une droite limite −δ min dans le plan complexe)
• S’il y a plusieurs pôles, on peut les aligner sur une verticale en imposant à tous les
1
pôles à la même partie réelle −δ = − tr ( A)
n
Le domaine correspondant au choix des pôles est représenté par la figure surface hachurée
de la figure suivante :

Fig.1.11 : Domaine d’imposition des pôles

CONCLUSION
Cette première approche nous permet toutefois de montrer la théorie générale d’étude
d’un système de réglage et montre la souplesse du réglage par contre-réaction d’état et
laisse envisager un procéder de calcul d’une façon générale afin de pouvoir faire des
nombreuses applications.
Des programmes de synthèse de régulateur seront élaborés pour mettre en œuvre ces
théories.
La section suivante(chapitre2) consiste à la modélisation du système que nous allons mettre
en œuvre {machine asynchrone munie de son convertisseur de fréquence}.

- 22 -
Chapitre 2 : Modélisation du système à régler

CHAPITRE 2

MODELISATION DU SYSTEME A REGLER

Dans ce chapitre, nous allons décrire les équations regissant le fonctionnement de notre
système à régler qui est ici composé par la machine asynchrone et le convesrtisseur de
fréquence.

2.1. GENERALITES SUR LA MACHINE ASYNCHRONE


2.1.1. Définition
Une machine asynchrone est une machine à courant alternatif dont sa vitesse la fréquence du
réseau auquel elle est reliée ne sont pas dans un rapport constant. Le circuit magnétique d’une
machine asynchrone est associé à deux circuits électriques se déplaçant l’un par rapport à
l’autre et auquel l’énergie est transformée de la partie fixe appelée stator à la partie mobile
appelée rotor, ou inversement par induction électromagnétique [6].

2.1.2. Description
L’enroulement rotorique peut se présenter sous deux formes :
• Les rotors à bagues sont munis d’un enroulement généralement triphasé, composé de
bobines multi-spires logées dans des encoches semi-fermées.
• Les rotors à cages sont munis d’un enroulement constitué par des barres nues court-
circuitées en permanence par des anneaux brasés ou moulés sur les extrémités des
barres.

Fig.2.1 : Description d’un moteur asynchrone (Document Leroy Sommer)

- 23 -
Contribution à l’étude des différentes stratégies de commande d’une machine asynchrone

Tableau 2.1 : Légende de la description d’un moteur asynchrone


Stator bobiné Tiges de montage Joint
Carter Clavette Roulement arrière
Rotor Plaque signalétique Joint arrière
Flasque Vis de fixation du capot Rondelle de pré charge
Flasque arrière Roulement Corps de boite à bornes
Ventilateur Chapeau intérieur Couvercle de boite à bornes
Capot de ventilation Circlips de roulement

2.1.3. Principe de fonctionnement


L’enroulement statorique est alimenté par un système de courants symétriques et génère une
onde de tension magnétique tournant à une vitesse Ωs par rapport au rotor.
Les enroulements rotoriques sont fermés, en court-circuit sur eux-mêmes et tournant à une
vitesse Ωm du rotor. La vitesse relative du champ tournant statorique par rapport au rotor vaut
alors :
Ωr = Ωs − Ωm (2-1)
Les conducteurs rotoriques balayés par cette onde tournante sont le siège d’une tension
induite de pulsation
ωr = p.Ω r = ωs − ωm (2-2)

où ωs et ωr : pulsations respectives des courants statorique et rotorique,

ωm : pulsation mécanique(vitesse angulaire de rotation p.Ω m )


p : nombre de paires de pôles.
Les enroulements rotoriques étant en court-circuits, sont parcourus par des courants induits de
pulsation ωr qui génèrent une onde de tension magnétique tournant par rapport au rotor à
ωr
Ωr = . (2-3)
p
La vitesse relative de l’onde rotorique par rapport au stator est donnée par :
Ωs = Ωr + Ωm (2-4)
On définit le glissement d’une machine asynchrone, la quantité :
ns − n Ω s − Ω m ωs − ωm
g= = = (2-5)
ns Ωs ωs
où ns désigne la vitesse de rotation en tour/s du champ tournant.

2.1.4. Avantages et problèmes posés par le moteur asynchrone


a) Avantage

- 24 -
Chapitre 2 : Modélisation du système à régler

Le moteur asynchrone à cage est le moteur le plus répandu dans l’industrie, il est robuste,
fiable, économique, physiquement facile à mettre en œuvre (absence des collecteurs), il est
apprécié pour sa très bonne standardisation.
b) Problème
D’une part, dans le moteur asynchrone, le courant statorique sert à générer le flux et le couple
électromagnétique, le problème qui se pose c’est qu’on ne sait pas exactement la partie du
courant producteur de flux et celle producteur de couple. Le découplage naturel comme dans
la machine à courant continu n’existe plus. D’autre part, les grandeurs rotoriques ne sont pas
accessibles, on cherche alors à les exprimer à travers leurs actions sur le stator. De plus,
certains paramètres sont difficiles à identifier, certains autres subissent une variation (en
particulier, les inductances et résistances des enroulements varient en fonction de la
température). Ainsi lors de la modélisation, nous allons adopter certaines hypothèses
simplificatrices.

2.2. MODELISATION DE LA MACHINE ASYNCHRONE


Comme déjà mentionné, il s’agit de la simulation, après avoir cité des hypothèses
simplificatrices, on présentera dans cette section les équations électriques, magnétiques,
mécanique de la machine asynchrone dans le plan (a,b,c)6. Différentes transformations seront
effectuées afin d’aboutir au schéma final d’implantation.

2.2.1. Représentation schématique des enroulements


La représentation schématique de la MAS dans l'espace électrique est donnée sur la figure ci-
dessous :

Fig.2.2. Représentation schématique d’une machine asynchrone

2.2.2. Hypothèses
Le modèle de la machine que nous adopterons repose sur les hypothèses suivantes :
 Proportionnalité des flux aux courants.
6
Système d’axes décalés l’un de l’autre d’un angle 120°

- 25 -
Contribution à l’étude des différentes stratégies de commande d’une machine asynchrone

 Symétrie ternaire de la machine.


 Entrefer constant.(pas d’effet d’encoches)
 Forces magnétomotrices à répartition spatiale sinusoïdale.
 Courants autres que dans les bobinages négligés.
 Résistances et inductances indépendantes de la température

2.2.3 Modélisation dans le système d’axes triphasé


En partant des tensions imposées sur les enroulements statoriques et rotoriques, on cherche à
déterminer l’expression du couple électromagnétique puis de la vitesse.
a) Equations électrocinétiques
La loi de Faraday et la loi d’Ohm permettent de relier les tensions sur les enroulements aux
flux totalisés et aux courants dans ces bobinages.
Avec les conventions utilisées, les deux équations matricielles suivantes expriment les
tensions sur les différents enroulements.
Sur le stator
d [φs ]
[Vs ] = Rs .[is ] + (2-6)
dt
Sur le rotor
d [φr ]
[Vr ] = Rr .[ir ] + (2-7)
dt
b) Expression des flux totalisés en fonction des courants
rr
Le flux dans un bobinage est calculé à partir de la relation : ∫∫
S _ Bobine
B.n.dS . Le sens du vecteur

r
unitaire n normal à la surface étant défini par le sens conventionnel du courant dans le
bobinage.
Avec les hypothèses précédentes, la relation entre les flux totalisés sur les enroulements et les
courants peut être décrite par l’équation matricielle suivante :
φas  ias 
φ  i 
 bs   bs 
φcs  [φs ]  [ M ss ] [ sr e ] .  ics  =  [ M ss ]
M (θ )  [ M sr (θe )] . [is ]
 = =
[ M rr ]  iar  [ M rs (θe )] [ M rr ]  [ir ]
(2-8)
φar  [φr ] [ M rs (θ e )]
φbr  ibr 
   
φcr   icr 
où [ M ss ],[ M rr ],[ M sr (θ e )],[ M rs (θ e )] sont des sous-matrices de dimension 3x3 et
[φs ],[φr ],[is ],[ir ] sont des vecteurs colonnes de dimension 3.
avec

- 26 -
Chapitre 2 : Modélisation du système à régler

 L ps Ms Ms 
 
[ M ss ] =  M s L ps Ms 
M s Ms Lps 

 Lpr Mr Mr 
 
[ M rr ] =  M r L pr Mr 
M r Mr L pr 

 2π 2π 
 cos(θ e ) cos(θ e +
3
) cos(θ e − ) 
3
 
 2π 2π 
[ M sr (θ e )] = M 0 cos(θe − ) cos(θ e ) cos(θe + ) = [ M sr (θ e )]t
 3 3 
 
cos(θe + 2π ) cos(θ e − 2π ) cos(θ e ) 
 3 3 
c) Energie magnétique
Elle peut être calculée à partir de l’expression suivante :
1
Wmag = .([is ]t .[φs ] + [ir ]t .[φr ]) (2-9)
2
L’expression de Wmag en fonction des courants et des inductances ne comporte que 36 termes
!
d) Couple électromagnétique
Il est donné par la dérivée partielle de la coénergie (ici égale à l’énergie) par rapport à l’angle
mécanique entre le rotor et le stator.
∂Wmag ∂Wmag
Ce = =p (2-10)
∂θ m ∂θ e
e) Vitesse
Elle est solution de l’équation fondamentale de la dynamique.
dΩ
J = Ce − Cr (2-11)
dt
avec J : moment d’inertie et Cr : couple résistant.
Remarque
Les équations précédentes permettent la modélisation de la machine dans le plan « a b c ».
Elles peuvent être implantées dans un calculateur. Par contre, vu la complexité (36 termes
pour l’énergie magnétique) de ces équations non linéaires et multi-variables, il est très
difficile d’en tirer des stratégies de commande.

2.2.4. Modélisation en utilisant les phaseurs spatiaux[7]


a) Définitions

j.
On définit les vecteurs complexes suivants, en utilisant le nombre complexe a = e 3
:

- 27 -
Contribution à l’étude des différentes stratégies de commande d’une machine asynchrone

- Vecteurs complexes courant


ias 
i s = (ias + a.ibs + a 2 .ics ) = 1 a a 2  . ibs 
2 2
(2-12)
3 3
 ics 

iar 
i r = (iar + a.ibr + a .icr ) = 1 a a  . ibr 
2 2 2 2
(2-13)
3 3
 icr 

- Vecteurs complexes tension


vas 
v s = (vas + a.vbs + a 2 .vcs ) = 1 a a 2  .  vbs 
2 2
(2-14)
3 3
 vcs 

var 
v r = (var + a.vbr + a .vcr ) = 1 a a  .  vbr 
2 2 2 2
(2-15)
3 3
 vcr 

- Vecteurs complexes flux


φas 
φ s = (φas + a.φbs + a .φcs ) = 1 a a  . φbs 
2 2 2 2
(2-16)
3 3
φcs 

φar 
φ r = (φar + a.φbr + a .φcr ) = 1 a a  . φbr 
2 2 2 2
(2-17)
3 3
φcr 

Fig.2.3 : Diagramme de phaseur spatial d’une grandeur quelconque x


D’après ce diagramme :
x = xα + j.xβ (2-18)

x peut être i s , i r , u s , u r , φ s , φ r

- 28 -
Chapitre 2 : Modélisation du système à régler

b) Transformation de coordonnées

Fig.2.4 : Transformation de coordonnées


Le passage des composantes du courant statorique dans un repère fixe ( α , β ) aux
composantes dans un repère tournant (d, q) se fait par la matrice de rotation:
 xsd   cos θ s sin θ s   xsα 
x =  .  (2-19)
 sq   − sin θ s cos θ s   xsβ 
Prenons par exemple le cas du courant statorique
L'amplitude complexe du courant statorique dans le repère (d,q) peut s'écrire:
1 1
isdq = (isd + j.isq ) = (isα + j.isβ ).e − jθs (2-20)
2 2
de même l'amplitude complexe du courant statorique dans le repère ( α , β ) peut s'écrire:
1 1
isαβ = (isα + j.isβ ) = (isd + j.isq ).e jθ s (2-21)
2 2
c) Choix du repère dq
Jusqu'à présent, nous avons exprimé les équations et les grandeurs de la machine dans un
repère dq qui fait un angle électrique θ s avec l’axe de la phase a du stator que nous avons pris
comme référence. Il fait également un angle électrique θ r avec le rotor. Mais il n'est pas défini
par ailleurs, c'est à dire qu'il est libre. Il existe trois choix important : on peut fixer le repère
dq au stator, au rotor ou au champ tournant. Rappelons que le repère dq est le repère mobile,
c'est-à-dire qu'il nous appartient de calculer les angles des transformations de θ s et θ r afin
d'effectuer les rotations. On peut donc le lier à un référentiel mobile comme le champ
tournant.
Le champ tournant est le champ crée par le bobinage statorique et qui tourne, à la vitesse de
synchronisme [8]. Il est symbolisé par le vecteur flux statorique. On parle de vecteur alors
qu'en vérité on a tout un champ. Le vecteur permet de donner une idée visuelle de la phase et
du module d'amplitude du flux. Le flux rotorique, quant à lui, est représenté par un vecteur
flux rotorique qui tourne également à la même vitesse, c'est-à-dire au synchronisme. En effet,

- 29 -
Contribution à l’étude des différentes stratégies de commande d’une machine asynchrone

c'est le rotor qui "glisse" par rapport au champ tournant. Mais, en régime permanent, les deux
flux, statorique et rotorique tournent à la même vitesse, au synchronisme.

2.2.5. Equations de la machine dans un référentiel lié au champ tournant en


régime quelconque.
dθ s
Choisissons de fixer le repère dq au champ tournant. Notons ωs = que nous appellerons
dt
pulsation statorique, bien que le régime puisse être quelconque (transitoire non sinusoïdal).
dθ dθ
De même, nous noterons ωr = r la pulsation rotorique et ω = ωs − ωr = = pΩ , la
dt dt
pulsation mécanique.
a) Equations électrocinétiques
Les deux équations matricielles (2-6) et (2-7) suivantes exprimant les tensions sur les
différents enroulements peuvent être ramenées à deux équations complexes
d φ sαβ
v sαβ = Rs .i sαβ + (2-22)
dt
et pour le rotor
d φ rαβ
0 = Rr .i rαβ + (2-23)
dt
En appliquant la transformation de coordonnées définies précédemment,
φ sdq = φ sαβ e − jθ ⇒ φ sαβ = φ sdq e jθ
s s

d φ sαβ d φ sdq
d’où = e jθs + jωs φ sdq e jθs en multipliant membre à membre par e− jθs et en omettant
dt dt
par la suite on l’indice dq, on obtient les équations de tensions statorique et rotorique :
dφ s
u s = Rs i s + + jωs φ s (2-24)
dt
dφ r
0 = Rr i r + + j (ωs − ω )φ r (2-25)
dt
b) Expression des flux totalisés en fonction des courants
Après quelques calculs, les vecteurs φ s et φ r peuvent s’écrire :

φ s = Ls i s + Lsr i r (2-26)

φ r = Lr i r + Lsr i s (2-27)

ce qui donne sous forme matricielle :


φ s   Ls Lsr  i s 
 = . (2-28)
φ r   Lsr Lr  i r 

où Ls , Lr et Lsr représentent les inductances cycliques des enroulements

- 30 -
Chapitre 2 : Modélisation du système à régler

c) Couple électromagnétique
En remplaçant dans l’équation précédente les vecteurs complexes flux par leurs expressions
en fonction des courants, des inductances et de la position angulaire θ s , on aboutit à
l’expression suivante du couple.
Ce = pℑm(φ s i s )
*
(2-29)

d) Résumé
Les équations régissant le fonctionnement en régime quelconque d’une machine asynchrone à
cage dans un référentiel lié au champ tournant ωs sont résumées comme suit :
dφ s
u s = Rs i s + + jωs φ s (2-24)
dt
dφ r
0 = Rr i r + + j (ωs − ω )φ r (2-25)
dt
φ s = Ls i s + Lsr i r (2-26)
φ r = Lr i r + Lsr i s (2-27)

pLsr
Ce = (φdr iqs − φqr ids ) = p(φds iqs − φqs ids ) (2-29)
Lr
dΩ
J = Ce − Cr (2-11)
dt
Ces équations peuvent s’écrire en séparant les deux composantes des grandeurs complexes.
dφds 1 L
uds = Rs ids + − ωsφqs (2-30) ids = φds − sr φdr (2-35)
dt σ Ls σ Ls Lr
dφqs 1 L
uqs = Rs iqs + + ωsφds (2-31) iqs = φqs − sr φqr (2-36)
dt σ Ls σ Ls Lr

0 = Rr idr + dr − ωrφqr (2-32) i = 1 φ − Lsr φ (2-37)
dt σ Lr σ Ls Lr
dr dr ds

dφqr
0 = Rr iqr + + ωrφdr (2-33) i = 1 φ − Lsr φ (2-38)
dt qr
σ Lr
qr
σ Ls Lr
qs

L
Ce = p sr (φdr iqs − φqr ids ) (2-34) dΩ
Lr J = Ce − Cr (2-11)
dt
L2sr
On définit σ = 1 − coefficient de dispersion de Blondel, Lsg = σ Ls inductance de fuite et
Ls Lr
Lr
Tr = constante de temps de l’enroulement rotorique
Rr

2.2.6. Modélisation de la machine en régime permanent


a) Mise en équations
Si les tensions d’alimentation sont triphasées équilibrées, on peut écrire

- 31 -
Contribution à l’étude des différentes stratégies de commande d’une machine asynchrone


vas = Vˆs cos(ωs t )

 2π
vbs = Vˆs cos(ωs t − ) (2-39)
 3
 2π
vcs = Vs cos(ωs t + 3 )
ˆ

En choisissant de fixer le repère dq au champ tournant. Avec les notations


dθ dθ dθ
ωs = s , ωr = r , ω = = pΩ = ω s − ω r
dt dt dt
on a
vds = Vˆs cos(ωs t − θ s )
 (2-40)
vqs = Vˆs sin(ωs t − θ s )
Les équations (2-24) et (2-25) deviennent en éliminant le terme d/dt :
v s = Rs i s + jωs φ s
 (2-41)
0 = Rr i r + jgωs φ r
b) Schéma équivalent avec circuits couplés
On aboutit alors au schéma de la figure suivante qui traduit les équations précédentes

Fig.2.5 : Schéma par phase en régime permanent.

Bien que les fuites magnétiques soient prises en compte, le schéma avec circuits couplés est
peu utilisé ; on lui préfère des schémas faisant intervenir les inductances de fuites.
Il existe une infinité de possibilités. Les deux schémas suivants permettent d’éliminer un
paramètre, ce qui conduit à un schéma équivalent élémentaire. Les déterminations
expérimentales des éléments sont plus faciles à réaliser[8]. Les lois de commande sont plus
simples à élaborer, il s’agit des schémas avec :
 Fuites localisées au secondaire ou rotor
 Fuites localisées au primaire ou stator
c) Schéma ramené au stator avec inductance de fuites localisées au rotor
Dans le cas d’une inductance de fuites localisées au rotor, le schéma de la figure 2.5 est
équivalent au schéma de la figure 2.6

- 32 -
Chapitre 2 : Modélisation du système à régler

Fig.2.6: Schéma équivalent ramené au stator avec inductance de fuites localisées au rotor.
d) Schéma ramené au stator avec inductance de fuites localisées au stator
Dans le cas d’une inductance de fuites localisées au stator, le schéma de la figure 2.5 est
équivalent au schéma de la figure 2.7.

Fig.2.7 : Schéma équivalent ramené au stator avec inductance de fuites localisées au stator.

2.2.7. Diagramme fonctionnel


En utilisant la transformation de Laplace, il est possible de dessiner un schéma fonctionnel de
la Machine asynchrone (Fig.2.8)

Fig.2.8 : Modèle de la machine asynchrone

Le schéma ci-dessus représente un écran de travail obtenu sous MATLAB/SIMULINK qui


résulte de la mise en équations de la machine, s représente ici la variable de Laplace.

- 33 -
Contribution à l’étude des différentes stratégies de commande d’une machine asynchrone

Les entrées :
 Vds (1 ) , Vqs (2 ) , wS (4) : composantes et pulsation de la tension d’alimentation
 le couple résistant Cr (3) , caractéristique de la charge
Les sorties:
 Ids (1 ) , Iqs (2 ) composantes du courant moteur, grandeurs accessibles
 Cem(3 ) : couple moteur (Ce)
 Ω (4 ) vitesse de rotation (W).
C’est ce modèle qui sera implanté sous MATLAB et qui permettra d’effectuer les différentes
simulations. On passera des grandeurs réelles aux vecteurs complexes et inversement en
utilisant les relations de passage.

2.3. MODELISATION DU CONVERTISSEUR DE FREQUENCE


2.3.1. Généralités
Pour l’alimentation à fréquence variable d’une machine asynchrone, on distingue deux
principaux types de convertisseur de fréquence.
D’une part, on parle de convertisseur de fréquence à circuit intermédiaire à courant continu et
d’autre part de convertisseur de fréquence à circuit intermédiaire à tension continue. Dans le
premier cas, le courant statorique est imposé à la machine par les commutations d’un
onduleur, ce principe d’alimentation convient principalement aux installations de grande
puissance, avec une inertie importante. Pour des installations de faible et moyenne puissance,
l’usage d’un convertisseur de fréquence à circuit intermédiaire à tension continue est
intéressant. La tension statorique de la machine est imposée par pulsation avec modulation de
largeur d’impulsion en durée (PWM : Pulse Width Modulation) de la tension continue du
circuit intermédiaire[9].
Ainsi on peut imposer une tension statorique d’onde fondamentale sinusoïdale à fréquence
variable.

2.3.2. Principe de la conversion


Dans le cas d’une alimentation par un onduleur à transistors, l’amorçage et l’extinction sont
commandés par la base du transistor. Le principe de la conversion est illustré par la figure
suivante :

- 34 -
Chapitre 2 : Modélisation du système à régler

Comparaison
2
Ucm Ur
1

-1

-2
0 0.002 0.004 0.006 0.008 0.01 0.012 0.014 0.016 0.018 0.02
Commande k1
2

-1

-2
0 0.002 0.004 0.006 0.008 0.01 0.012 0.014 0.016 0.018 0.02
Sortie PWM
500

-500
0 0.002 0.004 0.006 0.008 0.01 0.012 0.014 0.016 0.018 0.02

t[s]

Fig.2.9 : Stratégie du PWM


La tension de commande ucm est comparée avec une tension de référence ur en forme de dent
de scie fournie par un oscillateur. La différence entre les tensions ucm et ur (ucm-ur) est
appliquée à une bascule de shmitt (ou trigger) qui possède un point de basculement à
ucm- ur = 0.
Le temps d’enclenchement et déclenchement est caractérisé respectivement par :
c = 1 et c = -1.
Ainsi on obtient une tension alternative variant par gradins en fonction du temps. Plus, la
fréquence de pulsation est grande, plus la valeur moyenne de la tension est glissante, varie
sinusoïdalement en fonction du temps.
[V] Allure des trois tensions d'entrée
400

V1 V2 V3
300

200

100

-100

-200

-300

-400
0 0.002 0.004 0.006 0.008 0.01 0.012 0.014 0.016 0.018 0.02
t[s]

Fig.2.10 : Valeur moyenne des tensions

- 35 -
Contribution à l’étude des différentes stratégies de commande d’une machine asynchrone

2.3.3. Fonction de transfert de l’organe de commande


Soit le schéma bloc de l’organe de commande :

Fig.2.11 : Schéma bloc de l’organe de commande


La tension statorique u s est influencée par une variation de la commande u cm après un certain
retard Tr, ce retard varie statistiquement entre 0 et la période de pulsation de l’onduleur Tp [1].
On peut écrire :
Tr ( x ) = x avec x ∈ [0, Tp ]

En faisant la moyenne sur la période de pulsation Tp , on obtient :


1 Tp 1 1
Tcm =
Tp ∫
0
xdx = Tp =
2 2 fp
(2-42)

où fp est la fréquence de pulsation de l’onduleur. Le temps Tcm peut être considéré comme un
temps mort, de sorte que la fonction de transfert de l’onduleur munie de sa commande est de
la forme :
kcm
Gcm ( s ) = (2-43)
1 + pTcm
Le facteur de transfert kcm est la tension continue au circuit intermédiaire correspondant à la
tension maximale fournie par l’onduleur. Sous-forme d’équation, cette fonction peut s’écrire :
du s 1 k
=− u s + cm u cm (2-44)
dt Tcm Tcm
Le modèle de la machine asynchrone (Fig.2.8) et le modèle du convertisseur de fréquence qui
seront implantés sous MATLAB7 et qui permettra d’effectuer les différentes simulations.

2.4. SIMULATION DU MODELE DE LA MACHINE ASYNCHRONE MUN


IE DE SA COMMANDE

2.4.1. Données numériques


Nous allons montrer le comportement au démarrage d’une machine asynchrone :
• Alimentée par une source purement sinusoïdale
• Alimentée par un onduleur de tension à commande PWM
pour valider le modèle. Pour ce faire les données numériques suivantes concernant la machine
asynchrone munie de son convertisseur de fréquence nous sont fournies [6],[10].
a) Machine asynchrone
Tension nominale : .......................................................................................... Un = 220/380[V]
Courant nominal : ...................................................................................................... In = 25[A]
7
MATLAB : Matrix Laboratory, logiciel de calculs scientifiques

- 36 -
Chapitre 2 : Modélisation du système à régler

Puissance : .................................................................................................................. P = 4[kW]


Moment d’inertie des masses tournantes : .............................................................. J = 0,35kgm²
Nombre de paires de pôles : ................................................................................................. p = 2
Inductance mutuelle cyclique :...............................................................................Lsr = 47,3mH
Inductance rotorique cyclique : .................................................................................. Lr = 50mH
Inductance statorique cyclique : ................................................................................. Ls = 50mH
Résistance rotorique : ...............................................................................................Rr = 0,35 Ω
Résistance statorique : ..............................................................................................Rs = 0,29 Ω
b) Convertisseur de fréquence
Tension du circuit intermédiaire : ............................................................................. ue = 1,1 p.u
Fréquence de pulsation : ............................................................................................fp = 10 kHz
Constante de temps équivalente de l’onduleur muni de son organe de commande : Tcm = 50µs

2.4.2. Résultats de la simulation


a) Démarrage à vide d’une MAS alimentée par une source sinusoïdale

Fig.2.12 : Comportement au démarrage à vide d’une MAS alimentée par une source sinusoïdale

- 37 -
Contribution à l’étude des différentes stratégies de commande d’une machine asynchrone

b) Démarrage à vide d’une MAS alimentée par un onduleur PWM

Fig.2.13 : Comportement au démarrage à vide d’une MAS alimentée par un onduleur PWM

CONCLUSION
Les deux figures montrent successivement le comportement au démarrage à vide d’une
machine asynchrone triphasée alimentée par une source purement sinusoïdale et un onduleur
de tension à commande PWM.
Le régime transitoire dure environ 0.7s, On reconnaît le classique appel de courant au
démarrage. Après sa disparition, le régime permanent est atteint et il reste le courant
correspondant au comportement inductif du moteur à vide.
L’oscillation de couple est l’élément marquant de cet oscillogramme, Il faudra donc prendre
garde au dimensionnement du couplemètre utilisé si on ne veut pas le détruire. Après
disparition du régime transitoire, le couple tend vers zéro puisque l’on a annulé le couple
résistant.
Les oscillations du couple se font évidemment ressentir sur l’évolution de la vitesse qui en
régime permanent se stabilise à 157 rad/s puisque le moteur possède 2 paires de pôles.
Pour une alimentation avec un onduleur de tension, on observe des petites oscillations autour
de la valeur fondamentale pour le courant et le couple aussi bien en régime transitoire qu’en
régime permanent. Ce phénomène est dû aux harmoniques provoqués par la commutation
dans l’onduleur (cf. Fig.2.10). On peut diminuer l’effet de ces harmoniques par des stratégies
de commande.
Les trois chapitres qui vont suivre traiteront les différentes stratégies de commande de la
machine asynchrone. Nous mettrons en œuvre entre autres la commande scalaire, la
commande vectorielle et la commande par contre-réaction d’état.

- 38 -
Chapitre 3 : Commande scalaire de la machine asynchrone

CHAPITRE 3

COMMANDE SCALAIRE DE LA MACHINE ASYNCHRONE.

INTRODUCTION
Le modèle inverse d’une machine tournante nous conduit à contrôler le couple pour imposer
la vitesse de rotation ou la position de l’arbre. Plusieurs commandes scalaires existent selon
que l’on agit sur le courant ou sur la tension. Elles dépendent surtout de la topologie de
l'actionneur utilisé (onduleur de tension ou de courant). L'onduleur de tension étant
maintenant le plus utilisé en petite et moyenne puissance, c'est la commande en V/f (V sur f)
qui est la plus utilisée[11].
Rappelons que la pulsation du rotor d’un moteur asynchrone est :
ω 2π f
Ω = Ω s (1 − g ) = (1 − g ) = (1 − g ) (3-1)
p p
Avec
g : glissement
p : nombre de paires de pôles
Ω : pulsation du rotor (en rd/s)
Ω s : Pulsation de synchronisme (en rd/s)
f : fréquence de la tension d’alimentation (Hz)
ω : pulsation de la tension d’alimentation (en rd/s)
Le réglage de la vitesse de rotation du moteur peut donc être obtenu par :
• Action sur le nombre de paires de pôles
• Action sur la fréquence de la tension d’alimentation statorique
• Action sur le glissement
Les méthodes empiriques de réglage de vitesse sont basées surtout au fonctionnement à
vitesse quasiment constante, c’est à dire en régime permanent.

3.1. GRANDEURS DE REGLAGE DU COUPLE EN REGIME PERMANENT


Le schéma équivalent ramené au stator avec inductance de fuites localisées au rotor en régime
permanent nous permet d’obtenir les expressions du couple (démonstration, voir annexe A) :
 En fonction du flux statorique :
Rr
2
L  ωr
Ce = 3p  sr  φs2 2
(3-2)
 Ls   Rr 
  + (σ Lr )
2

 ωr 
 En fonction du flux rotorique :
ωr
Ce = 3pφr2 (3-3)
Rr

- 39 -
Contribution à l’étude des différentes stratégies de commande d’une machine asynchrone

Remarque
Pour des fonctionnements au voisinage du synchronisme, on peut en général considérer :
2
 Rr 
  >> (σ Lr ) et la première relation peut donc s’écrire
2

ω
 r
2
L  ω
Ce ≈ 3p  sr  φs2 r (3-4)
 Ls  Rr
Des deux expressions précédentes, il en résulte que les grandeurs de réglage du couple sont :
- La pulsation rotorique ωr .
- Les flux totalisé φs ou φr .
Il reste à résoudre les deux problèmes suivants :
 Comment imposer la pulsation rotorique ωr sachant qu’en règle générale, les
grandeurs électriques rotoriques sont inaccessibles? Pour cela, on utilisera la relation
naturelle d’auto-pilotage des machines d’induction à savoir : ωr = ωs − pΩ = gωs avec
ωs grandeur imposable et Ω grandeur mesurable.
 Comment imposer les flux totalisés φs ou φr . et à quelle valeur? Les flux seront
contrôlés en boucle ouverte à partir des grandeurs électriques statoriques (courants ou
tensions).
Les stratégies de commande couramment utilisées sont :
- D’une vitesse nulle à la vitesse nominale, on maintiendra le flux constant à sa valeur
maximale pour minimiser les pertes. Pour cette plage de fonctionnement, on disposera
du couple nominal de la machine.
- Pour des vitesses supérieures à la vitesse nominale, on diminuera le flux dans la
machine. Pour cette plage de fonctionnement, on disposera de la puissance apparente
nominale de la machine.
On en déduit le schéma synoptique de la commande suivant :

Fig.3.1 : Schéma de principe du contrôle scalaire de la machine asynchrone.

- 40 -
Chapitre 3 : Commande scalaire de la machine asynchrone

3.2. COMMANDE SCALAIRE EN TENSION DE LA MACHINE


3.2.1. Principe
Son principe est de maintenir V/f = Constant ceci se traduit en fait à garder le flux constant.
Le contrôle du couple se fait par l'action sur le glissement, l’expression du couple de la
formule (3-2) devient en fonction du glissement :
Rr
2
L  gωs
Ce = 3p  sr  φs2 2
(3-5)
 Ls   Rr 
 + (σ Lr )
2

 gω s 
∂Ce Rr
Ce couple est maximal si = 0 , qui correspond à g =
∂g σ Lrωs
2
3p  Lsr  2
Cmax =   φs (3-6)
2σ Lr  Lr 

De plus si on néglige le terme Rs I s dans les enroulements, on obtient [6] :

1 Vs
φˆs = (3-7)
4, 44 N s f s

Le couple peut prendre alors la forme :

2
V 
Cmax = k. s  (3-8)
 fs 

On voit bien que le couple est directement proportionnel au carré du rapport de la tension sur
V 
la fréquence statorique  s  . En maintenant ce rapport constant et en jouant sur la fréquence
 fs 
statorique, on déplace la courbe du couple électromagnétique (en régime quasi-statique) de la
machine asynchrone.

Fig.3.2 : Déplacement des caractéristiques du couple en fonction de la vitesse et du glissement

- 41 -
Contribution à l’étude des différentes stratégies de commande d’une machine asynchrone

En fait, garder le rapport (V/f) constant revient à garder le flux constant. Quand la tension
atteint sa valeur maximale, on commence alors à décroître ce rapport ce qui provoque une
diminution du couple que peut produire la machine. On est en régime de "défluxage". Ce
régime permet de dépasser la vitesse nominale de la machine, on l'appelle aussi régime de
survitesse (partie Ω > Ωs de la figure).
La manière de réguler la vitesse de la machine en reconstituant la pulsation statorique à partir
de la vitesse et de la pulsation rotorique est présentée par le schéma de commande ci-dessous.

Fig.3.3 : Schéma de principe du contrôle scalaire de la tension

La vitesse qui est l'image du couple de la machine est issue du régulateur de vitesse. Si la
machine est chargée, la vitesse a tendance à baisser, le régulateur va fournir plus de couple
(donc plus de glissement) afin d'assurer cet équilibre. La pulsation statorique est donc
modifiée pour garder cet équilibre. La tension est calculée de manière à garantir le mode de
contrôle en V/f de la machine.

3.2.2. Elaboration de la commande


La tension statorique s’exprime en fonction du flux statorique par la relation complexe :
v s = Rs i s + jωs φ s (3-9)

Nous cherchons à établir les relations entre les flux et le module du courant statorique.
A partir du schéma équivalent ramené au stator avec inductance de fuites localisées au rotor
(fig.2.6), on aboutit à la relation suivante (pour la démonstration, voir annexe A) :
φ s 1 + jTrωr
is = (3-10)
Ls 1 + jσ Trωr
soit en module

Φ s 1 + (Trωr )2
Is = (3-11)
Ls 1 + (σ Trωr ) 2
Pour des caractéristiques de couple similaires dans la zone utile de fonctionnement, il apparaît
plus simple de contrôler le flux rotorique.

- 42 -
Chapitre 3 : Commande scalaire de la machine asynchrone

En remplaçant le courant complexe statorique par son expression déterminée précédente, on


obtient :
Rs φ s 1 + jTrωr
vs = + jωs φ s (3-12)
Ls 1 + jσ Trωr
Soit en module :
2 2
 Rs  RTω 
 − σ Trωr  +  s r r + 1
Vs = Φ sωs  Lsωs   Lsωs  (3-13)
1 + (σ Trωr ) 2
On conclut que pour imposer le flux statorique à partir de la tension Vs, il est nécessaire de
connaître les pulsations ωs et ωr ainsi que les paramètres de la machine (Rs, Ls, σ et Tr )

Fig.3.4 : Synoptique de commande en tension

La figure suivante représente, pour les faibles valeurs de la pulsation statorique, l’évolution de
la tension efficace statorique pour différentes valeurs de ωr .
Vs en [V]
55

50

45

40

35

30

25

20

15

ωr = 15 rad.s -1
10 ωr = 0 rad.s -1
ωr = -15 rad.s -1

5
0 5 10 15 20 25 30 35 40 45 50
ωs en rad.s -1

Fig.3.5 : Tension statorique en fonction de la pulsation statorique à flux statorique constant

En pratique, on se contentera le plus souvent d’une loi de commande simplifiée correspondant à


Rs I s = 0 , soit :

Vs = Φ sωs (4-14)
Il sera possible pour améliorer les performances, en particulier à basse vitesse, de majorer la tension Vs
d’une quantité proportionnelle à Is , le plus souvent en ignorant la phase.

- 43 -
Contribution à l’étude des différentes stratégies de commande d’une machine asynchrone

3.2.3. Schéma de l’asservissement


Avec le principe et la loi de commande élaborée ci-dessus, on aboutit alors au schéma complet suivant
pour la commande scalaire en tension.

Fig.3.6 : Schéma de la commande scalaire en tension de la machine asynchrone

Afin d'asservir la vitesse de rotation, on rajoute une boucle externe qui, à partir de l'erreur de
vitesse due au glissement, permet d'agir sur la fréquence des tensions statoriques.
Le correcteur de vitesse, généralement de type PI, permet d'estimer la pulsation rotorique. La
tension de sortie du correcteur notée ωr est additionnée à la tension image de la vitesse de
rotation ω et ceci de façon à obtenir la valeur adéquate pour la pulsation statorique.
La pulsation statorique est calculée par la relation : ωs = ωr + ω . C'est l'autopilotage
fréquentiel.
Le contrôle de l'amplitude des tensions est ici basé sur le modèle statique de la machine
asynchrone qui est uniquement valable en régime permanent. Lors des régimes transitoires,
les valeurs instantanées des courants ne sont pas contrôlées.

3.2.4. Simulation de la commande scalaire de la tension


Le système est bouclé par un régulateur PI dont la fonction de transfert est ici
k
GR ( p ) = k p + i , on applique une perturbation (représentée par une variation du couple
p
résistant, comme l’indiqué sur la figure). Les résultats sont donnés par la série des réponses
suivantes :

- 44 -
Chapitre 3 : Commande scalaire de la machine asynchrone

Couple résistant Cr(t) [Nm]


40

20

-20

-40
2 3 4 5 6 7 8 9 10

Flux rotorique Φr(t) [Wb]


0.87

0.86

0.85

0.84

0.83
2 3 4 5 6 7 8 9 10
t[s]

Couple électromagnétique Ce(t) [Nm]


40

20

-20

-40

-60
2 3 4 5 6 7 8 9 10

Vitesse Ω (t) [rad.s-1]


170

165

160

155

150
2 3 4 5 6 7 8 9 10
t[s]

Fig.3.7 : Caractéristiques des réponses en boucle fermée influencées par une variation du couple
résistant à partir d’un régime permanent

Les oscillogrammes ci-dessus représentent l’évolution respective du couple résistant, flux


rotorique, couple électromagnétique et vitesse de rotation instantanée à partir d’un régime
permanent. Le couple résistant a été modélisé comme enclenchement et déclenchement
brusque de charge, qui est le cas le plus défavorable. En réalité, la variation est aléatoire.

- 45 -
Contribution à l’étude des différentes stratégies de commande d’une machine asynchrone

On constate que quand la machine est chargée (saut du couple résistant), la vitesse a tendance
à baisser mais grâce au régulateur de vitesse, elle revient à sa position initiale. Ce dernier a
fourni plus de couple (donc plus de glissement), par reconstitution de la pulsation statorique
ωs afin d’assurer cet équilibre. La synthèse de ce régulateur de vitesse a été faite par
simulation du comportement du système.
Par application d’une variation du couple résistant, on observe une variation du flux rotorique.
Ce transitoire sur le flux se traduit par un temps d’établissement du couple électromagnétique.
Notons que la loi de commande utilisée ne tient pas compte la chute ohmique de tension
( Rs I s ). La commande en V/f se justifie à partir du schéma équivalent classique de la machine
asynchrone en négligeant la résistance statorique. L’approximation est bien justifiée à grande
vitesse (RsIs << Vs), elle ne l’est plus à petite vitesse puisque Rs I s est à peu près les mêmes
valeurs alors que Vs est beaucoup plus faible (V/f = Constant).
La synthèse de régulateur c’est à dire la détermination des coefficients k p et ki se fait par
simulation. En effet on introduit interactivement ces coefficients afin de rechercher la
performance du système. Pour ce comportement, on a k p = 0,35 et ki = 0, 225 .

3.3. CONTROLE SCALAIRE EN COURANT DE LA MACHINE


3.3.1. Principe
La différence avec la commande précédente, c’est que c’est un onduleur (commutateur) de
courant qui est utilisé. On impose directement des courants dans les phases de la machine. La
fréquence du fondamental est calculée de la même manière. Le dispositif est plus complexe
qu’un contrôle scalaire de la tension.

Fig.3.8 : Schéma de principe du contrôle scalaire du courant

3.3.2. Loi de commande


Pour contrôler le couple électromagnétique de la machine asynchrone, il faut maintenir le flux
statorique constant et contrôler la pulsation ωr . Etant donné que la machine est ici alimentée

- 46 -
Chapitre 3 : Commande scalaire de la machine asynchrone

en courant et non en tension, il est nécessaire de déterminer la loi de variation I s = f (ωr ) qui
permet de maintenir le flux φs constant. L'expression simplifiée de la loi I s = f (ωr ) est
donnée par (3-11).

Fig.3.9 : Loi de commande I s = f (ωr )


La loi I s = f (ωr ) est représentée par la courbe de la Figure 3.9.
40

35

30

25

20

15
-20 -10 0 10 20
ωr [rad/s]

Fig.3.10 : Caractéristique de la de commande I s = f (ωr )

3.3.3. Schéma complet de l’asservissement

Fig.3.11 : Schéma de la commande scalaire en courant de la machine asynchrone

La pulsation rotorique ωr est estimée grâce au correcteur PI. Pour déterminer la pulsation des
courants statoriques, il faut additionner l'image de la vitesse de rotation et l'image de la
pulsation rotorique. Ceci permet de vérifier l'équation ωs = ωr + ω et de réaliser l'autopilotage
fréquentiel.
La loi I s = f (ωr ) décrite précédemment permet de fixer l'amplitude des courants de
références. Le contrôle de l'amplitude des courants statoriques est ici basé sur le modèle de
statique de la machine asynchrone qui est uniquement valable en régime permanent. Lors des
régimes transitoires, les valeurs instantanées des courants ne sont pas contrôlées.

- 47 -
Contribution à l’étude des différentes stratégies de commande d’une machine asynchrone

4.3.4. Simulation de la commande scalaire du courant

Couple résistant Cr(t) [Nm]


40

20

-20

-40
2 3 4 5 6 7 8 9 10

Flux rotorique Φr(t) [Wb]


0.82

0.81

0.8

0.79

0.78
2 3 4 5 6 7 8 9 10
t[s]

Fig.3.12 : Comportement du circuit de réglage fermé suite à un saut du couple résistant

- 48 -
Chapitre 3 : Commande scalaire de la machine asynchrone

Les résultats de simulation précédents correspondent à une commande scalaire en couple par contrôle
des courants statoriques. On a la même interprétation qu’aux résultats de la commande en tension. La
stabilité du système est ici encore assurée grâce au régulateur de vitesse qui est dimensionné
aussi par simulation du comportement du système. Pour ce comportement, on a
k p = 0, 75 et ki = 0,325 .

CONCLUSION
Les principes de contrôle du couple électromagnétique de la machine asynchrone que nous
venons de décrire ont tous été élaborés à partir du modèle statique, valable en régime
permanent sinusoïdal.
La stabilité est assurée grâce au régulateur de vitesse. Notons que l’amplitude du couple
résistant est assez grande (cas défavorable), la compensation du glissement permet donc de
maintenir la vitesse constante de la machine entre le fonctionnement à vide et le
fonctionnement en charge. Mais comme nous l’avons vu, on a un système de réglage trop
lent. Ceci est dû au fait que le couple électromagnétique n'est pas contrôlé lors des régimes
transitoires.
Dans le cas où l'on désire parfaitement contrôler le couple électromagnétique même lors des
régimes transitoires, il faut contrôler en permanence l'amplitude et la position relative des
champs tournants statorique et rotorique, le contrôle vectoriel du couple électromagnétique est
un moyen de le faire et ce dernier qui fera l’objet du chapitre suivant.

- 49 -
Contribution à l’étude des différentes stratégies de commande d’une machine asynchrone

CHAPITRE 4

COMMANDE VECTORIELLE DE LA MACHINE


ASYNCHRONE

INTRODUCTION
Afin d'améliorer les performances du moteur lors des régimes transitoires, il existe des
commandes vectorielles. Le pilotage vectoriel de la machine asynchrone consiste à asservir la
position spatiale angulaire du flux rotorique à celle du flux statorique; en fonctionnement
moteur, c'est le champ statorique qui « tire » le champ rotorique. Ce type de pilotage permet
un excellent contrôle des paramètres couple et vitesse. Le couple est très élevé (supérieur au
couple nominal) même à vitesse nulle[12]. La complexité de ce type de commande vient du
fait qu’on ne dispose que des bornes des enroulements statoriques, pour maîtriser au niveau
du rotor, le flux et le courant actif, ces deux grandeurs étant fortement couplées.
Dans ce chapitre, après avoir montré le principe de la commande vectorielle suivie des
méthodes pour découpler les deux composantes du courant statorique, nous étudierons trois
circuits de réglage :
- Régulation du courant statorique
- Régulation du flux rotorique
- Régulation de vitesse

4.1. PRINCIPE DE LA COMMANDE VECTORIELLE


Le contrôle le plus primaire est celui des courants et donc du couple, puisque l'on a vu que le
couple pouvait s'écrire directement en fonction des courants (2-34) : Une fois que l'on maîtrise
la régulation du couple, on peut ajouter une boucle de régulation externe pour contrôler la
vitesse. On parle alors de régulation en cascade ; les boucles sont imbriquées l'une dans
l'autre. Il est évident que pour augmenter la vitesse, il faut imposer un couple positif, pour la
diminuer, il faut un couple négatif. Il apparaît alors clairement que la sortie du régulateur de
vitesse doit être la consigne de couple. Ce couple de référence doit à son tour être imposé par
l'application des courants. Le schéma fonctionnel ci-dessous illustre la mise en œuvre des
différents changements de repère pour réaliser l'auto-pilotage d'une machine asynchrone.

- 50 -
Chapitre 4 : Commande vectorielle de la machine asynchrone

Fig.4.1 : Schéma de principe de commande vectorielle d’une machine asynchrone


Cependant, la formule du couple électromagnétique est complexe, elle ne ressemble pas à
celle d'une machine à courant continu où le découplage naturel entre le réglage du flux et
celui du couple rend sa commande aisée. On se retrouve confronté à une difficulté
supplémentaire pour contrôler ce couple. La commande vectorielle pourrait régler ce
problème de découplage des réglages du flux à l'intérieur de la machine de celle du couple.
Nous avons vu que le couple en régime transitoire (quelconque) s'exprime dans le repère dq
comme un produit croisé de courants ou de flux(cf. équation 2-34)
On s'aperçoit que si l'on élimine le deuxième produit ϕ qr ids , alors le couple ressemblera fort à
celui d'une MCC. Il suffit, pour ce faire, d'annuler la composante du flux en quadrature. C’est
à dire, de choisir convenablement l’angle de rotation de Park de sorte que le flux rotorique
soit entièrement porté sur l’axe direct (d) et donc d’avoir ϕ qr = 0 , ainsi le flux rotorique se
réduit uniquement ϕ r = ϕdr .

Fig.4.2 : Diagramme illustrant le principe du controle vectoriel

- 51 -
Contribution à l’étude des différentes stratégies de commande d’une machine asynchrone

Conformément à ce diagramme, l’expression du couple (2-34) devient :


Lsr
Ce = p (ϕdr iqs ) (4-1)
Lr
Il convient de régler le flux en agissant sur la composante ids du courant statorique et on régule
le couple en agissant sur la composante iqs . On a alors deux grandeurs d'action comme dans le
cas d'un moteur à courant continu. Une stratégie consiste à laisser la composante iqs
constante. C'est-à-dire de fixer sa référence de manière à imposer un flux nominal dans la
machine. Le régulateur du courant s'occupe de maintenir le courant ids constant et égal à la
référence ( ids = ids _ ref ).
Le flux étant constant dans la machine, on peut imposer des variations de couple en agissant
sur le courant isq . Si l'on veut accélérer la machine, donc augmenter sa vitesse, on impose une
référence courant iqs positive. Le régulateur du courant iqs va imposer ce courant de référence
à la machine, d'où un couple positif. On peut également automatiser le pilotage de cette
référence de courant iqs en la connectant à la sortie d'un régulateur de vitesse. C'est ce dernier
qui pilotera le couple de référence et donc iqs puisqu'il agira au mieux de manière à asservir la
vitesse à une vitesse de consigne Ω .
La figure 4.1 résume cette régulation puisqu'elle représente le schéma de contrôle vectoriel de
la machine asynchrone avec une régulation de vitesse et la régulation des deux courants ids et
iqs . Ces deux courants sont régulés par deux boucles de courants dont les sorties sont les
tensions de références uds et uqs dans le repère dq .

4.2. ELABORATION DES LOIS DE COMMANDE


Pour établir les lois de commande, nous allons exprimer les tensions statoriques uds et uqs en
fonction des 2 grandeurs utiles ( iqs et φdr ) à la maîtrise du couple.

4.2.1. Orientation du flux rotorique


L’orientation du flux rotorique consiste à compenser sa composante φqr ( φr = φdr ). Les
expressions du flux statorique (2-26) et flux rotorique (2-27) deviennent respectivement :
φqs = Ls iqs + Lsr iqr
 (4-2)
φds = Ls ids + Lsr idr
et
φdr = φr = Lr idr + Lsr ids
 (4-3)
φqr = 0 = Lr iqr + Lsr iqs
et les équations des tensions au rotor (2-32) et 2-33) peuvent s’écrire:
 dφr
0 = Rr idr +
 dt (4-4)
0 = Rr iqr + ωrφr

- 52 -
Chapitre 4 : Commande vectorielle de la machine asynchrone

A partir de ces trois équations ((4-2) à (4-4)), on obtient l’équation suivante qui exprime
l’orientation du flux rotorique (Démonstration Cf. Annexe A) :
dφr Lsr 1
= ids − φr (4-5)
dt Tr Tr

4.2.1. Expressions des tensions de commande u d s e t u q s

a) Lois de mailles pour uds


Compte tenu des expressions (4-2) à (4-4) et en utilisant la transformation de Laplace,
l’équation (2-30) donnant la tension uds peut s’écrire (démonstration Cf. annexe A) :
 (1 + Tr . p) Lsr 
uds =  ( Rs + σ Ls . p) + . p  φdr − ωsσ Ls iqs (4-6)
 Lsr Lr 
Cette relation exprime la loi des mailles interne à la machine sur l’axe d en fonction des 2
grandeurs que nous avons choisies pour exprimer le couple. On y remarque le couplage entre
l’axe d et l’axe q.
b) Lois de mailles pour uqs
Compte tenu toujours des expressions (4-2) à (4-4) et en utilisant la transformation de
Laplace, l’équation (2-31) donnant la tension uqs peut s’écrire (démonstration Cf. annexe A) :
 1 + Tr . p Lsr 
uqs = ( Rs + σ Ls . p)iqs + ωs  σ Ls +  φdr (4-7)
 Lsr Lr 
Cette relation exprime la loi des mailles sur l’axe q en fonction des 2 grandeurs que nous
avons choisies pour exprimer le couple. On y remarque aussi le couplage entre l’axe d et
l’axe q.

4.2.2. Représentation des lois de mailles


La machine reçoit une alimentation en tension ( uds et uqs ) et donne en sortie les grandeurs
φdr et iqs choisies pour la régulation du couple

Fig.4.3 : Représentation simplifiée des lois de mailles

A partir des lois des mailles pour uds et uqs , on peut établir un schéma fonctionnel interne à la
machine en exprimant φds et iqs en fonction de uds et uqs .
De (4-6), on tire :
φdr = A.(uds + B.iqs ) (4-8)

- 53 -
Contribution à l’étude des différentes stratégies de commande d’une machine asynchrone

avec
1
A= et B = ωsσ Ls (4-9)
 1 + Tr . p Lsr 
( Rs + σ Ls . p ) L + .p
Lr 
 sr

et de (4-7), on tire :
iqs = C.(uqs − D.φdr ) (4-10)
avec
1  1 + Tr . p Lsr 
C= et D = ωs σ Ls +  (4-11)
( Rs + σ Ls . p)  Lsr Lr 

Le schéma ci-dessous résume les 2 équations (4-8) et (4-10) précédentes donnant φdr et iqs :

Fig.4.4 : Représentations des lois de mailles


La figure montre bien l’existence de couplage entrée-sortie, avant de synthétiser les différents
circuits de réglage, nous allons d’abord présenter des méthodes de découplage entrée-sortie.

4.3. DECOUPLAGE ENTREE-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.
Différentes techniques existent : découplage utilisant un régulateur [13], découplage par
retour d'état, découplage par compensation. Nous présentons ces deux derniers types de
découplage.

4.3.1. Découplage par retour d'état


Principe [13], [14]
Soit le modèle :
 X& = AX + BU
 (4-12)
Y = CX
où X ∈ ℜ n , Y ∈ ℜ m , U ∈ ℜ m , les matrices B et C sont de rang maximal et la sortie Y est
commandable, ce qui s’exprime par la relation :

- 54 -
Chapitre 4 : Commande vectorielle de la machine asynchrone

rang[CB, CAB, …, CAn-1B] = m (4-13)


L'objectif est de déterminer un retour d'état :
U = KX+LW (4-14)
W désignant le nouveau vecteur d'entrée (Fig.4.4), qui découple le système de façon à que la
sortie Yi, ne dépende que de l'entrée Wi.

Fig.4.5 : Principe de découplage par retour d’état


L’équation d’état du système corrigé s’écrit :
 X& = ( A + BK ) X + ( BL)W
 (4-15)
Y = CX
et la matrice de transfert entre l'entrée W et la sortie Y:
T = C ( pI − ( A + BK ))−1 BL avec Y = T ( p )W (4-16)
II 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 s'exprime
sous la tonne :
Rang[CiB, CiAB, …, CiAn-1B] = 1 (4-17)
La sortie Y du système étant commandable. il en est de même de yi. c'est à dire que si la
condition (5-14) est vérifiée, alors pour tout i dans {1,…,m}, il existe
d i ∈ {0,1,..., n − 1} tel que : Ci Adi B ≠ 0, ∀α ∈ N , α < di , Ci Aα B = 0
Par dérivations successives des relations (5-13), nous obtenons pour la i-ième sortie :
 y&i = Ci ( A + BK ) X + Ci BLW = Ci AX

yi = Ci A( A + BK ) X + Ci ABLW
 && = Ci A2 X

M (4-18)
 y ( di ) = C Adi −1 ( A + BK ) X + C Adi −1 BLW = Ci Adi X
 i i i

 yi( d + )
= Ci A ( A + BK ) X + Ci Adi BLW
d
(Ci Adi B ≠ 0)

i 1 i

Cette dernière équation, pour laquelle Ci Adi B ≠ 0 fixe la valeur de di. En écrivant cette
relation pour chacune des sorties, nous obtenons :

- 55 -
Contribution à l’étude des différentes stratégies de commande d’une machine asynchrone

 y1( d1 +1)    C1 Ad1 +1   C1 Ad1    C1 Ad1 


        
 M   M   M    M 
 y ( di +1)  =   Ci Adi +1  +  Ci Adi  BK  X +  Ci Adi  BLW (4-19)
 i        
 M   M   M    M 
 y ( d m +1)    C Adm +1   C Adm    dm 
 m   m   m    Cm A 
que nous pouvons mettre sous la forme :
Y * = ( A* + B* K ) X + B* LW (4-20)
Si la nouvelle matrice d’application des entrées B* est inversible, le choix :
K = −( B* )−1 A* et L = ( B* )−1 (4-21)

conduit à Y * = W , soit la relation entrées-sorties découplées :


1
∀i ∈ {1,..., m}, Yi ( p ) = Wi ( p ) (4-22)
p di +1
Application
En exprimant les flux ( φds et φqs ) de (2-35)-(2-36) dans (2-30)-(2-31) et celle de l’orientation
du flux rotorique (4-5), on peut écrire sous-forme matricielle les équations d’état de la
machine (Démonstration CF. Annexe A ).
En effet,
 L2sr Lsr
 di ( Rs + Rr 2 ) Rr
Lr L2r 1
 ds = − ids + ωs iqs + φdr + uds
 dt σ Ls σ Ls σ Ls

 L
ωs sr
 diqs = − Rs i − ω i − Lr
φdr +
1
uqs
(4-23)
 dt σ Ls
qs s ds
σ Ls σ Ls


 dφ L 1
 dr = sr ids − φdr
 dt Tr Tr
Nous avons alors la forme :
 X& = AX + BU
 (4-24)
Y = CX
 Rs L2r + Rr L2sr Lsr Rr   1 
− ωs   0 
 σ Ls L2r σ Ls L2r   ids   σ Ls 
 Rs Lsr     1   uds 
A= −ωs − −ωs  ; X =  iqs  ; B =  0 ; U =   (4-25)
 σ Ls σ Ls Lr  φ   σ Ls   uqs 
   dr   
Lsr 1
 0 −   
 Tr Tr   0 0 

- 56 -
Chapitre 4 : Commande vectorielle de la machine asynchrone

 ids  1 0 0
Le vecteur de sortie est : Y =   = CX où la matrice d’observation est C =  
 iqs  0 1 0
Et avec la procédure décrite précédente, nous avons
 1 
 0 
 σ Ls 
 1   1 
C1 B = (1 0 0 )  0 = 0 ≠ 0 (4-26)
 σ Ls   σ Ls 
 
 
 0 0 
et
 1 
 0 
 σ Ls 
 1   1 
C2 B = ( 0 1 0 )  0  = 0 ≠0 (4-27)
 σ Ls   σ Ls 
 
 
 0 0 
d’où
d1 = d 2 = 0 (4-28)

Nous pouvons déterminer facilement les matrices A* et B*

 Rs L2r + Rr L2sr Lsr Rr 


− ωs 
 C1 A   σ Ls L2r σ Ls L2r 
A =
*
= (4-29)
 C2 A   −ωs
R
− s −ωs
Lsr 
 
 σ Ls σ Ls Lr 

 1 
 0 
 C B  σ Ls
B* =  1  =   (4-30)
 C2 B   0 1 
 σ Ls 

Les matrices de gain K et L assurant le découplage seront donc :
 Rs L2r + Rr L2sr Lsr Rr 
 −σ Lsωs − 
 L2r L2r   σ Ls 0 
* −1 *
K = −( B ) A = et L = ( B* ) −1 =   (4-31)
 Lsr   0 σ Ls 
 σ Lsωs Rs ωs 
 Lr 
Nous obtenons le système découplé suivant :

- 57 -
Contribution à l’étude des différentes stratégies de commande d’une machine asynchrone

1 1
y1 = w1 soit ids = wds
s s
(4-32)
1 1
y2 = w2 soit iqs = wqs
s s
en tenant compte de (4-5), on a
Lsr
φdr = wds (4-33)
p (1 + pTr )

4.3.2. Découplage par compensation[15]


Décomposons les tensions de commande uds et uqs

uds = uds1 − eds


 (4-34)
uqs = uqs1 − eqs
telles que Vds1 n’est fonction que de ids et Vqs1 n’est fonction que de iqs. On obtient à partir des
équations d’état (4-23) :
 L2 di   L 
uds =  ( Rs + Rr sr2 )ids + σ Ls ds  − ωsσ Ls iqs + sr2 Rrφdr  (4-35)
 Lr dt   Lr 
 di   L 
uqs =  Rs iqs + σ Ls qs  −  −ωsσ Ls ids − ωs sr φdr  (4-36)
 dt   Lr 
d’où
L2sr di
uds1 = ( Rs + Rr 2
)ids + σ Ls ds (4-37)
Lr dt
diqs
uqs1 = Rs iqs + σ Ls (4-38)
dt
Lsr
eds = ωsσ Ls iqs + Rrφdr (4-39)
L2r
Lsr
eqs = −ωsσ Ls ids − ωs φdr (4-40)
Lr
Les tensions uds et uqs sont reconstituées à partir des nouvelles tensions de commande
uds1 et uqs1 .

- 58 -
Chapitre 4 : Commande vectorielle de la machine asynchrone

Fig.4.6 : Reconstitution des tensions de commande


Nous avons un nouveau système :

Fig.4.7 : Système découplé


On aura alors deux nouvelles variables de commande uds1 et uqs1 qui permettent de réaliser le
découplage entrées-sorties.
En utilisant les relations donnant le flux et le couple,
Lsr 3L
φdr = ids et Ce = p sr φdr .iqs
1 + p.Tr 2 Lr
on obtient :
k1
φdr = uds1 (4-41)
(1 + p.Tr )(1 + p.T1 )
k2
Ce = uqs1 (4-42)
1 + p.T2
Lsr σ Ls 3Lsr σL
où k1 = 2
; T1 = 2
; k2 = p φr et T2 = s
L L 2 Lr Rs
Rs + Rr sr
2
Rs + Rr sr
2
Lr Lr

- 59 -
Contribution à l’étude des différentes stratégies de commande d’une machine asynchrone

Fig.4.8 : Découplage du flux et couple


On remarque qu’avec cette méthode, 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 l’action et donc une
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 la
simulation de la commande.

4.4. SCHEMA DE LA COMMANDE VECTORIELLE


A partir de la modélisation élaborée au chapitre 2 et des équations de découplage données au
paragraphe 4.4, nous pouvons élaborer un schéma de principe de la commande vectorielle à
flux rotorique orienté sur l'axe d (Fig.4.9).

Fig.4.9 : Schéma de principe de la commande vectorielle à champ orienté

4.4.1. Transformations directes et inverses


L'une permet, à partir des tensions biphasées (uds , uqs ) dans le repère dq, de calculer les
tensions triphasées ua , ub , uc à imposer à la machine via l'onduleur à MLI (Modulalion de
Largeur d'Impulsion).

- 60 -
Chapitre 4 : Commande vectorielle de la machine asynchrone

La deuxième transformation calcule à partir des trois courants de ligne de la machine, les
courants biphasés ( I ds , I qs ) dans le repère dq qu'il faut réguler.

 1 
 cos(θ ) − sin(θ ) 
 2
I dq 0 = [ P (θ ) ] I abc
−1
 2π 2π 1 
avec P (θ ) =  cos(θ − ) − sin(θ − )  (4-43)
uabc = [ P (θ )] udq 0 
3 3 2
 4π 4π 1 
 cos(θ − 3 ) − sin(θ − 3 ) 
 2
Ces deux transformations nécessitent le calcul de l'angle θ s de l'axe d par rapport au stator qui
est obtenue par intégration de la pulsation statorique ωs

4.4.2. Calcul de l'angle de la transformation de Park θ s et de pulsation


statorique ωs :

L’estimation du flux sera réalisable sous réserve que l’on puisse faire la transformation de
PARK, ce qui suppose la connaissance de l’angle θ s .
A partir de :
0 = Rr iqr + ωrφdr

0 = Lr iqr + Lsr iqs
on tire
Lsr iqs
Rr (− )
Rr iqr Lr Lsr iqs
ωr = − =− = (4-44)
φdr φdr Trφdr
et par l’orientation sur le flux, φr = φdr
Lsr iqs
d’où : ωr = ou en utilisant le lieu références au lieu des mesures.
Trφr
Ainsi le calcul de l'angle des transformations directes inverses peut se faire en sommant la
pulsation de glissement avec la vitesse électrique, ce qui donne la pulsation statorique puis en
intégrant cette dernière, on obtient θ s :

Lsr iqs
θ s = ∫ ωs dt = ∫ (pΩ + )dt (4-45)
Trφr
θ s sera donc estimé à partir de la mesure de la vitesse, des courants statoriques qui sont
accessibles et le flux rotorique (estimé). Pour la simulation, on utilisera la relation
1
θ s = ωs [2π ] et pour éviter la division par zéro, on ajoutera à φr un nombre ε (très petit).
s

4.4.3. Estimation du flux rotorique


Seules les grandeurs statoriques sont accessibles, les grandeurs rotoriques, elles, ne le sont
pas, il faut donc pouvoir les estimer à partir des grandeurs statoriques.

- 61 -
Contribution à l’étude des différentes stratégies de commande d’une machine asynchrone

D’après la transformation que nous avons fait, le flux rotorique sera estimé à partir de
l’équation de l’orientation du flux rotorique (4-5) :
L dφ d
on tire r . r + φr = Lsr ids qui peut être réécrit en utilisant la notation de Laplace ( p = ) :
Rr dt dt
Lsr
φr = ids (4-46)
1 + Tr p
Le flux φr peut être estimé à partir du courant ids grandeur statorique accessible à partir de la
mesure des courants réels statoriques sous réserve de la réalisation de la transformation de
PARK. Réguler ce courant à une valeur constante c’est garantir le flux rotorique constant.
On remarque bien qu’en régime permanent, φr = Lsr ids

4.4.4 Schéma complet de la commande vectorielle directe à flux rotorique


orienté
Il nous reste à examiner les compensations, c’est à dire les régulateurs. La figure suivante
montre le schéma complet de la commande vectorielle de type direct : le flux rotorique est
asservi à une consigne de flux.

Fig.4.10 : Boucles d’asservissement de la commande vectorielle directe à flux rotorique orienté


Nous utilisons les estimateurs de flux et de pulsation statorique déterminés précédemment.
Les grandeurs mesurées dont nous avons besoin sont les suivantes :
- vitesse Ω mesurée avec une dynamo tachymètrique monté directement sur l'arbre
- Les courants ia , ib et ic de phase de la machine.

- 62 -
Chapitre 4 : Commande vectorielle de la machine asynchrone

4.5. SYNTHESE DES REGULATEURS


4.5.1. Régulateur de flux
Il prend en entrée le flux de référence et son estimation. Il agit sur la tension de référence uds1
Structure de réglage
D’après l’équation (4-41) proposée, nous avons une fonction de transfert de second ordre, soit
un régulateur proportionnel-intégral classique de type : PI
1 + pTn k
GR ( p ) = = kp + i (4-47)
pTi p
On aura alors la structure de réglage suivante

Fig.4.11 : Structure de réglage de flux rotorique


Synthèse de régulateur
Pour assurer la rapidité, on va compenser la plus grande constante de temps du système par le
numérateur de la fonction de transfert du régulateur :
En effet posons Tp = min(Tr , T1 ) et Tg = max(Tr , T1 );

D’où Tn = Tg
La FTBO8 s’écrit alors
k1 1
G0 ( p) = (4-48)
Ti p(1 + pTp )
Et la FTBF9
k1
G0 ( p ) TpTi
H ( p) = = (4-49)
1 + G0 ( p ) p 2 + 1 p + k1
Tp TpTi
que nous cherchons à identifier à la forme canonique du 2nd ordre :
H 0 ωn2
H ( p) = . (4-50)
p 2 + 2ξ ωn p + ωn2
Nous avons donc le résultat suivant après identification :

8
FTBO : Fonction de transfert en boucle ouverte
9
FTBF : Fonction de transfert en boucle fermée

- 63 -
Contribution à l’étude des différentes stratégies de commande d’une machine asynchrone

Ti = 4ξ 2Tp k1 (4-51)
Ainsi
Tn = Tg = max(T1 , Tr )
 (4-52)
Ti = 4ξ Tp k1
2

Réponse indicielle
Avec les paramètres de la machine, on peut tracer la réponse indicielle du flux rotorique en
fonction du critère d’amortissement ξ .

Flux rotorique Φr(t)


1.4
ζ = 0.6
ζ = 0.4
ζ = 0.8
1.2

0.8

0.6

0.4

0.2

0
0 0.02 0.04 0.06 0.08 0.1 0.12 0.14 0.16 0.18 0.2

t[s]

Fig.4.12 : Réponse indicielle du flux rotorique


Paramètres du régulateur
Les paramètres du régulateur sont donnés par le tableau suivant pour différentes valeurs de ξ .
Tableau IV.1 : Paramètres du régulateur de flux rotorique
Tn 1
ξ kp = ki =
Ti Ti
0,4 293,04 2051,3
0,6 130,24 911,69
0,8 73,26 512,82

L’analyse des réponses indicielles nous conduit à choisir ξ = 0.6 pour avoir un comportement
optimal du circuit de réglage fermé, ce qui donne kp = 130,24 et ki = 911,69.

- 64 -
Chapitre 4 : Commande vectorielle de la machine asynchrone

4.5.2. Régulateur de couple


Il prend en entrée la sortie du régulateur de vitesse qui est le couple de référence et le couple
estimé. Il agit sur la tension de référence uqs1

Structure de réglage
De même, les équations de découplage proposées permettent d'exprimer le couple
électromagnétique (4-41).
Nous avons une fonction de transfert de premier ordre, en première vue, un régulateur
intégrateur est suffisant pour annuler l’erreur permanente ainsi que pour agir sur la rapidité du
système.
1
GR ( p ) = (4-53)
pTi
Avec ce type de régulateur, on a la structure de réglage suivante :

Fig.4.13 : Structure de réglage du couple


Synthèse de régulateur
La synthèse consiste seulement à déterminer la valeur de la constante de temps Ti .
La FTBO du système est :
k2 1
G0 ( p ) = (4-54)
Ti p (1 + pT2 )
qui ressemble encore à celle du circuit de réglage de flux
On donne directement le résultat :
Ti = 4ξ 2T2 k2 (4-55)
Réponse indicielle
Avec toujours les paramètres de la machine, on peut tracer la réponse indicielle du couple
électromagnétique en fonction du critère d’amortissement ξ .

- 65 -
Contribution à l’étude des différentes stratégies de commande d’une machine asynchrone

Couple électromagnétique Ce(t)


1.4
ζ = 0.6
ζ = 0.4
ζ = 0.8
1.2

0.8

0.6

0.4

0.2

0
0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5
t[s]

Fig.4.14 : Réponses indicielles du couple électromagnétique.


Paramètres du régulateur
Les paramètres du régulateur sont donnés par le tableau suivant pour différentes valeurs de ξ .
Tableau IV.2 : Paramètres du régulateur de couple électromagnétique
1
ξ ki =
Ti
0,4 30,67
0,6 13,63
0,8 7,67

Avec la même analyse des réponses indicielles on peut choisir ξ = 0.6 pour avoir un
comportement optimal du circuit de réglage fermé, ce qui donne ki = 13,63.

4.5.3. Régulateur de vitesse


Le circuit de réglage de vitesse est entièrement défini par le comportement mécanique du
système qui est traduit par l’équation de mouvement (2-11).
Structure de réglage
La relation fondamentale de la dynamique nous permettons de réécrire l’équation de
mouvement :
dΩ
J + f Ω = Cem − Cr (4-56)
dt

- 66 -
Chapitre 4 : Commande vectorielle de la machine asynchrone

où l’on a ajouté un coefficient de frottement f


1
Ω= (Cem − Cr ) (4-57)
f + Jp
En utilisant un régulateur proportionnel intégral PI, la FTBO du système s’écrit :
1 + pTn 1
G0 ( p ) = (Cem − Cr ) (4-58)
pTi ( f + Jp )
On aura alors la structure suivante :

Fig.4.15 : Structure de réglage de la vitesse


Synthèse du régulateur
D’après le schéma, on a :
1 + pTn  1
Ω= (Ω ref − Ω) − Cr  (4-59)
 pTi  f + Jp
soit
1 + pTn pTi
Ω= Ω ref − Cr (4-60)
JTi p + ( fTi + Tn ) p + 1
2
JTi p + ( fTi + Tn ) p + 1
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
2ξ 1
1+ p + 2 p2
ωn ωn
système d'équations suivant :
 2ξ
Tn + fTi = ω
 n
 (4-61)
 JT = 1
 i ω2n

Le coefficient d'amortissement ξ et la pulsation ωn sont introduits d’une manière interactive


lors de la simulation pour atteindre la performance souhaitée.

- 67 -
Contribution à l’étude des différentes stratégies de commande d’une machine asynchrone

Réponses indicielles
Les résultats qui suivent représentent les réponses indicielles de la vitesse suite à un saut de la
valeur de consigne et de la valeur de la perturbation, en fonction de coefficient
d'amortissement ξ et la pulsation ωn

Par rapport à la consigne Ω ref


1.4
ωn = 4π
ωn = 3π
ωn = 5π
1.2
ζ = 0.8

0.8

0.6

0.4

0.2

0
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
t[s]

Fig.4.16 : Réponses indicielles de la vitesse par rapport à la consigne

- 68 -
Chapitre 4 : Commande vectorielle de la machine asynchrone

Par rapport à la perturbation Cr


0.01
ωn = 4π
ωn = 3π
0
ωn = 5π
ζ = 0.8
-0.01

-0.02

-0.03

-0.04

-0.05

-0.06

-0.07

-0.08

-0.09
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
t[s]

Fig.4.17 : Réponses indicielles de la vitesse par rapport à la perturbation


Paramètres du régulateur
Les paramètres du régulateur sont donnés par le tableau suivant pour différentes valeurs de
ωn
Tableau IV.3 : Paramètres du régulateur de vitesse
Tn 1
ξ = 0.8, ωn kp = ki =
Ti Ti
3π 4,9265 19,7392
4π 7,4398 44,4131
5π 9,9531 78,95

On obtient d’après l’analyse des réponses que le meilleur choix consiste à choisir une
pulsation ωn = 5π qui donne une réponse indicielle rapide. On a adopté ici le choix ξ = 0,8
pour le circuit de réglage de vitesse afin de réduire davantage le dépassement (constatation
déduite de ce que précède). Avec ce choix, on les paramètres : kp = 9,95 et ki = 44,41 pour le
régulateur.

4.6. SIMULATION DU COMPORTEMENT DE LA MACHINE PAR LA


COMMANDE VECTORIELLE

La copie d’écran suivante correspond à l’implantation sous SIMULINK MATLAB du schéma de


la figure 4.10.

- 69 -
Contribution à l’étude des différentes stratégies de commande d’une machine asynchrone

Fig.4.18 : Schéma d’implantation de la commande vectorielle de la machine


Avec les paramètres de la machine, les coefficients correspondant aux meilleures réponses
indicielles pour les trois circuits de réglage, on aboutit aux résultats de simulation suivants.

- 70 -
Chapitre 4 : Commande vectorielle de la machine asynchrone

Fig.4.19 : Comportement du circuit de réglage fermé suite à une variation du couple résistant

CONCLUSION
Le pilotage de la machine asynchrone par le contrôle vectoriel du flux rotorique présentée
dans cette partie apporte une solution satisfaisante aux problèmes de robustesse rencontrés
dans le contrôle scalaire de la machine asynchrone.
En effet, nous avons montré bien que la commande permet d’avoir une réponse très rapide des
grandeurs couples et flux tout en restant dans des limites de fonctionnement du système (la
variation de la vitesse ne dépasse pas 3% de sa vitesse en régime permanent), pour la variation
du couple résistant considérée. Ceci est dû au principe de réglage du couple
électromagnétique qui consiste à la reconstitution de la tension de référence. La variation du
flux rotorique n’est pas très marquée ( ∆φ ≈ 0.01[Wb] ), pour une variation du couple cela
s’explique par l’effet de la méthode de découplage adoptée.
La commande repose sur un modèle en régime transitoire. Elle permet un réglage précis du
couple. Cependant il exige la connaissance de la position instantanée du rotor pour pouvoir
reconstruire la pulsation statorique par la formule d’auto-pilotage (Cf. équation (2-2). De plus,
la pulsation rotorique est estimée.
La synthèse des régulateurs de flux, couple et vitesse qu’on a effectuée est basée sur la
méthode classique[3] et ne permet pas d’intervenir directement sur les grandeurs d’entrées. La
performance peut être encore améliorée en imposant directement la dynamique du système et
en intervenir directement à la grandeur de consigne et à la grandeur de perturbation. C’est ce
dernier qui fait l’objet du chapitre suivant.

- 71 -
Contribution à l’étude des différentes stratégies de commande d’une machine asynchrone

CHAPITRE 5

REGLAGE D’ETAT DE LA MACHINE ASYNCHRONE

On présentera dans le présent chapitre le principe de réglage décrit au paragraphe 1.7. Les
objectifs sont d’une part d’obtenir un contrôle séparé de la magnétisation de la machine et du
couple électromagnétique fournit et d’autre part de chercher à conserver les avantages de la
théorie du phaseur spatial en effectuant tous les calculs en utilisant les variables complexes.
Pour obtenir un entraînement réglé à vitesse variable, de performance dynamique élevée, il
faut imposer à la machine un flux statorique constant indépendamment de la fréquence
statorique. La tension statorique appliquée à la machine doit être adaptée en fonction de la
fréquence statorique et la fréquence rotorique.
La méthode de contrôle direct du flux, appelé aussi réglage avec orientation sur le flux est une
méthode basée sur le choix d’un repère de référence, lié au flux statorique ou flux rotorique.
Des expériences ont montré [8] qu’une orientation sur le flux rotorique met en évidence une
commande découplée du flux et du couple électromagnétique, dans la suite, on va adopter
cette dernière.

5.1. REPRESENTATION D’ETAT DU SYSTEME


5.1.1. Principe d’orientation sur le flux rotorique
Décomposons le courant statorique en ses composantes isd suivant le flux et isq en quadrature
avec ce flux, on obtient le diagramme vectoriel suivant :

Fig.5.1 : Diagramme vectoriel illustrant le principe d’orientation sur le flux

- 72 -
Chapitre 5 : Réglage d’état de la machine asynchrone

L’axe d du système de coordonnées (∆ ∆) tournant à la vitesse de synchronisme ωs est orienté


sur le flux rotorique. Le courant statorique is se décompose en isd et isq , la composante isd est
alignée sur le flux rotorique et la composante isq est perpendiculaire à ce flux c’est à dire
aligné au couple.
Par ce principe, on peut mettre en évidence une commande découplée du flux et du couple tel
que la composante isd deviendra déterminante pour le flux et isq pour le couple
électromagnétique.

5.1.2. Représentation d’état


Pour établir la représentation d’état, on transforme les équations différentielles décrivant le
fonctionnement de la machine en équations différentielles sur le flux et le courant statorique.

Fig.5.2 : Diagramme structurel de la machine asynchrone


A l’aide des équations(2-26) et (2-27) qui donnent les expressions des flux, les équations (2-
24) et (2-25) peuvent être remplacées par deux équations sur le flux rotorique et le courant.
Après quelques calculs, on obtient :
dφ r 1 L
= −( + jωr )φr + sr i s (5-1)
dt Tr Tr
di s 1 1 L 1
= u s − ( " + jωs )i s + sr (− jω + )φ r (5-2)
dt Lσ Ts Lσ Lr Tr
où Tr est la constante de temps du circuit rotorique avec enroulement statorique ouvert.
La constante de temps Ts" s’exprime par :

Rsωn L2sr
T =
s
"
+ (5-3)
Lσ Lσ LrTr
Lσ = σ Ls est la réactance de fuite
En tenant compte de l’orientation du système de coordonnées sur le flux rotorique, c’est à dire
en posant φrq = 0 , on obtient de (5-1) l’équation :

dφr 1 L
= − φr + sr isd (5-4)
dt Tr Tr

- 73 -
Contribution à l’étude des différentes stratégies de commande d’une machine asynchrone

et une équation liant la pulsation rotorique ωr à isq (4-44)


L’équation du couple prend une forme particulièrement simple tel que (4-1).
La relation (5-4) montre que le flux rotorique φr n’est fonction que de la composante isd du
courant statorique et (5-2) montre que le courant statorique i s dépend de la tension statorique
u s et du flux φr qui peut être considéré comme une grandeur perturbatrice.
Pour le réglage du courant statorique, le modèle d’état résulte de la mise sous forme
matricielle des relations (2-41) qui décrit le comportement du convertisseur et la relation (5-2)
 di s 1 1 Lsr 1
 dt = L u s − ( T " + jωs )i s + L L (− jω + T )φ r
 σ s σ r r
 (5-5)
 du s = − 1 u + kcm u
 dt Tcm
s
Tcm
cm

Posons :
i  1 1 1 k L 1
x s =  s  ; a11 = − " − jωs ; a12 = ; a22 = − ; bu 2 = cm ; bv1 = sr ( − j (ωs − ωr )) (5-6)
 us  Ts Lσ Tp Tp Lσ Lr Tr

où l’on a remplacé Tcm par Tp = Tcm + T f pour tenir compte de la constante de temps des filtres
de lissage lors du dimensionnement des circuits de réglage.
On aura alors :
a a   0  b 
As =  11 12  ; bu =   ; bv =  v1  ; C sT = [1 0] (5-7)
 0 a22   bu 2  0
 x& s = As x s + bu ucm + bvφr
 (5-8)
i s = C s x s
T

comme représentation d’état.


Pour le réglage de la vitesse, seule l’équation de mouvement (2.11) suffise pour décrire le
comportement. La grandeur de sortie est la vitesse tandis que le courant statorique est une
grandeur à limiter afin d’éviter la surcharge de la machine.

5.2. REGLAGE DU COURANT STATORIQUE


Comme déjà mentionné, dans le cadre de réglage du courant, seules les équations définissant
le comportement du convertisseur de fréquence (2-41) et le courant d’induit (5-2) suffisent à
décrire le système à régler. La vitesse, la fréquence statorique ainsi que le flux rotorique sont
supposées des paramètres.

5.2.1. Structure de réglage


En utilisant le régulateur d’état à structure optimale définie au chapitre1, on obtient la
structure de réglage représentée sur la figure suivante :

- 74 -
Chapitre 5 : Réglage d’état de la machine asynchrone

Fig.5.3 : Structure de réglage d’état du courant statorique


La grandeur de commande u cm est composée des contre-réactions d’état du courant d’induit
i s par l’intermédiaire du coefficient k i et de la tension u s par l’intermédiaire du coefficient
k u , de la contribution de la sortie du régulateur intégrateur xRi par l’intermédiaire du
coefficient k Ri , de l’intervention directe de la grandeur de consigne isc par l’intermédiaire du
coefficient d’anticipation kci et de l’intervention directe de la grandeur de perturbation φr par
l’intermédiaire du coefficient kv1

5.2.2. Equation matricielle du système réglé


L’introduction du régulateur intégrateur R nécessite une variable d’état supplémentaire x Ri
décrivant ce dernier.
d x Ri
= i sc − i s (5-9)
dt
Afin de simplifier la notation, on a supposé un régulateur intégrateur ayant une constante de
temps unitaire, sa valeur réelle est implicitement considérée dans le facteur k Ri , à partir des
variables d’état du système à régler x s et x Ri , on forme le vecteur d’état global xi valable
pour le réglage du courant.
 is 
 xs   
xi =   =  u s  (5-10)
 x Ri   x 
 Ri 
Le système complet est alors entièrement décrit par l’équation d’état
x Ri = A0i x i + bi u cm + bwi i sc + bviφr (5-11)

Les matrices A0 i , bi , bwi , et bvi sont explicitées par :

- 75 -
Contribution à l’étude des différentes stratégies de commande d’une machine asynchrone

 a11 a12 0  0  0  bv1 


       
A0 i =  0 a22 0  ; bi =  bu 2  ; bwi =  0  ; bvi =  0  (5-12)
 −1 0 0       
  0  1 0
La grandeur de commande u cm a conformément à la Figure 5.3, la forme

ucm = − k 0i x i + k ci i sc + k vψ φr
T
(5-13)
T
où le vecteur ligne de contre-réaction k 0i contenant les coefficients de contre-réaction d’état
est explicité par :
k 0i = [k i −k Ri ]
T
ku (5-14)
en introduisant la relation (5-13) dans (5-11), on obtient les équations matricielles du circuit
de réglage en boucle fermée :
 x i = AGi x i + bGi i sc + bGviφr
 (5-15)
i s = Ci x i
T

 a11 a12 0 
 
avec AGi =  −bk i −( + bku ) bk Ri  = AS − b[k ]T ;
1
 Tp 
 
 −1 0 
 0

0  bv1   0   is 
       
bwi =  0  ; bvi =  0  ; bi =  bu 2  ; xi =  u s  ; bGi = bwi + bi k ci ; CiT = [1 0 0] où
1  0   0  x 
       Ri 
1 1 L 1
a11 = − '' − j.ωs ; a12 = ; b v1 = sr ( − j.ω ) (5-16)
Ts Lσ Lσ Lr Tr

5.2.3. Synthèse de régulateur


Comme déjà mentionné, les coefficients de contre-réaction d’état seront calculés afin de
réaliser un découplage complet du circuit de réglage de courant. Les coefficients indépendants
des conditions de découplage seront alors utilisés pour imposer le comportement dynamique
du système.
Condition de découplage
On veut chercher les coefficients du régulateur pour qu’il n’y ait pas de couplage entre les
valeurs de consigne iscd et iscq et entre les valeurs réelles isd et isq du courant statorique.
Pour ce faire, on va établir une équation différentielle liant le courant statorique aux grandeurs
d’entrées du système vis à vis desquelles le découplage est souhaité.
En effet, par dérivation de (5-2) et en utilisant les notations (5-6) et (5-7), on obtient :
d 2 is di du dφ
2
= a11 s + a12 s + b v1 r (5-17)
dt dt dt dt

- 76 -
Chapitre 5 : Réglage d’état de la machine asynchrone

du s
En remplaçant par son expression (2-41) et en tenant compte de la forme explicite de la
dt
grandeur de commande u cm (5-13), on obtient la relation :

d 2 is di
2
= c1 s + c 2 i s + c3 i sc + c 4 x Ri + c 5φr (5-18)
dt dt
où les coefficients c1 à c5 s’expriment par :

 1
c1 = a11 − − k u b1
 Tp
 1
c 2 = (a11 (1 + kcm k u ) − a12 kcm k i )
 Tp

 a12 kcm k ci
c 3 = (5-19)
 Tp
 a k k
c 4 = 12 cm Ri
 Tp

c5 = 1 ((1 + kcm ku )bv1 ) + a12 kcm kvφ
 Tp

Le découplage recherché sera obtenu en imposant à ces coefficients d’être


réels{ ℑm{ci (i =1,5) } = 0 ce qui permet d’obtenir les conditions suivantes sur les coefficients du
régulateur
Lσ ωs Tp
kiq = − (1 − " ) (5-20)
kcm Ts
ω sT p
kuq = − (5-21)
kcm
kciq = 0 (5-22)

k Riq = 0 (5-23)

Lsr Tp
kvφ q = (ω + ωs ) (5-24)
Lr kcm Tr
Les autres coefficients seront déterminés par l’imposition du comportement souhaité..
Remarque :
Le choix du coefficient d’intervention directe de la grandeur de consigne par la méthode
imposant la grandeur d’état du régulateur intégrateur nulle en régime établi n’est pas
favorable pour le réglage du courant statorique[10].
En effet, avec ce choix on obtient un coefficient qui n’est pas réel pur donc ne satisfait pas
aux conditions de découplage établies précédent. Par conséquent, on ne s’intéresse qu’à la
méthode de compensation d’un pôle pour le dimensionnement du régulateur.

- 77 -
Contribution à l’étude des différentes stratégies de commande d’une machine asynchrone

Fonction de transfert en boucle fermée


Pour connaître le comportement dynamique du courant statorique i s par rapport aux
variations de la grandeur de consigne i sc et de la grandeur de perturbation, le flux rotorique,
de plus lors du réglage de la vitesse, on doit établir la fonction de transfert du courant.
En appliquant la transformation de Laplace sur (5-8) et en tenant compte de l’équation de
sortie (5-8), on obtient :
i s = CiT ( pI − AGi )(b gi i sc + b gvφr ) (5-25)

• Par rapport à la grandeur de consigne i sc , on a :


kci k
(kcm )( p + Ri )
Lσ Tp kci
i s = Gi ( p ).i sc = i sc (5-26)
p 3 + α 2 p 2 + α1 p + α 0
Tous les coefficients intervenant dans Gi ( p ) sont tous réels, par conséquent Gi ( p ) est réelle
donc on peut contrôler séparément les deux composantes isd et isq du courant statorique.

• Par rapport à la perturbation

bφ p 2
i s = Gφi ( p ).φr = φr (5-27)
p 3 + α 2 p 2 + α1 p + α 0
Cette équation peut être décomposée selon les deux composantes du courant
 Lsr
 ( ) p2
Lσ LrTr
isd = 3 φr
 p + α 2 p 2 + α1 p + α 0
 (5-28)
 ωL
−( sr ) p 2
 Lσ Lr
isq = 3 φr
 p + α 2 p 2
+ α 1 p + α 0

En tenant compte de l’équation de liaison sur les pôles et les équations liant les pôles avec les
coefficients α i de l’équation caractéristique, on peut calculer les réponses indicielles du
courant statorique du courant à l’aide d’un ordinateur.

5.2.4. Simulation du circuit de réglage du courant statorique :


Réponses indicielles

- 78 -
Chapitre 5 : Réglage d’état de la machine asynchrone

- Par rapport à la consigne les réponses sont valables pour les deux composantes du courant.
Is(t)
1.4

1.2

0.8

0.6

0.4

p1 = p2 = p3 = - δ
0.2
p12 = - δ ± jδ ; p3 = - δ
p12 = - δ ± j1,5δ ; p3 = - δ
Avec δ = 44.9358
0
0 0.05 0.1 0.15 0.2 0.25 0.3 0.35
t[s]

Fig. 5.4 : Réponses indicielles du courant statorique par rapport à la consigne Isc.

- Par rapport à la perturbation φr on a les réponses suivantes


Isd (t) Isq (t)
0.25 4

0.2 2

0.15 0

0.1 -2

0.05 -4

0 -6

-0.05 -8

-0.1 -10
0 0.1 0.2 0.3 0.4 0 0.1 0.2 0.3 0.4
t[s] t[s]

Fig.5.5 : Réponses indicielles des deux composantes du courant par rapport à la perturbation φr

- 79 -
Contribution à l’étude des différentes stratégies de commande d’une machine asynchrone

On remarque que
1 1
p1 + p2 + p3 = −3δ = tr ( AGi ) = −( + ) (5-29)
Tp Ts''
On voit que pour les pôles purement réels, on observe un phénomène transitoire très lent. Les
conditions s’améliorent lorsqu’on choisit des pôles complexes conjugués, avec
l’augmentation de la partie imaginaire des pôles, le dépassement maximum augmente
également. On obtient un bon compromis entre le dépassement maximum et le temps de
monté lorsque la partie réelle est égale à sa partie imaginaire. Dans la suite on utilisera le
deuxième choix ( p1 =−δ, p2,3 =−δ ± jδ ).

Selon les réponses indicielles par rapport à la perturbation φr , la variation de la composante


réelle ids du courant est très faible tendis que celle iqs est très marquée, ceci vérifie bien la
possibilité de contrôle du flux par la composante réelle seulement du courant.
Coefficients du régulateur
Les coefficients de la matrice de contre-réaction et les coefficients d’intervention directe des
grandeurs d’entrées sont donnés par le tableau suivant :
Tableau V.1 : Coefficients de régulateur d’état du courant statorique

Pôles kRi k ci kui k vi ki

1echoix 2.4625 0.054801 -2.5765+0.80834i

2echoix 4.925 0.1096 -14.28i 13.4897+1.161i -2.5217+0.80834i

3echoix 8.0032 0.1781 -2.4532+0.80834i

Certains coefficients (§5.2.3) de contre-réaction dépendent du point de fonctionnement par


l’intermédiaire de ωs et ω , ils devront par conséquent dans la pratique être adaptés pour
assurer le découplage dans toute la plage de fonctionnement.
Le comportement du circuit de réglage du courant en boucle fermée sera approximé en un
circuit équivalent de premier ordre de constante de temps Ti ' par la méthode d’égalité de
surface de réglage[16], pour ne pas compliquer le circuit de réglage de la vitesse et du flux.

5.2.5. Méthode d’approximation


En toute généralité, on cherche à approximer une fonction de transfert de la forme :
β n−1 p n −1 + β n− 2 p n − 2 + K + β1 p + β 0
G ( p) = (5-30)
α n p n + α n −1 p n −1 + K + α1 p + α 0
par une fonction de transfert équivalente du premier ordre du type :
1
G ( p) = (5-31)
1 + Ti ' p
où Ti ' est appelée constante de temps équivalente. La détermination de la constante de temps
équivalente Ti ' se fait par le principe d’égalité des surfaces de réglage du circuit de réglage
interne en boucle fermée et du système équivalent[16].

- 80 -
Chapitre 5 : Réglage d’état de la machine asynchrone

Fig.5.6 : Représentation des surfaces de réglage


La surface de réglage S d’un système est définie par :
t
S = lim ∫ (1 − h(τ ))dτ (5-32)
t →∞ 0

L’égalité des surfaces de réglage S s = Seq permet d’obtenir la valeur de la constante de temps
équivalente Ti ' .
En utilisant les propriétés de la transformée de Laplace, on obtient :
α1 − β1
Ss = (5-33)
α0
Par la même démarche, on obtient pour la fonction de transfert équivalente du système :
Seq = Ti ' (5-34)

L’égalité des surfaces de réglage S s = Seq fournit la valeur de la constante de temps


équivalente Ti '
α1 − β1
Ti ' = (5-35)
α0

5.3. REGLAGE DU FLUX ROTORIQUE


D’après l’équation de mouvement, on a constaté que par variation du flux rotorique, cette
équation est non linéaire. Pour obtenir un réglage robuste de la vitesse, on doit affaiblir le
champ de ce flux.
L’affaiblissement du champ est obtenu par réalisation d’un circuit de réglage de flux rotorique
superposé au circuit de réglage de courant statorique [10].

- 81 -
Contribution à l’étude des différentes stratégies de commande d’une machine asynchrone

5.3.1. Structure de réglage


La structure de réglage est représentée par la figure suivante :

Fig.5.7 : Structure de réglage du flux rotorique

Le système à régler est constitué par le circuit de réglage de courant en boucle fermée (bloc 1)
et du (bloc 2) liant le flux à la composante réelle du courant, sa réalisation est obtenue par un
dispositif de retard de premier ordre (cf. relation (5-4)).

5.3.2. Représentation d’état du système réglé


Conformément à la figure 5.7, on peut écrire :
 disd iscd isd
 dt = T ' − T '
 i i

 dφr 1 L
 = − φr + sr isd (5-36)
 dt Tr Tr
 dxRφ
 = φrc − φr
 dt
Sous forme matricielle, on obtient :

 dφr  − 1 Lsr 
0   φr  0
 dt   Tr Tr   0  
   
     
 disd = 0 −
1  1
0   isd  +   iscd +  0  φrc (5-37)
 dt     Ti ' 
  
Ti '   
 
    
 dxRφ   −1 
0   xRφ   
0 1
  0
 dt   
 

Qui est de la forme :


x& φ = A 0φ xφ + bφ isd + b wφφrc (5-38)
On constate d’après cette représentation que le système réglé est de troisième ordre.
Le dimensionnement des coefficients k0φ , k1φ , k Rφ et kcφ se fait à flux nominal.

- 82 -
Chapitre 5 : Réglage d’état de la machine asynchrone

5.3.3. Simulation de la régulation de flux


Conformément à la structure de réglage de la figure 5.7, la somme des trois pôles à imposer
doit satisfaire la relation :
1 1
p1 + p2 + p3 = tr ( A 0φ ) = −( + ) (5-39)
Tr Ti '
avec les paramètres qu’on a pris, on a : p1 + p2 + p3 = −51.9358

Le coefficient d’intervention directe de la grandeur de consigne kcφ est choisi pour compenser
le pôle réel dominant.
Réponses indicielles

Flux rotorique φ r(t)


1.4

1.2

0.8

0.6

0.4

p1 = p2 = - δ; p3 = 0
0.2
p12 = - δ ± jδ ; p3 = 0
p12 = - δ ± j1,5δ ; p3 = 0
Avec δ = 25.9679
0
0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5
t[s]

Fig.5.8 : Réponses indicielles du flux rotorique suite à un saut de consigne φrc

Ce résultat montre que le meilleur choix consiste à imposer les trois pôles selon la
configuration ( p12 = −δ ± jδ ; p3 = 0 ). L’introduction d’un pôle à l’origine rend le système
ayant un comportement intégral, ce qui permet d’augmenter sa performance.
Coefficients de régulateur
Le tableau suivant représente les coefficients du régulateur correspondant au choix des pôles
adopté précédent.

- 83 -
Contribution à l’étude des différentes stratégies de commande d’une machine asynchrone

Tableau V.2 : Coefficients de régulateur d’état du flux rotorique

Pôles k 0φ k1φ k Rφ kcφ

1echoix 0,67736 0 0 1,2696


2echoix 1,9469 0 0 2,5391
3echoix 3,5339 0 0 4,1261
Le choix de circuit de réglage sans régulateur intégrateur n’est pas critique à cet égard
puisqu’il n’y a aucune perturbation qui intervient dans le circuit de réglage de flux
Ainsi en réalisant un circuit de réglage du flux rotorique avec les paramètres précédents, on
peut étudier le comportement dynamique du circuit de réglage de la vitesse à flux variable.

5.4. REGLAGE DE VITESSE A FLUX ROTORIQUE CONSTANT


A flux constant, le couple électromagnétique devient une fonction linéaire avec la composante
imaginaire du courant statorique.
3 pLsr
Ce = φr 0isq = ϕ isq (5-40)
Lr
L’équation de mouvement s’écrit alors
dΩ
J = ϕ isq − Cr (5-41)
dt
Pour décrire le circuit de réglage du courant en boucle fermée, on introduit l’équation :
di s
Ti ' = −i s + i sc (5-42)
dt
on obtient le modèle d’état du système à régler
x& sn = A sn xsn + b sniscq + b vsn Cr

Ω = Csn xsn
T

avec
 ϕ 
0  0   1
J    − Ω
Asn =   ; bsn = 1 ; b vsn =  J  ; Csn
T
= (1 0 ) ; xsn =   (5-43)
0 − 1     
T ' 0   isq 
 
Ti '   i  

5.4.1. Structure de réglage


Comme déjà mentionné, le courant statorique est une grandeur à limiter, on prévoit une
structure de réglage en cascade pour le réglage de la vitesse à flux rotorique constant[17].

- 84 -
Chapitre 5 : Réglage d’état de la machine asynchrone

Fig.5.9 : Structure de réglage de vitesse à flux rotorique constant


Le bloc Geq ( p ) schématise le circuit de réglage de courant en boucle fermée. La valeur de la
consigne iscq est composée de la contre-réaction d’état de la vitesse n par l’intermédiaire de
kn , de l’intervention directe de la valeur de consigne nc par kcn , de la contribution de la sortie
du régulateur intégrateur xRn par l’intermédiaire du facteur k Rn et enfin de l’intervention de la
grandeur de perturbation, le couple résistant Cr , par l’intermédiaire du coefficient kvn .
Sur la figure, on remarque l’introduction d’un limiteur sur la valeur de la consigne pour le
courant iscq . Ce dernier est en général fixé à ± 2p.u et évite toute surcharge en courant. En trait
pointillé est suggéré une liaison entre le limiteur et le régulateur intégrateur.

5.4.2. Equation matricielle du système réglé


L’introduction du régulateur intégrateur R nécessite l’introduction d’une variable d’état
supplémentaire xRn décrivant ce dernier :
dxRn
= Ωc − Ω (5-44)
dt
où l’on a supposé un régulateur intégrateur ayant une constante de temps d’intégration
unitaire. Sa valeur réelle est implicitement considérée dans le coefficient kRn.
Le vecteur d’état du système global s’écrit :
Ω
 xsn   
xn =   =  isq  (5-45)
 xRn   x 
 Rn 
Le système complet est alors entièrement décrit par l’équation d’état
x& n = A 0n xn + bniscq + b wn Ωc + b vnCr (5-46)
avec

- 85 -
Contribution à l’étude des différentes stratégies de commande d’une machine asynchrone

 ϕ  0  1 
0 J
0  0    − 
       J

A 0n = 0 −
1 
0 ; bn =  1 
; b =  0 ;  0  (5-47)
 Ti '   Ti '  wn    
       

1 0 0  0   1   0 
  
 
Conformément à la structure de réglage représentée à la figure 5.9 on a
'
iscq = −kn Ω + k Rn xRn + kcn Ω c + kvn Cr (5-48)

avec k T0n le vecteur ligne de contre-réaction d’état

k T0n = ( kn 0 k Rn ) (5-49)
On peut écrire
'
iscq = −k T0n xn + kcn Ω c + kvn Cr (5-50)

x& n = A n xn + (b wn + bn kcn )Ω c + (b vn + b n kvn )Cr (5-51)


avec
 ϕ 
 0 J
0 
 
An = A 0n − bnk T0n 
= −
kn

1

k Rn 
(5-52)
 Ti ' Ti ' Ti ' 
 
 −1 0 0 
 
 
L’équation de sortie devient :
Ω = CnT xn = (1 0 0 ) xn (5-53)

5.4.3. Synthèse du régulateur


Réponses indicielles
L’équation de liaison entre les pôles du circuit de réglage de la vitesse vaut donc
formellement d’après la matrice An :
1
p1 + p2 + p3 = − (5-54)
Ti '
Le comportement dynamique du système est illustré par les figures 5.10 et 5.11 représentants
respectivement les réponses indicielles de la vitesse Ω suite à une variation de la consigne
Ωc et du couple résistant Cr , avec comme paramètres les différents choix des pôles

- 86 -
Chapitre 5 : Réglage d’état de la machine asynchrone

• Méthode de compensation d’un pôle

Vitesse Ω (t)
1.4

1.2

0.8

0.6

0.4

p1 = p2 = p3 = - δ
0.2
p12 = - δ ± jδ ; p3 = - δ
p12 = - δ ± j1,5δ ; p3 = - δ
Avec δ = 14.9786
0
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
t[s]

Fig.5.10 : Réponses indicielles de la vitesse par rapport à la consigne

Vitesse Ω (t)
0.01

0.005

-0.005

-0.01

-0.015

p1 = p2 = p3 = - δ
-0.02
p12 = - δ ± jδ ; p3 = - δ
p12 = - δ ± j1,5δ ; p3 = - δ
Avec δ = 14.9786
-0.025
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
t[s]

Fig.5.11 : Réponses indicielles de la vitesse par rapport à la perturbation

- 87 -
Contribution à l’étude des différentes stratégies de commande d’une machine asynchrone

• Méthode pour annuler la sortie du régulateur intégrateur en régime établie


Vitesse Ω (t)
1.4

1.2

0.8

0.6

0.4

p1 = p2 = p3 = - δ
0.2
p12 = - δ ± jδ ; p3 = - δ
p12 = - δ ± j1,5δ ; p3 = - δ
Avec δ = 14.9786
0
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
t[s]

Fig.5.12 : Par rapport à la consigne

Vitesse Ω (t)
0.01

0.005

-0.005

-0.01

-0.015

p1 = p2 = p3 = - δ
-0.02
p12 = - δ ± jδ ; p3 = - δ
p12 = - δ ± j1,5δ ; p3 = - δ
Avec δ = 14.9786
-0.025
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
t[s]

Fig.5.13 : Réponses par rapport à la perturbation

- 88 -
Chapitre 5 : Réglage d’état de la machine asynchrone

La figure 5-10 à 5-13 représentent les réponses indicielles de la vitesse pour différents choix
des pôles. On a représenté les deux méthodes pour le choix des coefficients d’intervention
directe de la consigne :
- Méthode de compensation d’un pôle
- Méthode pour annuler la grandeur du régulateur intégrateur en régime établi.
On constate que pour annuler la sortie du régulateur intégrateur en régime établi, on introduit
un dépassement considérable, inaccessible pour une réponse à un saut de la valeur de la
consigne.
Les figures montrent clairement que les meilleurs résultats sont obtenus par la compensation
de pôle dominant « lent » du système.
Coefficients du régulateur
La synthèse de régulateur a été effectuée à flux nominal ( φr 0 = 1 ), l’aide d’un programme sous
MATLAB, avec l’algorithme décrit dans le chapitre1. On a trouvé les résultats suivants :
Tableau V.3 : Coefficients de régulateur d’état de la vitesse
Coefficients Kn KRn Kcn kvn
Valeurs 17,6389 131,3539 8,7694 1,1745
Ces résultats correspondent à la meilleure réponse indicielle c’est à dire en compensant le
pôle qui ralenti le système.
Réponses aux points de fonctionnement variables

Vitesse Ω (t)
1.4

1.2

0.8

0.6

0.4

0.2
φ r = 0.3
φ r = 0.5
φ r = 0.9
0
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2
t[s]

Fig.5.14 : Réponses indicielles de la vitesse par rapport à la consigne

- 89 -
Contribution à l’étude des différentes stratégies de commande d’une machine asynchrone

Vitesse Ω (t)
0.02

0.01

-0.01

-0.02

-0.03

-0.04

-0.05

φ r = 0.3
-0.06
φ r = 0.5
φ r = 0.9
-0.07
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2
t[s]

Fig.5.15 : Par rapport à la perturbation Cr


Les figures (Fig.5.14) et (Fig.5.15) montrent respectivement la variation de la vitesse suite à
un saut de la valeur de consigne et de la perturbation avec les différents points de
fonctionnement.
Ces résultats montrent que le comportement reste acceptable et bien amorti dans ce domaine
de variation de flux rotorique. Relevons de plus que le domaine de variation de flux considéré
dans cet exemple est grand. On peut donc remplacer avantageusement le réglage adaptatif par
le principe de réglage par contre-réaction d’état.

5.5. COMPORTEMENT DYNAMIQUE DE LA MACHINE ASYNCHRONE


Après l’affaiblissement de champ du flux rotorique, la simulation du comportement de la
machine nous donne les résultats suivants :

- 90 -
Chapitre 5 : Réglage d’état de la machine asynchrone

Couple résistant Cr(t) [Nm]


30

20

10

-10

-20

-30
0.5 1 1.5 2 2.5 3 3.5 4

Flux rotorique Φr(t) [Wb]


0.85

0.85

0.85

0.85

0.85

0.85
0.5 1 1.5 2 2.5 3 3.5 4
t[s]

Couple électromagnétique Ce(t) [Nm]


40

20

-20

-40

-60
0.5 1 1.5 2 2.5 3 3.5 4

Vitesse Ω (t) [rad.s-1]


158.5

158

157.5

157

156.5

156
0.5 1 1.5 2 2.5 3 3.5 4
t[s]

Fig.5.16 : Comportement du circuit de réglage fermé suite à une variation du coupla résistant

- 91 -
Contribution à l’étude des différentes stratégies de commande d’une machine asynchrone

CONCLUSION
Dans ce chapitre, nous avons effectué le réglage d’état proprement dit de la machine
asynchrone en traitant trois circuits de réglage : le courant, le flux rotorique et la vitesse.
L’utilisation de la structure de réglage orienté sur le flux rotorique permet d’avoir un contrôle
séparé des deux composantes du courant statorique qui assure le découplage entre le flux et le
couple électromagnétique. Cela est justifié par l’oscillogramme du flux rotorique dans les
résultas précédents. Le flux rotorique est constant. Les avantages rencontrés résident dans la
souplesse de la simulation et programmation pour le calcul des coefficients de contre-réaction
d’état et les coefficients d’intervention directe des grandeurs de consigne et de perturbation.
Pour imposer le comportement dynamique, les pôles du système sont introduits de manière
interactive afin de rechercher les performances sollicitées par le cahier de charges.
Grâce à la méthode d’approximation, nous avons pu modéliser la fonction de transfert du
circuit de réglage du courant statorique par une fonction de transfert de premier ordre. Par
conséquent, la structure de réglage de la vitesse prend la forme particulièrement simple.
On a pu présenter les équations de fonctionnement de la machine sous formes de diagrammes
structurels, sous formes matricielles, ainsi leur traitement numérique a été aisé par le biais
d’une programmation et simulation qui est l’objet du travail.

- 92 -
Conclusion générale

CONCLUSION GENERALE

En bref dans ce travail, on a montré quelques stratégies de commande pour la machine


asynchrone. Trois méthodes ont été proposées : la commande scalaire, la commande
vectorielle et la commande par contre-réaction d’état.

Un bref rappel de la théorie d’analyse et de synthèse d’un système asservi a été établi dans le
premier chapitre, suivi de la modélisation du système en deuxième chapitre. L’utilisation de
théorie des phaseurs spatiaux ainsi que le choix adéquat du système d’axes tournant permet de
simplifier les équations régissant le fonctionnement de la machine. Pour que l’imposition de
la fréquence statorique soit possible, la machine asynchrone est alimentée par un
convertisseur de fréquence un modèle de l’onduleur a été adopté. Le modèle du système
{MAS+Convertisseur} a été testé et validé par les résultats de la première simulation.

Après avoir décrit le principe de l’auto-pilotage et des généralités sur les stratégies de contrôle
de la machine asynchrone, les trois derniers chapitres sont résolument tournés vers la mise en
œuvre de ces différentes stratégies.

Le point de départ pour la commande a été le pilotage par contrôle scalaire. On a présenté les
deux façons de contrôle : le contrôle de la tension et le contrôle du courant statorique. Les
résultats obtenus ont montré que la compensation du glissement permet de stabiliser la vitesse
de la machine entre le fonctionnement à vide et le fonctionnement en charge. Mais la
dynamique du système est encore mauvaise. Le contrôle du couple électromagnétique que
nous avons développé a été élaboré à partir du modèle statique. De par son principe(contrôle
dit scalaire), la commande scalaire n’est pas apte à maîtriser le couple instantané.

Le contrôle vectoriel a été introduit, dans le cinquième chapitre afin de pouvoir commander la
machine asynchrone avec le maximum de dynamique. Il repose sur un modèle en régime
quelconque. Les résultats obtenus ont montré que le contrôle vectoriel du flux permet de
traiter les régimes transitoires ce que ne permettait pas de faire le contrôle scalaire. Il est donc
apte à maîtriser le couple instantané. Cela se paie en effet puisque le codeur permettant de
repérer la position du rotor du moteur doit être fiable. On a vu que le contrôle séparé des deux
composantes du courant statorique qui assure le découplage entre le flux et le couple
électromagnétique est atteint grâce au principe de réglage orienté sur le flux.

Enfin, dans le dernier chapitre, on a proposé le réglage d’état, une technique moderne de
réglage ayant recours à une description plus complète du système. L’utilisation de la structure
de réglage orienté sur le flux rotorique associé au réglage d’état permet de découpler les deux
composantes du courant statorique et de leur imposer un comportement dynamique
indépendant du point de fonctionnement. Le très bon comportement dynamique du circuit de
réglage de vitesse obtenu est atteint grâce au principe de réglage du courant statorique adopté.
Ainsi, on peut affirmer que le principe de réglage par contre-réaction d’état est très bien
adapté à la machine asynchrone. Cette nouvelle contribution permet, selon les résultats
obtenus, d’avoir un comportement dynamique très performant. Cependant la réalisation
pratique des circuits de réglage est très complexe et que le coût d’installation peut être élevé.

- 93 -
Contribution à l’étude des différentes stratégies de commande d’une machine asynchrone

Dans ce mémoire, quelques solutions originales ont été proposées. Néanmoins, nous sommes
conscients de n'avoir étudié que certaines stratégies. Il s’agit en fait d’une contribution,
l’objectif est atteint. On arrive même à élaborer une interface graphique simulant les
différentes stratégies de commande de la machine asynchrone. Cette plate-forme a été
développée avec le logiciel Matlab/Simulink et mise en place au laboratoire d’automatique de
l’école supérieure polytechnique d’Antsiranana[18]. L’outil utilisé présente des qualités de
simplicité et de convivialité qui le font très apprécié par les étudiants et les enseignants.

Sur un plan pédagogique, il est envisagé de réaliser la plate-forme et d’en proposer un stand
des travaux pratiques 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ève ingénieur, qui doit apprendre à extraire d’une théorie les éléments
pertinents et applicables dans l’état de la technologie à un instant donné.

Relevons pour terminer que les structures de réglage présentées dans le cadre de ce mémoire
nécessitent la mise en place de capteur sur l'arbre pour la connaissance d'une grandeur
mécanique et reste très sensible aux variations de paramètres de la machine, notamment celles
de la résistance rotorique, qui est dé1icate à identifier en cours de fonctionnement. D’autres
stratégies de commande telle que la commande prédictive peut résoudre le problème en cas
d’une faible variation de paramètres[19]. Les recherches actuelles portent sur l’élaboration
d’observateur plus performant, afin de maîtriser correctement les états du système. La
prochaine étape consiste à associer cet observateur à une commande non linéaire de la
machine et d'évaluer les performances de l'ensemble "Commande+Observateur".

- 94 -
Annexe

ANNEXE

ANNEXE A : DEMONSTRATIONS DE QUELQUES FORMULES

ANNEXE A1 : DEMONSTRATIONS DES EQUATIONS (3-2), (3-3) ET (3-10)

Le schéma équivalent ramené au stator avec inductance de fuites localisées au rotor en régime
permanent nous permet d’obtenir les expressions du couple :

Fig.A. 1 : Schéma équivalent ramené au stator avec inductance de fuites localisées au rotor.

 Expressions du couple électromagnétique (3-2)-(3-3)


Le couple se calcule à partir de la puissance
Pe
Pe = Ce Ω s ⇒ Ce = (a-1)
Ωs
La puissance électrique transmise au rotor de la machine est consommée par les résistances
2
R L  R
m r avec m =  s  pour le schéma ramené au stator et r pour le schéma ramené au rotor.
g  Lsr  g

Rr "2
Ce = 3m ir (a-2)
g
Le schéma montre que
v s − Rs i s jωs φ s ωs2φs2 / m 2
i = = ⇒ i =
" "2
r r (a-3)
Rr Rr Rr 2
m( jσ Lrωs + ) m( jσ Lrωs + ) (σ Lrωs ) 2 + ( )
g g g
donc
Rr ωs2φs2 / m 2
Ce = 3m (a-4)
g Ω s (σ L ω ) 2 + ( Rr )2
r s
g
ωs
or = p et gωs = ωr
Ωs
d’où
2
L  Rr / ωr
Ce = 3p  sr  φs2 (3-2)
( Rr / ωr ) + (σ Lr )2
2
 Ls 

- 95 -
Contribution à l’étude des différentes stratégies de commande d’une machine asynchrone

En fonction du flux rotorique :


On rappelle en régime permanent (2-41) que : Rr i r + jgωs φ r = 0

g 2ωs2φr2
⇒ ir2 = (a-5)
Rr
d’où
Rr g 2ωs2φr2
Ce = 3 (a-6)
g Ω s Rr2

ωr
Ce = 3pφr2 (3-3)
Rr

 Relation entre flux et courant statorique (3-10):


D’une part, en régime permanent, on a :
v s = Rs i s + jωs φ s
 (a-7)
0 = Rr i r + jgωs φ r
D’autre part, d’après le schéma équivalent :
Rr
+ jσ Lrωs
g
v s = Rs i s + jLsωs 2
is (a-8)
Rr L 
+ jσ Lrωs + jLsωs  sr 
g  Ls 
d’où après identification de (a-7) avec (a-8)
Rr
+ jσ Lrωs
g Rr + jσ Lr gωs
φ s = Ls 2
i s = Ls is (a-9)
L  L2sr
Rr
+ jσ Lrωs + jLsωs  sr  Rr + j (σ Lr + ) gωs
g Ls
 Ls 
L2sr L2 Lr
or σ = 1 − ⇒ σ Lr + sr = Lr et gωs = ωr et = Tr
Ls Lr Ls Rr
d’où
1 + jσ Trωr
φ s = Ls is (a-10)
1 + jTrωr
Ainsi
φ s 1 + jTrωr
is = (3-10)
Ls 1 + jσ Trωr

- 96 -
Annexe

ANNEXE A2 : DEMONSTRATION DES EQUATIONS (4-5) A (4-7) ET (4-23)

Rappelons les équations utilisables pour la commande :


Orientation du flux rotorique :
φqs = Ls iqs + Lsr iqr
 (4-2)
φds = Ls ids + Lsr idr
et
φdr = φr = Lr idr + Lsr ids
 (4-3)
φqr = 0 = Lr iqr + Lsr iqs
et les équations des tensions au rotor (2-32) et 2-33) peuvent s’écrire:
 dφr
0 = Rr idr +
 dt (4-4)
0 = Rr iqr + ωrφr

 Orientation du flux rotorique (4-5)


De (4-4) et (4-3), on a respectivement
dφr
= − Rr idr (a-11)
dt
et
φr Lsr −( Lsr ids − φr )
idr = − ids = (a-12)
Lr Lr Lr
dφr Lr
⇒ = ( Lsr ids − φr ) (a-13)
dt Rr
d’où
dφr Lsr φ
= ids − r (4-5)
dt Tr Tr

 Lois de mailles pour uds (4-6)


dφds
uds = Rs ids + − ωsφqs (2-30)
dt
Nous allons exprimer cette tension en fonction des 2 grandeurs utiles ( iqs et φdr ) à la maîtrise
du couple :
En appliquant la transformation de Laplace à l’équation (4-5), on a :
1 + Tr p
ids = φdr (a-14)
Lsr
1
A partir de φdr = Lr idr + Lsr ids , on tire idr = (φdr − Lsr ids ) d’où
Lr

- 97 -
Contribution à l’étude des différentes stratégies de commande d’une machine asynchrone

Lsr L
φds = Ls ids + (φdr − Lsr ids ) = σ Ls ids + sr φdr (a-15)
Lr Lr

L2sr
où σ = 1 − est le coefficient de dispersion de BLONDEL.
Ls Lr
De la même façon, il faut exprimer φqs

φqs = Ls iqs + Lsr iqr



 Lsr iqs (a-16)
0 = Lr iqr + Lsr iqs ⇒ iqr = − L
 r

d’où
Ls Lsr − L2
φqs = iqs + sr iqs = σ Ls iqs (a-17)
Lr Lr
Il est donc possible maintenant d’écrire
d L
uds = Rs ids + (σ Ls ids + sr φdr ) − ωsσ Ls iqs
dt Lr
Lsr
= Rs ids + p.σ Ls ids + p. φdr − ωsσ Ls iqs
Lr
Lsr
= ( Rs + p.σ Ls )ids + p. φdr − ωsσ Ls iqs
Lr
1 + Tr . p L
= ( Rs + p.σ Ls ) φdr + p. sr φdr − ωsσ Ls iqs
Lsr Lr

 (1 + Tr . p) Lsr 
uds =  ( Rs + σ Ls . p) + . p  φdr − ωsσ Ls iqs (4-6)
 Lsr Lr 

 Lois de mailles pour uqs (4-7)

dφqs
uqs = Rs iqs + + ωsφds (2-31)
dt
que l’on peut exprimer comme suit compte tenu des expressions du paragraphe précédent :
d
uqs = Rs iqs + (σ Ls iqs ) + ωsφds (a-18)
dt
avec
Lsr  1 + Tr . p Lsr 
φds = σ Ls ids + φdr =  σ Ls +  φdr (a-19)
Lr  Lsr Lr 

 1 + Tr . p Lsr 
uqs = ( Rs + σ Ls . p)iqs + ωs  σ Ls +  φdr (4-7)
 Lsr Lr 

- 98 -
Annexe

 Représentation d’état de la machine asynchrone (4-23)


Réécrivons les équations (2-30) et (2-31)
 dφds
uds = Rs ids + dt − ωsφqs
 (a-20)
u = R i + dφqs + ω φ
 qs s qs
dt
s ds

La dérivation des équations (2-35)-(2-36) donne :


 dids 1 dφds L dφdr
 dt = σ L − sr
dt σ Ls Lr dt
 s
 (a-21)
 diqs = 1 dφqs L dφqr
− sr
 dt σ Ls dt σ Ls Lr dt
De (a-20), on tire
 dφds
 dt = uds − Rs ids + ωsφqs
 (a-22)
 dφqs = u − R i − ω φ
 dt qs s qs s ds

Expressions de φds et φqs


De (2-35) et (2-36), on tire
 Lsr
φds = σ Ls ids + L φdr
 r
 (a-23)
φ = σ L i + Lsr φ
 qs s qs
Lr
qr

or φdr = φr et φqr = 0
d’où l’équation (a-20) avec l’équation de l’orientation du flux rotorique peuvent s’écrire
 L2sr Lsr
 di ( Rs + R r 2
) 2
Rr
L L 1
 ds
=− r
ids + ωs iqs + r
φdr + uds
 dt σ Ls σ Ls σ Ls

 L
ωs sr
 diqs = − Rs i − ω i − Lr
φ +
1
uqs
(4-23)
 dt σ Ls
qs s ds
σ Ls
dr
σ Ls


 dφ L 1
 dr = sr ids − φdr
 dt Tr Tr

qui représente l’équation d’état de la machine.

- 99 -
Contribution à l’étude des différentes stratégies de commande d’une machine asynchrone

ANNEXE B : LISTING DE PROGRAMMATION


choix_circuit.m ki = ki3;
titre_reponse = 'Réponses
global kp ki tstop titre_reponse ylab indicielles de la vitesse';
num_circuit ylab = '\Omega';
ylab =[ylab '(t)'];
% récupérer le numéro de l'item sélectionné end
dans le menu popup set(kp_edit,'String',num2str(kp));
num_circuit = get(circuit_popup, 'Value'); set(ki_edit,'String',num2str(ki));

% Valeurs par défaut des coefficients de


régulateur choix_circuit_courant.m
gamm = (Rs+Rr*Lsr^2/Lr^2)/(Ls*sigma); if get(courant_radio,'Value')==1,
sigma = 1-Lsr^2/(Ls*Lr); set(tension_radio,'Value',0);
wn = 2*pi*f; else
% régulateur de flux set(tension_radio,'Value',1);
dz1 = 0.6; end;
trep1 = Tr;
k1 = Lm/sigma/Ls/Tr; commande = get(courant_radio,'Value');
kp1 = gamm^2/k1/(2*dz1)^2; if commande==1;
ki1 = kp1/Tr; kp0 = 0.325;
ki0 = 0.75;
%régulateur de couple com1 = 0.35;
trep2 = Tr; com2 = 0;
phi_ref = 0.85; else
k2 = p*Lm*phi_ref/sigma/Ls/Lr; kp0 = 0.225;
kp2 = 3/k2/trep2; ki0 = 0.35;
ki2 = gamm*kp2; com1 = 0;
com2 = 1;
% Régulateur ds vitesse PI ===== end;
dzeta3 = 0.7; set(edit_kp,'string',num2str(kp0));
trep3=0.7; set(edit_ki,'string',num2str(ki0));
kp3 = J*6*dzeta3/trep3; set(slider_kp,'value',kp0);
ki3 = J*(3/trep3)^2; set(slider_ki,'value',ki0);

frot_visq = 0.001; choix_circuit_tension.m


flux_n = U*sqrt(2)/wn; if get(tension_radio,'Value')==1,
On = wn/p; set(courant_radio,'Value',0);
Mn = 3*U*I*p/wn; else
Tm = J*On/Mn; set(courant_radio,'Value',1);
end;

% Simulation du circuit de réglage commande = get(courant_radio,'Value');


switch num_circuit if commande==1;
case 1 kp = 0.325;
nom_circuit = 'reg_vect_flux'; ki = 0.75;
tstop = 2*trep1; com1 = 0.35;
kp = kp1; com2 = 0;
ki = ki1; else
titre_reponse = 'Réponse indicielle kp = 0.225;
du flux rotorique'; ki = 0.35;
ylab = '\phi'; com1 = 0;
ylab = [ylab 'r(t)']; com2 = 1;
case 2 end;
nom_circuit = 'reg_vect_couple'; set(edit_kp,'string',num2str(kp));
tstop = 2*trep2; set(edit_ki,'string',num2str(ki));
kp = kp2; set(slider_kp,'value',kp0);
ki = ki2; set(slider_ki,'value',ki0);
titre_reponse = 'Réponse indicielle
du couple électromagnétique'; choix_source.m
ylab = 'Ce(t)'; if get(sin_radio,'Value')==1,
case 3 set(pwm_radio,'Value',0);
nom_circuit = 'reg_vect_vitesse'; else
tstop = 2*trep3; set(pwm_radio,'Value',1);
kp = kp3; end;

- 100 -
Annexe

% créer un popup menu pour le choix de


choix_source1.m l'alimentation
if get(sin_radio,'Value')==1, y_p=y_haut-100;
set(pwm_radio,'Value',0); x_p=x_droite-l_edit-l_unit+10;
else uicontrol(fig1,...
set(pwm_radio,'Value',1); 'style','text',...
end; 'position',[x_p y_p+40 l_edit
h_edit],...
choix_source2.m 'BackGroundColor',bg_desc2,...
if get(pwm_radio,'Value')==1, 'FontSize',10,...
set(sin_radio,'Value',0); 'HorizontalAlignment','left',...
else 'String',' Source');
set(sin_radio,'Value',1); y_p=y_p-h_edit+2;
end;
sin_radio = uicontrol(fig1, ... % on crée
choix_strategie.m un objet 'interface utilisateur' dans la
global type_commande; fenetre f
type_commande = get(control_popup,'value'); 'Style', 'radiobutton', ... % de type
switch type_commande, Bouton on-off
case 1, 'String', 'Sinusoidale', ... % le texte
interface_com_scal; affiché dans le bouton
case 2, 'Position', [x_p y_p+40 l_edit h_edit],
interface_com_vect, ... % position dans la fenetre et dimension
case 3, 'Min', 0, ... valeur off
interface_regetat, 'Max', 1, ... valeur on
end; 'Value', 1,...
'Callback','choix_source1');
demarrage.m pwm_radio = uicontrol(fig1, ... % on crée
%%%% déclaration des variables globales un objet 'interface utilisateur' dans la
global fig1 % la figure fenetre f
global axe1 % l'axe où la courbe 'Style', 'radiobutton', ... % de type
sera tracée Bouton on-off
global pwm_radio sin_radio 'String', 'Onduleur PWM', ... % le texte
global Is_check Ce_check v_check % affiché dans le bouton
handle sur le checkbox 'Position', [x_p y_p+40-h_edit l_edit
global nom_fichier; h_edit], ... % position dans la fenetre et
dimension
Coordonnee_x0 = 50; 'Min', 0, ... valeur off
Coordonnee_y0 = 50; 'Max', 1, ... valeur on
largeur = 800; 'Value', 0,...
hauteur = 650; 'Callback','choix_source2');
gabarie=[Coordonnee_x0 Coordonnee_y0 largeur % créer un edit pour entrer la valeur
hauteur]; efficace de la tension d'alimentation
y_p = y_p-h_edit;
y_haut=hauteur-50; uicontrol(fig1,...
y_bas=50; 'style','text',...
l_edit=100; 'position',[x_p y_p l_edit h_edit],...
l_unit=50; 'BackGroundColor',bg_desc2,...
h_edit=20; 'FontSize',10,...
espace=10; 'HorizontalAlignment','left',...
x_gauche=50; 'String','Tension[V]');
x_droite=largeur-50; y_p = y_p-h_edit+2;
x_p=x_gauche; U_edit = uicontrol(fig1,...
y_p=y_haut; 'style','edit',...
'position',[x_p y_p l_edit h_edit],...
bg_unit=[0.7 0.7 0.7]; 'BackGroundColor','w',...
bg_desc=[0.925 0.914 0.847];%[0.8 0.8 0.8]; 'FontSize',10,...
bg_val=[0.925 0.914 0.847]; 'HorizontalAlignment','center',...
bg_desc2=[0.7 0.7 0.7]; 'String','220');
y_p=y_p-h_edit-espace/2;
%création de la figure uicontrol(fig1,...
fig1=figure('Position',gabarie,... 'style','text',...
'Color',[0.5 0.5 'position',[x_p y_p l_edit h_edit],...
0.5],...%'Menubar','none',... 'BackGroundColor',bg_desc2,...
'Numbertitle','off',... 'FontSize',10,...
'Name','Démarrage direct de la 'HorizontalAlignment','left',...
machine',... 'String','Courant[A]');
'Tag','demarrage'); y_p = y_p-h_edit+2;
I_edit=uicontrol(fig1,...
'style','edit',...

- 101 -
Contribution à l’étude des différentes stratégies de commande d’une machine asynchrone

'position',[x_p y_p l_edit h_edit],... bouton2=uicontrol(fig1,...


'BackGroundColor','w',... 'style','PushButton',...
'FontSize',10,... 'position',[x_p y_p l_edit h_edit],...
'HorizontalAlignment','center',... 'FontSize',12,...
'String','25'); 'String','<< Précédent',...
y_p = y_p-h_edit-espace/2; 'Callback','params_input');
y_p=y_p-h_edit-espace;
% créer un edit pour entrer la fréquence de bouton3=uicontrol(fig1,...
la tension d'alimentation 'style','PushButton',...
uicontrol(fig1,... 'position',[x_p y_p l_edit h_edit],...
'style','text',... 'FontSize',12,...
'position',[x_p y_p l_edit h_edit],... 'String','Suivant >>',...
'BackGroundColor',bg_desc2,...
'FontSize',10,... 'Callback','close;interface_choix_strategie'
'HorizontalAlignment','left',... );
'String','Fréquence[Hz]'); y_p=y_p-h_edit-espace;
y_p=y_p-h_edit+2; bouton4=uicontrol(fig1,...
f_edit=uicontrol(fig1,... 'style','PushButton',...
'style','edit',... 'position',[x_p y_p l_edit h_edit],...
'position',[x_p y_p l_edit h_edit],... 'FontSize',12,...
'BackGroundColor','w',... 'String','Fermer',...
'FontSize',10,... 'Callback','close');
'HorizontalAlignment','center',... % puis créer l'axe en précisant sa position
'String','50'); et dimension en pixels
larg_axe=500;
% créer un bouton on-off pour tracer ou non haut_axe=450;
y_p=y_p-h_edit-4*espace; axe1 =
Is_check = uicontrol(fig1, ... axes('Units','pixels','Position',[x_gauche+2
'Style', 'Checkbox', ... 5 y_p larg_axe haut_axe]);
'String', 'Courant', ... % Choix de la source
'Position', [x_p y_p l_edit h_edit], ... % sim('demarrage_triphase_direct',[0 1]);
position dans la fenetre et dimension tracage1;
'Min', 0, ... valeur off
'Max', 1, ... valeur on enregistrement_ok.m
'Value', 1, ... % valeur initiale longueur_adresse = length(dest)*5.5;
'Callback','tracage1',... largeur_boite1 =
'FontSize',12); % l'action associée (length(dest)+length('emplacement :
y_p=y_p-h_edit-espace; '))*5.5+20;
Ce_check = uicontrol(fig1, ... largeur_boite2 = 375;
'Style', 'Checkbox', ... largeur_boite =
max(largeur_boite1,largeur_boite2);
'String', 'Couple', ... if largeur_boite == 375,
'Position', [x_p y_p l_edit h_edit], ... % xplace = 400;
position dans la fenetre et dimension else xplace = 1000-largeur_boite;
'Min', 0, ... valeur off end;
'Max', 1, ... valeur on
'Value', 1, ... % valeur initiale message_enregistrement =
'Callback','tracage1',... figure('Position',[xplace 400 largeur_boite
'FontSize',12); % l'action associée 75],...
y_p=y_p-h_edit-espace; 'Menubar','none',...
v_check = uicontrol(fig1, ... 'Numbertitle','off',...
'Style', 'Checkbox', ... 'color',[0.75 0.75 0.75],...
'String', 'Vitesse', ... 'Name','Enregistrement des paramètres en
'Position', [x_p y_p l_edit h_edit], ... % cours...',...
position dans la fenetre et dimension 'Tag','message');
'Min', 0, ... valeur off uicontrol(message_enregistrement,...
'Max', 1, ... valeur on 'style','text',...
'Value', 1, ... % valeur initiale 'position',[25 50 350 20],...
'Callback','tracage1',... 'HorizontalAlignment','center',...
'FontSize',12); % l'action associée 'backgroundcolor',[0.75 0.75 0.75],...
'foregroundcolor','k',...
% créer les boutons 'string','Les paramètres des régulateurs
y_p=y_p-h_edit-4*espace; sont enregistrés sous : ');
bouton1=uicontrol(fig1,... uicontrol(message_enregistrement,...
'style','PushButton',... 'style','text',...
'position',[x_p y_p l_edit h_edit],... 'position',[10 30 75 20],...
'FontSize',12,... 'HorizontalAlignment','left',...
'String','Simuler',... 'backgroundcolor',[0.75 0.75 0.75],...
'Callback','simuler_fichier'); 'string','Emplacement : ');
y_p=y_p-h_edit-espace; uicontrol(message_enregistrement,...

- 102 -
Annexe

'style','text',... x_droite = 800;


'position',[85 30 longueur_adresse largeur_text = 200;
20],... hauteur_axe = 400;
'HorizontalAlignment','left',... largeur_axe = 500;
'string',dest); place =[x_gauche y_bas x_droite y_haut];
hauteur_bouton = 25;
uicontrol(message_enregistrement,... esp = 30;
'style','pushbutton',... hg_edit = 100;
'position',[(largeur_boite-75)/2 5 75 text_p = y_haut-hg_edit-esp-30;
20],... fig1=figure('Position',place,...
'string','OK',... 'Numbertitle','on',...
'Name','Synthèse du régulateur de
'callback','close(message_enregistrement)'); vitesse par control scalaire...',...
'Tag','Com_Scalaire');
information.m uicontrol(fig1,...
open('help.htm'); 'style','edit',...
'position',[x_droite-largeur_text-esp-10
interface_choix_strategie.m y_bas largeur_text+20
global control_popup; hauteur_axe+esp*2+15],...
fig_choix = figure('position',[400 250 350 'backgroundcolor',[0.5 0.5 0.5]);
250],...
'Menubar','none',... %les axes
'Numbertitle','off',... axe_vitesse = axes('Units','pixels',...
'Name','Choix de la stratégie de 'Position',[x_gauche y_bas largeur_axe
commande de la MAS...',... hauteur_axe+75]);
'Tag','choix_strat'); reponse_indicielle1;
x_p = x_droite-largeur_text-esp;
control_popup = uicontrol(fig_choix,... y_p = y_haut-2*esp-45;
'style','popupmenu',... uicontrol(fig1,...
'position',[50 100 250 75],... 'style','edit',...
'fontsize',12,... 'FontSize',12,...
'backgroundcolor','white',... 'position',[x_p y_p largeur_text
'string','Pilotage par Control hauteur_bouton*0.75],...
scalaire|Pilotage par Control 'backgroundcolor',[0.75 0.75 0.75],...
vectoriel|Control par réglage d''état'); 'String','TYPE DE CONTROL');
btn_suivant = uicontrol(fig_choix,... y_p = y_p-hg_edit;
'style','pushbutton',... uicontrol(fig1,...
'position',[50 50 100 30],... 'style','edit',...
'string','Suivant >>',... 'position',[x_p y_p largeur_text
'fontsize',12,... hg_edit]);
'callback','choix_strategie');
uicontrol(fig_choix,... courant_radio = uicontrol(fig1, ... % on
'style','pushbutton',... crée un objet 'interface utilisateur' dans
'position',[200 50 100 30],... la fenetre f
'string','Fermer',... 'Style', 'radiobutton', ... % de type
'fontsize',12,... Bouton on-off
'callback','close(fig_choix)'); 'String', 'Control du courant statorique',
... % le texte affiché dans le bouton
interface_com_scal.m 'Position', [x_p+15 y_p+3*esp/2
global courant_radio; largeur_text-30 hauteur_bouton], ... %
global tension_radio edit_t edit_cr; position dans la fenetre et dimension
global kp ki edit_ki edit_kp slider_kp 'Min', 0, ... valeur off
slider_ki; 'Max', 1, ... valeur on
% création de la figure 'Value', 1,...
% clear all; 'backgroundcolor',[0.75 0.75 0.75],...
% load_params;
type_commande = 1; 'callback','choix_circuit_courant;sim(''synt
kp0 = 0.325; hese_scal'',[0 8]);reponse_indicielle1');
ki0 = 0.75;
kp = kp0; tension_radio = uicontrol(fig1, ... % on
ki = ki0; crée un objet 'interface utilisateur' dans
com1 = 0.35; la fenetre f
com2 = 0; 'Style', 'radiobutton', ... % de type
t_perturb = [3 4 5]; Bouton on-off
cr_perturb = [30 -30 0]; 'String', 'Control de la tension
sim('synthese_scal',[0 8]); statorique', ... % le texte affiché dans le
x_gauche = 50; bouton
y_bas = 50; 'Position', [x_p+15 y_p+esp/2
y_haut = 600; largeur_text-30 hauteur_bouton], ... %
position dans la fenetre et dimension

- 103 -
Contribution à l’étude des différentes stratégies de commande d’une machine asynchrone

'Min', 0, ... valeur off


'Max', 1, ... valeur on 'callback','simuler_tracer_vitesse;reponse_i
'Value', 0,... ndicielle1');
'backgroundcolor',[0.75 0.75 0.75],...
%perturbation
'callback','choix_circuit_tension;sim(''synt
hese_scal'',[0 8]);reponse_indicielle1'); y_p = y_p-hg_edit-esp;
uicontrol(fig1,...
%régulateur 'style','edit',...
y_p = y_p-hg_edit-esp; 'position',[x_p y_p largeur_text
uicontrol(fig1,... hg_edit]);
'style','edit',... uicontrol(fig1,...
'position',[x_p y_p largeur_text 'style','edit',...
hg_edit]); 'FontSize',12,...
uicontrol(fig1,... 'position',[x_p y_p+hg_edit largeur_text
'style','edit',... hauteur_bouton*0.75],...
'FontSize',12,... 'string','PERTURBATION',...
'position',[x_p y_p+hg_edit largeur_text 'backgroundcolor',[0.75 0.75 0.75]);
hauteur_bouton*0.75],... uicontrol(fig1,...
'string','REGULATEUR DE VITESSE',... 'style','text',...
'backgroundcolor',[0.75 0.75 0.75]); 'position',[x_p+5 y_p+esp/2
uicontrol(fig1,... largeur_text/4 hauteur_bouton],...
'style','text',... 'FontSize',12,...
'position',[x_p+5 y_p+esp/2 'String','Cr[mN]');
largeur_text/4 hauteur_bouton],... edit_cr = uicontrol(fig1,...
'FontSize',12,... 'style','edit',...
'String','Gain kp'); 'position',[10+x_p+largeur_text/4
edit_kp = uicontrol(fig1,... y_p+esp/2 largeur_text/2+5
'style','edit',... hauteur_bouton],...
'position',[10+x_p+largeur_text/4 'backgroundcolor','white',...
y_p+esp/2 largeur_text/4 hauteur_bouton],... 'string',['[ ' num2str(cr_perturb) '
'backgroundcolor','white',... ]']);
'string',num2str(kp0)); uicontrol(fig1,...
slider_kp = uicontrol(fig1,... 'style','PushButton',...
'style','slider',... 'position',[70+x_p+largeur_text/2
'position',[15+x_p+largeur_text/2 y_p+esp/2 20 2*hauteur_bouton+5],...
y_p+esp/2 largeur_text/3+10 'string','OK',...
hauteur_bouton],...
'Min',0,... 'callback','simuler_tracer_vitesse;reponse_i
'Max',4*kp0,... ndicielle1');

'value',str2num(get(edit_kp,'string')),... uicontrol(fig1,...
'style','text',...
'callback','simuler_tracer_vitesse;reponse_i 'position',[x_p+5 y_p+3*esp/2
ndicielle1'); largeur_text/4 hauteur_bouton],...
'FontSize',12,...
uicontrol(fig1,... 'String','t[s]');
'style','text',... edit_t = uicontrol(fig1,...
'position',[x_p+5 y_p+3*esp/2 'style','edit',...
largeur_text/4 hauteur_bouton],... 'position',[10+x_p+largeur_text/4
'FontSize',12,... y_p+3*esp/2 largeur_text/2+5
'String','Gain ki'); hauteur_bouton],...
edit_ki = uicontrol(fig1,... 'backgroundcolor','white',...
'style','edit',... 'string',['[ ' num2str(t_perturb) '
'position',[10+x_p+largeur_text/4 ]']);
y_p+3*esp/2 largeur_text/4
hauteur_bouton],... %les boutons
'backgroundcolor','white',... y_p = y_p-esp;
'string',num2str(ki0)); bouton_sauver = uicontrol(fig1,...
slider_ki = uicontrol(fig1,... 'style','pushbutton',...
'style','slider',... 'position',[x_p y_p largeur_text
'position',[15+x_p+largeur_text/2 hauteur_bouton],...
y_p+3*esp/2 largeur_text/3+10 'string','Sauver les paramètres en
hauteur_bouton],... cours',...
'Min',0,... 'fontsize',12,...
'Max',4*ki0,... 'callback','save_params');

'value',str2num(get(edit_ki,'string')),... y_p = y_p-1.5*esp;


bouton_ok = uicontrol(fig1,...
'style','PushButton',...

- 104 -
Annexe

'position',[x_p y_p largeur_text/2.5 % reponses indicielles;


hauteur_bouton],... sim('synthese_vect',[0 1]);
'FontSize',12,... ymin = 0.95*ones(size(t));
'String','OK',... ymax = 1.05*ones(size(t));
'callback','res_com_scal'); plot(t,y1,'b',t,y2,'g',t,y3,'r',t,ymin,'m--
bouton_fermer = uicontrol(fig1,... ',t,ymax,'m--');
'style','PushButton',... grid;
xlabel('t[s]');
'position',[x_p+largeur_text/2.5+largeur_tex title('Réponses indicielles','color',[0 0
t/5 y_p largeur_text/2.5 hauteur_bouton],... 0.5],'fontsize',13);
'FontSize',12,... leg1 = 'Flux \Phir';
'String','Fermer',... leg2 = 'Couple Ce';
'Callback','close'); leg3 = 'Vitesse \Omega';
legend(leg1,leg2,leg3);
interface_com_vect.m
global circuit_popup edit_t edit_cr; x_p = x_droite-largeur_text-esp;
global Kp1 Ki1 Kp2 Ki2 Kp3 Ki3 ; y_p = y_haut-6*esp-25;
global edit_ki1 edit_kp1 edit_kp2 edit_ki2
edit_kp3 edit_ki3; %Régulateur de flux
global slider_kp1 slider_ki1 slider_kp2 uicontrol(fig1,...
slider_ki2 slider_kp3 slider_ki3; 'style','edit',...
%création de la figure 'position',[x_p y_p largeur_text
% clear all hg_edit]);
% load_params; uicontrol(fig1,...
type_commande = 2; 'style','edit',...
denk1 = Rs + Rr*(Lsr^2/Lr^2); 'FontSize',12,...
k1 = Lsr/denk1; 'position',[x_p y_p+hg_edit largeur_text
T1 = Lsg/denk1; hauteur_bouton*0.75],...
phir = 0.9; 'foregroundcolor',[0 0 1],...
k2 = p*3*Lsr*phir/Lr/2; 'string','REGULATEUR DE FLUX',...
T2 = Lsg/Rs; 'backgroundcolor',[0.25 0.25 0.25]);
uicontrol(fig1,...
Kp1 = 130; 'style','text',...
Ki1 = 911.69; 'position',[x_p+9 y_p+hauteur_bouton/4
Kp2 = 0.1; largeur_text-18 hauteur_bouton*0.75],...
Ki2 = 13.6339; 'FontSize',10,...
Kp3 = 9.9531; 'horizontalalignment','left',...
Ki3 = 78.95; 'foregroundcolor','y',...
frottement = 0.001; 'backgroundcolor',[0.75 0.75 0.75],...
'String','Régulateur PI : Gr(p)=
x_gauche = 50; Kp+Ki/p');
y_bas = 50; uicontrol(fig1,...
y_haut = 600; 'style','text',...
x_droite = 800; 'position',[x_p+5 y_p+esp largeur_text/4
largeur_text = 200; hauteur_bouton],...
hauteur_axe = 400; 'FontSize',12,...
largeur_axe = 500; 'String','Gain kp');
place =[x_gauche y_bas x_droite y_haut]; edit_kp1 = uicontrol(fig1,...
hauteur_bouton = 25; 'style','edit',...
esp = 30; 'position',[10+x_p+largeur_text/4
hg_edit = 100; y_p+esp largeur_text/4 hauteur_bouton],...
text_p = y_haut-hg_edit-esp-30; 'backgroundcolor','white',...
fig1=figure('Position',place,... 'string',num2str(Kp1));
'Menubar','none',... slider_kp1 = uicontrol(fig1,...
'Numbertitle','off',... 'style','slider',...
'Name','Synthèse du régulateur de 'position',[15+x_p+largeur_text/2
vitesse par control vectoriel...',... y_p+esp largeur_text/3+10
'Tag','Com_Vectorielle'); hauteur_bouton],...
uicontrol(fig1,... 'Min',0,...
'style','edit',... 'Max',4*Kp1,...
'position',[x_droite-largeur_text-esp-10
y_bas largeur_text+20 'value',str2num(get(edit_kp1,'string')),...
hauteur_axe+esp*2+15],...
'backgroundcolor',[0.5 0.5 0.5]); 'callback','set(edit_kp1,''string'',num2str(
get(slider_kp1,''value'')));simuler_tracer_c
%les axes om_vect');
axe_vitesse = axes('Units','pixels',... uicontrol(fig1,...
'Position',[x_gauche y_bas largeur_axe 'style','text',...
hauteur_axe+75]); 'position',[x_p+5 y_p+2*esp
largeur_text/4 hauteur_bouton],...

- 105 -
Contribution à l’étude des différentes stratégies de commande d’une machine asynchrone

'FontSize',12,...
'String','Gain ki'); 'value',str2num(get(edit_kp2,'string')),...
edit_ki1 = uicontrol(fig1,...
'style','edit',... 'callback','set(edit_kp2,''string'',num2str(
'position',[10+x_p+largeur_text/4 get(slider_kp2,''value'')));simuler_tracer_c
y_p+2*esp largeur_text/4 hauteur_bouton],... om_vect');
'backgroundcolor','white',...
'string',num2str(Ki1)); uicontrol(fig1,...
slider_ki1 = uicontrol(fig1,... 'style','text',...
'style','slider',... 'position',[x_p+5 y_p+2*esp
'position',[15+x_p+largeur_text/2 largeur_text/4 hauteur_bouton],...
y_p+2*esp largeur_text/3+10 'FontSize',12,...
hauteur_bouton],... 'String','Gain ki');
'Min',0,... edit_ki2 = uicontrol(fig1,...
'Max',4*Ki1,... 'style','edit',...
'position',[10+x_p+largeur_text/4
'value',str2num(get(edit_ki1,'string')),... y_p+2*esp largeur_text/4 hauteur_bouton],...
'backgroundcolor','white',...
'callback','set(edit_ki1,''string'',num2str( 'string',num2str(Ki2));
get(slider_ki1,''value'')));simuler_tracer_c slider_ki2 = uicontrol(fig1,...
om_vect'); 'style','slider',...
'position',[15+x_p+largeur_text/2
y_p+2*esp largeur_text/3+10
y_p = y_p-hg_edit-esp; hauteur_bouton],...
'Min',0,...
%Régulateur de couple 'Max',4*Ki2,...
uicontrol(fig1,...
'style','edit',... 'value',str2num(get(edit_ki2,'string')),...
'position',[x_p y_p largeur_text
hg_edit]); 'callback','set(edit_ki2,''string'',num2str(
uicontrol(fig1,... get(slider_ki2,''value'')));simuler_tracer_c
'style','edit',... om_vect');
'FontSize',12,...
'position',[x_p y_p+hg_edit largeur_text
hauteur_bouton*0.75],... y_p = y_p-hg_edit-esp;
'foregroundcolor',[0 1 0],...
'string','REGULATEUR DE COUPLE',... %Régulateur de vitesse
'backgroundcolor',[0.25 0.25 0.25]); uicontrol(fig1,...
'style','edit',...
uicontrol(fig1,... 'position',[x_p y_p largeur_text
'style','text',... hg_edit]);
'position',[x_p+9 y_p+hauteur_bouton/4 uicontrol(fig1,...
largeur_text-18 hauteur_bouton*0.75],... 'style','edit',...
'FontSize',10,... 'FontSize',12,...
'horizontalalignment','left',... 'position',[x_p y_p+hg_edit largeur_text
'foregroundcolor','y',... hauteur_bouton*0.75],...
'backgroundcolor',[0.75 0.75 0.75],... 'foregroundcolor',[1 0 0],...
'String','Régulateur PI : Gr(p)= 'string','REGULATEUR DE VITESSE',...
Kp+Ki/p'); 'backgroundcolor',[0.25 0.25 0.25]);
uicontrol(fig1,...
uicontrol(fig1,... 'style','text',...
'style','text',... 'position',[x_p+9 y_p+hauteur_bouton/4
'position',[x_p+5 y_p+esp largeur_text/4 largeur_text-18 hauteur_bouton*0.75],...
hauteur_bouton],... 'FontSize',10,...
'FontSize',12,... 'horizontalalignment','left',...
'String','Gain kp'); 'foregroundcolor','y',...
edit_kp2 = uicontrol(fig1,... 'backgroundcolor',[0.75 0.75 0.75],...
'style','edit',... 'String','Régulateur PI : Gr(p)=
'position',[10+x_p+largeur_text/4 Kp+Ki/p');
y_p+esp largeur_text/4 hauteur_bouton],... uicontrol(fig1,...
'backgroundcolor','white',... 'style','text',...
'string',num2str(Kp2)); 'position',[x_p+5 y_p+esp largeur_text/4
slider_kp2 = uicontrol(fig1,... hauteur_bouton],...
'style','slider',... 'FontSize',12,...
'position',[15+x_p+largeur_text/2 'String','Gain kp');
y_p+esp largeur_text/3+10 edit_kp3 = uicontrol(fig1,...
hauteur_bouton],... 'style','edit',...
'Min',0,... 'position',[10+x_p+largeur_text/4
'Max',4*Kp2,... y_p+esp largeur_text/4 hauteur_bouton],...
'backgroundcolor','white',...

- 106 -
Annexe

'string',num2str(Kp3)); interface_regetat.m
slider_kp3 = uicontrol(fig1,... % clear all;
'style','slider',... global im1 re1 im2 re2 im3 re3 p1i p1f p1n ;
'position',[15+x_p+largeur_text/2 global edit_re1 edit_im1 edit_im2 edit_re2
y_p+esp largeur_text/3+10 edit_im3 edit_re3;
hauteur_bouton],... global slider_im1 slider_re1 slider_im2
'Min',0,... slider_re2 slider_im3 slider_re3;
'Max',4*Kp3,... %création de la figure
'value',str2num(get(edit_kp3,'string')),...
load_params;
type_commande = 3;
'callback','set(edit_kp3,''string'',num2str( synthese_regetat;
get(slider_kp3,''value'')));simuler_tracer_c
om_vect'); re1 = real(p1i);
im1 = imag(p1i);
uicontrol(fig1,... im2 = imag(p1f);
'style','text',... re2 = real(p1f);
'position',[x_p+5 y_p+2*esp im3 = imag(p1n);
largeur_text/4 hauteur_bouton],... re3 = real(p1n);
'FontSize',12,... frott = 0.001;
'String','Gain ki');
edit_ki3 = uicontrol(fig1,...
'style','edit',... x_gauche = 50;
'position',[10+x_p+largeur_text/4 y_bas = 50;
y_p+2*esp largeur_text/4 hauteur_bouton],... y_haut = 600;
'backgroundcolor','white',... x_droite = 800;
'string',num2str(Ki3)); largeur_text = 200;
slider_ki3 = uicontrol(fig1,... hauteur_axe = 400;
'style','slider',... largeur_axe = 500;
'position',[15+x_p+largeur_text/2 place =[x_gauche y_bas x_droite y_haut];
y_p+2*esp largeur_text/3+10 hauteur_bouton = 25;
hauteur_bouton],... esp = 30;
'Min',0,... hg_edit = 100;
'Max',4*Ki3,... text_p = y_haut-hg_edit-esp-30;
fig1=figure('Position',place,...
'value',str2num(get(edit_ki3,'string')),... 'Numbertitle','off',...
'Name','Synthèse du régulateur d''état
'callback','set(edit_ki3,''string'',num2str( ...',...
get(slider_ki3,''value'')));simuler_tracer_c 'Tag','Com_regetat');
om_vect'); uicontrol(fig1,...
'style','edit',...
%les boutons 'position',[x_droite-largeur_text-esp-10
y_p = y_p-esp; y_bas largeur_text+20
bouton_sauver = uicontrol(fig1,... hauteur_axe+esp*2+15],...
'style','pushbutton',... 'backgroundcolor',[0.5 0.5 0.5]);
'position',[x_p y_p largeur_text
hauteur_bouton],... %les axes
'string','Sauver les paramètres en axe_vitesse = axes('Units','pixels',...
cours',... 'Position',[x_gauche y_bas largeur_axe
'fontsize',12,... hauteur_axe+75]);
'callback','save_params');
simuler_tracer_regetat;
y_p = y_p-1.5*esp; x_p = x_droite-largeur_text-esp;
y_p = y_haut-6*esp-25;
bouton_ok = uicontrol(fig1,...
'style','PushButton',... %Régulateur du courant statorique
'position',[x_p y_p largeur_text/2.5 uicontrol(fig1,...
hauteur_bouton],... 'style','edit',...
'FontSize',12,... 'position',[x_p y_p largeur_text
'String','OK',... hg_edit]);
'callback','masvect'); uicontrol(fig1,...
bouton_fermer = uicontrol(fig1,... 'style','edit',...
'style','PushButton',... 'FontSize',12,...
'position',[x_p y_p+hg_edit largeur_text
'position',[x_p+largeur_text/2.5+largeur_tex hauteur_bouton*0.75],...
t/5 y_p largeur_text/2.5 hauteur_bouton],... 'string','REGULATEUR DU COURANT',...
'FontSize',12,... 'foregroundcolor',[0 0 1],...
'String','Fermer',... 'backgroundcolor',[0.25 0.25 0.25]);
'Callback','close');
uicontrol(fig1,...

- 107 -
Contribution à l’étude des différentes stratégies de commande d’une machine asynchrone

'style','text',... 'foregroundcolor',[0 1 0],...


'position',[x_p+12 y_p+hauteur_bouton/3 'backgroundcolor',[0.25 0.25 0.25]);
largeur_text-20 hauteur_bouton*0.5],...
'FontSize',9,... uicontrol(fig1,...
'horizontalalignment','left',... 'style','text',...
'foregroundcolor','y',... 'position',[x_p+12 y_p+hauteur_bouton/3
'backgroundcolor',[0.75 0.75 0.75],... largeur_text-20 hauteur_bouton*0.5],...
'String','Entrer p1; p2=conj(p1); 'FontSize',9,...
p3=tr(A)-p1-p2'); 'horizontalalignment','left',...
'foregroundcolor','y',...
'backgroundcolor',[0.75 0.75 0.75],...
uicontrol(fig1,... 'String','Entrer p1; p2=conj(p1);
'style','text',... p3=tr(A)-p1-p2');
'position',[x_p+5 y_p+esp largeur_text/4
hauteur_bouton],...
'FontSize',12,... uicontrol(fig1,...
'String','Imag'); 'style','text',...
edit_im1 = uicontrol(fig1,... 'position',[x_p+5 y_p+esp largeur_text/4
'style','edit',... hauteur_bouton],...
'position',[10+x_p+largeur_text/4 'FontSize',12,...
y_p+esp largeur_text/4 hauteur_bouton],... 'String','Imag');
'backgroundcolor','white',... edit_im2 = uicontrol(fig1,...
'string',num2str(im1)); 'style','edit',...
slider_im1 = uicontrol(fig1,... 'position',[10+x_p+largeur_text/4
'style','slider',... y_p+esp largeur_text/4 hauteur_bouton],...
'position',[15+x_p+largeur_text/2 'backgroundcolor','white',...
y_p+esp largeur_text/3+10 'string',num2str(im2));
hauteur_bouton],... slider_im2 = uicontrol(fig1,...
'Min',-2*abs(im1),... 'style','slider',...
'Max',2*abs(im1),... 'position',[15+x_p+largeur_text/2
y_p+esp largeur_text/3+10
'value',str2num(get(edit_im1,'string')),... hauteur_bouton],...
'callback','synthese_regetat_courant'); 'Min',-2*abs(im2),...
uicontrol(fig1,... 'Max',2*abs(im2),...
'style','text',...
'position',[x_p+5 y_p+2*esp 'value',str2num(get(edit_im2,'string')),...
largeur_text/4 hauteur_bouton],... 'callback','synthese_regetat_flux');
'FontSize',12,...
'String','Réel'); uicontrol(fig1,...
edit_re1 = uicontrol(fig1,... 'style','text',...
'style','edit',... 'position',[x_p+5 y_p+2*esp
'position',[10+x_p+largeur_text/4 largeur_text/4 hauteur_bouton],...
y_p+2*esp largeur_text/4 hauteur_bouton],... 'FontSize',12,...
'backgroundcolor','white',... 'String','Réel');
'string',num2str(re1)); edit_re2 = uicontrol(fig1,...
slider_re1 = uicontrol(fig1,... 'style','edit',...
'style','slider',... 'position',[10+x_p+largeur_text/4
'position',[15+x_p+largeur_text/2 y_p+2*esp largeur_text/4 hauteur_bouton],...
y_p+2*esp largeur_text/3+10 'backgroundcolor','white',...
hauteur_bouton],... 'string',num2str(re2));
'Min',-2*abs(re1),... slider_re2 = uicontrol(fig1,...
'Max',2*abs(re1),... 'style','slider',...
'position',[15+x_p+largeur_text/2
'value',str2num(get(edit_re1,'string')),... y_p+2*esp largeur_text/3+10
'callback','synthese_regetat_courant'); hauteur_bouton],...
'Min',-2*abs(re2),...
'Max',2*abs(re2),...
y_p = y_p-hg_edit-esp;
'value',str2num(get(edit_re2,'string')),...
%Régulateur de flux 'callback','synthese_regetat_flux');
uicontrol(fig1,...
'style','edit',...
'position',[x_p y_p largeur_text y_p = y_p-hg_edit-esp;
hg_edit]);
uicontrol(fig1,... %Régulateur de vitesse
'style','edit',... uicontrol(fig1,...
'FontSize',12,... 'style','edit',...
'position',[x_p y_p+hg_edit largeur_text 'position',[x_p y_p largeur_text
hauteur_bouton*0.75],... hg_edit]);
'string','REGULATEUR DU FLUX',... uicontrol(fig1,...

- 108 -
Annexe

'style','edit',... 'string','Sauver les paramètres en


'FontSize',12,... cours',...
'position',[x_p y_p+hg_edit largeur_text 'fontsize',12,...
hauteur_bouton*0.75],... 'callback','save_params');
'foregroundcolor',[1 0 0],...
'string','REGULATEUR DE VITESSE',... y_p = y_p-1.5*esp;
'backgroundcolor',[0.25 0.25 0.25]);
uicontrol(fig1,... bouton_ok = uicontrol(fig1,...
'style','text',... 'style','PushButton',...
'position',[x_p+12 y_p+hauteur_bouton/3 'position',[x_p y_p largeur_text/2.5
largeur_text-20 hauteur_bouton*0.5],... hauteur_bouton],...
'FontSize',9,... 'FontSize',12,...
'horizontalalignment','left',... 'String','OK',...
'foregroundcolor','y',... 'callback','masregetat');
'backgroundcolor',[0.75 0.75 0.75],... bouton_fermer = uicontrol(fig1,...
'String','Entrer p1; p2=conj(p1); 'style','PushButton',...
p3=tr(A)-p1-p2');
uicontrol(fig1,... 'position',[x_p+largeur_text/2.5+largeur_tex
'style','text',... t/5 y_p largeur_text/2.5 hauteur_bouton],...
'position',[x_p+5 y_p+esp largeur_text/4 'FontSize',12,...
hauteur_bouton],... 'String','Fermer',...
'FontSize',12,... 'Callback','close');
'String','Imag');
edit_im3 = uicontrol(fig1,... load_params.m
'style','edit',... fs = 1;
'position',[10+x_p+largeur_text/4 n = 1;
y_p+esp largeur_text/4 hauteur_bouton],...
'backgroundcolor','white',... Tp = 50e-3;
'string',num2str(im3)); kcm = 1.1;
slider_im3 = uicontrol(fig1,... Un = U;
'style','slider',... In = I;
'position',[15+x_p+largeur_text/2 fn = f;
y_p+esp largeur_text/3+10 frott = 0.01;
hauteur_bouton],...
'Min',-2*abs(im3),... wn = 2*pi*fn;
'Max',2*abs(im3),... Zn = Un/In;
Ln = Zn/wn;
'value',str2num(get(edit_im3,'string')),... On = wn/p;
'callback','synthese_regetat_vitesse'); Mn = 3*Un*In*p/wn;
xs = Ls/Ln;
uicontrol(fig1,... xr = Lr/Ln;
'style','text',... xh = Lsr/Ln;
'position',[x_p+5 y_p+2*esp rs = Rs/Zn;
largeur_text/4 hauteur_bouton],... rr = Rr/Zn;
'FontSize',12,... Tm = J*On/Mn;
'String','Réel');
edit_re3 = uicontrol(fig1,... x_sigma = xs-xh*xh/xr;
'style','edit',...
'position',[10+x_p+largeur_text/4 Inv_Ts_2nd = rs*wn/x_sigma +
y_p+2*esp largeur_text/4 hauteur_bouton],... xh^2/(x_sigma*xr*Tr);
'backgroundcolor','white',... Ts_2nd = 1/Inv_Ts_2nd;
'string',num2str(re3));
slider_re3 = uicontrol(fig1,...
'style','slider',... masregetat.m
'position',[15+x_p+largeur_text/2
y_p+2*esp largeur_text/3+10 sim('mas_regetat',[0,4]);
hauteur_bouton],...
'Min',-2*abs(re3),... figure('position',[10 250 500 400]);
'Max',2*abs(re3),... subplot(211);
t1 = t(t>0.8);
'value',str2num(get(edit_re3,'string')),... Cr1 = cr(t>0.8);
'callback','synthese_regetat_vitesse'); plot(t1,Cr1);
title(['Couple résistant ' 'C_r(t)' '
%les boutons [Nm]'],'fontsize',11);
y_p = y_p-esp; grid;
bouton_sauver = uicontrol(fig1,...
'style','pushbutton',... subplot(212);
'position',[x_p y_p largeur_text t1 = t(t>0.8);
hauteur_bouton],... flux1 = flux(t>0.8);
plot(t1,flux1);

- 109 -
Contribution à l’étude des différentes stratégies de commande d’une machine asynchrone

title(['Flux rotorique ' '\Phi_r(t)


[Wb]'],'fontsize',11);
grid; xx =
figure('position',[520 250 500 400]); imread('images/strategie_commande_mas.bmp');
subplot(211); axes('units','pixel',...
t1 = t(t>0.8); 'position',[50 75 650 350]);
Ce1 = ce(t>0.8); image(xx);
plot(t1,Ce1); axis off;
title(['Couple électromagnétique ' 'Ce(t)' '
[Nm]'],'fontsize',11); uicontrol(fig0,...
grid; 'style','text',...
'position',[50 430 650 25],...
subplot(212); 'fontsize',14,...
t1 = t(t>0.8); 'string','STRATEGIE DE COMMANDE DE LA
v1 = v(t>0.8); MACHINE ASYNCHRONE',...
plot(t1,v1); 'foregroundcolor','red');
title(['Vitesse ' '\Omega' '(t) [rad.s^- uicontrol(fig0,...
^1]'],'fontsize',11); 'style','pushbutton',...
grid; 'position',[50 25 150 35],...
'fontsize',12,...
'string','Démarrer',...
'callback','params_input');
masvect.m uicontrol(fig0,...
sim('mas_vect',[0 4]); 'style','pushbutton',...
'position',[300 25 150 35],...
figure('position',[10 200 500 500]); 'string','Information',...
subplot(211); 'fontsize',12,...
t1 = t(t>0.8); 'callback','information');
Cr1 = Cr(t>0.8); uicontrol(fig0,...
plot(t1,Cr1); 'style','pushbutton',...
title(['Couple résistant ' 'C_r(t)' ' 'position',[550 25 150 35],...
[Nm]'],'fontsize',11); 'fontsize',12,...
grid; 'string','Quitter',...
'callback','close;exit');
subplot(212);
t1 = t(t>0.8); params_defaut.m
flux1 = flux(t>0.8); U = 220;
plot(t1,flux1); I = 25;
title(['Flux rotorique ' '\Phi_r(t) f = 50;
[Wb]'],'fontsize',11); Rs = 0.29;
grid; Rr = 0.35;
figure('position',[520 200 500 500]); Ls = 50e-3;
subplot(211); Lr = 50e-3;
t1 = t(t>0.8); Lm = 47e-3;
Ce1 = Ce(t>0.8); Lsr=Lm;
plot(t1,Ce1); J = 0.5;
title(['Couple électromagnétique ' 'Ce(t)' ' p = 2;
[Nm]'],'fontsize',11); sigma=1-Lm^2/(Ls*Lr);
grid; Lsg=sigma*Ls;
Tr=Lr/Rr;
subplot(212); set(U_edit,'string',num2str(U));
t1 = t(t>0.8); set(I_edit,'string',num2str(I));
v1 = v(t>0.8); set(f_edit,'string',num2str(f));
plot(t1,v1); set(Ls_edit,'String',num2str(Ls));
title(['Vitesse ' '\Omega' '(t) [rad.s^- set(Lr_edit,'String',num2str(Lr));
^1]'],'fontsize',11); set(Lm_edit,'String',num2str(Lm));
grid; set(Rs_edit,'String',num2str(Rs));
set(Rr_edit,'String',num2str(Rr));
memlod.m set(J_edit,'String',num2str(J));
clc; set(p_edit,'String',num2str(p));
path(path,'C:\Documents and
Settings\Lôdy\Ralody_doc\ralody1\doc_DEA\mem
oire\simuler'); fs = 1;
fig0 = figure('position',[100 200 750 n = 1;
500],...
'Numbertitle','off',... Tp = 50e-3;
'Name','Stratégies de commande de la kcm = 1.1;
MAS...',... Un = U;
'Tag','debut'); In = I;
%'Menubar','none',... fn = f;

- 110 -
Annexe

frott = 0.01; 'FontSize',14,...


'HorizontalAlignment','center',...
wn = 2*pi*fn; 'String','PARAMETRES DE LA MACHINE');
Zn = Un/In; % %en-tete
Ln = Zn/wn; uicontrol(fig,...
On = wn/p; 'style','text',...
Mn = 3*Un*In*p/wn; 'position',[x0 y(12) l_str h_str],...
xs = Ls/Ln; 'BackGroundColor',bg_desc,...
xr = Lr/Ln; 'FontSize',12,...
xh = Lsr/Ln; 'HorizontalAlignment','center',...
rs = Rs/Zn; 'String','DESCRIPTION');
rr = Rr/Zn; uicontrol(fig,...
Tm = J*On/Mn; 'style','text',...
'position',[x1 y(12) l_edit h_edit],...
x_sigma = xs-xh*xh/xr; 'BackGroundColor',bg_val,...
'FontSize',12,...
Inv_Ts_2nd = rs*wn/x_sigma + 'HorizontalAlignment','center',...
xh^2/(x_sigma*xr*Tr); 'String','VALEUR');
Ts_2nd = 1/Inv_Ts_2nd; uicontrol(fig,...
'style','text',...
'position',[x2 y(12) l_unit h_str],...
params_input.m 'BackGroundColor',bg_val,...
global fig Ls_edit Lr_edit Lm_edit Rr_edit 'FontSize',12,...
Rs_edit J_edit p_edit 'HorizontalAlignment','center',...
global Ls Lr Lm Rs Rr J p 'String','UNITE');
xfig = 200;
yfig = 200; U_label=uicontrol(fig,...
lfig = 600; 'style','text',...
hfig = 500; 'position',[x0 y(11) l_str h_str],...
gabarie=[xfig yfig lfig hfig]; 'BackGroundColor',bg_desc2,...
%définition de largeur et hauteur des labels 'FontSize',10,...
et edits 'HorizontalAlignment','right',...
H_tot = 400; 'String','Tension efficace............ U
l_str = 300; : ');
l_edit = 100; U_edit=uicontrol(fig,...
l_unit = 50; 'style','edit',...
h_str = 20; 'position',[x1 y(11) l_edit h_edit],...
h_edit = h_str; 'BackGroundColor','w',...
h_espace = 10; 'FontSize',10,...
l_espace = 10; 'HorizontalAlignment','center');
L_tot = l_str+l_edit+l_unit+2*l_espace; U_unite=uicontrol(fig,...
'style','text',...
%création de la figure 'position',[x2 y(11) l_unit h_str],...
fig = figure('Position',gabarie,... 'FontSize',10,...
'Color',[0.5 0.5 'HorizontalAlignment','left',...
0.5],...%'Menubar','none',... 'BackGroundColor',bg_unit,...
'Numbertitle','off',... 'String','[V]');
'menubar','none',...
'Name','Paramètres de la machine',... I_label=uicontrol(fig,...
'Tag','params'); 'style','text',...
%position initiale 'position',[x0 y(10) l_str h_str],...
bg_unit=[0.7 0.7 0.7]; 'BackGroundColor',bg_desc2,...
bg_desc=[0.925 0.914 0.847];%[0.8 0.8 0.8]; 'FontSize',10,...
bg_val=[0.925 0.914 0.847]; 'HorizontalAlignment','right',...
bg_desc2=[0.7 0.7 0.7]; 'String','Courant efficace............ I
x0 = (lfig-L_tot)/2; : ');
y0 = (hfig-H_tot)/2; I_edit=uicontrol(fig,...
'style','edit',...
y(1) = y0; 'position',[x1 y(10) l_edit h_edit],...
x1 = x0+l_str+l_espace; 'BackGroundColor','w',...
x2 = x1+l_edit+l_espace; 'FontSize',10,...
for i=1:13, 'HorizontalAlignment','center');
y(i+1) =y(i)+h_str+h_espace; I_unite=uicontrol(fig,...
end; 'style','text',...
'position',[x2 y(10) l_unit h_str],...
uicontrol(fig,... 'FontSize',10,...
'style','text',... 'HorizontalAlignment','left',...
'position',[x0 y(14) L_tot 'BackGroundColor',bg_unit,...
1.25*h_str],... 'String','[A]');
'BackGroundColor','y',...

- 111 -
Contribution à l’étude des différentes stratégies de commande d’une machine asynchrone

f_label=uicontrol(fig,... %
'style','text',... % %création de label et edit pour
'position',[x0 y(9) l_str h_str],... l'inductance mutuelle
'BackGroundColor',bg_desc2,... y_p = y(6);
'FontSize',10,... Lm_label=uicontrol(fig,...
'HorizontalAlignment','right',... 'style','text',...
'String','Fréquence du stator 'position',[x0 y_p l_str h_str],...
............ f : '); 'BackGroundColor',bg_desc2,...
f_edit=uicontrol(fig,... 'FontSize',10,...
'style','edit',... 'HorizontalAlignment','right',...
'position',[x1 y(9) l_edit h_edit],... 'String','Inductance
'BackGroundColor','w',... Mutuelle.............. Lm : ');
'FontSize',10,... Lm_edit=uicontrol(fig,...
'HorizontalAlignment','center'); 'style','edit',...
f_unite=uicontrol(fig,... 'position',[x1 y_p l_edit h_edit],...
'style','text',... 'BackGroundColor','w',...
'position',[x2 y(9) l_unit h_str],... 'FontSize',10,...
'FontSize',10,... 'HorizontalAlignment','center');
'HorizontalAlignment','left',... Lm_unite=uicontrol(fig,...
'BackGroundColor',bg_unit,... 'style','text',...
'String','[Hz]'); 'position',[x2 y_p l_unit h_str],...
'FontSize',10,...
'HorizontalAlignment','left',...
% %création de label et edit pour 'BackGroundColor',bg_unit,...
l'inductance statorique 'String','[H]');
Ls_label=uicontrol(fig,... %
'style','text',... % %création de label et edit pour la
'position',[x0 y(8) l_str h_str],... résistance statorique
'BackGroundColor',bg_desc2,... y_p = y(5);
'FontSize',10,... Rs_label=uicontrol(fig,...
'HorizontalAlignment','right',... 'style','text',...
'String','Inductance 'position',[x0 y_p l_str h_str],...
Statorique............ Ls : '); 'BackGroundColor',bg_desc2,...
Ls_edit=uicontrol(fig,... 'FontSize',10,...
'style','edit',... 'HorizontalAlignment','right',...
'position',[x1 y(8) l_edit h_edit],... 'String','Résistance
'BackGroundColor','w',... Statorique.......... Rs : ');
'FontSize',10,... Rs_edit=uicontrol(fig,...
'HorizontalAlignment','center'); 'style','edit',...
Ls_unite=uicontrol(fig,... 'position',[x1 y_p l_edit h_edit],...
'style','text',... 'BackGroundColor','w',...
'position',[x2 y(8) l_unit h_str],... 'FontSize',10,...
'FontSize',10,... 'HorizontalAlignment','center');
'HorizontalAlignment','left',...
'BackGroundColor',bg_unit,... Rs_unite=uicontrol(fig,...
'String','[H]'); 'style','text',...
% %création de label et edit pour 'position',[x2 y_p l_unit h_str],...
l'inductance rotorique 'FontSize',10,...
Lr_label=uicontrol(fig,... 'HorizontalAlignment','left',...
'style','text',... 'BackGroundColor',bg_unit,...
'position',[x0 y(7) l_str h_str],... 'String','[Ohm]');
'BackGroundColor',bg_desc2,...
'FontSize',10,... % %création de label et edit pour la
'HorizontalAlignment','right',... résistance rotorique
'String','Inductance y_p = y(4);
Rotorique............. Lr : ');
Lr_edit=uicontrol(fig,... Rr_label=uicontrol(fig,...
'style','edit',... 'style','text',...
'position',[x1 y(7) l_edit h_edit],... 'position',[x0 y_p l_str h_str],...
'BackGroundColor',bg_desc2,...
'BackGroundColor','w',... 'FontSize',10,...
'FontSize',10,... 'HorizontalAlignment','right',...
'HorizontalAlignment','center'); 'String','Résistance
Lr_unite=uicontrol(fig,... Rotorique........... Rr : ');
'style','text',... Rr_edit=uicontrol(fig,...
'position',[x2 y(7) l_unit h_str],... 'style','edit',...
'FontSize',10,... 'position',[x1 y_p l_edit h_edit],...
'HorizontalAlignment','left',... 'BackGroundColor','w',...
'BackGroundColor',bg_unit,... 'FontSize',10,...
'String','[H]'); 'HorizontalAlignment','center');

- 112 -
Annexe

Rr_unite=uicontrol(fig,... 'position',[x1 y_p l_edit h_edit],...


'style','text',... 'FontSize',12,...
'position',[x2 y_p l_unit h_str],... 'String','Suivant',...
'FontSize',10,... 'Callback','params_update');
'HorizontalAlignment','left',... bouton3=uicontrol(fig,...
'BackGroundColor',bg_unit,... 'style','PushButton',...
'String','[Ohm]'); 'position',[x2 y_p l_unit h_edit],...
'FontSize',12,...
% %création de label et edit pour le moment 'String','Fermer',...
d'inertie 'Callback','close');
y_p = y(3);
params_update.m
J_label=uicontrol(fig,... Ls = str2num(get(Ls_edit,'String'));
'style','text',... Lr = str2num(get(Lr_edit,'String'));
'position',[x0 y_p l_str h_str],... Lm = str2num(get(Lm_edit,'String'));
'BackGroundColor',bg_desc2,... Rs = str2num(get(Rs_edit,'String'));
'FontSize',10,... Rr = str2num(get(Rr_edit,'String'));
'HorizontalAlignment','right',... J = str2num(get(J_edit,'String'));
'String','Moment d''inertie............ p = str2num(get(p_edit,'String'));
J : '); U = str2num(get(U_edit,'String'));
J_edit=uicontrol(fig,... I = str2num(get(U_edit,'String'));
'style','edit',... f = str2num(get(f_edit,'String'));
'position',[x1 y_p l_edit h_edit],...
'BackGroundColor','w',... sigma = 1-Lm^2/(Ls*Lr);
'FontSize',10,... Lsg = sigma*Ls;
'HorizontalAlignment','center'); Tr = Lr/Rr;
J_unite=uicontrol(fig,... Lsr = Lm;
'style','text',... fs = 1;
'position',[x2 y_p l_unit h_str],... n = 1;
'FontSize',10,...
'HorizontalAlignment','left',... Tp = 50e-3;
'BackGroundColor',bg_unit,... kcm = 1.1;
'String','[Kgm²]'); Un = U;
% In = I;
% %création de label et edit pour le nombre fn = f;
de paire de poles frott = 0.01;
y_p=y(2);
wn = 2*pi*fn;
p_label=uicontrol(fig,... Zn = Un/In;
'style','text',... Ln = Zn/wn;
'position',[x0 y_p l_str h_str],... On = wn/p;
'BackGroundColor',bg_desc2,... Mn = 3*Un*In*p/wn;
'FontSize',10,... xs = Ls/Ln;
'HorizontalAlignment','right',... xr = Lr/Ln;
'String','Nombre de paire de poles..... xh = Lsr/Ln;
p : '); rs = Rs/Zn;
p_edit=uicontrol(fig,... rr = Rr/Zn;
'style','edit',... Tm = J*On/Mn;
'position',[x1 y_p l_edit h_edit],...
'BackGroundColor','w',... x_sigma = xs-xh*xh/xr;
'FontSize',10,...
'HorizontalAlignment','center'); Inv_Ts_2nd = rs*wn/x_sigma +
p_unite=uicontrol(fig,... xh^2/(x_sigma*xr*Tr);
'style','text',... Ts_2nd = 1/Inv_Ts_2nd;
'position',[x2 y_p l_unit h_str],...
'FontSize',10,... close(fig);
'HorizontalAlignment','left',... waitbar;
'BackGroundColor',bg_unit,... demarrage;
'String','[u]');
% %création des boutons reponse_demarrage.m
y_p = y(1); figure;
subplot(311);
bouton1=uicontrol(fig,... plot(t,Is);grid;title('Courant statorique
'style','PushButton',... Is[A]');
'position',[x0 y_p l_str h_edit],... subplot(312);
'FontSize',12,... plot(t,Ce);grid;title('Couple
'String','Paramètres par défaut',... électromagnétique');
'Callback','params_defaut'); subplot(313);
bouton2=uicontrol(fig,... plot(t,v);grid;title('Vitesse \Omega
'style','PushButton',... [rad/s]');

- 113 -
Contribution à l’étude des différentes stratégies de commande d’une machine asynchrone

diary off;
reponse_indicielle1.m clc;
%caractéristiques de la réponses case 1,
w_inf = w(max(size(w))); kp = str2num(get(edit_kp,'string'));
w_max = max(w); ki = str2num(get(edit_ki,'string'));
n_t_pic = find(w==w_max); kpstr1 = ['Gain Kp = ' num2str(kp)];
t_pic = t(n_t_pic+25); kistr1 = ['Gain Ki = ' num2str(ki)];
depassement = 100*(w_max-w_inf)/w_inf; if get(courant_radio,'value')==1,
str_dep = ['D_1 = ' num2str(depassement) ' titre = 'Résultat de la synthèse par
%']; control scalaire du courant';
tube1 = 0.95*w_inf*ones(size(t)); else,
tube2 = 1.05*w_inf*ones(size(t)); titre = 'Résultat de la synthèse par
control scalaire de la tension';
plot(t,wref/2,t,w,'r',t,cr,t,tube1,'c',t,tub end;
e2,'c'); clc;
grid; diary(nom_fichier_extension);
title('Réponse indicielle de la vitesse disp(titre);
\Omega','fontsize',13,'color','r'); disp('Régulateur de vitesse');
text(t_pic,w_max,str_dep); disp(kpstr1);
legend('\Omega_r_é_f','\Omega','Couple disp(kistr1);
résistant',0); diary off;
clc;
case 3
sauver.m sk1i = ['k1 = ' num2str(k1i)];
global dest; sk2i = ['k2 = ' num2str(k2i)];
nom_de_fichier = get(nom_fichier,'string'); skRi = ['kR = ' num2str(kRi)];
choix_format = get(type_fichier,'value'); skwi = ['kw = ' num2str(kwi)];
switch choix_format, skvi = ['kv = ' num2str(kvi)];
case 1, sTi = ['Constante de temps du système
extension = '.txt'; équivalent : Ti = ' num2str(Ti)];
case 2,
extension = '.doc'; sk0f = ['k0_phi = ' num2str(k0_phi)];
case 3, sk1f = ['k1_phi = ' num2str(k1_phi)];
extension = '.m'; skRf = ['kR_phi = ' num2str(kR_phi)];
case 4, skwf = ['kw_phi = ' num2str(kw_phi)];
extension = '.html'
end; sk1n = ['k1 = ' num2str(k1n)];
nom_fichier_extension = [nom_de_fichier sk2n = ['k2 = ' num2str(k2n)];
extension]; skRn = ['kR = ' num2str(kRn)];
skcn = ['kw = ' num2str(kcn)];
file_open = skvn = ['kv = ' num2str(kvn)];
fopen(nom_fichier_extension,'w');
switch type_commande; clc
case 2,
Kp1 = str2num(get(edit_kp1,'string')); diary(nom_fichier_extension);
Kp2 = str2num(get(edit_kp2,'string')); disp('Résultat de la synthèse par retour
Kp3 = str2num(get(edit_kp3,'string')); d''état');
Ki1 = str2num(get(edit_ki1,'string')); disp('
Ki2 = str2num(get(edit_ki2,'string')); ');
Ki3 = str2num(get(edit_ki3,'string')); disp('Régulateur de courant');
disp(' - Vecteur ligne de contre-
kpstr1 = ['Gain Kp = ' num2str(Kp1)]; réaction d''état');
kpstr2 = ['Gain Kp = ' num2str(Kp2)]; disp(sk1i);disp(sk2i);disp(skRi);
kpstr3 = ['Gain Kp = ' num2str(Kp3)]; disp('- Coefficients d''intervention
kistr1 = ['Gain Ki = ' num2str(Ki1)]; directe de la grandeur de consigne et de
kistr2 = ['Gain Ki = ' num2str(Ki2)]; perturbation');
kistr3 = ['Gain Ki = ' num2str(Ki3)]; disp(skwi);disp(skvi);
clc;
diary(nom_fichier_extension); disp(' ');
disp('Résultat de la synthèse par disp('Régulateur de flux');
control vactoriel'); disp(' - Vecteur ligne de contre-
disp('Régulateur de flux'); réaction d''état');
disp(kpstr1); disp(sk0f);disp(sk1f);disp(skRf);
disp(kistr1); disp('- Coefficients d''intervention
disp('Régulateur de couple'); directe de la grandeur de consigne');
disp(kpstr2); disp(skwf);
disp(kistr2); disp(' ');
disp('Régulateur de vitesse'); disp('Régulateur de vitesse');
disp(kpstr3); disp(' - Vecteur ligne de contre-
disp(kistr3); réaction d''état');

- 114 -
Annexe

disp(sk1n);disp(sk2n);disp(skRn); sim(nom_circuit,[0,tstop]);
disp('- Coefficients d''intervention tracage2;
directe de la grandeur de consigne et de
perturbation'); simuler_fichier.m
disp(skcn);disp(skvn); U = str2num(get(U_edit,'String'));
f = str2num(get(f_edit,'String'));
diary off; I = str2num(get(I_edit,'String'));
clc; % Choix de la source
end; if get(sin_radio,'Value')==1,
nom_fichier =
dest = [cd '\' nom_fichier_extension]; 'demarrage_triphase_direct';
enregistrement_ok; else
nom_fichier = 'demarrage_pwm';
end;
save_params.m sim(nom_fichier,[0 1]);
global nom_fichier type_fichier; tracage1;

boite_dialogue_sauver_params = simuler_tracer_com_vect.m
figure('Position',[400 400 375 75],...
'Menubar','none',... Kp1 = str2num(get(edit_kp1,'string'));
'Numbertitle','off',... Kp2 = str2num(get(edit_kp2,'string'));
'Name','Enregistrement des paramètres en Kp3 = str2num(get(edit_kp3,'string'));
cours...',... Ki1 = str2num(get(edit_ki1,'string'));
Ki2 = str2num(get(edit_ki2,'string'));
'Tag','boite_dialogue_sauver_params_dialogue Ki3 = str2num(get(edit_ki3,'string'));
');
uicontrol(boite_dialogue_sauver_params,... sim('synthese_vect',[0 1]);
'style','text',... ymin = 0.95*ones(size(t));
'position',[25 40 100 20],... ymax = 1.05*ones(size(t));
'HorizontalAlignment','right',... plot(t,y1,'b',t,y2,'g',t,y3,'r',t,ymin,'m--
'string','Nom du Fichier : '); ',t,ymax,'m--');
uicontrol(boite_dialogue_sauver_params,... grid;
'style','text',... xlabel('t[s]');
'position',[25 15 100 20],... title('Réponses indicielles','color',[0 0
'HorizontalAlignment','right',... 0.5],'fontsize',13);
'string','Format : '); leg1 = 'Flux \Phir';
nom_fichier = leg2 = 'Couple Ce';
uicontrol(boite_dialogue_sauver_params,... leg3 = 'Vitesse \Omega';
'style','edit',... legend(leg1,leg2,leg3);
'position',[125 40 150 20],...
'horizontalalignment','left',... simuler_tracer_regetat.m
'backgroundcolor','white'); sim('synthese_etat',[0,1]);
type_fichier = tt = 0:max(t)/10:max(t);
uicontrol(boite_dialogue_sauver_params,... ymin = 0.95*ones(size(tt));
'style','popupmenu',... ymax = 1.05*ones(size(tt));
'position',[125 15 150 20],... plot(t,is);
'string','Fichier texte *.txt|Document plot(t,is,'b',t,phi,'g',t,n,'r',tt,ymin,'k',
Word *.doc|Matlab-File *.m|Page Web tt,ymax,'k');
*.html',... grid;
'backgroundcolor','white'); xlabel('t[s]');
uicontrol(boite_dialogue_sauver_params,... legend('Courant Is','Flux \Phir','Vitesse
'style','pushbutton',... \Omega');
'position',[280 15 75 20],... title('Réponses indicielles','color',[0 0
'string','Annuler',... 0.5],'fontsize',13);

'callback','close(boite_dialogue_sauver_para simuler_tracer_vitesse.m
ms)'); ki1 = get(slider_ki,'value');
uicontrol(boite_dialogue_sauver_params,... kp1 = get(slider_kp,'value');
'style','pushbutton',... set(edit_ki,'string',num2str(ki1));
'position',[280 40 75 20],... set(edit_kp,'string',num2str(kp1));
'string','Enregistrer',... kp = str2num(get(edit_kp,'string'));
ki = str2num(get(edit_ki,'string'));
'callback','sauver;close(boite_dialogue_sauv t_perturb = str2num(get(edit_t,'string'));
er_params)'); cr_perturb = str2num(get(edit_cr,'string'));
sim('synthese_scal',[0 8]);
simuler_circuit.m
% Simulation du circuit de réglage synthese_regetat.m
a11i = (-1/Ts_2nd)-j*fs*wn;
kp = str2num(get(kp_edit,'String')); a12i = wn/x_sigma;
ki = str2num(get(ki_edit,'String'));

- 115 -
Contribution à l’étude des différentes stratégies de commande d’une machine asynchrone

a22i = -1/Tp; a22f = -1/Ti;


bu2i = kcm/Tp; bu2f = 1/Ti;
bv1i = (xh/(x_sigma*xr))*(1/Tr-j*n*wn);
Asf = [a11f a12f;0 a22f];
Asi = [a11i a12i;0 a22i]; busf = [0;bu2f];
busi = [0;bu2i]; CsTf = [1 0];
CsTi = [1 0];
bvsi = [bv1i;0]; A0f = [a11f a12f 0;0 a22f 0;-1 0 0];
buf = [0;bu2f;0];
A0i = [a11i a12i 0;0 a22i 0;-1 0 0]; bwf = [0;0;1];
bui = [0;bu2i;0];
bwi = [0;0;1]; %matrice de commandabilité
bvi = [bv1i;0;0]; Qcf = [buf A0f*buf A0f^2*buf];

%matrice de commandabilité %imposition des poles


Qci = [bui A0i*bui A0i^2*bui]; rhof = trace(A0f);
p1f = rhof/2+j*rhof/2;
%imposition des p^oles p2f = conj(p1f);
rhoi = -(1/Tp+1/Ts_2nd); p3f = rhof-(p1f+p2f);
a0f = -p1f*p2f*p3f;
p1i = rhoi/3+j*rhoi/3; a1f = p1f*p2f+p1f*p3f+p2f*p3f;
% p1i = -34.430-j*37.709; a2f = -(p1f+p2f+p3f);
p2i = conj(p1i);
p3i = rhoi-(p1i+p2i); %calcul des coefficients du vecteur de
%imposition des poles contre-réaction d'état
a0i = -p1i*p2i*p3i; aTf = [a0f a1f a2f];
a1i = p1i*p2i+p1i*p3i+p2i*p3i; eTf = [0 0 1]*inv(Qcf);
a2i = -(p1i+p2i+p3i); Ef = [eTf;eTf*A0f;eTf*A0f^2;eTf*A0f^3];
kTf = [aTf 1]*Ef;
%calcul des coefficients du vecteur de k0_phi = kTf(1);
contre-réaction d'état k1_phi = kTf(2);
aTi = [a0i a1i a2i]; kR_phi = -kTf(3);
eTi = [0 0 1]*inv(Qci); k1f = kTf(1);
Ei = [eTi;eTi*A0i;eTi*A0i^2;eTi*A0i^3]; k2f = kTf(2);
kTi = [aTi 1]*Ei; ksTf = [k1f k2f];
k1i = kTi(1); den_kvw1f = CsTf*inv(-Asf+busf*ksTf)*busf;
k2i = kTi(2); kw_phi = 1/den_kvw1f;
kRi = -kTi(3);
ksTi = [k1i k2i]; %représentation d'état de la vitesse
% calcul des coefficients d'intervention
directe de la grandeur de consigne phi = 0.9*xh/xr;
% et de la grandeur perturbation Asn = [0 phi/Tm;0 -1/Ti];
busn = [0;1/Ti];
% - - première méthode : CsTn = [1 0];
den_kvw1i = CsTi*inv(-Asi+busi*ksTi)*busi; bvsn = [-1/Tm;0];
num_kv1i = CsTi*inv(-Asi+busi*ksTi)*bvsi;
kw1i = 1/den_kvw1i; A0n = [0 phi/Tm 0;0 -1/Ti 0;-1 0 0];
kv1i = -num_kv1i/den_kvw1i; bun = [0;1/Ti;0];
% - - deuxième méthode : bwn = [0;0;1];
z0wi = p3i; bvn = [-1/Tm;0;0];
kwi = -kRi/z0wi;
%perturbation: calcul de kv %matrice de commandabilité
kvqi = (xh/(xr*kcm))*(n+Tp*fs/Tr); Qcn = [bun A0n*bun A0n^2*bun];
kvdi = real(kv1i);
kvi = kvdi+j*kvqi; %imposition des poles
rhon = trace(A0n);
p1n = rhon/3+j*rhon/3;
%calcul des réponses indicielles p2n = conj(p1n);
b1i = wn*kcm*kwi/(Tp*x_sigma); p3n = rhon-p1n-p2n;
b0i = wn*kcm*kRi/(Tp*x_sigma); a0n = -p1n*p2n*p3n;
bdi = xh/(x_sigma*xr*Tr); a1n = p1n*p2n+p1n*p3n+p2n*p3n;
bqi = -n*wn*xh/(x_sigma*xr); a2n = -(p1n+p2n+p3n);

%système de première ordre équivalent %calcul des coefficients du vecteur de


Ti = (a1i-b1i)/a0i; contre-réaction d'état
aTn = [a0n a1n a2n];
%représentation d'état du flux rotorique eTn = [0 0 1]*inv(Qcn);
En = [eTn;eTn*A0n;eTn*A0n^2;eTn*A0n^3];
a11f = -1/Tr; kTn = [aTn 1]*En;
a12f = xh/Tr; k1n = kTn(1);

- 116 -
Annexe

k2n = kTn(2); Asf = [a11f a12f;0 a22f];


kRn = -kTn(3); busf = [0;bu2f];
ksTn = [k1n k2n]; CsTf = [1 0];
den_kvw1 = CsTn*inv(-Asn+busn*ksTn)*busn;
num_kv1 = CsTn*inv(-Asn+busn*ksTn)*bvsn; A0f = [a11f a12f 0;0 a22f 0;-1 0 0];
kvn = -num_kv1/den_kvw1; buf = [0;bu2f;0];
kcn = -kRn/p3n; bwf = [0;0;1];

%matrice de commandabilité
Qcf = [buf A0f*buf A0f^2*buf];
synthese_regetat_courant.m
set(edit_im1,'string',num2str(get(slider_im1 %imposition des poles
,'value'))); rhof = trace(A0f);
set(edit_re1,'string',num2str(get(slider_re1 p1f = rhof/2+j*rhof/2;
,'value'))); set(edit_re2,'string',num2str(real(p1f)));
set(edit_im2,'string',num2str(imag(p1f)));
re1 = str2num(get(edit_re1,'string')); p2f = conj(p1f);
im1 = str2num(get(edit_im1,'string')); p3f = rhof-(p1f+p2f);
a0f = -p1f*p2f*p3f;
p1i = re1+j*im1; a1f = p1f*p2f+p1f*p3f+p2f*p3f;
p2i = conj(p1i); a2f = -(p1f+p2f+p3f);
p3i = rhoi-(p1i+p2i);
%imposition des poles %calcul des coefficients du vecteur de
a0i = -p1i*p2i*p3i; contre-réaction d'état
a1i = p1i*p2i+p1i*p3i+p2i*p3i; aTf = [a0f a1f a2f];
a2i = -(p1i+p2i+p3i); eTf = [0 0 1]*inv(Qcf);
Ef = [eTf;eTf*A0f;eTf*A0f^2;eTf*A0f^3];
%calcul des coefficients du vecteur de kTf = [aTf 1]*Ef;
contre-réaction d'état k0_phi = kTf(1);
aTi = [a0i a1i a2i]; k1_phi = kTf(2);
eTi = [0 0 1]*inv(Qci); kR_phi = -kTf(3);
Ei = [eTi;eTi*A0i;eTi*A0i^2;eTi*A0i^3]; k1f = kTf(1);
kTi = [aTi 1]*Ei; k2f = kTf(2);
k1i = kTi(1); ksTf = [k1f k2f];
k2i = kTi(2); den_kvw1f = CsTf*inv(-Asf+busf*ksTf)*busf;
kRi = -kTi(3); kw_phi = 1/den_kvw1f;
ksTi = [k1i k2i];
% calcul des coefficients d'intervention %représentation d'état de la vitesse
directe de la grandeur de consigne
% et de la grandeur perturbation phi = 0.9*xh/xr;
Asn = [0 phi/Tm;0 -1/Ti];
% - - première méthode : busn = [0;1/Ti];
den_kvw1i = CsTi*inv(-Asi+busi*ksTi)*busi; CsTn = [1 0];
num_kv1i = CsTi*inv(-Asi+busi*ksTi)*bvsi; bvsn = [-1/Tm;0];
kw1i = 1/den_kvw1i;
kv1i = -num_kv1i/den_kvw1i; A0n = [0 phi/Tm 0;0 -1/Ti 0;-1 0 0];
% - - deuxième méthode : bun = [0;1/Ti;0];
z0wi = p3i; bwn = [0;0;1];
kwi = -kRi/z0wi; bvn = [-1/Tm;0;0];
%perturbation: calcul de kv
kvqi = (xh/(xr*kcm))*(n+Tp*fs/Tr); %matrice de commandabilité
kvdi = real(kv1i); Qcn = [bun A0n*bun A0n^2*bun];
kvi = kvdi+j*kvqi;
%imposition des poles
%calcul des réponses indicielles rhon = trace(A0n);
b1i = wn*kcm*kwi/(Tp*x_sigma); p1n = rhon/3+j*rhon/3;
b0i = wn*kcm*kRi/(Tp*x_sigma); set(edit_re3,'string',num2str(real(p1n)));
bdi = xh/(x_sigma*xr*Tr); set(edit_im3,'string',num2str(imag(p1n)));
bqi = -n*wn*xh/(x_sigma*xr); p2n = conj(p1n);

%système de première ordre équivalent p3n = rhon-p1n-p2n;


Ti = (a1i-b1i)/a0i; a0n = -p1n*p2n*p3n;
a1n = p1n*p2n+p1n*p3n+p2n*p3n;
%représentation d'état du flux rotorique a2n = -(p1n+p2n+p3n);

a11f = -1/Tr; %calcul des coefficients du vecteur de


a12f = xh/Tr; contre-réaction d'état
a22f = -1/Ti; aTn = [a0n a1n a2n];
bu2f = 1/Ti; eTn = [0 0 1]*inv(Qcn);
En = [eTn;eTn*A0n;eTn*A0n^2;eTn*A0n^3];

- 117 -
Contribution à l’étude des différentes stratégies de commande d’une machine asynchrone

kTn = [aTn 1]*En; bu2f = 1/Ti;


k1n = kTn(1);
k2n = kTn(2); Asf = [a11f a12f;0 a22f];
kRn = -kTn(3); busf = [0;bu2f];
ksTn = [k1n k2n]; CsTf = [1 0];
den_kvw1 = CsTn*inv(-Asn+busn*ksTn)*busn;
num_kv1 = CsTn*inv(-Asn+busn*ksTn)*bvsn; A0f = [a11f a12f 0;0 a22f 0;-1 0 0];
kvn = -num_kv1/den_kvw1; buf = [0;bu2f;0];
kcn = -kRn/p3n; bwf = [0;0;1];
simuler_tracer_regetat;
%matrice de commandabilité
Qcf = [buf A0f*buf A0f^2*buf];
synthese_regetat_flux.m
set(edit_im1,'string',num2str(get(slider_im1 %imposition des poles
,'value'))); rhof = trace(A0f);
set(edit_re1,'string',num2str(get(slider_re1 p1f = rhof/2+j*rhof/2;
,'value'))); set(edit_re2,'string',num2str(real(p1f)));
set(edit_im2,'string',num2str(imag(p1f)));
re1 = str2num(get(edit_re1,'string')); p2f = conj(p1f);
im1 = str2num(get(edit_im1,'string')); p3f = rhof-(p1f+p2f);
a0f = -p1f*p2f*p3f;
p1i = re1+j*im1; a1f = p1f*p2f+p1f*p3f+p2f*p3f;
p2i = conj(p1i); a2f = -(p1f+p2f+p3f);
p3i = rhoi-(p1i+p2i);
%imposition des poles %calcul des coefficients du vecteur de
a0i = -p1i*p2i*p3i; contre-réaction d'état
a1i = p1i*p2i+p1i*p3i+p2i*p3i; aTf = [a0f a1f a2f];
a2i = -(p1i+p2i+p3i); eTf = [0 0 1]*inv(Qcf);
Ef = [eTf;eTf*A0f;eTf*A0f^2;eTf*A0f^3];
%calcul des coefficients du vecteur de kTf = [aTf 1]*Ef;
contre-réaction d'état k0_phi = kTf(1);
aTi = [a0i a1i a2i]; k1_phi = kTf(2);
eTi = [0 0 1]*inv(Qci); kR_phi = -kTf(3);
Ei = [eTi;eTi*A0i;eTi*A0i^2;eTi*A0i^3]; k1f = kTf(1);
kTi = [aTi 1]*Ei; k2f = kTf(2);
k1i = kTi(1); ksTf = [k1f k2f];
k2i = kTi(2); den_kvw1f = CsTf*inv(-Asf+busf*ksTf)*busf;
kRi = -kTi(3); kw_phi = 1/den_kvw1f;
ksTi = [k1i k2i];
% calcul des coefficients d'intervention %représentation d'état de la vitesse
directe de la grandeur de consigne
% et de la grandeur perturbation phi = 0.9*xh/xr;
Asn = [0 phi/Tm;0 -1/Ti];
% - - première méthode : busn = [0;1/Ti];
den_kvw1i = CsTi*inv(-Asi+busi*ksTi)*busi; CsTn = [1 0];
num_kv1i = CsTi*inv(-Asi+busi*ksTi)*bvsi; bvsn = [-1/Tm;0];
kw1i = 1/den_kvw1i;
kv1i = -num_kv1i/den_kvw1i; A0n = [0 phi/Tm 0;0 -1/Ti 0;-1 0 0];
% - - deuxième méthode : bun = [0;1/Ti;0];
z0wi = p3i; bwn = [0;0;1];
kwi = -kRi/z0wi; bvn = [-1/Tm;0;0];
%perturbation: calcul de kv
kvqi = (xh/(xr*kcm))*(n+Tp*fs/Tr); %matrice de commandabilité
kvdi = real(kv1i); Qcn = [bun A0n*bun A0n^2*bun];
kvi = kvdi+j*kvqi;
%imposition des poles
%calcul des réponses indicielles rhon = trace(A0n);
b1i = wn*kcm*kwi/(Tp*x_sigma); p1n = rhon/3+j*rhon/3;
b0i = wn*kcm*kRi/(Tp*x_sigma); set(edit_re3,'string',num2str(real(p1n)));
bdi = xh/(x_sigma*xr*Tr); set(edit_im3,'string',num2str(imag(p1n)));
bqi = -n*wn*xh/(x_sigma*xr); p2n = conj(p1n);

%système de première ordre équivalent p3n = rhon-p1n-p2n;


Ti = (a1i-b1i)/a0i; a0n = -p1n*p2n*p3n;
a1n = p1n*p2n+p1n*p3n+p2n*p3n;
%représentation d'état du flux rotorique a2n = -(p1n+p2n+p3n);

a11f = -1/Tr; %calcul des coefficients du vecteur de


a12f = xh/Tr; contre-réaction d'état
a22f = -1/Ti; aTn = [a0n a1n a2n];

- 118 -
Annexe

eTn = [0 0 1]*inv(Qcn); hold off


En = [eTn;eTn*A0n;eTn*A0n^2;eTn*A0n^3]; plot(t,Ce);
kTn = [aTn 1]*En; legend(leg2,0);
k1n = kTn(1); case 1
k2n = kTn(2); hold off
kRn = -kTn(3); plot(t,v);
ksTn = [k1n k2n]; legend(leg3,0);
den_kvw1 = CsTn*inv(-Asn+busn*ksTn)*busn; otherwise
num_kv1 = CsTn*inv(-Asn+busn*ksTn)*bvsn; plot(1,1);
kvn = -num_kv1/den_kvw1; end
kcn = -kRn/p3n; grid;
simuler_tracer_regetat; titre='Démarrage à vide de la Machine
asynchrone triphasée';
title(titre,'FontSize',14,'Color','r');
synthese_regetat_vitesse.m xlabel('t[s]');
ki1 = get(slider_ki,'value');
kp1 = get(slider_kp,'value'); tracage2.m
set(edit_ki,'string',num2str(ki1)); axes(axe2);
set(edit_kp,'string',num2str(kp1)); grid;
kp = str2num(get(edit_kp,'string')); plot(t,y);
ki = str2num(get(edit_ki,'string')); if num_circuit ==3,
t_perturb = str2num(get(edit_t,'string')); plot(t,y,t,y1);
cr_perturb = str2num(get(edit_cr,'string')); leg1 = 'Par rapport à la consigne';
sim('synthese_scal',[0 8]); leg2 = 'Par rapport à la perturbation';
legend(leg1,leg2,0);
tracage1.m end;
title(titre_reponse,'FontSize',14,'Color','r
axes(axe1); ');
% récupérer les valeurs de checkbox xlabel('t[s]');
vvv1=get(Is_check,'Value'); ylabel(ylab);
vvv2=get(Ce_check,'Value'); grid;
vvv3=get(v_check,'Value');
vvv=4*vvv1+2*vvv2+vvv3; waitbar.m
%Tracé des courbes ff = figure('units','pixel',...
leg1='Courant statorique Is[A]'; 'position',[300 300 400 100],...
leg2='Couple électromagnétique Ce[mN]'; 'numbertitle','off',...
leg31='Vitesse '; 'menubar','none',...
leg32='\Omega'; 'color',[0.5 0.5 0.5],...
leg33=' [rad/s]'; 'name','Programme en cours
leg3=[leg31 leg32 leg33]; d''éxécution',...
'tag','wait');
switch vvv uicontrol(ff,...
case 7 'style','frame',...
hold off 'position',[50 25 300 25],...
plot(t,Is,t,Ce,t,v); 'backgroundcolor','w');
legend(leg1,leg2,leg3,0); uicontrol(ff,...
case 6 'style','text',...
hold off 'position',[20 50 350 25],...
plot(t,Is,t,Ce); 'backgroundcolor',[0.5 0.5 0.5],...
legend(leg1,leg2,0); 'fontsize',11,...
case 5 'string','Programme en cours
hold off d''éxécution, veuillez patienter...');
plot(t,Is,t,v); for i=1:150,
legend(leg1,leg3,0); uicontrol(ff,...
case 4 'style','frame',...
hold off 'position',[50 25 2*i 25],...
plot(t,Is); 'backgroundcolor','r');
legend(leg1,0); pause(0.0001);
case 3 end;
hold off pause(0.05);
plot(t,Ce,t,v); close(ff);
legend(leg2,leg3,0);
case 2

- 119 -
Contribution à l’étude des différentes stratégies de commande d’une machine asynchrone

ANNEXE C : SCHEMAS D’IMPLANTATION SUR SIMULINK/MATLAB


C1 : Démarrage

Fig.C. 1 : demarrage_triphase_direct.mdl

Fig.C. 2 : demarrage_pwm.mdl

C2 : Schémas de simulation de la commande scalaire

Fig.C. 3: Commande scalaire en courant

- 120 -
Annexe

Fig.C. 4: Commande scalaire en tension

BLOC SCHÉMA DÉTAILLÉ


PI
Commande
consigne

- 121 -
Contribution à l’étude des différentes stratégies de commande d’une machine asynchrone

Annexe C3 : Schémas d’implantation sur SIMULINK-MATLAB de la commande vectorielle

Fig.C. 5: synthese_vect.mdl

Fig.C. 6: mas_vect.mdl

- 122 -
Annexe

Fig.C. 7: Machine asynchrone

BLOC SCHÉMA DÉTAILLÉ


Régulateur & Découplage
Compensation fmeq

- 123 -
Contribution à l’étude des différentes stratégies de commande d’une machine asynchrone

Rég Couple
Rég. Flux
Et
Rég. Vitesse
calcul_ws

Annexe C4 : Schémas d’implantation du réglage d’état

Fig.C. 8 : synthese_etat.mdl

- 124 -
Annexe

Fig.C. 9 : mas_regetat.mdl

- 125 -
Contribution à l’étude des différentes stratégies de commande d’une machine asynchrone

ANNEXE D : EXEMPLE D’EXECUTION DU PROGRAMME


Annexe D1. Installation
Pour pouvoir utiliser cette plate-forme, il faut un PC équipé de Matlab 6.0 ou version plus récente.
Copier tous les fichiers susdécrits dans le disque dur.
Le nom de ce répertoire n’a pas desus signification sur les programmes et vous pouvez donc le spécifier de
votre choix. Par contre, le nom de fichiers dans ce répertoire ne peut pas être modifié sauf en modifiant en
même temps le script où il est utilisé.

Annexe D2 : Démarrage de la plate-forme


Une fois installée dans l’ordinateur, exemple : C:\cmd_mas, ouvrir le fichier abc_pilote.fig en double
cliquant dessus.
L’ouverture de ce fichier permet de rediriger le répertoire de travail « path » du Matlab dans le répertoire où
ce fichier est placé.

Fig.D. 1 :schéma synoptique de la commande de la machine asynchrone

Objet Programme exécuté Action associée


Ouverture d’une fenêtre pour saisir les paramètres de
Démarrer params_input.m
la machine asynchrone
Information information.m Ouverture du fichier help.htm
Quitter exit.m Ferme la fenêtre en cours et quitte l’application Matlab

Annexe D3 : Paramètres de la machine


Le clic sur le bouton Démarrer de la fenêtre précédente nous amène à l’ouverture de la fenêtre suivante,
pour entrer les paramètres de la machine asynchrone.

Fig.D. 2 : Boite de dialoque de saisie des paramètres de la machine

- 126 -
Annexe

Objet Programme exécuté Action associée


Paramètres par
params_defaut.m Chargement des paramètres prédéfinis dans le programme
défaut
Mise à jour des paramètres saisies dans les édits, ferme la
fenêtre en cours, lancement du programme waitbar.m,
Suivant params_update.m
ouverture de la fenêtre de visualisation de comportement au
démarrage de la machine.
Fermer close.m Fermeture de la fenêtre en cours

Annexe D4 : Démarrage de la machine asynchrone


Le clic sur le bouton suivant de la fenêtre précédente nous amène à l’ouverture de la fenêtre suivante, pour
visualiser le comportement au démarrage de la machine asynchrone.
Démarrage à vide de la Machine asynchrone triphasée
300

200

100

-100

-200
Courant statorique Is[A]
Couple électromagnétique Ce[mN]
Vitesse Ω [rad/s]
-300
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
t[s]

Fig.D. 3 : Caractéristique de démarrage de la machine

Objet Programme exécuté Action associée

choix_source1.m Permettant de choisir une source purement sinusoïdale ou


choix_source2.m onduleur de tension PWM

tracage1.m Afficher ou ne pas afficher la courbe sur l’axe de traçage

Simuler de nouveau le comportement lorsqu’on modifie la


simuler_fichier.m
source
params_input.m Revenir à la fenêtre précédente
Bouton close.m ; Ferme la fenêtre en cours et ouvre la fenêtre pour effectuer
interface_choix_strategie.m le choix de stratégie de commande
close.m Ferme la fenêtre en cours

- 127 -
Contribution à l’étude des différentes stratégies de commande d’une machine asynchrone

Annexe D5 : Choix de la stratégie de commande


Le clic sur le bouton suivant de la fenêtre précédente nous amène à l’ouverture de la fenêtre suivante, pour
effectuer le choix de la stratégie de commande de la machine asynchrone.

Fig.D. 4 : Choix de stratégie de commande

Le choix se fait par l’action sur la liste déroulante et la simulation de la stratégie choisie
« choix_strategie.m » se fait par le clic sur le bouton suivant

Annexe D6 : Commande scalaire de la machine asynchrone

Réponse indicielle de la vitesse Ω


250
D1 = 50.7035 % Ω réf

Couple résistant
200

150

100

50

-50
0 1 2 3 4 5 6 7 8

Fig.D. 5 : Résultats de la commande scalaire

Objet Programme exécuté Action associée


choix_circuit_courant.m, Permettant de choisir le type de contrôle scalaire :
choix_circuit_tension.m contrôle du courant ou de la tension statorique.
reponse_indicielle1.m Trace la réponse de la vitesse
Modifie le gain du régulateur à l’aide de la barre de
simuler_tracer_vitesse.m
défilement.
reponse_indicielle1.m
Simule de comportement et trace la réponse

simuler_tracer_vitesse.m Simule de comportement et trace la réponse, avec


reponse_indicielle1.m les nouvelles valeurs de la perturbation

Ouvre une boite de dialogue permettant de sauver


save_params.m
les paramètres du régulateur en cours.
Ouvre deux fenêtres graphiques pour afficher le
res_com_scal.m comportement de la machine asynchrone avec
régulateur
close.m Ferme la fenêtre en cours

- 128 -
Annexe

Remarque
ki
Le régulateur utilisé est ici du type PI dont la fonction de transfert s’écrit : GR ( p ) = k p + et la synthèse
p
consiste à ajuster les paramètres kp et ki afin de solliciter la performance voulue.

Annexe D7 : Commande vectorielle de la machine asynchrone

Réponses indicielles
1.4
Flux Φr
Couple Ce
Vitesse Ω
1.2

0.8

0.6

0.4

0.2

0
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
t[s]

Fig.D. 6 : Résultats de la commande vectorielle

Objet Programme exécuté Action associée


Modifie le gain du régulateur à l’aide de la barre de
simuler_tracer_com_vect défilement.
Simule de comportement et trace la réponse
Ouvre une boite de dialogue permettant de sauver les
save_params
paramètres du régulateur en cours.
Ouvre deux fenêtres graphiques pour afficher le
masvect.m comportement de la machine asynchrone avec
régulateur
close.m Ferme la fenêtre en cours

Remarque
On a trois régulateurs de type PI pour la commande vectorielle :
- régulation du courant statorique
- régulation de flux rotorique
- régulation de vitesse

- 129 -
Contribution à l’étude des différentes stratégies de commande d’une machine asynchrone

Annexe D8 : Réglage d’état de la machine asynchrone


Réponses indicielles
1.4
Courant Is
Flux Φr
Vitesse Ω
1.2

0.8

0.6

0.4

0.2

0
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
t[s]

Fig.D. 7 : Résultats de la commande par retour d'état

Objet Programme exécuté Action associée

synthese_regetat_courant, Modifie les pôles du système de réglage en boucle


synthese_regetat_flux, fermée à l’aide de la barre de défilement.
synthese_regetat_vitesse Simule de comportement et trace la réponse

Ouvre une boite de dialogue permettant de sauver


save_params.m
les paramètres du régulateur en cours.
Ouvre deux fenêtres graphiques pour afficher le
masregetat.m comportement de la machine asynchrone avec
régulateur
close.m Ferme la fenêtre en cours

Annexe D9 : Sauvegarde des paramètres


Le sauvegarde des paramètres du régulateur se fait en cliquant sur le bouton après
avoir ajuster le comportement souhaité.
La boite de dialogue suivante s’ouvre :

Fig.D. 8 : Boite de dialogue de sauvegarde des paramètres


On écrit le nom du fichier dans la zone de texte, son format sera choisi à partir de la liste déroulante.
On propose 4 formats sur la liste :
- Fichier texte *.txt
- M-file *.m
- Document Word *.doc
- Page Web *.html
En cliquant sur Enregistrer, les données seront enregistrées dans le repertoire de travail courant avec le nom
et attribut spécifié. Un message de réussite sera enfin affiché.

- 130 -
Bibliographie

BIBLIOGRAPHIE

[1] H. Bühler
Electronique de réglage et de commande, traité d’électricité vol XVI, 3è édition, presses
polytechniques romandes, Lausanne 1979.

[2] H. Bühler
Conception des systèmes automatiques, complément au traité d’électricité, presses
polytechniques romandes, Lausanne, 1988.

[3] P. Décaulne, M. Pélegrin


Théorie et calcul des asservissements linéaires, cinquième édition revue et augmentée,
Dunod, Paris, 1971

[4] M. Rivoire, J.L Ferrier


Commande par calculateur-identification, cours d’automatique Tome 3, Eyrolles, 1993

[5] H. Bühler
Réglages échantillonnés vol 2, traitement dans l’espace d’état, presses polytechnique
romandes, Lausanne 1983.

[6] J. Chatelain
Machines électriques, Traité d’électricité vol X, presses polytechnique romandes, Lausanne
1983.

[7] Prof. Ing. Ladislav Zboray,


Control of AC drives, Institut National Polytechnique de Lorraine, Nancy 2001

[8] Ion Boldea, S.A. Nasar,


Electric drives, University Politechnica Tmisoara, Romania, 1998

[9] J.N. Razafinjaka, J.C. Rakotoarisoa, G.B. Randrianirina,


Machine asynchrone alimentée par onduleur de tension, laboratoire d’automatique, ESP
Antsiranana, article publié au forum national de la recherche, Madagascar, 2005

[10] P. Feller
Réglages analogiques modernes appliqués à la machine asynchrone et à la machine à
courant continu, Thèse N°548, EPFL, Lausanne 1984

[11] http://www.accreteil.fr/Lycees/94/larmandnogent/enseigne/ressources/techno/
bourse%20cours/COURS/Machine%20asynchrone%20scalaire.pdf

[12] Patrick 2002


ABATI Réglage de la vitesse de rotation des moteurs asynchrones triphasés
http://sitelec.ac-aix-marseille.fr/cours/abati/reglvit.htm

- 131 -
Contribution à l’étude des différentes stratégies de commande d’une machine asynchrone

[13] Commande des machines asynchrones. Journées de l’enseignement de l’électricité et de


l’électronique industrielle, 3EI93. SEE-MAFPEN. 1993

[14] P. Borne, G. Dauphin, J.P. Richard, F. Rotella, I. Zambettakis


Commande et optimisation des processus. Edition technip. 1990

[15] G. Buche,
Commande vectorielle de machine asynchrone en environnement temps réel Matlab -
Simulink, Mémoire d’ingéniorat CNAM, Centre régional associé de Grenoble (CUEFA),
2001

[16] H. Bühler
Réglages échantillonnés vol 1, traitement par la transformation en Z, presses polytechnique
romandes, Lausanne 1983.

[17] J.C. Rakotoarisoa, J.N. Razafinjaka, G.B. Randrianirina,


Réglage d’état appliqué à la machine asynchrone, laboratoire d’automatique, ESP
Antsiranana, article publié au forum national de la recherche, Madagascar 2005

[18] Matlab Reference Guide / Simulink User’Guide. The MathWorks, Inc. 1992-1993

[19] G.B. Randrianirina, J.N. Razafinjaka, A. Solohery,


Commande prédictive généralisée appliquée à un entrainement réglé, laboratoire
d’automatique, ESP Antsiranana, article publié au forum national de la recherche,
Madagascar 2005

- 132 -
CONTRIBUTION A L’ETUDE DES DIFFERENTES STRATEGIES DE COMMANDE
D’UNE MACHINE ASYNCHRONE

Auteur : Rakotoarisoa Armand Jean Claude,


Laboratoire d’Automatique, Ecole Supérieure Polytechnique Antsiranana
e-mail : rajeanclaude1976@yahoo.fr

RESUME

La machine asynchrone ne cesse pas d’être exploitée pour le système de réglage et commande
dans les installations industrielles. La méthode classique utilisant des régulateurs standards de
type PID permet d’avoir une bonne performance mais limitée pour commander cette machine
car le système est multi-variables et fortement couplé. Différentes stratégies ont été élaborées
pour commander ce type de machine. La commande scalaire qui est basée sur le
fonctionnement tension sur fréquence constant a permis d’ajouter une boucle
d’asservissement pour la vitesse de la machine, la commande vectorielle qui est basée sur la
théorie du champ orienté a été élaborée pour commander séparément les deux composantes du
courant statorique, le réglage d’état qui est basé sur la méthode d’assignation des pôles a été
élaboré pour imposer le comportement dynamique et d’intervenir directement sur les
grandeurs d’entrées du système. Les résultats obtenus ont montré que pour une faible
variation (moins de 5%) de la vitesse, la commande scalaire semble suffisant pour
l’asservissement du système, la performance s’améliore lorsqu’on applique à la machine le
principe de la commande vectorielle, le couple de la machine est bien contrôlé dans tous les
régimes de fonctionnement, une variation de 100% du couple électromagnétique n’entraîne
qu’une déviation de 2% du flux rotorique, ce qui marque le découplage entre ces deux
variables. Des réponses indicielles avec un premier dépassement de moins de 10% ont été
obtenues avec un gain de 5fois de rapidité par rapport à la commande scalaire, par le choix
adéquat des pôles du système en boucle fermée. Les trois méthodes proposées contribuent
bien selon la performance exigée par le cahier de charges, à la résolution du problème de
commande d’une machine asynchrone. Bien que ces approches ont permis, d’un coté, de
simplifier la dynamique de la machine asynchrone en séparant ses deux comportements
(magnétique et mécanique) et, d’un autre coté, d’implémenter des commandes performantes,
elles se sont avérées inefficaces devant la variation des paramètres et l’incertitude des valeurs
des variables d’état (mesurées, estimées ou observées), en particulier, dans le cas des régimes
transitoires et des régimes dégradés. Le recours aux méthodes d’adaptation classiques, pour
compenser l’effet de ces variations et de ces incertitudes peut s’avérer une solution
prometteuse.

Mots-clés :
- machine asynchrone
- auto-pilotage
- V/f constant
- champ orienté
- compensation par retour d’état
- Matlab/Simulink

Vous aimerez peut-être aussi