CR_2008

38
Suivi projet : Philippe Dorléans Jean-François Massieu 2007-2008 6, bd du Maréchal Juin F-14050 Caen cedex 4 Spécialité Electronique 3 e année bd du Maréchal Juin BP 5186 14032 Caen Cedex Rapport de projet Commande non linéaire de la machine asynchrone sans capteur mécanique DUFOUR Julien PERON Sylvain

Transcript of CR_2008

Page 1: CR_2008

Suivi projet : Philippe Dorléans Jean-François Massieu 2007-2008

6, bd du Maréchal Juin F-14050 Caen cedex 4 Spécialité Electronique 3e année

bd du Maréchal Juin

BP 5186 14032 Caen Cedex

Rapport de projet

Commande non linéaire de la machine asynchrone sans capteur mécanique

DUFOUR Julien PERON Sylvain

Page 2: CR_2008

2

Table des matières Introduction .......................................................................................................................................... 3

I. Présentation du matériel ............................................................................................................... 4

1. Banc d'essai .................................................................................................................................... 4

2. Electronique de puissance .............................................................................................................. 6

3. Chaîne d'acquisition ........................................................................................................................ 7

4. Machine asynchrone ....................................................................................................................... 8

5. Carte DSPACE 1103 ...................................................................................................................... 8

6. Interface Control Desk .................................................................................................................. 10

II. Modélisation du banc .................................................................................................................. 10

1. Equations de base ......................................................................................................................... 10

2. Transformation de Clarke ............................................................................................................. 13

3. Modèle exprimé dans le repère (α,β) lié au stator ........................................................................ 15

III. Commande Scalaire .................................................................................................................... 17

1. Aspects théoriques ........................................................................................................................ 17

2. Simulation sous MATLAB/SIMULINK ...................................................................................... 19 IV. Observateur de type Grand Gain .............................................................................................. 22

1. Notations ....................................................................................................................................... 22

2. Observateur avec mesure de vitesse ............................................................................................. 23

3. Simulation sous Matlab et implémentation sur DSP .................................................................... 28 4. Observateur sans mesure de vitesse .............................................................................................. 33

5. Simulation sous Matlab et implémentation sur DSP .................................................................... 36 Conclusion .......................................................................................................................................... 38

Page 3: CR_2008

3

Introduction

Dans le cadre de la dernière année de l’Ecole Nationale Supérieure d’Ingénieurs de CAEN, ENSICAEN, un projet est proposé aux étudiants afin de leur permettre de développer et d’utiliser leurs connaissances sur un problème défini.

Notre projet a pour objectif d’asservir un moteur asynchrone en vitesse sans capteur mécanique à l’aide d’observateurs. L’enjeu dans le domaine industriel est assez important puisque cela permet de s’affranchir de la mesure de vitesse, cela fait un capteur mécanique en moins et donc une pièce en moins à changer en cas d’usure. La maintenance s’en trouve diminuée.

Les séances se sont suivies, avec, dans un premier temps, la prise en main du modèle et de ses équations. Une fois cela effectuée, nous avons fait tourner le moteur sans régulation pour prendre en main l’environnement Simulink et Control Desk liés à la carte DSpace. Nous nous sommes ensuite essayés à la commande scalaire afin de vérifier la validité du modèle. Une fois toutes les cartes en main, nous avons débutés nos tests sur les observateurs.

Page 4: CR_2008

4

I. Présentation du matériel

Le banc d'essai a pour but de mettre en place des stratégies de commande sur une machine asynchrone à rotor bobiné (court-circuité dans le cadre de ce projet pour une utilisation semblable à une machine à cage). Les commandes sont développées sur ordinateur sous un environnement Matlab/Simulink utilisant des blocs dédiés à la commande des machines munis d'une carte DSpace pourvue notamment d'un DSP.

L'interface de contrôle et de visualisation des signaux entre l'opérateur et le système est réalisée via Control Desk, qui permet, à partir du schéma Simulink/Dspace, de commander les signaux de contrôle et de visualiser les signaux accessibles sous l’environnement Simulink (signaux de commande, images des signaux en sorties des capteurs ...)

1. Banc d'essai

Le banc moteur est composé d’une machine asynchrone triphasée de 3kW, d’un frein à poudre, d’un capteur de vitesse de type génératrice dynamo tachymétrique et d’un capteur de couple (voir figure 1).

Figure 1 : Banc Moteur

Le banc d'essai est constitué du banc moteur (voir figure 1) qui comprend tous

les éléments mécaniques du système et également de toutes les parties électroniques qu'elles soient de puissance, de commande, d'acquisition ou numérique. Le schéma de principe est représenté (figure 2).

Page 5: CR_2008

5

Figure 2 : Schéma de principe du banc d’essai

Page 6: CR_2008

6

2. Electronique de puissance

Un autotransformateur (0-450V entre phases) permet d'ajuster le niveau de tension sur le bus continu en sortie du pont redresseur à diodes. L'ensemble redresseur à diodes, condensateurs (sur le bus continu), bras de ponts, drivers de bras de ponts sont compris dans un montage didactique (voir figures 3 et 4)

L'onduleur de tension est constitué de 3 bras de pont, à IGBT et à diodes, de chez SEMIKRON, ils sont les bras attaquants la machine. Un 4ieme bras peut également servir, une fois associé à une charge résistive et une commande appropriée, à protéger la partie électronique de puissance des phases de freinage notamment (effectivement, le pont à diode n'étant pas réversible en courant, on risque une élévation du niveau de tension aux bornes du bus continu durant les phases de freinage). La commande des bras de pont est réalisée par modulation de largeur d'impulsion (MLI/PWM). Il s'agit d'une commande MLI dont la fréquence de découpage f

d choisie est de 10KHz.

Figure 3 : Montage didactique vu de dessus

Page 7: CR_2008

7

Le choix de la fréquence fd a été limité par des contraintes matérielles, en

l'occurrence les filtres placés en amont des capteurs ont une fréquence de coupure de 340Hz. Il suffit donc de repousser les harmoniques de tensions/courants dus au découpage au delà de 340Hz (fd >>340Hz). Néanmoins il ne faut pas découper à des fréquences trop élevées afin d'éviter les surtensions, dues notamment aux inductances séries aux bornes des bras de ponts.

Figure 4 : Montage didactique vu de face

Les drivers sont alimentés en 0-15V or la carte DSPACE délivre des signaux entre 0-10V, on trouve donc une interface de puissance montage Darlington 0-10V → 0-15V, de plus les drivers nécessitent un apport en courant supérieur à la sortie de la carte.

3. Chaîne d'acquisition

Figure 5 : Schéma de la chaîne d'acquisition

Page 8: CR_2008

8

Les capteurs du banc d'essai (utilisés lors de ce projet) sont les suivants :

• 2 sondes de courant LEM LTS 25-NP (à compensation de flux) pour la

mesure des courants statoriques. • 2 sondes de tension LEM CV 3-1000 pour la mesure des tensions entre

phases sur la machine. • 1 génératrice dynamo tachymètrique 10B0 pour la mesure de la vitesse.

En amont des capteurs on trouve des filtres anti-repliements (FAR) de type Tchebychev d'ordre 2 qui coupent à 340Hz (la fréquence utile maximum des signaux mesurés étant de 50Hz). Les convertisseurs analogiques/numériques (CAN/ADC) sont intégrés dans la carte DSPACE, et la fréquence d'échantillonnage fe choisie est de 10KHz (il faut que fe >> 50Hz).

4. Machine asynchrone

Il s'agit d'une machine asynchrone à rotor bobiné (court-circuité dans le cadre de ce projet pour une utilisation semblable à une machine à cage). Les caractéristiques de la machine sont les suivantes (plaque signalétique) :

= 220 / 380 V = 14,7 / 8,5 A = 3 kW = 14 A

= 1430 tr/mn

5. Carte DSPACE 1103

La carte DSPACE assure les aspects logiciels et numériques de la commande, depuis l'acquisition numérique des signaux d'entrées jusqu'aux signaux (MLI/PWM) de commandes des bras de pont (signaux de sorties), en passant par les asservissements, qui sont ensuite implantés au sein de cette carte dans des mémoires FLASH allouées. Cette carte est développée autour d'un processeur de bureautique de chez IBM (PowerPC 604e travaillant à 400 MHz), mais a néanmoins vocation à être dédiée à la commande des machines (voir figure 6).

Page 9: CR_2008

9

Effectivement, elle possède un très grand nombre de périphériques, comme un

DSP esclave (T-I DSP TMS32OF240 travaillant à 20MHz), des interfaces pour codeurs incrémentaux, des sorties PWM, des entrées ADC (CAN) ou encore des sorties DAC (CNA), qui sont généralement des périphériques que nous allons retrouver sur le marché dans des DSPs dédiés à la commande des machines électriques.

Les programmes, développés sous environnement Simulink, sont implantés au sein de la carte, l'interface avec l'opérateur est ensuite assurée par le logiciel d'interface graphique CONTROL DESK.

figure 6 : Structure simplifiée de la carte DSPACE 1103

Page 10: CR_2008

10

6. Interface Control Desk

Le logiciel CONTROL DESK est une interface graphique nous permettant la visualisation de toutes les variables (de contrôle, de retour capteur ...) disponibles sur les schémas Simulink/Dspace de la commande. CONTROL DESK, allié à DSPACE qui offre des blocs (sous Simulink) propres à la commande des machines, nous permet d'avoir accès à tous les signaux utiles à la commande de la machine et à une bonne compréhension du système.

Prenons quelques exemples de signaux régulièrement visualisés : les courants statoriques et leurs valeurs efficaces (attention à les recalibrer de temps en temps), les signaux de commande (consigne de vitesse par exemple), les tensions composées statoriques et leurs valeurs efficaces ...

II. Modélisation du banc

1. Equations de base

La première étape, avant de passer à tout asservissement, est d'obtenir un

modèle de la machine. Une machine asynchrone peut être mise sous différentes formes de modèles, par exemple les modèles à inductances couplées, les schémas équivalents à fuites totalisées au rotor ou au stator ...

Le modèle (par phase) est donné ci-dessous :

Page 11: CR_2008

11

On en déduit les équations suivantes sur les tensions et les flux :

s s s s

dV R I

dt= + Φ

r r r r

dV R I

dt= + Φ

* ( )*s s s rL I M P p IθΦ = +

* ( )*r r r sL I M P p IθΦ = + − où P(±pθ) est la matrice de rotation d'angle ±pθ qui permet le passage du repère (R) au repère (S) et θ la position du rotor, p le nombre de paires de pôles. L'angle pθ est l'angle électrique du rotor (R) par rapport au stator (S). L'utilisation de la représentation complexe permet de simplifier l'écriture :

s s s s

dV R I

dt= + Φ

r r r r

dV R I

dt= + Φ

*s s s rL I M IΦ = +

*r r r sL I M IΦ = +

La modélisation s'appuie sur un certain nombre d'hypothèses :

• parfaite symétrie, • assimilation de la cage à un bobinage en court-circuit de même nombre de

phases que le bobinage statorique, • répartition sinusoïdale, le long de l'entrefer, des champs magnétiques de

chaque bobinage, • absence de saturation dans le circuit magnétique.

Nous avons, d'après (4) :

1 jpr r s

r

I Me IL

θ− = Φ −

D'où, après dérivation, 1 jp jpsr r

sr

d Id I dMe Mjp e I

dt L dt dtθ θθ− − Φ= − +

& (5)

(1)

(2)

(3)

(4)

Page 12: CR_2008

12

Les équations (1) et (3) donnent :

jp jps rs r s s s

dI dIL jMp e I Me V R I

dt dtθ θθ+ + = −&

Remplaçons rdI

dθpar l'expression (5) :

jp jp jps srs r s s s s

r

dI d IdML jMp e I Me Mjp e I V R I

dt L dt dtθ θ θθ θ− − Φ+ + − + = −

& & (6)

Nous avons 0rV = (rotor en court-circuit), soit d'après (2), 1 r

rr

dI

R dt

Φ= −

En remplaçant rI dans l'expression (4),

jpr rr s

r

d RMe I

dt Lθ−Φ

= − Φ − (7)

Nous avons alors, en remplaçant rI et rΦ par leurs expressions respectives dans (6) : 2 2

jp jpm s r rs r s s s

r r r r r r r r

L dI R RMp M Mp M ML j e j Me j p R I V

L dt L R L L R L Lθ θθ θ θ

− = − − Φ + − − − − +

& &&

Après simplifications, 2 2

2 2jpm s r

s r r s s sr r r r

L dI R p ML M j e R R I V

L dt L L Lθθ

− = − − Φ − + +

&

Posons 2

1s r

M

L Lσ = − appelé coefficient de dispersion.

2

2 r sjps sr r

r sr s r s s

MR R

dI VR LMjp e I

dt L L L L Lθθ

σ σ σ

+

= − Φ − +

&

Posons s r

Mk

L Lσ= et

2

2 r sr

s

MR R

L

σ

+=

Nous avons également θΩ = & , vitesse mécanique et rr

r

LT

R= constante de temps

rotorique. Nous pouvons alors écrire :

1 jps sr s

r s

dI Vk jp e I

dt T Lθ γ

σ

= − Ω Φ − +

Page 13: CR_2008

13

2. Transformation de Clarke

L'idée de Clarke repose sur le fait qu'un champ tournant créé par un système

triphasé peut l'être aussi par un système biphasé de deux bobines à π/2 équivalent, à condition que le champ ou les forces magnétomotrices et la puissance instantanée soient conservés.

Ainsi, aux trois grandeurs triphasées xa, x

b, x

c, on associe le vecteur [X

(s)] dans

le référentiel (S) d'axes (α,β) fixe lié au stator (Figure 1.4).

Figure 7 : Représentation du vecteur champ tournant

Page 14: CR_2008

14

Le vecteur [X(s)

] a pour expression :

1 11

2 2

3 30

2 2

a

s T b

c

xx

X K xx

x

α

β

− − = = −

2

3TK = pour une représentation conservant la puissance.

Le nombre complexe associé aux composantes de ce vecteur s'écrit :

2 4

3 3j j

s T a b cX K x x e x eπ π

= + +

Pour obtenir une matrice de passage carrée et donc inversible, on ajoute une composante x

0 fictive :

0

1 11

2 2

2 3 30

3 2 21 1 1

2 2 2

a

s b

c

x x

X x x

x x

α

β

− − = = −

Dans beaucoup de cas, le système de grandeurs triphasées est tel que la somme instantanée des grandeurs est nulle, ce qui permet d'annuler la composante homopolaire d'indice

0.

Page 15: CR_2008

15

Les relations inverses sont définies par :

( )2

3

43

2Re

3

2Re

3

2Re

3

a sT

j

b sT

j

c sT

x XK

x X eK

x X eK

π

π

=

=

= Le vecteur [X

(s)] a pour expression :

1 0

2 1 3

3 2 2

1 3

2 2

a

s bT

c

xx

X xxK

x

α

β

= = −

− −

3. Modèle exprimé dans le repère (α,β) lié au stator Soit le changement de repère :

jprs re θΦ = Φ

qui définit le flux rotorique dans le repère (α,β) fixe par rapport au stator. Dérivons cette équation :

jp jprs rr

d djp e e

dt dtθ θθΦ Φ= Φ +&

En remplaçant rd

dx

Φpar l'expression (7), nous obtenons :

1jp jprsr s r

r r

d Mjp e I e

dt T Tθ θθΦ = Φ + − Φ&

Soit, après regroupement, 1rs

s rsr r

d MI jp

dt T Tθ

Φ = + − Φ

&

Page 16: CR_2008

16

Nous obtenons finalement le système d'équations suivant :

1s srs s

r s

dI Vk jp I

dt T Lγ

σ

= − Ω Φ − +

1rss rs

r r

d MI jp

dt T T

Φ = + Ω − Φ

Nous avons :

s s sI i jiα β= + et r r rjα βΦ = Φ + Φ

Nous pouvons alors écrire :

1ss r r s

r s

di ki kp v

dt T Lα

α α β αγσ

= − + Φ + ΩΦ +

1ss r r s

r s

di ki kp v

dt T Lβ

β α β βγσ

= − − ΩΦ + Φ +

1rs r r

r r

d Mi p

dt T Tα

α α βΦ = − Φ + ΩΦ

1rs r r

r r

d Mi p

dt T Tβ

β α β

Φ= + ΩΦ − Φ

Page 17: CR_2008

17

III. Commande Scalaire

Il existe différents types de commandes scalaires (en passant par les courants ou bien par les tensions), néanmoins la finalité reste dans tous les cas la même. Une première phase consiste à contrôler l'amplitude du flux (le maintenir à sa valeur nominale), une seconde étape consiste quant à elle à contrôler le couple. Effectivement, 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.

On remarquera qu'une commande scalaire permet de contrôler le couple en régime permanent, alors qu'une commande vectorielle permet de contrôler le couple en régime dynamique. Nous nous sommes intéressés à une commande scalaire en passant par les tensions, ainsi nous avons réalisé un contrôle des flux à l’aide des tensions statoriques.

1. Aspects théoriques

Lors de la réalisation d'une commande scalaire la première étape est de contrôler le flux. Pour une commande en tension la loi de commande est simple :

où Vs est la valeur efficace d'une tension simple statorique, Φs

représente l'amplitude du flux statorique et ωs la pulsation statorique (avec ωs = 2⋅π⋅fs

). On cherche donc à maintenir l'amplitude du flux à sa valeur nominale, avec

.

Seulement cette écriture n'est valable que dans l'hypothèse où Rs= 0. L'influence du terme Rs⋅Is n'est néfaste que pour les faibles valeurs de fs , la stratégie de commande consiste donc à introduire une fonction BOOST (dans la loi de commande

constante) qui compense les effets de Rs⋅Is pour les faibles valeurs de fs (ou ωs).

On va maintenir Vs à un niveau constant (Vboost) pour les valeurs faibles de fs .

Vs =Φs ⋅ω s

Page 18: CR_2008

18

Une fois le flux contrôlé, la deuxième étape consiste à commander le couple,

qui peut être écrit sous la forme suivante (si Vs =Φs⋅ωs ):

où Cem est le couple électromagnétique, p

est le nombre de paires de pôles, ωr la

pulsation rotorique (avec : ωr = 2⋅π⋅fr ), (avec : , rapport entre spires

rotor/stator) et σ le coefficient de Blondel ou coefficient de dispersion (avec

). Or pour un point de fonctionnement proche du synchronisme on peut

considérer :

Une fois le contrôle du flux réalisé on obtient Φs = constante, la relation s'écrit

donc :

Figure 8 : caractéristique couple électromagnétique - pulsation rotorique

Page 19: CR_2008

19

On va alors chercher à reconstituer ωr(ou f

r) afin de commander le couple

électromagnétique de la machine. Une fois fr reconstituée et le couple commandé, l'asservissement de vitesse peut être mis en place.

2. Simulation sous MATLAB/SIMULINK

La commande scalaire du moteur asynchrone a été préalablement implémentée

sous Simulink, nous n’avons donc plus qu’à vérifier notre commande scalaire et finalement contrôler que notre modèle a bien le même comportement que le moteur.

Ci-dessus, nous pouvons voir le schéma d’implantation utilisé pour implémenter

la commande scalaire sur le DSP qui contrôle notre moteur asynchrone. Ci-dessous nous pouvons voir, à l’aide du logiciel ControlDesk, l’évolution des

courants statoriques ainsi que la vitesse angulaire du moteur au cour du temps. Sur les afficheurs numériques nous pouvons voir à gauche la consigne de vitesse et à droite la vitesse réelle du moteur mesurée grâce à une génératrice tachymétrique.

Page 20: CR_2008

20

Nous avons ensuite ajouté notre modèle afin de vérifier que son comportement

et celui du moteur sont bien similaires.

Commande_Scalaire_2.mdl

Page 21: CR_2008

21

Voici ce que nous avons obtenu : En vert, il s’agit des différents courants statoriques du moteur et en rouge les

courants calculés par notre modèle. Sur les afficheurs numériques nous pouvons voir à gauche la vitesse réelle du moteur mesurée grâce à une génératrice tachymétrique et à droite la vitesse que renvoie notre modèle. Remarque : Il y a une différence entre le modèle et le moteur asynchrone. Cette erreur a été corrigée en rajoutant les modèles des convertisseurs statiques ainsi que des filtres anti-repliements en amont de notre modèle du moteur.

Une commande vectorielle avait également été développée sur le moteur. Nous

avons juste étudié cette dernière sans y apporter de modification, donc nous n’en parlerons pas dans ce rapport.

Une fois notre modèle validé et la commande scalaire mise en place, nous

pouvons à présent nous intéresser à la partie observation.

Page 22: CR_2008

22

IV. Observateur de type Grand Gain

1. Notations

Posons les notations suivantes afin d’alléger les calculs :

αsi 1 =i composante α du courant statorique (mesuré)

βsi 2=i composante β du courant statorique (mesuré)

αr 1 Φ=Φ composante α du flux rotorique (non mesuré)

βr 2 Φ=Φ composante β du flux rotorique (non mesuré) ω vitesse de rotation mécanique

αs v 1 =u composante α de la tension statorique

βs v 2=u composante β de la tension statorique

On définit la norme du flux de la façon suivante : 2

221

2 Φ+Φ=Φ

On pose :

=

2

1i

ii ;

ΦΦ

=Φ2

1 ;

=

2

1u

uu et aussi

=

2

1i

ii

&

&& ;

ΦΦ

=Φ2

1&

&&

Choisissons comme vecteur d’état:

Φ=ω

i

x

D’après les équations du modèle, nous avons :

+

ΦΦ

−+

−−

=

=

2

11

0

01

2

1

2

10

0

2

1u

u

sL

sL

rT

kkp

kprT

k

i

i

i

ii

σ

σ

ω

ω

γγ

&

&&

+

ΦΦ

−−+

=

ΦΦ

=Φ2

1

2

1

2

1

2

1

00

001

1

0

0

u

u

Tp

pT

i

i

r

r

TM

TM

r

r

ω

ω

&

&&

( ) Lr

TJ

iiJL

pM 101

10

2

121 −

ΦΦ

−=ω&

Page 23: CR_2008

23

En introduisant :

−=

01

102J et ( ) 2 2

101

10

10

0111

1

JpIrT

prT

rTp

prT

F ωωω

ωω −=

−−

=

−=

On obtient la forme condensée suivante :

( )

( )

−Φ=

Φ−=Φ

+Φ+−=

LT

r

r

s

TJ

JiJL

pM

FiT

M

uL

Fki

1

1 i

ω

σωγ

&

&

&

Les variables d’état accessibles à la mesure sont les courants statoriques

=

2

1i

ii et

éventuellement la vitesse ω mais en aucun cas les flux rotoriques

ΦΦ

=Φ2

1 .

2. Observateur avec mesure de vitesse On sépare les variables d’état (ou équations d’état) en deux parties les variables d’état « électriques » et les variables d’état « mécaniques ». On va ensuite construire séparément deux observateurs. 1er observateur : on réalise une estimation des variables d’état électriques en introduisant un terme correctif basé sur l’erreur commise sur l’estimation des variables électriques mesurées (courants statoriques) :

On a une forme :

=+=

Cxy

BuAxx& avec :

( )( )

+

Φ

−=

Φ 2

12

2

2

0

1i

u

uILFI

T

MFkI

i

B

s

A

r 43421444 3444 21

&

&σω

ωγ et

ΦΦ

=

=

2

1

2

1

0010

00011

2

i

i

C

i

iy

44 344 21

Page 24: CR_2008

24

Ce n’est pas une forme canonique d’observabilité, on va donc introduire une matrice de changement de base :

( )( )ωkFIdiag , 2=Λ d’où : ( )

=Λ −− ω12

1 1, Fk

Idiag

On utilise alors une structure de type grand gain : ( ) ( )

( )

++=

−−∆−Λ=

meBuxAx

meCTCSxme

νθθν

ˆˆ

11ˆ11

1&

Avec :

−−

=

0

0

ˆ

ˆ

22

11

ii

ii

em le vecteur construit à partir de l’erreur de modélisation sur l’état

mesuré, c’est-à-dire sur les courants.

=∆ 2

1

2

1 ,

1IIdiag

θθ et 01 >θ d’où : ( ) ( )2121 ,

1IIdiag θθ =∆ −

S est l’unique solution symétrique définie positive de l’équation algébrique de Lyapunov suivante : CTCA SS TAS =++ et [ ]TIITICICTCS 2 22 2

22 2

12 1 =

=−

Ce qui donne : ( ) ( ) ( ) mm eII

I

I

I

k

FI

e 02

0

0

0

0

22

2

21

212

1

= −

θωθν

Soit : ( ) ( ) ( ) mm eII

I

Fk

Ie 0

20

0

22

211

2

1

= − ωθθν

( ) ( ) ( ) ( ) mmm eF

k

IeI

Fk

Ie

=

= −− 0

020

2

12

1

21

211

2

1 ωθθ

ωθθν

D’où :

( ) [ ] ˆ121ˆ ˆ ˆ iiusL

Fkii −++Φ+−= θσ

ωγ& avec [ ]

−−=−

22

11ˆii

iiii

( ) ( )[ ]iiFk

FiT

M

r

ˆˆ ˆˆ 12

1 −+Φ−=Φ − ωθω&

Page 25: CR_2008

25

avec ( )

+=

+=−

rTp

prT

prT

rT

rTp

prT

prT

F1

1

2221

2

1

1

222

111

ω

ω

ωω

ω

ωω donc :

−−

+

+

ΦΦ

−+

−=

22

1112

2

11

2ˆ1ˆ

1

1

2

1 2

1ii

ii

u

u

sL

rTp

prT

ki

i

i

i θσω

ωγ

&

&

−−

++

ΦΦ

−−

=

ΦΦ

22

11222

221

2

1

2

1

2

1

ˆ

ˆ

1

1

ˆ

1

1

ˆ

ˆ

ˆ

ˆ

ii

ii

Tp

pT

pT

T

kT

p

pT

i

i

T

M

r

r

r

r

r

r

r ω

ω

ωθ

ω

ω

&

&

C’est-à-dire :

( )

( )

( ) ( )

( ) ( )

ˆ1ˆ1

ˆ1ˆˆˆ

ˆˆ1

1ˆˆ1ˆˆ

ˆ21ˆ1ˆˆˆ

ˆ21ˆˆ1ˆˆ

2211222

221

2122

2211222

221

2111

22122122

11112111

−+−

++

Φ+Φ−−=Φ

−−−

++

Φ+Φ−=Φ

−++

Φ+Φ−+−=

−++

Φ+Φ+−=

iiT

iippT

T

kTpi

T

M

iipiiTpT

T

kp

Ti

T

M

iiuLT

pkii

iiuL

pT

kii

rr

r

rr

rr

r

rr

sr

sr

ωω

θω

ωω

θω

θσ

ωγ

θσ

ωγ

&

&

&

&

11 >θ est le paramètre de synthèse à régler.

2ème observateur : on va construire un observateur sur la vitesse et le couple de charge (non mesuré) en introduisant un terme correctif basé sur l’erreur commise sur l’estimation de la vitesse. On fait l’hypothèse que la dérivée du couple de charge est constante.

Par conséquent :

( )

( )

=

−Φ−Φ=

constante

11221

LL

Lr

kT

TJ

iiJL

pM

&&

Page 26: CR_2008

26

Soit :

( )

Φ−Φ

+

=

L

r

L

L

L

L

k

iiJL

pM

T

TJ

T

T 0

000

100

01

0 1221

&&&

&

& ωω

On a une forme :

=+=

CxyLKAxx&

avec

=

=000

00

00

000

100

01

0

2

1

A

AJ

A 12et 1

1 =−= AJ

A

( )

Φ−Φ

=

L

r

L

k

iiJL

pM

K 0

1221

( )

===

LTLTCxy&

ωω 001

En introduisant le signal d’erreur suivant : )(ˆ)()( txtxte −= (soit )()()(ˆ tetxtx −= ) On souhaite que : [ ] 0)(lim =

∞→tte

En particulier on aura : Aee=& Or le système n’est pas sous une forme canonique d’observabilité, par conséquent on introduit la matrice de changement de base suivante :

( )

−==Λ

J

JAAAdiag

100

01

0

001

21,1 , 1 d’où :

−−=Λ−

J

J

00

00

0011

Vérification :

−−

−=−ΛΛJ

JJ

J

J00

00

001

000

100

01

0

100

01

0

0011A

=

=

−−

=−ΛΛ0020

000

100

010

00

00

001

000

100

01

0

1AI

J

JJ

J

Page 27: CR_2008

27

On utilise alors une structure de type grand gain : ( ) ( )

( )

+=

−−∆−Λ=

mexAx

meCTCSxme

νθθν

ˆˆ

11ˆ12

2&

Avec : ( )

−=

0

0

ωω

me le vecteur construit à partir de l’erreur de modélisation sur l’état

mesuré, c’est-à-dire sur la vitesse.

=∆

22

1 ,

2

1 , 1

2 θθθ diag et 02 >θ d’où : ( )

=−∆ 2

2 ,2 , 112

θθθ diag

S est l’unique solution symétrique définie positive de l’équation algébrique de

Lyapunov suivante : CTCA SS TAS =++ et [ ]TT

CCCTCS 1 3 3 33 2

3 13 1 =

=−

Ce qui donne : ( ) ( ) me

J

Jme 001

1

3

3

2200

020

001

00

00

001

2

−−=

θθθν

Soit : ( ) ( ) ( ) me

J

Jme

J

Jme

J

Jme

−−=

−−=

−−=

0022

0023

003

20012

2

23

3

2001

1

3

3

2200

020

001

2θθθ

θθθ

θθθν

( )( )

( )( )

−−−−

−=

−−=

ωωθωωθ

ωωθωω

θθθν

ˆ

ˆ3

ˆ3

0

0

ˆ

00

003

003

32

22

2

22

22

J

J

J

Jem

D’où :

( ) ( )

( )( )

−−=−−=

−+−Φ−Φ=

ωωθωωθ

ωωθω

ˆˆˆ3ˆˆ

ˆ3ˆ1ˆˆˆˆˆ

32

22

21221

JT

JTT

TJ

iiJL

pM

L

LL

Lr

&&

&&

&

charge de coupledu dérivée la de estimation

charge de coupledu estimation

vitessela de estimation

12 >θ est le paramètre de synthèse à régler.

Page 28: CR_2008

28

Remarques :

lorsque la dérivée du couple de charge est constante l’erreur d’estimation converge exponentiellement vers zéro. Si celle-ci n’est pas constante, mais néanmoins bornée par une constante, l’erreur d’estimation peut être rendue aussi petite que souhaitée en réglant le paramètre de synthèse 2θ en conséquence.

Pour l’implantation temps réel de cet observateur, il est nécessaire d’introduire une variable intermédiaireLpT qui va jouer le rôle de la dérivée du couple de

charge. On obtient alors :

( ) ( )

( )( )

−−=

−−=

−+−Φ−Φ=

ωωθωωθ

ωωθω

ˆˆ

ˆ3ˆˆ

ˆ3ˆ1ˆˆˆˆˆ

32

22

21221

JT

JTT

TJ

iiJL

pM

Lp

LpL

Lr

&

&

&

Dans ces conditions, si ( )ωω =ˆ alors :

( )

==

==

−Φ−Φ=

0ˆˆ

ˆˆ

ˆ1ˆˆˆˆˆ 1221

LLp

steLpL

Lr

TT

CTT

TJ

iiJL

pM

&&&

&

3. Simulation sous Matlab et implémentation sur DSP

Nous avons implémenté le premier observateur en utilisant une commande scalaire pour que le système soit stable. Voici les résultats obtenus :

Observateur1.mdl

Page 29: CR_2008

29

Ci-dessous nous avons les différents courants statorique (simulés avec notre modèle, avec un θ1 de 1000) et leurs estimations (les estimées sont confondues avec les courants quelles suivent).

Et maintenant, les flux :

Temps en seconde

Temps en seconde

Flux statoriques

en Wb

Courants statoriques en A

Page 30: CR_2008

30

Les flux de notre modèle sont en cyan et en magenta, leurs estimés sont

respectivement en bleu et en rouge. Nous pouvons voir, pendant la phase transitoire une légère erreur d’estimation qui s’annule au bout d’une seconde.

Une fois ce premier observateur implémenté nous avons ajouté le second en

cascade en utilisant les courants et les flux estimés. Ci-dessous le schéma Simulink réalisé (avec un θ2 de 50).

Temps en seconde

Vitesse en rad/s

Observateur2.mdl

Page 31: CR_2008

31

Ci-dessus est représentée, en bleu, la vitesse du moteur (simulé avec notre modèle) et en rouge l’estimé de notre observateur.

Ci-dessous est représentée, en rouge, le couple résistant appliqué au moteur et en bleu son estimation.

Nous tenons à rappeler que cet observateur est en cascade avec un second, ce

qui explique la lenteur de convergence de l’estimation du couple résistant au début de la simulation. De plus, rappelons que nous n’utilisons aucune information sur le couple de charge lors de l’estimation.

Une fois les observateurs testés en simulation nous les avons implémentés et

envoyés sur le DSP. Voici ce que nous avons obtenu :

Temps en seconde

Couple de charge en N.m

Temps en seconde

Courants statoriques en A

Page 32: CR_2008

32

En bleu sont représentées les grandeurs mesurées sur le moteur et en rouge les

estimations de nos observateurs. Sur la première figure, nous observons un des courants statoriques. Sur la seconde, il s’agit de la vitesse du moteur en rad/s. Et finalement, la dernière représente, le couple résistant appliqué au moteur. Nous devons préciser que le couple résistant en bleu ne représente pas tout à fait la charge appliquée au moteur. En effet, nous devons rajouter un couple constant (car nous sommes à

Temps en seconde

Temps en seconde

Couple de charge en N.m

Vitesse en rad/s

Page 33: CR_2008

33

vitesse constante) due aux frottements du moteur. De plus, il s’agit de la commande du frein à poudre utilisé pour appliquer un couple résistant (multiplié par un gain pour avoir un couple). Le frein à poudre étant un système physique, notre couple est retardé par rapport à sa commande et filtré en haute fréquence. Nous pouvons donc dire que notre estimation du couple est très acceptable.

Cette première partie validée, nous pouvons donc passer à présent à

l’observateur sans mesure de vitesse.

4. Observateur sans mesure de vitesse Rappel :

( )

( )

−Φ=

Φ−=Φ

+Φ+−=

LT

r

r

s

TJ

JiJL

pM

FiT

M

uL

Fki

1

1 i

ω

σωγ

&

&

&

avec ( ) 2 21

1

1

JpIrT

rTp

prT

F ωω

ωω −=

−=

On va introduire le changement de variable suivant :

( ) Φ−Φ=Φ

−=Φ= 2

11

1

JprT

rTp

prT

Fr ωω

ωω et par conséquent ( )rF ω1−=Φ

Dans ces conditions : ( )

( )

−=

Φ+Φ−Φ=

++−=

−L

T

r

r

s

TJ

rFJiJL

pM

pJT

r

uL

rki

1

1

1 i

12

2

ωω

ωω

σγ

&

&&&&

&

( ) riT

MFi

T

M

rr

−=Φ−=Φ ω& , par conséquent :

( )

−+Φ−

−=Φ+Φ−Φ= ri

T

MpJri

T

M

TpJ

Tr

rrrr

ωωωω &&&&& 22

11

Φ−

−−

−= ωω && 22

1pJri

T

MpJri

T

M

Tr

rrr

Page 34: CR_2008

34

Soit :

−=

Φ−

−−

−=

++−=

Lr

T

r

rrr

s

TJ

rJpIT

JiJL

pM

pJriT

MpJri

T

M

Tr

uL

rki

1

1

1

1 i

1

222

22

ωω

ωω

σγ

&

&&

&

Ou encore :

Φ−+

+−

+

−−=

−L

r

T

r

rr

s

rT

J

pJ

rJpIT

JiJL

pM

riT

M

T

uL

rriT

MpJ

Ik

r

i

1

0

1

1

1i

i

000

00

00

2

1

222

2

2

ω

ω

σγ

ωω&

&

&

&

On a une forme : ( ) ε++= uxBbAxx ,& et Cxy =

avec

=000200

010

A

A

A

−−== ri

rTmL

pJAkIA 22et 21 et ( )002IC =

Le système n’est pas sous une forme canonique d’observabilité, par conséquent on introduit la matrice de changement de base suivante :

( )

−−

==Λ

rirTmL

kpJ

kI

I

AAAIdiag

200

020

002

21,1 ,2 d’où :

+

−−

=Λ−

ΛΛ=+Λ

rirTmL

Jkp

Ik

ITT

21

00

021

0

0021

On utilise alors une structure de type grand gain : ( ) ( )

( ) ( )

++=∆Λ= −−+

m

mT

m

euxBbxAx

eCCSxe

νθν θ

,ˆˆˆ

ˆ 113 3

&

Avec :

−=

0

0

)ˆ( ii

em le vecteur construit à partir de l’erreur de modélisation sur l’état

mesuré, c’est-à-dire sur les courants statoriques.

Page 35: CR_2008

35

=∆

23

2 ,3

2 , 23 θθθ

IIIdiag et 03 >θ d’où : ( )

=−∆ 2

23 ,23 , 2

13

IIIdiag θθθ

S est l’unique solution symétrique définie positive de l’équation algébrique de

Lyapunov suivante : C'C'A SS AS TT =++ et [ ] [ ] TTT IIIICICICCS 3 3 ' 2222332

232

13

1 ==− où [ ] 0 0 ' 222IC = est la matrice reliant la sortie au vecteur d’état dans la base où A a la forme canonique d’observabilité. Ce qui donne :

( ) ( ) m

r

m eI

I

I

I

I

I

I

riT

MJ

kp

Ik

I

e 003

3

00

00

00

100

01

0

00

2

2

2

2

22

3

23

2

2

2

2

3

−−

=+ θ

θθν

Avec :

=

+−=

2

1

11

22

2 αα

riT

M

riT

M

riT

MJ

r

r

r

donc on obtient : ( )2122

21

2

111 αααα +

−=

−−

+

kpri

T

MJ

kp r

D’où :

( )

( )

( )

−+−

−+

+−

−=

−−

−−

−=

−+++−=

iiriT

Mri

T

M

riT

Mri

T

MkprJpI

TJi

JL

pM

iik

riT

MpJri

T

M

Tr

iiuL

rkii

rr

rr

r

T

r

rrr

s

ˆˆˆˆˆ

ˆˆˆˆ

11ˆ ˆ

1 ˆˆ

ˆ3ˆˆˆˆˆ1

ˆ

ˆ31

ˆ ˆ ˆ

3311222

11

2

22

1

222

232

3

θωω

θω

θσ

γ

&

&

&

13 >θ est le paramètre de synthèse à régler.

Pour comparer les flux nous avons besoin de : ( ) rF ˆ ˆ1ˆ ω−=Φ

Page 36: CR_2008

36

5. Simulation sous Matlab et implémentation sur DSP

Nous avons implémenté cet observateur sur Simulink et lui avons ajouté l’observateur sur la vitesse et le couple de charge vu précédemment. Nous utilisons ainsi la vitesse estimée pour le bouclage de la commande scalaire. Lors de cette dernière simulation nous n’utilisons donc plus la mesure vitesse. Ci-dessous le schéma d’implantation sur Simulink (avec un θ3 de 200) :

Maintenant, voici les résultats obtenus :

Temps en seconde

Vitesse en rad/s

Observateur5.mdl

Page 37: CR_2008

37

Ci-dessus, en rouge la vitesse du moteur (simulée) et en bleu la vitesse estimée. Nous pouvons voir au début que l’estimation est bruitée mais converge en une seconde. Ci-dessous, en rouge le couple de charge appliquée et en bleu son estimation. Remarquons que notre charge varie avant que les observateurs aient convergés. Cela peut expliquer les grosses erreurs du début de la simulation. Cela dit, la convergence des observateurs est assez rapide, nous avons pu donc implémenter cette solution sur le DSP. Voici donc ce qu’a donné notre dernière expérience :

Temps en seconde

Couple de charge en N.m

Temps en seconde

Vitesse en rad/s

Page 38: CR_2008

38

Finalement, nous voyons que notre estimation de la vitesse a une erreur inférieure à 2 rad/s. De plus, notre estimation du couple de charge est très acceptable pour les mêmes raisons que citées précédemment.

Conclusion

Ce projet nous a vraiment été profitable puisqu’il nous a permis de travailler sur une machine avec un modèle non linéaire. Nous avons donc étudié les observateurs ainsi que la commande grand gain.

L’observateur de type grand gain a été implémenté et fonctionne correctement. Nous avons donc pu tester la commande scalaire avec ce modèle et asservir convenablement le moteur en vitesse sans utiliser sa mesure.

Nous avons ensuite tenté d’implémenter une commande de type grand gain, mais un petit souci reste et nous n’avons pas eu le temps de la rendre opérationnelle dans le cadre de ce projet.

Temps en seconde

Couple de charge en N.m