Download pdf - Rapport Pfe

Transcript
Page 1: Rapport Pfe

Utilisation d’actionneurs piézo-électriques dansdes boucles d’asservissement en effort : banc

d’essai MIMOSA

Thomas RAKOTOMAMONJY

30 août 2002

Page 2: Rapport Pfe
Page 3: Rapport Pfe

Remerciements

Je tiens avant tout à remercier les personnes suivantes pour tout ce qu’elles ont pum’apporter au cours de ce stage :

– Daniel Alazard et Jean-Pierre Chrétien pour leur encadrement et les conseils pré-cieux qu’ils ont su prodiguer ;

– Alain Gaillet pour sa patience et son aide sur MIMOSA ;– Alain Bucharles et Patrick Carton pour leur aide des plus utiles ;– Jean-Pierre Jung, directeur de l’ONERA Toulouse et Claude Barrouil, directeur du

DCSD, pour m’avoir accueilli au sein du département ;– Benoît, Charles, Florent, Ludovic, Rémi, Ygaël et tous les stagiaires pour leur bonne

humeur communicative ;

Et enfin l’ensemble du personnel duDCSD, pour avoir su rendre cette expérience aussienrichissante qu’agréable à vivre.

3

Page 4: Rapport Pfe
Page 5: Rapport Pfe

TABLE DES MATIÈRES

Table des matières

Remerciements 3

Introduction 9

1 Présentation et modélisation du problème 11

1.1 La piézo-électricité . . . . . . . . . . . . . . . . . . . . . . . . . . . . .11

1.1.1 Définition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .11

1.1.2 Équations piézo-électriques . . . . . . . . . . . . . . . . . . . .13

1.2 Modèle dynamique . . . . . . . . . . . . . . . . . . . . . . . . . . . . .14

1.2.1 Principe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .15

1.2.2 Modélisation de l’actionneur . . . . . . . . . . . . . . . . . . . .16

1.3 Loi de commande . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .18

1.4 Choix de l’architecture de l’asservissement . . . . . . . . . . . . . . . .18

2 Dispositif expérimental 23

2.1 Architecture mécanique . . . . . . . . . . . . . . . . . . . . . . . . . . .23

2.1.1 Contraintes globales . . . . . . . . . . . . . . . . . . . . . . . .23

2.1.2 Contraintes liées à l’actionneur . . . . . . . . . . . . . . . . . . .24

2.2 Dimensionnement du banc . . . . . . . . . . . . . . . . . . . . . . . . .24

2.2.1 Caractéristiques mécaniques . . . . . . . . . . . . . . . . . . . .24

2.2.2 Caractéristiques des capteurs . . . . . . . . . . . . . . . . . . . .25

2.2.3 Caractéristiques de l’actionneur . . . . . . . . . . . . . . . . . .26

2.3 Architecture informatique . . . . . . . . . . . . . . . . . . . . . . . . . .26

2.3.1 Architecture matérielle . . . . . . . . . . . . . . . . . . . . . . .27

2.3.2 Architecture logicielle . . . . . . . . . . . . . . . . . . . . . . .27

2.3.3 Algorithme d’acquisition - traitement . . . . . . . . . . . . . . .28

5

Page 6: Rapport Pfe

TABLE DES MATIÈRES

3 Implémentation avec charge rigide 31

3.1 Modélisation du système . . . . . . . . . . . . . . . . . . . . . . . . . .31

3.1.1 Gains de commande . . . . . . . . . . . . . . . . . . . . . . . .31

3.1.2 Actionneur + charge rigide . . . . . . . . . . . . . . . . . . . . .32

3.1.3 Loi de commande . . . . . . . . . . . . . . . . . . . . . . . . . .32

3.2 Identification des principaux paramètres . . . . . . . . . . . . . . . . . .34

3.2.1 Gain du translateur . . . . . . . . . . . . . . . . . . . . . . . . .34

3.2.2 Essais boucle ouverte . . . . . . . . . . . . . . . . . . . . . . . .34

3.3 Commande en boucle fermée . . . . . . . . . . . . . . . . . . . . . . . .39

3.3.1 Test des correcteurs . . . . . . . . . . . . . . . . . . . . . . . . .41

3.3.2 Filtrage des mesures . . . . . . . . . . . . . . . . . . . . . . . .42

3.3.3 Essais boucle fermée . . . . . . . . . . . . . . . . . . . . . . . .49

4 Essais sur le système complet 63

4.1 Modélisation du système complet . . . . . . . . . . . . . . . . . . . . .63

4.1.1 Modèles SIMULINK . . . . . . . . . . . . . . . . . . . . . . . . 63

4.1.2 Valeurs des différents paramètres . . . . . . . . . . . . . . . . .65

4.2 Caractérisation des modes flexibles naturels . . . . . . . . . . . . . . . .65

4.2.1 Analyse modale . . . . . . . . . . . . . . . . . . . . . . . . . . .65

4.2.2 Vérification sur le banc . . . . . . . . . . . . . . . . . . . . . . .66

4.3 Commande en boucle fermée . . . . . . . . . . . . . . . . . . . . . . . .74

4.3.1 Lieux des racines . . . . . . . . . . . . . . . . . . . . . . . . . .77

4.3.2 Essais sur MIMOSA . . . . . . . . . . . . . . . . . . . . . . . .78

5 Revue bibliographique 83

5.1 Réduction d’hystérésis par contrôle de phase . . . . . . . . . . . . . . . .83

5.1.1 Principe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .83

5.1.2 Implantation . . . . . . . . . . . . . . . . . . . . . . . . . . . .85

5.1.3 Résultats . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .86

5.2 Synthèse robuste par linéarisation et commande par régime glissant . . .87

5.2.1 Modélisation . . . . . . . . . . . . . . . . . . . . . . . . . . . .88

5.2.2 Commande . . . . . . . . . . . . . . . . . . . . . . . . . . . . .89

5.3 Commande à structure variable intelligente . . . . . . . . . . . . . . . .90

Conclusion 93

6

Page 7: Rapport Pfe

TABLE DES MATIÈRES

Bibliographie 95

A Présentation de l’ONERA et de ses activités 97

A.1 L’ONERA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97

A.2 Le centre de Toulouse . . . . . . . . . . . . . . . . . . . . . . . . . . . .98

A.3 Le DCSD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .99

B Modèle d’hystérésis sous SIMULINK 101

C Estimation de fonction de transfert 105

C.1 Principe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .105

C.2 Le périodogramme . . . . . . . . . . . . . . . . . . . . . . . . . . . . .106

C.2.1 Définition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .106

C.2.2 Moyenne de périodogrammes . . . . . . . . . . . . . . . . . . .107

C.2.3 Lissage du périodogramme . . . . . . . . . . . . . . . . . . . . .107

C.3 Méthode de Welch . . . . . . . . . . . . . . . . . . . . . . . . . . . . .108

C.4 Estimation du spectre croisé . . . . . . . . . . . . . . . . . . . . . . . .109

D Code temps réel MimoLette.c 111

7

Page 8: Rapport Pfe
Page 9: Rapport Pfe

Introduction

Ce rapport présente le travail effectué durant un Projet de Fin d’Études à l’ONERAToulouse, au sein duDépartement Commande des Systèmes et Dynamique du vol(DCSD).

Dans le cadre du Projet de Recherches Fédérateur (PRF)Matériaux Intelligents, leDCSDa réalisé un banc expérimental destiné à montrer l’intérêt de l’utilisation d’action-neurs piézo-électriques pour l’amortissement actif des structures mécaniques. Ce mon-tage fait suite à l’étude théorique s’inscrivant dans le cadre du projet MIMOSA1. Unetelle application peut se révéler utile dans des domaines tels que l’isolation dynamiquedes structures ou la génération de vibrations de faible amplitude pour les bancs de test.

L’idée principale est d’utiliser le générateur de déplacement que constitue naturelle-ment un translateur piézo-électrique en tant que générateur d’effort, en adjoignant uneraideur entre celui-ci et une charge utile. Le banc réalisé a donc pour but de valider l’uti-lisation d’un actionneur piézo-électrique asservi en effort pour le contrôle de l’impédancede la charge utile, via la pulsation du mode flexible associé.

Le plan de l’étude s’organise de la manière suivante : dans un premier temps, on pré-sentera la modélisation du système initialement adoptée, avant d’examiner le dispositifexpérimental en lui-même, sur le plan de l’architecture mécanique et informatique. Ons’intéressera ensuite au fonctionnement de l’asservissement pour une charge utile rigidedans un premier temps, avant de considérer le montage dans son ensemble, c’est-à-diremuni d’une charge utile flexible constituée de deux masses reliées par un ressort.

De façon générale, on s’attachera au cours de ces travaux à étudier en parallèle lesystème réel et le modèle en utilisant l’outil de simulation MATLAB /SIMULINK et à com-parer leurs performances respectives, en essayant d’expliquer les différences obtenues etde trouver le moyen de minimiser celles-ci.

1. Matériaux Intelligents : Mise en Œuvre pour la Suspension Active

9

Page 10: Rapport Pfe
Page 11: Rapport Pfe

Chapitre 1

Présentation et modélisation duproblème

On se propose dans ce premier chapitre de donner d’abord une rapide présentationde la piézo-électricité et de ses applications les plus courantes, avent de s’intéresser audispositif MIMOSA en lui-même. On rappellera donc le but de ce démonstrateur, la mo-délisation choisie pour l’actionneur et la loi de commande qui en découle, en reprenantdes résultats issus de [1] principalement.

1.1 La piézo-électricité

1.1.1 Définition

La piézo-électricité est un phénomène mis en évidence par les frères Curie en 1880,et défini comme un changement de la polarisation au sein d’un matériau lors de l’applica-tion d’une contrainte mécanique (effet ditdirect), ce qui entraîne l’apparition de chargesélectriques à la surface du matériau. Ce phénomène est réversible, i.e. il existe égalementl’effet inverse, à savoir la déformation de l’élément s’il est soumis à un champ électrique.

Parmi les matériaux piézo-électriques, on trouve une sous-classe formée par les maté-riaux pyro-électriques qui, à la différence des précédents, possèdent une polarisation na-turelle selon au moins une direction, appelée aussi polarisation spontanée. L’importancede cette polarisation dépend fortement de la température, d’où leur dénomination. Lesmatériaux ferroélectriques, formant eux mêmes un sous-groupe des pyro-électriques, onteux la particularité de pouvoir se polariser selon deux axes ou plus, chaque direction étantéquiprobable. Par application d’un champ électrique, on peut faire basculer la polarisationd’un axe à un autre. C’est en fait ce phénomène qui est en grande partie responsable deleurs propriétés piézo-électriques : le basculement modifie localement la structure cristal-line, et rend l’effet beaucoup plus important que chez les autres matériaux.

Bien que se présentant initialement à l’état de cristaux, on les utilise plutôt sous formede céramiques. La fabrication de cristaux de grande taille est en effet relativement com-pliquée, et il est difficile de les travailler et de les modeler pour les adapter à une ap-

11

Page 12: Rapport Pfe

CHAPITRE 1. PRÉSENTATION ET MODÉLISATION DU PROBLÈME

(a) Avant (b) Après polarisation

FIG. 1.1 –Poling d’un ferro-électrique

plication dont la géométrie peut être complexe. L’intégration des cristaux au sein d’unematrice céramique permet de résoudre ce problème, mais possède aussi ses limites : cescomposites sont en effet fragiles, et ne peuvent être soumis qu’à des chargements en trac-tion ou compression. Ils ne sont donc réellement exploitables que dans des dispositifslinéaires tels que les translateurs. Toutefois, la plus grande partie des capteurs ou action-neurs piézo-électriques que l’on rencontre sur le marché aujourd’hui sont des céramiquesferro-électriques, du fait de la commodité en termes de synthèse et d’usinage ainsi quedes performances offertes par ce type de matériau piézo-électrique. Les premiers com-posés de ce type, à base de Titanate de Barium furent élaborés en 1945. Par la suite, lesZircono-Titanates de Plomb ou PZT ont fait leur apparition en 1954 et se sont répandustrès rapidement, leurs propriétés supplantant de loin celles de toutes les autres familles decomposés.

A l’état naturel, ces matériaux ferro-électriques ne présentent qu’une faible polari-sation naturelle. En effet, ils se composent à l’échelle cristalline de grains, eux-mêmesdivisés en domaines, au sein desquels les dipôles internes sont orientés dans la même di-rection (fig.1.1(a)). Chaque domaine présente donc une polarisation microscopique spon-tanée, mais leur répartition dans le matériau est aléatoire, ce qui explique que le composéglobal soit non polarisé. Ces matériaux doivent donc passer par un processus de polarisa-tion, dit poling, au cours duquel on leur applique un champ électrique élevé, qui provoquel’alignement des moments dipôlaires des domaines selon une direction unique. Si l’effetest réversible lorsque le champ est faible, une différence de potentiel élevée provoque larotation d’un certain nombre de domaines qui vont «fusionner» (cf. fig.1.1(b)). A l’is-sue du processus de poling, un grand nombre de dipôles reviennent sur leur axe original,mais d’autres conservent l’orientation du champ électrique : il reste donc une polarisationrésiduelle du matériau due à la modification de la structure cristalline.

12

Page 13: Rapport Pfe

1.1. LA PIÉZO-ÉLECTRICITÉ

1.1.2 Équations piézo-électriques

Une fois cette polarisation effectuée, on peut modéliser le comportement du matériauà l’aide de relations linéaires exprimant le couplage entre l’énergie électrique et l’énergieélastique du matériau, regroupées ci-dessous :[

DT

]=[

εS e−et cE

][ES

] [DS

]=[

εT ddt sE

][ET

](1.1)

Avec les notations suivantes :

– D densité de charge– T contrainte mécanique– E champ électrique– Sdéformation relative– ε permittivité électrique– d,econstantes piézo-électriques caractéristiques du matériau– c raideur– s compliance– .t transposée– .X indique que la grandeur est calculée àX constant.

Notons que du fait de l’orientation du matériau induite par la polarisation, les coefficientsprésentés sont en fait des tenseurs.

Attrayants en raison de leur pouvoir actif très supérieur à celui des autres matériauxpiézo-électriques, les ferroélectriques possèdent cependant quelques inconvénients ma-jeurs liés à leur polarisation spontanée :

– Leur comportement est tout d’abord fortement dépendant de la température. Il existeen effet une températuretc, dite température de Curie, au-delà de laquelle le cristalperd cette propriété de polarisation spontanée, et donc l’essentiel de ses capacitéspiézo-électriques. Inversement, l’effet piézo-électrique s’accroît lorsque la tempé-rature diminue, pour atteindre une valeur de saturation.

– Les relations vues en (1.1) dépendent du passé des grandeurs, ce qui se traduit parexemple pour la relation entre le champ électriqueE et la densité de chargeD parla présence d’une hystérésis comme sur la fig.1.2page suivante.Quand le champ électrique augmente, la densité de chargeD croît aussi avec toute-fois un certain décalage, puis sature si le champ est suffisamment important (ce quiest le cas lors du processus de poling). LorsqueE revient à zéro, il reste une polari-sation résiduelle permanente pour un champ élevé, et seulement provisoire pour unchamp faible.

– Il existe une relation similaire entre le champ électriqueE et le champ des déforma-tions élastiquesS. De même qu’il subsiste une polarisation résiduelle, on observeaprès application d’une tension une déformation résiduelle. Signalons que la rela-tion entreE etSest encore plus complexe, et fait intervenir de nombreux couplages.Elle varie de plus fortement avec la valeur maximale du champ, pour conduire d’une

13

Page 14: Rapport Pfe

CHAPITRE 1. PRÉSENTATION ET MODÉLISATION DU PROBLÈME

FIG. 1.2 – Hystérésis caractéristique de la relation entre le champ électrique E et ladensité de charge D

FIG. 1.3 –Allure de l’hystérésis entre champ électrique E et déformation S

hystérésis simple, semblable à celle de la figure1.2, à une hystérésis en forme depapillon, analogue à la courbe1.3.

– Un chargement mécanique extérieur peut aussi modifier singulièrement les pro-priétés de ces matériaux et l’allure de l’hystérésis. La mise sous contrainte peutd’ailleurs provoquer la polarisation spontanée des cristaux. Il existe donc aussi unerelation d’hystérésis entre l’effort appliqué et la densité de charge D obtenue (ou ladéformation S). Cette hystérésis est toutefois de nature sensiblement différente dela précédente. En effet, seuls des dipôles particuliers sont susceptibles de pivoterlorsque le matériau est contraint. Le phénomène est donc moins important que dansle cas de la polarisation par application d’un champ électrique.

1.2 Modèle dynamique

On se propose ensuite de présenter les objectifs poursuivis et les moyens mis en œuvreà travers le banc MIMOSA pour l’amortissement actif utilisant des matériaux dits intelli-gents, en l’occurence ici un translateur piézo-électrique. On reprendra donc certains points

14

Page 15: Rapport Pfe

1.2. MODÈLE DYNAMIQUE

������������������������

?

m2

xp

((hhhh����hhhh����hh?

?

?

?

?((hhhh����hhhh����hh

m1

x1

−→gx1

x2

Fp→m1

ks

kc

piézo p

FIG. 1.4 –Principe du banc MIMOSA

issus de [1], quant au choix de l’architecture de l’asservissement notamment.

1.2.1 Principe

L’idée de base, développée dans [3] pour la conception d’une table vibrante, est detransformer le générateur de déplacement que constitue naturellement un translateur piézo-électrique standard, similaire à ceux présentés dans [15], en un générateur d’effort parl’adjonction d’une raideurks en série avec l’actionneur, d’après la relationδF = ksδx. Cegénérateur d’effort sera ensuite employé pour le contrôle actif des vibrations d’une chargeutile. Plus généralement, diverses applications dans le domaine de la micro-dynamiquepeuvent être envisagées, parmi lesquelles :

– l’isolation dynamique ;– la génération de vibrations ;– le contrôle d’impédance ou de conditions aux limites.

Dans le banc de validation développé auDCSD, on a choisi de valider en particulier ladernière de ces applications, à savoir le contrôle de l’impédance mécanique d’une chargeutile constituée de deux massesm1 et m2 reliées par un ressort de raideurkc, suite à uneexcitation extérieure appliquée surm2. Les mesures disponibles pour l’asservissementsont l’effort Fp→m appliqué par l’actionneur sur la massem1 et l’accélération ¨x1 de celle-ci. Le schéma de la présente page représente le principe du montage.

On peut envisager deux cas limites pour l’asservissement, entre lesquels sera suscep-tible de varier l’impédance de la charge :

– la régulation à 0 de l’accélération ¨x1 à l’interface entreks et la charge utile, ce quicorrespond au cas dit encastré. Seule la massem2 bouge, et la pulsation du mode

flexible associé est doncωe =√

kcm2

;

15

Page 16: Rapport Pfe

CHAPITRE 1. PRÉSENTATION ET MODÉLISATION DU PROBLÈME

– la régulation à 0 de l’effortFp→m appliqué par l’actionneur sur la charge utile. Enconfondant par abus de notation les variables de positionxi et les variations deposition autour de l’équilibre∆xi , ce qui permet d’avoir des variables nulles à laposition d’équilibre et de s’affranchir ainsi des effets de la pesanteur, les équationscaractérisant la charge utile sont alors :{

m1x1 =−kc(x1−x2)m2x2 =−kc(x2−x1)

dont on déduit :(x1− x2)+kc

(1

m1+ 1

m2

)(x1−x2) = 0. Ce cas correspond au cas dit

libre, et la pulsation du mode flexible est alorsωl =√

kc(m1+m2)m1m2

.

1.2.2 Modélisation de l’actionneur

Le modèle de base utilisé pour représenter l’actionneur est un transfert linéaire entrela tension appliquéeu et la variation de longueur du piézoδxp : δxp = Gu, où G est ungain caractéristique de l’actionneur dans un environnement donné. En prenant en comptela raideur intrinsèque du translateurk, supposée finie, on peut rajouter la variation delongueur due à l’effort appliquéF :

δxp = Gu− Fk

(1.2)

Si on place la raideurks entre le translateur et une charge utile, et en notant désormaispar souci de simplification les déplacements relatifs du piézoxp et de la charge utilex,l’effort appliqué sur cette dernière s’écrit alors :

F = ks(xp−x) (1.3a)

= ks(Gu− Fk−x) (1.3b)

soit

F =ks(Gu−x)

1+ ksk

(1.4)

On voit donc que si la raideur intrinsèque du piézok est suffisamment grande devant laraideur intermédiaireks, l’ensemble se comporte bien comme un générateur d’effort pur.

Si on considère dans un premier temps une charge utile constituée d’une seule massem, on peut chercher à écrire le transfert entre la commande du translateur et l’effort appli-qué par l’actionneur sur cette charge utile. En reprenant les notations précédentes, et ennotant de plusF→m la somme des efforts appliqués surm, le système d’équations décrivantce problème est donc :

xp = Gu−Fp→m

k(1.5)

Fp→m = ks(xp−xm) (1.6)

Fvis→m =− fvxm (1.7)

F→m = Fp→m+Fvis→m = mxm (1.8)

16

Page 17: Rapport Pfe

1.2. MODÈLE DYNAMIQUE

xp

xm

2

Effort mesuré

1

Accélération mesurée

1

s

1

s

QuantizerHysteresis1

G

1/kfv

ks

1/m

1

Commande u

FIG. 1.5 –Schéma-bloc du modèle piézo + charge utile

Notons que l’on a rajouté avec (1.7) l’expression d’un frottement visqueuxfv sur lacharge utile, dont la valeur sera évaluée plus précisément par la suite. Pour représenterl’hystérésis propre aux translateurs piézo-électriques, une fonction a été développée sousMATLAB puis incorporée dans un bloc SIMULINK . Le détail de cette fonction est donné enannexeB. En intégrant donc cette hystérésis dans le modèle, on peut résumer l’ensemblede ces caractéristiques sur le schéma-bloc1.5.

On peut ensuite exprimer le transfert entre l’effort et la commande en utilisant leformalisme de Laplace : avec les notations usuelles (x→ X), (1.7) et (1.8) donnent :

Xm =Fp→m

ms2 + fvs

que l’on soustrait à (1.5) pour avoir :

Xp−Xm = GU−Fp→m.ms2 + fvs+kk(ms2 + fvs)

En reportant dans (1.6), on obtient alors :

Fp→m = ksGU−ksFp→m.ms2 + fvs+kk(ms2 + fvs)

On en déduit, tous calculs faits, le transfert entre la commande U et l’effort mesuréFp→m

(notéF par la suite) :

H(s) =FU

(s) =mkskGs2 + fvkskGs

m(k+ks)s2 + fv(k+ks)s+ksk(1.9)

Si on suppose que la raideur intermédiaireks est négligeable devant celle de l’élémentpiézo-électriquek, on a alors :

H(s)≈ mksGs2 + fvksGsms2 + fvs+ks

(1.10)

17

Page 18: Rapport Pfe

CHAPITRE 1. PRÉSENTATION ET MODÉLISATION DU PROBLÈME

La dynamique du transfert entre commande et effort est donc analogue à un secondordre, avec un mode flexible à la pulsationω =

√ks/m. Au-delà de ce mode, si les frotte-

ments visqueux ne sont pas trop importants, on a alors proportionnalité entre commande eteffort (avec le gainksG). Pour avoir une commande en effort dans une bande de fréquencedonnée, on choisira donc la raideurks de sorte que le mode flexible soit à l’intérieur decette bande passante ; on prendra typiquement une fréquence de coupure de 10 Hz, ce qui

se traduit par :

√ks

m= 2π.10 soit, pourm= 100 kg :ks≈ 400000 N.m−1.

1.3 Loi de commande

Dans la bande de fréquence utile, on peut donc faire l’approximationH(s) ≈ ksG.Diverses possibilités sont alors envisagées pour l’élaboration de la loi de commande. Enchoisissant dans un premier temps une loi de commande basée sur un intégrateur pur de laformeki .C1, avecC1(s) = 1/s, on règlera le gainki de sorte que la fréquence de coupureen boucle fermée corresponde à la limite supérieure de l’asservissement. On aura alors :

FTBF(s) =ksG

1+ kiksGs

soit ωc = 2π fc = kiksG.

La documentation du constructeurPhysik Instrumentedu translateur envisagé ([15])donne typiquement une limite supérieure d’utilisationfc = 100 Hz environ pour le typed’actionneur piézo-électrique envisagé, on obtient donc un gain de correcteurki = 0.0011pourG normalisé à 1.

On pourra ensuite rajouter un filtre passe-haut du second ordre calé à 3 rad.s−1 pourfiltrer le biais éventuel. Du fait de la simplification avec l’intégrateur, le correcteur résul-tant sera de la forme :

C2(s) =s

s2 +3√

2s+9(1.11)

Enfin, un troisième correcteur, de type proportionnel intégral dans la plage utile afinde réduire l’amortissement introduit sur le mode flexible de la charge utile, pourra êtreutilisé :

C3(s) =s2/30+s

s2 +3√

2s+9(1.12)

Les diagrammes de gain de Bode de ces deux derniers correcteurs sont représentés surla figure1.6page ci-contre.

1.4 Choix de l’architecture de l’asservissement

Étant donné que l’on dispose de deux mesures, respectivement l’effort et l’accéléra-tion à l’interface actionneur/charge utile, on peut envisager deux alternatives pour réaliser

18

Page 19: Rapport Pfe

1.4. CHOIX DE L’ARCHITECTURE DE L’ASSERVISSEMENT

Bode Diagram

Frequency (rad/sec)

Pha

se (

deg)

Mag

nitu

de (

dB)

−80

−60

−40

−20

0

C2

C3

10−1

100

101

102

103

−90

−45

0

45

90

FIG. 1.6 –Gains de Bode des correcteurs C2 et C3

19

Page 20: Rapport Pfe

CHAPITRE 1. PRÉSENTATION ET MODÉLISATION DU PROBLÈME

l’asservissement voulu :

– la première solution consiste à reboucler d’abord l’effort (boucle dite interne), lamesure d’accélération ¨x1 étant utilisée pour générer la consigne de cette boucleinterneFc

p→m via une masse fictive, qui représente donc la masse de la charge utilevue par l’asservissement, suivant la loi :Fc

p→m = mf ict x1 (voir fig. 1.7) ;

2

Effort mesuré

1

Accélération mesurée

mfict

kinumc(s)

denc(s)

C(s)

u

accélération mesurée

Effort mesuré

Banc MIMOSA

1

u

FIG. 1.7 –Boucle interne en effort - boucle externe en accélération

– la deuxième solution consiste naturellement à prendre cette fois-ci la boucle d’ac-célération en tant que boucle interne, la boucle externe permettant d’émuler unemasse apparentema de la charge utile en injectant à partir de la mesure d’effort laconsigne ¨xc

1 =−(1/ma−1/m)Fp→m (voir fig. 1.8).

2

Effort mesuré

1

Accélération mesurée

1/ma−1/m

ki*(m1+m2)numc(s)

denc(s)

C(s)

u

accélération mesurée

Effort mesuré

Banc MIMOSA

1

u

FIG. 1.8 –Boucle interne en accélération - boucle externe en effort

Une comparaison détaillée de ces deux possibilités a été faite dans [1, Analyse desasservissements], utilisant des lieux des racines et des diagrammes de Black pour cha-cune des boucles. On ne présentera pas ici l’ensemble des courbes obtenues, étant donnéque les premières simulations ont été menées à partir de valeurs théoriques pour la plu-part des paramètres (donc différentes des valeurs effectivement employées dans le bancMIMOSA), on se contentera de rappeler les principaux résultats.

20

Page 21: Rapport Pfe

1.4. CHOIX DE L’ARCHITECTURE DE L’ASSERVISSEMENT

Comme on l’a vu en1.2.1, la plage de variation de la pulsation du mode flexible estdélimitée par les pulsations libre et encastrée de la charge utile, donc dépend en particu-lier du rapport des massesm1 et m2, d’où l’intérêt de dimensionner ce rapport. Il ressortnéanmoins des analyses que :

– dans le cas de la boucle interne en effort, la pulsation encastréeωe est la limiteinférieure de la plage de variation, mais on peut aller au-dessus de la pulsation libreen injectant une masse fictive négative ;

– dans le cas de la boucle interne en asservissement, la pulsation libreωl est la limitesupérieure de la plage de variation, mais on peut aller en-dessous de la pulsationencastrée en injectant un gain de retour(1/ma−1/m) négatif, i.e. une masse appa-rente supérieure à celle de la charge utile.

On a également pu constater sur les lieux des racines que l’amortissement du modeflexible, bien qu’il reste inférieur à 0.1, variait de façon beaucoup plus notable lorsque l’onagissait sur le gain de retour dans le cas de la boucle interne en accélération. L’analysethéorique des asservissements concluait donc sur le fait que le choix de la structure boucleinterne en effort/boucle externe en accélération était préférable dans la mesure où lesvariations d’impédance obtenues se ramenaient à des variations de fréquence uniquement,et étaient donc plus faciles à mettre en évidence par la suite de façon expérimentale (onsongeait éventuellement à les transformer en sons audibles).

21

Page 22: Rapport Pfe
Page 23: Rapport Pfe

Chapitre 2

Dispositif expérimental

Le montage réalisé auDCSDa pour but de valider expérimentalement les dévelop-pements théoriques présentés jusqu’ici, en particulier la capacité d’amortissement actifd’une charge utile au moyen d’un translateur piézo-électrique. On a donc cherché à ceque les différents paramètres intervenant dans le banc expérimental soient le plus prèspossible des valeurs définies a priori dans les simulations, pour ce qui est des masses etdes raideurs en particulier. Les capteurs et le translateur ont quant à eux été récupérés surd’autres expérimentations menées auDCSD.

2.1 Architecture mécanique

2.1.1 Contraintes globales

La principale contrainte de réalisation est due aux très faibles amplitudes de déplace-ments mises en jeu : on devra veiller par conséquent d’une part à ce que les déplacementsgénérés par le piézo ne soient pas absorbés par le châssis, ce qui impose que la raideurde celui-ci soit très grande devantks et kc, et d’autre part que le système complet soitparfaitement découplé du sol et des vibrations parasites associées.

On a choisi de tester les performances du système en régulation, à partir d’une condi-tion initiale non nulle. Pour ce faire, on a rajouté sous la massem2 un électro-aimantsusceptible de lâcher àt = 0 une masse additionnelle d’1 kg environ, ce qui est équivalentà un échelon de position sur les abscisses initiales des deux massesm1 et m2. Par contre,des essais préliminaires ont montré que les vibrations engendrées par la chute de la masseadditionnelle sur le sol étaient susceptibles de «remonter» par les pieds du dispositif etpar la suite de perturber les mesures. On s’est donc efforcé de réduire le mieux possibleces vibrations, en plaçant sous la masse un support suffisamment souple pour amortirconvenablement sa chute.

23

Page 24: Rapport Pfe

CHAPITRE 2. DISPOSITIF EXPÉRIMENTAL

2.1.2 Contraintes liées à l’actionneur

Parmi les résultats obtenus dans [6] et [7] relatifs à l’utilisation d’actionneurs piézo-électriques en tant que générateurs d’efforts, on retiendra les contraintes suivantes pourl’actionneur qui nous intéresse en particulier (PI P-910.587) :

– la résistance mécanique maximale tolérée par l’actionneur piézo est de±600 N ;– l’étendue des déplacements commandables, indépendante de la charge, est de±50µm;– l’actionneur est très sensible aux contraintes dues à des mouvements de flexion ou

de torsion.

Pour ce qui est de l’effort maximal applicable, il faut savoir qu’un translateur piézo-électrique standard supporte par nature des efforts en compression beaucoup plus im-portants qu’en traction. Si on veut un actionneur qui travaille de façon aussi efficace entraction qu’en compression, il convient alors de s’assurer que le modèle choisi est déjàprécontraint en compression. En outre, on s’assurera que les charges statiques et dyna-miques appliquées au translateur n’excèdent pas la limite ci-dessus, de même que lesdéplacements induits par l’asservissement (sachant∆xmax= ∆Fmax/ks).

La nécessité d’éviter les efforts de torsion ou de cisaillement a quant à elle conduit àproposer une architecture pendulaire du démonstrateur : le translateur est enchâssé dans unétrier vertical via une liaison à cardans, qui empêche la transmission d’efforts transverses.De plus, un blocage mécanique des mouvements de l’étrier autour de l’axe vertical permetde s’affranchir des torsions éventuellement appliquées au piézo.

Enfin un avantage supplémentaire de ce dispositif pendulaire est la mise en compres-sion permanente de l’ensemble du dispositif, ce qui diminue notablement l’hystérésis dutranslateur (cf. [7]) et réduit également les jeux entre les parties mobiles (vis, goupilles,etc.)

2.2 Dimensionnement du banc

On présente ici les caractéristiques précises des différents éléments constituant le bancMIMOSA, car on rappelle que les valeurs données dans [1] sont purement théoriques, etne correspondent pas exactement aux valeurs réellement employées dans le montage.

2.2.1 Caractéristiques mécaniques

Les massesm1 etm2 se composent respectivement d’un disque en alliage d’aluminiumde 2,5 kg et de deux disques d’acier de 25 kg, auxquels il faut rajouter pour chaque masseun support de 2,5 kg en acier. La question de la masse des ressorts et autres élémentsintermédiaires sera abordée par la suite.

Les ressorts ont été choisis de sorte que leurs raideurs soient très proches des va-leurs préconisées dans le rapport MIMOSA. Ces raideurs ont été toutefois remesurées defaçon précise auDCSD, étant donnée la tolérance par rapport aux valeurs constructeur.On obtient alors respectivement :ks = 4,42.105 N.m−1 (contre 4.105 N.m−1 dans [1]) et

24

Page 25: Rapport Pfe

2.2. DIMENSIONNEMENT DU BANC

FIG. 2.1 –Plan du banc expérimental MIMOSA

kc = 5,10.105 N.m−1 (contre 5.105 N.m−1). On veillera par la suite à prendre en compteces modifications afin de réajuster les simulations précédemment effectuées, et de voirdans quelle mesure les résultats obtenus sont toujours valables. Le plan général du bancest représenté sur la figure2.1.

2.2.2 Caractéristiques des capteurs

On présente ci-après les caractéristiques des capteurs d’effort et d’accélération em-ployés dans le dispositif.

Ces deux capteurs sont alimentés en±15 V, et la normalisation et l’échantillonnagedes signaux sont réalisés à bord de l’interface et du calculateur temps réel. Il conviendratoutefois de s’assurer que les dynamiques de ces capteurs sont adéquates par la suite -en cherchant par exemple s’il n’est pas préférable de filtrer la composante continue del’accélération~g en amont du calculateur - et de regarder si le bruit de mesure quantifié parle convertisseurA/N n’affecte pas les performances du système.

25

Page 26: Rapport Pfe

CHAPITRE 2. DISPOSITIF EXPÉRIMENTAL

Modèle du capteur Entran ELM-TC16A*-750Gamme de mesure ±750 N

Erreur linéarité/hystéresis ±0,5% EMSensibilité 5,122 V/EM

TAB . 2.1 –Caractéristiques du capteur d’effort utilisé

Modèle du capteur Entran EGCS A4Gamme de mesure ±2 g

Erreur linéarité/hystéresis ±1% EMSensibilité transverse 2%

TAB . 2.2 –Caractéristiques de l’accéléromètre utilisé

2.2.3 Caractéristiques de l’actionneur

On donne les caractéristiques du translateur piézo-électrique employé dans le disposi-tif (données constructeur) dans le tableau2.3.

Modèle du translateur PI P-910.587 48062Gamme de déplacement ±50µmTension de commande 0-1000 VHystérésis sous charge 27%

TAB . 2.3 –Caractéristiques du translateur piézo utilisé

Ce translateur est alimenté par l’amplificateur haute tensionPI 270, du même construc-teur, que l’on a réglé de telle sorte qu’il délivre un courant de sortie compris entre−750et+250 V pour une entrée variant entre−2.5 et+7.5 V. Étant donné qu’un dépassementdes tensions limites applicables au piézo pourrait compromettre son bon fonctionnement,on veillera à introduire via le logiciel temps réel de contrôle les saturations adéquates surla commande calculée par le correcteur.

2.3 Architecture informatique

Par définition, l’acquisition des mesures et le calcul de la loi de commande doivents’effectuer en temps réel, de sorte que l’asservissement puisse réagir instantanément auxcontraintes extérieures. Le but n’étant pas ici d’élaborer la structure de la chaîne de trai-tement des données, on rappellera simplement les différents éléments mis en jeu dans ledispositif déjà implémenté auDCSD.

26

Page 27: Rapport Pfe

2.3. ARCHITECTURE INFORMATIQUE

2.3.1 Architecture matérielle

Le dispositif de traitement se compose principalement d’un PC utilisé comme calcu-lateur de commande et d’interface utilisateur, et d’une cible temps réel, le tout étant coor-donné par le système dSpace, destiné justement à l’expérimentation de lois de commandesur des systèmes physiques réels. Intégrée à l’environnement MATLAB , cette plate-formepermet de réaliser de façon simple une interface complète et adaptée, en utilisant d’unepart SIMULINK pour une représentation sous forme de schéma-bloc des liaisons entre lesdifférents composants de la chaîne temps réel, et d’autre part un ensemble d’instrumentsvirtuels pour le contrôle de l’application et la visualisation des résultats.

La cible temps réel est constituée d’une carte DS1103 basée sur un DSP TMS320F-240, associée au panneau de connexions CLP1103, qui facilite le montage avec les autreséléments de la chaîne temps réel via des prises BNC, ce qui peut s’avérer utile pour laconnexion également d’instruments de visualisation du signal tel un oscilloscope. En cequi concerne les logiciels de liaison calculateur de commande - cible, on trouve, outreMATLAB /SIMULINK :

– Real Time Workshop : générateur de code C à partir d’un fichier SIMULINK ;– Real Time Implantation : compilateur - linkeur associé à la cible ;– ControlDesk : I.H.M. de contrôle d’exécution de programme sur la cible.

D’autre part, l’interfaçage entre les éléments se fait sous SIMULINK , ce qui permet unevision rapide des différentes entrées/sorties mises en œuvre. Le schéma de base est repré-senté sur la figure2.2.

BiaisAccel

TEnr0

Start/Stop

MimoLette

S−Function

ADC

Mesure Effort

ADC

Mesure CmdePiezo

ADC

Mesure Accel

0.

MassVirt

EffortR

Demux

Demux

DAC

Commande Piezo

DAC

Commande Lacher

ComEffPiezo

0

BiaisEffort

0

BiaisAccel

AccelR

TopEnr

BiaisFor

FIG. 2.2 –SchémaSIMULINK de la chaîne de traitement temps réel

2.3.2 Architecture logicielle

L’élaboration de la loi de commande à partir des mesures fournies par les capteurs estréalisée par une S-fonction, qui est une fonction - écrite en langage C dans notre cas - per-

27

Page 28: Rapport Pfe

CHAPITRE 2. DISPOSITIF EXPÉRIMENTAL

mettant d’exécuter des instructions spécifiques au sein de l’environnement dSpace. CetteS-fonction, une fois codée, est susceptible d’être incorporée dans un bloc SIMULINK , etcâblée ensuite comme un bloc ordinaire. Une S-fonction se compose de trois modules :

– un module d’initialisation des variables et des entrées/sorties ;– un module de calcul (fonction principale) ;– un module de fermeture de l’application.

Le module de calcul est destiné à être appelé à chaque occurence de la S-fonction, avecune fréquence définie par l’utilisateur lors du codage. Évidemment, le contenu de la S-fonction devra être modifié et recompilé dès que l’on change une caractéristique de l’ex-périence, comme on a pu le faire pour par exemple rajouter une consigne en entrée oumodifier la loi de commande.

On donne en annexe une des versions de la S-fonction codée pour MIMOSA (Mimo-Lette). Étant donné que les calculs ne sont pas réalisés en continu, on rentrera naturelle-ment le correcteur sous forme discrète, et la commande sera calculée à partir de l’équationrécurrente d’entrée-sortie discrète. Ainsi, pour un correcteur discret du second ordre de laforme :

C(z) =uε(z) =

a+bz−1 +cz−2

1+dz−1 +ez−2 (2.1)

la commande à l’instant courantn s’obtient par :

un = aεn +bεn−1 +cεn−2−dun−1−eun−2 (2.2)

Il convient donc de créer pour l’entrée et la sortie d’un correcteur ou d’un filtre plusgénéralement des vecteurs de la formeu = (un,un−1,un−2) (une composante de plus quel’ordre du filtre), dont on décalera les éléments à chaque pas de calcul :

u[2]← u[1];u[1]← u[0];

2.3.3 Algorithme d’acquisition - traitement

Comme on l’a vu auparavant, l’ensemble des tâches gérant successivement l’initiali-sation des entrées/sorties, l’acquisition des mesures et le calcul de la commande est im-plémenté dans une seule S-fonction, codée en C et implantée dans un schéma SIMULINK .L’ensemble du code est présenté en annexeD, on peut cependant en voir ici les grandeslignes.

La première étape consiste naturellement à définir l’ensemble des variables utiliséesdans le code, qu’il s’agisse de paramètres comme le nombre d’acquisitions nécessairesau calcul du biaisNbAcquiMax, ou de variables dans lesquelles on stocke à chaque pasd’exécution les mesures issues du convertisseur A/N (delta d’effortVar_ForceInter,d’accélérationVar_AccelM1,. . . ).

Toujours durant la phase de déclaration des variables apparaissent des marqueurs(flags) tels Log_Start, Log_BiaisOK, etc. qui seront utilisés pour contrôler l’exécu-tion des différentes boucles de l’algorithme. Ils interviennent typiquement à l’intérieur de

28

Page 29: Rapport Pfe

2.3. ARCHITECTURE INFORMATIQUE

boucles qui ne devront être exécutées qu’une seule fois par séance d’acquisition/commande,et non à chaque pas d’exécution, comme par exemple l’initialisation des biais (Log_BiaisOK)ou le lâcher effectif de la masse (Log_LacherOK). De telles variables sont initialisées à 0au début de l’algorithme, ce qui autorise l’entrée dans la boucle considérée, puis elles sontmises à 1 à l’intérieur de cette boucle, et ce pour le restant de l’exécution du programme,de sorte que la boucle n’aura été parcourue qu’une fois.

Enfin, on déclare les correcteurs ou filtres, en donnant la liste des coefficients du nu-mérateur et les coefficients des termes enz−i ; i ∈ N∗ du dénominateur comme on a pule voir en (2.1) et (2.2). On a choisi de déclarer les trois correcteurs différents utiliséspour l’asservissement, en mettant simplement en commentaire les deux qui ne seront pasutilisés.

Interviennent ensuite les différentes fonctions utilisées systématiquement dans uneS-fonction : en premier lieu l’initialisation des entrées et sortiesmdlInitializeSizes,puis l’initialisation du pas d’intégrationmdlInitializeSampleTimes, celle des vecteursd’état mdlStart, et enfin la fonction d’acquisition des mesures et de calcul des sortiesmdlOutputs. Durant cette dernière, on va successivement acquérir les biais, lâcher lamasse et enfin calculer la commande en fonction de l’écart pour chaque pas de simulation.Enfin, une fonctionmdlTerminate effectue toutes les opérations nécessaires à l’arrêt dela simulation (vidage de la mémoire, etc.).

29

Page 30: Rapport Pfe
Page 31: Rapport Pfe

Chapitre 3

Implémentation avec charge rigide

Dès lors que l’ensemble du banc expérimental a été dimensionné et réalisé, on sou-haite valider son fonctionnement en procédant étape par étape, étant donnés d’une part lacomplexité de l’ensemble actionneur-charge utile-interface temps réel, et d’autre part legrand nombre d’incertitudes sur les valeurs des différents paramètres, voire sur le modèlelui-même. On choisit donc de tester dans un premier temps la boucle interne en effort, et ceavec une charge utile rigide, i.e. composée d’une seule massem1 d’une valeur de 45.65 kg(qui est en fait la masse faisant office de masse terminalem2 sur la charge utile flexible).On a pris une valeur dem1 suffisamment élevée pour éviter que les spires du ressortks

ne se touchent. Dans un premier temps, on va donc élaborer un modèle de ce systèmeà partir d’essais, afin d’identifier les causes des problèmes éventuels, ensuite on pourras’intéresser à la commande proprement dite du système, et étudier les performances del’asservissement en boucle fermée.

3.1 Modélisation du système

Afin de pouvoir comparer les essais expérimentaux avec les résultats issus des simu-lations, il est nécessaire de bâtir un modèle SIMULINK le plus représentatif possible dudispositif réel. Pour cela, on part des schémas du modèle du piézo (fig.1.5) et de l’asser-vissement choisi (fig.1.7), dont on a gardé la boucle interne en effort seulement, que l’oncomplète en prenant en compte également les spécifications choisies dans la S-fonctionde commande du banc réalisée en parallèle (cf. annexeD).

3.1.1 Gains de commande

Dans toutes les applications précédentes faisant intervenir une modélisation de l’ac-tionneur piézo-électrique, on choisissait de normaliser le gain entre la commande appli-quée et le déplacement du translateur supposé non contraint à 1 m.V−1, en sachant qu’ilsuffirait de rajouter l’inverse du gain réel en amont de l’application de la commande pourretrouver ce cas idéal. En présence du dispositif réel, il faut donc répertorier l’ensemble

31

Page 32: Rapport Pfe

CHAPITRE 3. IMPLÉMENTATION AVEC CHARGE RIGIDE

2

dép. piézo

1

Commande

Gc

GainIntCmde

Gp

Gain piézo

10

CNA

100

Alim piézo

1

u

FIG. 3.1 –Chaîne des gains internes sur le banc MIMOSA

des gains inhérents au montage (i.e. qu’on ne pourra pas modifier) pour en déduire le gainde "dénormalisation" à appliquer sur la commande.

On a vu en2.2.3que l’amplificateur utilisé pour alimenter le piézo générait une ten-sion de sortie comprise entre entre−750 et+250 V pour une entrée variant entre−2.5 et+7.5 V, soit un gain de 100 (la question du signe sera abordée par la suite). D’autre part, leconvertisseur numérique/analogique possède un gain interne de 10, le gain de commandeGainIntCmde implémenté dans la S-fonction devra donc être égal à 1/(103Gp), en no-tant Gp le gain effectif piézo. Le gain global entre la commande issue du correcteur estreprésenté sur le schéma3.1.

On voit sur ce schéma la sortieCommande, qui correspond à une sortie disponible de-puis la S-fonction MimoLette, immédiatement après l’application du gainGainIntCmde.

3.1.2 Actionneur + charge rigide

Il convient également de modifier légèrement le schéma-bloc p.17, afin de prendreen compte d’une part le bruit sur le capteur d’effort, que l’on choisit de modéliser parun bruit blanc dont on recalera les paramètres par des essais, et d’autre part les perturba-tions que l’on pourra introduire pour tester par exemple la loi de commande en régulation.Ces perturbations pourront être tout simplement des vibrations appliquées à proximité dumontage, perturbations que l’on modélisera sous forme d’impulsions de position appli-quées au niveau de la masse suspendue. Après intégration du bloc regroupant la chaîne degains, on obtient le schéma3.2page suivante.

3.1.3 Loi de commande

On rappelle que l’on se place dans le cas de la boucle interne en effort seulement.On rajoute des saturations sur la commande calculée par la S-fonction, de sorte de ne pasdépasser la plage de[−2.5 V;+7.5 V] en entrée de l’amplificateur piézo, sous peine d’ap-pliquer une tension susceptible de détériorer l’actionneur. Pour tester les performancesdu système en boucle ouverte tout en conservant une structure identique du code tempsréel, on introduit une consigne, sous forme par exemple d’une sinusoïde, applicable à laplace de la commande issue du correcteur (via leManual Switch sur le schéma3.3 pageci-contre).

32

Page 33: Rapport Pfe

3.1. MODÉLISATION DU SYSTÈME

xp

x1

3

commande

2

Effort mesuré

1

accélération mesurée

1

s

1

s

Quantizer

PulseGenerator Perturbations

Hysteresis1

Ground

1/k fv1

ks

1/m1

Equivalent bruit filtré

uCommande

dép. piézo

Chaine gains

1

u

FIG. 3.2 –Modélisation translateur-charge utile

3

commande

2

Effort mesuré

1

accélération mesurée

effort

cmdetime

Sum

Sine Wave

Scope1

Scope

SaturationManual Switch

u

accélération mesurée

Effort mesuré

commande

MIMOSA

ki0

Constant

Clock

numc(s)

denc(s)

C(s)

FIG. 3.3 –Boucle interne en effort sur le banc MIMOSA

33

Page 34: Rapport Pfe

CHAPITRE 3. IMPLÉMENTATION AVEC CHARGE RIGIDE

3.2 Identification des principaux paramètres

Les simulations menées jusqu’ici ont été réalisées avec des valeurs toutes théoriquesdes principaux paramètres, ce qui a permis de faire une première validation du dispositifainsi qu’un dimensionnement du banc expérimental. Une fois ce dernier monté, il estnécessaire de réévaluer les valeurs exactes des grandeurs caractéristiques du dispositif, etde réinjecter celles-ci dans le modèle théorique, afin de voir si on ne s’écarte pas trop desspécifications d’origine ou bien si le fonctionnement prévu n’est pas dégradé.

3.2.1 Gain du translateur

On peut chercher dans un premier temps la valeur exacte du gain réel de l’actionneur,i.e. de l’allongement en fonction de la tension appliquée pour un chargement donné. Letranslateur piézo dispose certes d’un capteur de position interne, mais celui-ci a été conçupour un asservissement en position des déplacements, et on ne connaît pas la valeur exactedu gain de ce capteur. On peut alors se reporter à [6, 7], dans lesquels on présente respec-tivement le banc de mesure utilisé pour caractériser les performances du translateur, ainsique les résultats obtenus. Plusieurs essais ont en effet été menés en vue d’obtenir une re-présentation détaillée du comportement de l’actionneur, et ce dans diverses situations. Onpeut notamment en déduire le gain réel du piézo à partir de courbes représentant l’hystéré-sis déplacement / tension aux bornes pour différentes charges (tractions ou compressions)appliquées : 600, 300, 0,−300 et−600 N (en notant avec le signe− les charges corres-pondant à une compression). En prenant le cas de charge le plus proche de la mise ensituation de l’actionneur au sein du banc MIMOSA, soit ici−600 N, le gain s’obtient enprenant la pente de la partie linéaire de la courbe d’hystérésis (les deux branches paral-lèles étant dans ce cas sensiblement équivalentes). On obtient finalement un gain piézoréel égal à :Gp = ∆x

∆V ≈ 1,09.10−7 m.V−1.

3.2.2 Essais boucle ouverte

Partant de ces valeurs, on pouvait déjà tenter de comparer des essais en boucle ouvertesur le banc MIMOSA et les résultats issus des mêmes commandes appliquées au modèleSIMULINK . Une première différence apparaît si l’on compare simplement les pulsationsdu seul mode de vibration (on rappelle que l’on se place toujours dans le cas d’une seulecharge rigide) : en appliquant un effort momentané à la masse, on mesure une pulsationd’oscillation d’environ 88 rad.s−1, tandis que la pulsation théorique vautωt =

√ks/m1 =

105 rad.s−1. Cette différence peut s’expliquer par une incertitude sur le comportement duressort ; il a été étalonné avec précision pour pouvoir bénéficier d’une valeur plus fiableque la donnée constructeur, mais il se peut par exemple que sa raideur et / ou sa linéaritédépendent de l’environnement mécanique et des contraintes appliquées. On aurait alorsune légère différence entre la raideur dans les conditions de la mesure et la raideur de cemême ressort une fois monté dans le banc MIMOSA.

On peut ensuite essayer d’exciter le système actionneur + charge utile en boucle ou-verte, en générant pour cela une sinusoïde en tant que consigne externe, que l’on rajoute

34

Page 35: Rapport Pfe

3.2. IDENTIFICATION DES PRINCIPAUX PARAMÈTRES

au multiplexeur d’entrée du schéma SIMULINK /dSpace (fig.2.2). Pour un signal d’ampli-tude 10−6 et de pulsationω = 80 rad.s−1, on obtient le signal d’effort appliqué représentéfig. 3.4.

0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5−20

−15

−10

−5

0

5

10

15

20

t (s)

Effo

rt m

esur

é (N

)

Essai MIMOSA boucle ouverte − amplitude=10−6, pulsation=80 rad.s−1

FIG. 3.4 –Excitation boucle ouverte sur banc MIMOSA

Une entrée similaire appliquée au modèle SIMULINK , via le Manual Switch sur leschéma3.3 page33), fournit en sortie l’effort représenté fig.3.5. On précise que, étantdonné que les pulsations de résonance ne sont pas rigoureusement identiques entre lemodèle adopté et le banc expérimental, on a choisi d’exciter à une pulsationωe telleque le rapport à la pulsation de résonance soit le même que dans le cas précédent, soit :ωe

105=

8088⇒ ωe≈ 95 rad.s−1

En comparant les deux réponses, on constate que dans le cas de MIMOSA les os-cillations forcées sont modulées par un signal de plus faible pulsation, tandis que sur lemodèle le transitoire est plus amorti. On peut penser dans un premier temps que cette al-lure est due à un zéro parasite dans la dynamique de l’actionneur. Pour tenter de modéliserce phénomène, on rappelle la forme de la fonction de transfert complète de l’actionneur,

35

Page 36: Rapport Pfe

CHAPITRE 3. IMPLÉMENTATION AVEC CHARGE RIGIDE

0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5−40

−30

−20

−10

0

10

20

30

40

t (s)

Effo

rt m

esur

é (N

)

Essai SIMULINK boucle ouverte − fv1 = 125 kg.s−1

FIG. 3.5 –Excitation bo sur modèleSIMULINK

obtenue p.17:

H(s) =FU

(s) =m1kskGs2 + fvkskGs

m1(k+ks)s2 + fv(k+ks)s+ksk

En négligeant les frottements dans un premier temps et en faisant apparaître un zéro«parasite»ε, on obtient le transfert suivant :

H ′(s) =m1kskGs2 + ε

m1(k+ks)s2 +ksk(3.1)

soit, en faisant apparaître l’effort et la commande :

F

(1

m1+

s2

ks+

s2

k

)= Gs2U +

εm1ksk

U (3.2)

On tire de (1.6) et (1.8) sans les frottements :

Fm1

+Fks

= xp (3.3)

36

Page 37: Rapport Pfe

3.2. IDENTIFICATION DES PRINCIPAUX PARAMÈTRES

que l’on reporte dans (3.2) pour obtenir :

s2xp = Gs2U +ε

m1kskU− s2F

k

soit encore

xp = GU +ε

m1ksk1s2U− F

k(3.4)

On voit donc que l’on peut faire intervenir un zéroε via une transmission directe entrela commande et la position relative (l’allongement en fait) du piézo, comme représentésur le schéma-bloc3.6.

xp

xm

2

Effort mesuré

1

Accélération mesurée

eps/(m1.ks.k)

1

s

1

s

Quantizer

Hysteresis1

1/k fv1

ks

1/m1

u dép. piézo

Chaine gains

1

s 2

1

Commande u

FIG. 3.6 –Ajout d’une transmission entre U et xp pour simuler un zéro négligé

Le fait de faire varierε ne modifie pas par contre l’allure de la courbe, et on ne retrouvepas le battement observé sur le banc réel. On peut alors revenir sur la valeur du frottementvisqueuxfv1 introduit sur les déplacements de la charge. Cette valeur a été reprise de [4],où l’on donnait fv1 = 125, valeur estimée a priori et induisant sur le transfert d’un sys-tème piézo-raideur-charge analogue un amortissement de 1%. Or, les caractéristiques deMIMOSA n’étant pas identiques, on peut essayer de modifier cette valeur (un frottementvisqueux étant difficile à évaluer de façon précise) pour se rapprocher des résultats expé-rimentaux. Pour une valeur defv1 = 40 kg.s−1, on obtient finalement le tracé3.7 pagesuivante, plus proche des résultats obtenus sur le banc. Il semble donc que la valeur del’amortissement joue en grande partie dans l’allure des réponses en boucle ouverte.

On peut de la même façon se poser la question du signe à introduire sur les bouclesde retour en effort et en accélération. Si on considère un asservissement classique avecun feedback négatif, il faudra que la commande et la grandeur de sortie varient dans lemême sens. Pour la mesure d’effort, une commande calculée> 0 entraîne une commandeappliquée au piézo< 0, du fait du réglage en inversion de l’amplificateur alimentant letranslateur (cf. p.26), d’où par hypothèse un allongement de ce dernier. Étant donnéel’architecture mécanique pendulaire du montage, l’effet initial de cet allongement est de

37

Page 38: Rapport Pfe

CHAPITRE 3. IMPLÉMENTATION AVEC CHARGE RIGIDE

0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5−50

−40

−30

−20

−10

0

10

20

30

40

50

t (s)

Effo

rt m

esur

é (N

)

Essai SIMULINK boucle ouverte − fv1 = 40 kg.s−1

FIG. 3.7 –Excitation bo sur modèleSIMULINK - fv1 = 40kg.s−1

tirer sur la charge utile via le capteur, et on peut vérifier qu’une traction du capteur misen jeu ici entraîne un effort mesuré> 0. Le signe de la boucle de retour d’effort est donccorrect1.

Enfin, on peut évaluer la linéarité globale du système en boucle ouverte, en regardantpar exemple si le gain de Bode varie ou non avec l’amplitude. On a pour cela effectué unbalayage en fréquence sur la plage disponible de 0 à 100 Hz (correspondant aux limitesde l’actionneur piézo-électrique), et ce pour deux amplitudes de la commande boucleouverte : 5.10−6 et 10.10−6. Le gain du transfert effort/commande dans chaque cas estreprésenté sur la fig.3.8page suivante.

On constate donc que les allures sont relativement semblables, voire quasi-identiquesau niveau du pic de surtension et au-delà. Ceci ne garantit certes pas que les non-linéaritésn’interviendront pas par la suite dans d’autres situations, mais nous conforte dans l’hy-pothèse d’un actionneur a priori linéaire. Si on trace le gain de Bode obtenu à partir dumodèle SIMULINK sur la même plage de fréquences, on obtient le tracé fig.3.9. Il apparait

1. Bien qu’il n’intervienne pas ici, on peut raisonner de la même façon pour le retour en accélération :une commande calculée> 0 a pour effet initial de tirer la charge utile vers le haut, ce qui correspond bien àune accélération mesurée> 0.

38

Page 39: Rapport Pfe

3.3. COMMANDE EN BOUCLE FERMÉE

100

101

102

80

85

90

95

100

105

110

115

120

125

130

f (Hz)

Gai

n (d

B)

ampl. 5E−6ampl. 10E−6

FIG. 3.8 –Gains de Bode en boucle ouverte pour 2 amplitudes différentes (MIMOSA)

que les allures des tracés entre le modèle et l’expérience sont relativement proches, avec

notamment la présence du pic de surtension dû au seul mode flexible en√

ksm1

(bien quel’on ait vu auparavant que la pulsation de ce mode n’était pas exactement la même dansles deux cas).

3.3 Commande en boucle fermée

Dès lors que le système a été modélisé le plus précisément possible, on peut testerla boucle de retour en effort sur cette configuration simplifiée, en asservissement sur uneconsigne sinusoïdale ou en régulation (consigne nulle). Au niveau du banc MIMOSA, on adonc modifié la première version de la S-fonction MimoLette, en rajoutant une dimensionau port d’entrée*PtrInputOne, et le bloc SIMULINK correspondant recevra l’entrée àappliquer (cf. fig.3.10page suivante).

On modifie ensuite le corps de la S-fonction au niveau du calcul de la commande :on ne s’intéresse désormais plus qu’à l’asservissement en effort. On trouvera donc à ceniveau le code suivant :

/* Calcul des variations de l’effort autour du biais */

Ana_MesuForce = *PtrInputOne[0]*GainAdaptEff;Var_ForceInter = Ana_MesuForce - Ana_BiaisForce;

39

Page 40: Rapport Pfe

CHAPITRE 3. IMPLÉMENTATION AVEC CHARGE RIGIDE

100

101

102

70

80

90

100

110

120

130

140

150

f (Hz)

Gai

n (d

B)

FIG. 3.9 –Gain de Bode en boucle ouverte du modèleSIMULINK

BiaisAccel

TEnr0

Start/Stop

Sine Wave

MimoLette3

S−Function

ADC

Mesure Effort

ADC

Mesure CmdePiezo

ADC

Mesure Accel

0.

MassVirt

Manual Switch

EffortR

Ecart

Demux

Demux

Consigne

DAC1

Commande Piezo

DAC

Commande Lacher

ComEffPiezo

0

BiaisEffort

0

BiaisAccel

AccelR

0

TopEnr

BiaisFor

FIG. 3.10 –Ajout d’une entrée externe sur l’interface

40

Page 41: Rapport Pfe

3.3. COMMANDE EN BOUCLE FERMÉE

ConsForce = *PtrInputOne[5]; /* On prend la consigne */

Ecart[0] = -Var_ForceInter + ConsForce; /* On en déduit l’écart */

/* Calcul de la commande - Avec correcteur complet : */CmdePiezo[0] = KCorEcart[0]*Ecart[0] + KCorEcart[1]*Ecart[1] + KCorEcart[2]*Ecart[2] + KCorSorti[0]*CmdePiezo[1] + KCorSorti[1]*CmdePiezo[2];

/* Avec correcteur intermédiaire : *//*CmdePiezo[0] = KCorEcart[0]*Ecart[1] + KCorEcart[1]*Ecart[2] + KCorSorti[0]*CmdePiezo[1] + KCorSorti[1]*CmdePiezo[2];*/

/* Avec intégrateur : *//*CmdePiezo[0] = KCorEcart[0]*Ecart[1] + KCorSorti[0]*CmdePiezo[1];*/

On voit que l’on a implanté les différents correcteurs calculés en1.3, sous leur formediscrétisée cette fois-ci.

Les premiers essais boucle fermée avec une consigne sinusoïdale montrent une com-mande sortant du correcteur ayant une amplitude très faible (quelques dixièmes de voltsà l’entrée de l’amplificateur piézo (dont on rappelle que la plage de variation en entréeest de[−2.5 V;+7.5 V]). Cette commande ne suffit pas à assurer l’asservissement vis-à-vis de la consigne, l’effort généré sur la masse via le ressort étant beaucoup trop faible(quasiment de l’ordre du bruit de la chaîne de mesure).

3.3.1 Test des correcteurs

On a alors cherché à appliquer une commande boucle ouverte similaire à celle calculéeen boucle fermée, pour voir si l’erreur provient du calcul de la commande en lui-même,ou bien s’il faut chercher plus en amont du dispositif. On constate que l’effort résultantde cette commande boucle ouverte est du même ordre que dans le cas précédent (com-mande issue du correcteur), le problème vient donc du correcteur. L’étape suivante a doncconsisté à faire de nouveaux essais en boucle ouverte, mais en faisant cette fois-ci pas-ser la consigne sinusoïdale à travers le même filtre que celui employé pour le calcul dela commande, afin de diagnostiquer d’éventuelles erreurs au niveau logiciel. On regardeensuite l’amplitude de la consigne filtrée via l’interface dSpace, et ce pour plusieurs fré-quences, afin de tracer l’allure du diagramme de Bode du correcteur. On constate alorsque les correcteurs implantés ont une fréquence de coupure beaucoup plus basse que lesmêmes correcteurs discrétisés sous MATLAB . Ce problème provenait en fait d’une erreurde syntaxe au niveau de la S-fonction lors de la déclaration des coefficients des correc-teurs, erreur ayant conduit à l’implantation involontaire de correcteurs différents de ceux

41

Page 42: Rapport Pfe

CHAPITRE 3. IMPLÉMENTATION AVEC CHARGE RIGIDE

désirés (d’où une amplitude de commande plus faible que prévu). Après rectification, onobtient bien une réponse fréquentielle convenable des trois correcteurs.

Les essais suivants montrent une commande instable sur le banc MIMOSA, et cequel que soit le correcteur employé. Pour un rebouclage en asservissement ou en régu-lation, la commande oscille très rapidement entre les deux valeurs de saturation, ce quiamène l’ensemble du dispositif à vibrer de façon importante. Les analyses MATLAB cor-respondantes montrent par contre des marges de stabilité tout à fait acceptables, comme

on peut le voir sur les lieux des racines et de Black pour les différents correcteursC1 =1s,

C2 =s

s2 +3√

2+9etC3 =

s2/30+s

s2 +3√

2+9, représentés pp.43à45. Ces tracés peuvent dif-

férer de ceux obtenus en [1], étant donné que l’on a pris les vraies valeurs des paramètresintervenant dans le montage expérimental, et non des valeurs théoriques choisies a priori.

Ces tracés ont été obtenus en mettant en série l’un des correcteurs, le gainki = 2π fcksG

calculé en1.3 et le système MIMOSA dans la chaîne directe. On a marqué la positionsur le lieu des pôles correspondant au gain de retour unitaire choisi pour cette boucle(la masse fictivemf ict n’intervenant que dans le rebouclage externe en accélération quisera implanté par-dessus). On voit donc sur ces figures que les marges de stabilité sontconfortables, et que le choix seul du correcteur n’explique pas les instabilités observées.

3.3.2 Filtrage des mesures

Lorsque le système est au repos, c’est-à-dire en l’absence de commande et si l’ons’efforce de réduire autant que faire se peut les sollicitations externes et autres vibrationsparasites, on obtient un signal transmis par le capteur d’effort similaire à celui représentésur la figure3.17page46. On constate alors la présence d’un bruit, provenant certainementde la chaîne de mesure et/ou de l’alimentation du piézo, mais qui est de plus très quan-tifié, ce qui explique son allure en «dents de scie». On peut alors imaginer que c’est cecaractère quantifié qui déstabilise la commande, en imposant des variations trop brusquesà l’entrée du correcteur. Pour atténuer cet effet, on a alors songé à filtrer la mesure d’effortavant traitement. Pour cela, on introduit un filtre numérique passe-bas dans la S-fonctiond’acquisition MimoLette.c, au niveau de la boucle de calcul du biais d’effort et bien sûrlors des mesures servant à calculer la commande.

Pour le choix du filtre, on a pris un passe-bas du 1er ordre calé à 100 Hz, soitfmes(s) =ωmes

s+ωmes, avecωmes= 2π∗100 Hz. La fréquence de coupure choisie correspond en fait à

la limite supérieure en fréquence d’utilisation de l’actionneur piézo-électrique, selon lesdonnées fournies par le constructeur. On a donc cherché un compromis entre le filtrage dubruit quantifié indésirable et les performances atteignables par le système. Le filtre choisiest ensuite discrétisé sous MATLAB , ce qui donne, pour une période d’échantillonnage dela S-fonction T=1 ms :

fmes(s) =1

s2π.100+1

⇒ fmes(z) =0.4665

z−0.5335

42

Page 43: Rapport Pfe

3.3. COMMANDE EN BOUCLE FERMÉE

−200 −150 −100 −50 0 50 100 150 200−200

−150

−100

−50

0

50

100

150

200

Real Axis

Imag

Axi

s

FIG. 3.11 –Lieu des racines obtenu avec C1

−180 −120 −60 0 60 120 180

−40

−20

0

20

40

60

PHASE

dB

1.056e−07

0.8931

62.83

95.76

104

104.6

105.7

108.1

123.3

187.9

474.8

1681

6134

2.471e+04

1.005e+05

FIG. 3.12 –Lieu de Black obtenu avec C1

43

Page 44: Rapport Pfe

CHAPITRE 3. IMPLÉMENTATION AVEC CHARGE RIGIDE

−200 −100 0 100 200−200

−150

−100

−50

0

50

100

150

200

Real Axis

Imag

Axi

s

−20 −15 −10 −5 0 5

−4

−3

−2

−1

0

1

2

3

4

Real Axis

Imag

Axi

s

FIG. 3.13 –Lieu des racines obtenu avec C2

−180 −120 −60 0 60 120 180 240 300 360−100

−80

−60

−40

−20

0

20

40

60

PHASE

dB

0.09439

0.2268

0.5447

1.309

2.763

11.16

54.44

95.76

104

104.8

105.7

109.9

145.9

436.4

2561

1.66e+04

1.005e+05

FIG. 3.14 –Lieu de Black obtenu avec C2

44

Page 45: Rapport Pfe

3.3. COMMANDE EN BOUCLE FERMÉE

−100 0 100

−250

−200

−150

−100

−50

0

50

100

150

200

Real Axis

Imag

Axi

s

−30 −20 −10 0 10−3

−2

−1

0

1

2

3

Real Axis

Imag

Axi

s

FIG. 3.15 –Lieu des racines obtenu avec C3

−540 −480 −420 −360 −300 −240 −180 −120 −60 0−100

−80

−60

−40

−20

0

20

40

60

80

PHASE

dB

0.09042

0.2229

0.483

1.047

2.121

7.247

34.35

76.15

104.1

114.2

FIG. 3.16 –Lieu de Black obtenu avec C3

45

Page 46: Rapport Pfe

CHAPITRE 3. IMPLÉMENTATION AVEC CHARGE RIGIDE

0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5−1.5

−1

−0.5

0

0.5

1

1.5

effo

rt (

N)

t (s)

1.8 1.82 1.84 1.86 1.88 1.9 1.92−1.5

−1

−0.5

0

0.5

1

1.5

t (s)

effo

rt (

N)

FIG. 3.17 –Bruit sur le signal d’effort non filtré

L’implémentation du correcteur sous forme numérique se fait ensuite de la même fa-çon qu’en2.2, en déclarant le correcteur comme la liste de ses coefficients, et en calculantensuite l’équation récurrente d’entrée-sortie. On déclarera donc le filtre sous la forme :

static real_T FiltreMesuEntree[1] = {0.4665};static real_T FiltreMesuSortie[1] = {0.5335};

associé aux variables de mesure d’effort à l’entrée et à la sortie du filtre :

static real_T AnaMesuForce[2];static real_T AnaMesuForceFiltre[2];

Et l’utilisation du filtre se fera avec :

Ana_MesuForce[0] = *PtrInputOne[0]*GainAdaptEff;Ana_MesuForceFiltre[0] = FiltreMesuEntree[0]*Ana_MesuForce[1]+ FiltreMesuSortie[0]*Ana_MesuAccelFiltre[1];

On utilisera dans la suite des calculs la mesure filtrée à l’instant courantAna_Mesu-ForceFiltre[0]. Si l’on trace de la même façon que précédemment la mesure de l’effortpris en compte sous dSpace en l’absence de toute commande et perturbation, on obtientle tracé représenté sur la figure3.18page ci-contre.

46

Page 47: Rapport Pfe

3.3. COMMANDE EN BOUCLE FERMÉE

0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5−1.5

−1

−0.5

0

0.5

1

1.5ef

fort

(N

)

t (s)

1.8 1.82 1.84 1.86 1.88 1.9 1.92−1.5

−1

−0.5

0

0.5

1

1.5

t (s)

effo

rt (

N)

FIG. 3.18 –Bruit sur le signal d’effort après filtrage

Le signal apparaît donc toujours bruité, mais avec des variations beaucoup moins bru-tales, du fait du filtrage des variations quantifiées. Par contre, les valeurs du signal prisesaux premiers pas d’acquisition sont très grandes devant l’amplitude moyenne du signalobservée par la suite : de l’ordre de 500 N, contre environ 0.7 N (phénomène qui n’appa-raît pas sur le tracé3.18). Ce phénomène est gênant dans la mesure où lesNbAcquiMaxpremiers pas de calcul du programme (50 dans les premières versions) sont réservés pourle calcul du biais d’effort : en l’absence d’asservissement, on acquiert un certain nombrede mesures d’effort, que l’on moyenne ensuite pour avoir la valeur de l’effort constam-ment appliqué sur le capteur, effort correspondant au poids de l’équipage situé en-dessousdu capteur. Cet effort est ensuite soustrait de toutes les mesures ultérieures, étant donnéque l’on réalise l’asservissement à partir de variations autour de la position initiale définiecomme position d’équilibre.

Le fait d’avoir les premières mesures erronnées fausse donc le calcul de ce biais,comme on a pu s’en rendre compte en faisant varier la durée d’acquisition des biaisNb-AcquiMax. On constate évidemment que plus on choisit une durée d’acquisition des biaisimportante (en pratique supérieure à 20 s), plus l’erreur de calcul due aux premières ac-quisitions est atténuée, mais le fait de rallonger autant que nécessaire ce temps présentel’inconvénient majeur de devoir éviter tout mouvement ou sollicitation transmissible parle sol au capteur pendant la même durée. Étant donnés l’emplacement et l’environnement

47

Page 48: Rapport Pfe

CHAPITRE 3. IMPLÉMENTATION AVEC CHARGE RIGIDE

du dispositif, une telle contrainte se verrait vite impossible à respecter si l’on veut desessais répétables et en nombre suffisant.

Comme on peut s’en douter, ce problème provient d’une initialisation incorrecte desvaleurs filtrées. En effet, le filtrage de la première mesure àt = 0, lorsque débute l’acqui-sition, nécessite la connaissance de la mesure àt = −1 pour fournir une valeur correcte.Or on a initialisé par défaut toutes les variables contenant des mesures à 0 au début duprocessus. Le filtre sur la mesure d’effort se comporte donc comme s’il voyait un éche-lon appliqué en entrée. Étant donné qu’il s’agit d’un premier ordre, le régime permanentn’est pas atteint instantanément (au bout de 3τ), ce qui explique que les premiers pasd’intégration fournissent des résultats incorrects.

On choisit donc de remédier à cet inconvénient en initialisant avec une mesure lesvariablesAna_MesuForce[1] et Ana_MesuForceFiltre[1] pour t = 0 (i.e. les valeursqui correspondraient respectivement à l’entrée et à la sortie du filtre pourt =−1). On in-troduit pour cela un marqueur supplémentaireLog_InitFiltre dans la S-fonction, justeavant le début des mesures pour le calcul du biais :

if( Log_Start == 1 ) {

if(Log_InitFiltre == 0) {Log_InitFiltre = 1;Ana_MesuForce[1] = *PtrInputOne[0]*GainAdaptEff;Ana_MesuForceFiltre[1] = *PtrInputOne[0]*GainAdaptEff;}else {

if(NbAcquiBiais < NbAcquiMax) {/* ... début des mesures pour le calcul du biais */

Avec cette modification, le calcul du biais est correct même si l’on reprend la valeurinitiale de 50 pas pour le nombre de pas d’acquisitionNbAcquiMax. On a toutefois préférérallonger cette durée à 2000 pas (soit 2 s), en tenant compte de la sensibilité du montagevis-à-vis des perturbations extérieures : cette valeur semble représenter un compromis ef-ficace afin d’avoir un moyennage correct d’une part, et d’autre part de ne pas s’exposertrop longtemps aux vibrations parasites éventuelles.

En parallèle, on a retouché le modèle SIMULINK de façon à prendre en compte cebruit filtré. On a toutefois choisi d’introduire d’abord le filtre, et de rajouter ensuite unbruit blanc dont on a ajusté les paramètres (DSP et pas d’échantillonnage) pour obtenirsur la mesure un signal bruité ressemblant le plus possible au signal filtré sur MIMOSA,comme représenté sur le schéma3.18. On donne ainsi fig.3.19page suivante l’allure dusignal d’effort filtré et bruité sur le modèle.

Enfin, on peut vérifier que la dynamique du filtre ajouté ne viendra pas déstabiliserle système théorique, en retraçant pour cela les nouveaux lieux des racines et de Black,représentés sur les pages50à52.

On retrouve bien les caractéristiques du filtre passe-bas introduit, à savoir le mode cor-respondant à la pulsation de coupure en−2π∗100 sur le lieu des racines, et le déphasage

48

Page 49: Rapport Pfe

3.3. COMMANDE EN BOUCLE FERMÉE

0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5−1.5

−1

−0.5

0

0.5

1

1.5

t (s)

Effo

rt (

N)

FIG. 3.19 –Effort bruité modélisé sousSIMULINK

supplémentaire de -90◦ aux hautes fréquences visible sur le lieu de Black. La stabilitén’est donc pas modifiée par l’ajout du filtre sur la mesure d’effort.

3.3.3 Essais boucle fermée

Après la modification sur l’initialisation du filtre, le rebouclage en effort fonctionnebien pour le correcteurC1 (intégrateur), mais pas pour les correcteurs plus évolués, pourlesquels la commande calculée présente toujours des oscillations très rapides entre lessaturations imposées, et ce en asservissement comme en régulation. On s’intéressera doncaux résultats obtenus avec le correcteurC1 dans la boucle.

Dans un premier temps, on a réalisé un simple asservissement sur une consigne nulle(régulation), sans introduire volontairement de perturbations. Les mesures de l’effort etde la variable interne de commande issues de l’interface dSpace pour cet essai sont re-présentées respectivement sur les figures3.26et 3.27. On note que l’effort est toujoursbruité, mais avec une valeur moyenne nulle. Pour la commande, on s’attendrait à la trou-ver nulle dans un cas idéal, étant donné que l’on applique une consigne nulle et que l’ons’affranchit de toute perturbation ; on voit cependant sur la fig.3.27 qu’elle dérive len-tement de façon imprévisible, en restant toutefois centrée dans son domaine d’évolution(limité par les saturations logiciel en−2.5 et +7.5). On a dans le même temps réaliséle même essai sur le modèle SIMULINK correspondant complet, i.e. incluant le bruit etles non-linéarités, et on obtient les résultats représentés sur la p.54. On remarque que lescourbes sont quasi-identiques entre le modèle et l’expérience, et ce pour l’effort comme

49

Page 50: Rapport Pfe

CHAPITRE 3. IMPLÉMENTATION AVEC CHARGE RIGIDE

−1000 −500 0 500 1000

−1000

−500

0

500

1000

Real Axis

Imag

Axi

s

−150 −100 −50 0 50

−200

−150

−100

−50

0

50

100

150

200

Real Axis

Imag

Axi

s

FIG. 3.20 –Lieu des racines obtenu avec C1 + filtre

−180 −120 −60 0 60 120 180

−80

−60

−40

−20

0

20

40

60

PHASE

dB

1.056e−07

5.004

62.83

101.8

104.4

107.9

120.4

242

931.8

2561

6134

1.36e+04

3.016e+04

1.005e+05

FIG. 3.21 –Lieu de Black obtenu avec C1 + filtre

50

Page 51: Rapport Pfe

3.3. COMMANDE EN BOUCLE FERMÉE

−1000 −500 0 500 1000

−1000

−500

0

500

1000

Real Axis

Imag

Axi

s

−15 −10 −5 0

−6

−4

−2

0

2

4

Real Axis

Imag

Axi

sFIG. 3.22 –Lieu des racines obtenu avec C2 + filtre

−540 −420 −300 −180 −60 60 180−100

−80

−60

−40

−20

0

20

40

60

PHASE

dB

0.08762

0.2372

0.5262

1.167

2.589

11.16

54.44

101.8

104.6

107.9

123.3

242

931.8

2561

6134

1.66e+04

1.005e+05

FIG. 3.23 –Lieu de Black obtenu avec C2 + filtre

51

Page 52: Rapport Pfe

CHAPITRE 3. IMPLÉMENTATION AVEC CHARGE RIGIDE

−1000 −500 0

−150

−100

−50

0

50

100

150

200

Real Axis

Imag

Axi

s

−6 −4 −2 0 2

−3

−2

−1

0

1

2

3

Real Axis

Imag

Axi

s

FIG. 3.24 –Lieu des racines obtenu avec C3 + filtre

−180 −120 −60 0 60 120 180 240 300 360−100

−80

−60

−40

−20

0

20

40

60

PHASE

dB

0.08762

0.232

0.6144

1.383

3.114

14.14

50.48

85.59

101.8

104.6

108.7

143.3

1829

1.36e+04

1.005e+05

FIG. 3.25 –Lieu de Black obtenu avec C3 + filtre

52

Page 53: Rapport Pfe

3.3. COMMANDE EN BOUCLE FERMÉE

0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5−5

−4

−3

−2

−1

0

1

2

3

4

5

t (s)

Effo

rt (

N)

FIG. 3.26 –Effort boucle fermée en régulation sur MIMOSA

0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5

−0.2

−0.1

0

0.1

0.2

0.3

0.4

0.5

0.6

0.7

t (s)

Var

iabl

e in

tern

e co

mm

ande

FIG. 3.27 –Commande boucle fermée en régulation sur MIMOSA

53

Page 54: Rapport Pfe

CHAPITRE 3. IMPLÉMENTATION AVEC CHARGE RIGIDE

0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5−5

−4

−3

−2

−1

0

1

2

3

4

5

t (s)

Effo

rt (

N)

FIG. 3.28 –Effort boucle fermée en régulation surSIMULINK

0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5

−0.2

−0.1

0

0.1

0.2

0.3

0.4

0.5

0.6

0.7

t (s)

Var

iabl

e in

tern

e co

mm

ande

FIG. 3.29 –Commande boucle fermée en régulation surSIMULINK

54

Page 55: Rapport Pfe

3.3. COMMANDE EN BOUCLE FERMÉE

pour la commande. La dérive de la commande est donc certainement due en partie à l’in-tégration du bruit, provenant dans le cas de MIMOSA des divers composants du système :capteurs, alimentation de l’actionneur, environnement extérieur, etc.

On a cherché ensuite à tester le même asservissement en présence de perturbationscette fois-ci. Celles-ci seront introduites en exerçant des vibrations «manuellement» àproximité du dispositif, étant donné la sensibilité de celui-ci aux perturbations externescomme on a pu le voir auparavant. On fait l’hypothèse que de telles perturbations sontassimilables à des créneaux en déplacement appliqués sur la charge utile : en effet, lorsde ces perturbations, on suppose que le bâti bouge légèrement par rapport à la masse àl’instant initial, et donc que l’on a un déplacement relatif de la charge dans son repère. Ona donc modélisé ces perturbations par unPulse Generator rajouté à la positionx1, commeon le voit sur le modèle SIMULINK représenté sur la fig.3.2page33. L’amplitude de cespulsations est recalée à partir d’essais en boucle ouverte (comme pour la modélisation dubruit), de sorte que les allures des courbes d’effort en présence de ces perturbations soientle plus proche possible entre le modèle et le banc MIMOSA (cf. fig.3.30et3.31pour uneperturbation appliquée autour det = 2 s).

Une fois la boucle fermée, on obtient les résultats présentés p.57 sur MIMOSA etp.58 sur le modèle SIMULINK , en ayant appliqué deux perturbations identiques à cellesreprésentées p.56, respectivement ent = 2 s ett = 4 s.

On note que si les allures des efforts en boucle ouverte étaient relativement simi-laires entre le modèle et l’expérience (p.56), cette fois-ci l’amplitude de la perturbationest beaucoup plus importante sur le modèle. Il apparaît en outre que le mode flexible estbeaucoup moins amorti sur le banc que sur le modèle, ce que l’on peut voir sur le tracé dela commande en particulier. Là encore, on retrouve le fait que les frottements sont diffi-ciles à modéliser avec un simple coefficient ; on a en effet tendance à sur ou sous-estimerles frottements mis en jeu si on garde une même valeur pour différents types d’essais. Ilfaudrait dans l’idéal trouver une modélisation plus complète des frottements, en prenanten compte des effets du type frottement solide par exemple. Mis à part cela, le compor-tement du système est relativement similaire dans les deux cas, avec un amortissementefficace des perturbations sur la mesure d’effort. L’efficacité de la boucle interne en efforten termes de régulation et d’amortissement des vibrations a donc été prouvée.

On peut dans le même temps évaluer les performances du dispositif s’il est asservià une consigne non nulle, sinusoïdale typiquement, ce qui revient à tracer le diagrammede Bode de la boucle fermée. En injectant une consigne sinusoïdale sur MIMOSA vial’interface SIMULINK /dSpace (cf. schéma3.10), on note en premier lieu que la commandeest stable ici encore, et reproduit la pulsation de la consigne comme tout système linéaire.En effectuant un balayage en fréquence, et en calculant le gain à partir de la mesure

d’effort G = 20log10

∣∣∣ FmesFcons

∣∣∣ pour chaque fréquence, on obtient le tracé3.36page60.

On a également tracé sous MATLAB le gain de Bode du modèle, représenté fig.3.37.On constate alors que les allures diffèrent sensiblement l’une de l’autre, avec notammentla présence d’une résonance autour de 6 Hz sur MIMOSA, que l’on ne retrouve pas sur lemodèle. Ce phénomène pourrait être dû à une limitation de la bande passante de l’asser-vissement, mais en basses fréquences cette fois-ci. En effet, l’idée de base du dispositifconsiste à générer un effort à partir d’un déplacement en série avec une raideur. Or, étant

55

Page 56: Rapport Pfe

CHAPITRE 3. IMPLÉMENTATION AVEC CHARGE RIGIDE

0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5−20

−15

−10

−5

0

5

10

15

20

t (s)

Effo

rt (

N)

FIG. 3.30 –Effet d’une perturbation externe (vibration) sur MIMOSA

0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5−20

−15

−10

−5

0

5

10

15

20

t (s)

Effo

rt (

N)

FIG. 3.31 –Perturbation externe modélisée sousSIMULINK

56

Page 57: Rapport Pfe

3.3. COMMANDE EN BOUCLE FERMÉE

0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5−35

−30

−25

−20

−15

−10

−5

0

5

10

15

t (s)

Effo

rt (

N)

FIG. 3.32 –Effet sur l’effort de perturbations en boucle fermée (MIMOSA)

0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5

−0.2

−0.1

0

0.1

0.2

0.3

0.4

0.5

0.6

0.7

t (s)

Var

iabl

e in

tern

e co

mm

ande

FIG. 3.33 –Effet sur la commande de perturbations en boucle fermée (MIMOSA)

57

Page 58: Rapport Pfe

CHAPITRE 3. IMPLÉMENTATION AVEC CHARGE RIGIDE

0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5−35

−30

−25

−20

−15

−10

−5

0

5

10

15

t (s)

Effo

rt (

N)

FIG. 3.34 –Effet sur l’effort de perturbations en boucle fermée (SIMULINK )

0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5

−0.2

−0.1

0

0.1

0.2

0.3

0.4

0.5

0.6

0.7

t (s)

Var

iabl

e in

tern

e co

mm

ande

FIG. 3.35 –Effet sur la commande de perturbations en boucle fermée (SIMULINK )

58

Page 59: Rapport Pfe

3.3. COMMANDE EN BOUCLE FERMÉE

donné que la charge utile à l’extrémité de la raideur est libre, un tel effort ne pourraêtre vraiment appliqué qu’à l’instant initial du déplacement de l’actionneur, après quoi,la masse s’étant déplacée, on se retrouvera dans une nouvelle position d’équilibre. Enparticulier, on ne pourra exercer un effort constant en régime permanent de la sorte. Oncomprend donc bien qu’une fréquence minimale de commande (difficile à évaluer parailleurs) est nécessaire pour assurer le fonctionnement de l’asservissement, fréquence en-dessous de laquelle on verra se produire des phénomènes analogues à un pompage (lacommande oscille sans pouvoir «rattraper» la consigne).

On peut enfin étudier l’influence du gainki de l’asservissement sur le comportementen boucle fermée du système. Pour ce faire, on injecte des perturbations sur le systèmeboucle fermée identiques aux essais pp.57 et 58 pour des valeurs de gain égales respec-tivement au double (k′i = 2ki) et à la moitié (k′′i = ki/2) du gain initialki . Les résultatssont représentés p.61 pour le banc MIMOSA et p.62 pour le modèle SIMULINK . On notequ’une augmentation du gain se traduit comme on pouvait s’y attendre par une dégrada-tion de la stabilité sur le modèle, voire carrément un comportement instable sur MIMOSA(on en conclut au passage que les marges de stabilité sont moins bonnes sur le banc que surle modèle). A l’opposé, si l’on réduit le gain nominal de moitié, on atténue les variationsde la commande tout en assurant une réduction des vibrations sur SIMULINK . Sur le bancMIMOSA, l’amortissement moins important sur la charge utile rend ce phénomène moinsperceptible. Il semblerait même que la réduction des vibrations - visible sur la courbe d’ef-fort - soit légèrement moins performante qu’avec le gain nominalki . Toutefois, on a vuen1.3que le gain du correcteur a été calculé initialement pour satisfaire des contraintes entermes de bande passante notamment (ki =

2π fcksG

, où fc représente la fréquence de coupuresouhaitée), donc une diminution de ce gain dégraderait les performances fréquentielles(ce que de tels essais en perturbation ne peuvent pas vraiment mettre en évidence).

59

Page 60: Rapport Pfe

CHAPITRE 3. IMPLÉMENTATION AVEC CHARGE RIGIDE

100

101

102

−20

−15

−10

−5

0

5

10

15

20

25

f (Hz)

Gai

n (d

B)

FIG. 3.36 –Gain de Bode de MIMOSA en boucle fermée

10−1

100

101

102

−25

−20

−15

−10

−5

0

5

f (Hz)

Gai

n (d

B)

FIG. 3.37 –Gain de Bode du modèleSIMULINK en boucle fermée

60

Page 61: Rapport Pfe

3.3. COMMANDE EN BOUCLE FERMÉE

01

23

45

−60

−40

−20 0 20 40 60

ki ’ =

ki *2

t (s)

Effort (N)

01

23

45

−30

−20

−10 0 10

t (s)

Effort (N)

ki ’’ =

ki /2

01

23

45

−0.2 0

0.2

0.4

0.6

ki ’ =

ki *2

t (s)

Variable interne commande

01

23

45

−0.2 0

0.2

0.4

0.6

ki ’’ =

ki /2

t (s)

Variable interne commande

FIG

.3.38–In

flue

nce

de

ki en

bfa

vec

pe

rturb

atio

ns

(MIM

OS

A)

61

Page 62: Rapport Pfe

CHAPITRE 3. IMPLÉMENTATION AVEC CHARGE RIGIDE

01

23

45

−30

−20

−10 0 10

ki ’ =

ki *2

t (s)

Effort (N)

01

23

45

−0.2 0

0.2

0.4

0.6

ki ’ =

ki *2

t (s)

Variable interne commande

01

23

45

−30

−20

−10 0 10

ki ’’ =

ki /2

t (s)

Effort (N)

01

23

45

−0.2 0

0.2

0.4

0.6

ki ’’ =

ki /2

t (s)

Variable interne commande

FIG

.3.39–In

flue

nce

de

ki en

bfa

vec

pe

rturb

atio

ns

(SIMU

LIN

K)

62

Page 63: Rapport Pfe

Chapitre 4

Essais sur le système complet

Après avoir étudié les propriétés de l’asservissement interne en effort appliqué à unecharge rigide, et validé un correcteur assurant le fonctionnement correct du banc en tantque régulateur actif de vibrations, on peut alors s’intéresser au système dans son ensemble,c’est-à-dire avec une charge utile flexible et deux boucles d’asservissement imbriquées.Dans un premier temps, et de manière analogue à ce qui a été fait au chapitre précédent,on proposera une modélisation la plus exacte possible du système complet, avant de s’in-téresser à la commande en elle-même.

4.1 Modélisation du système complet

4.1.1 Modèles SIMULINK

On donne page suivante le modèle sous SIMULINK représentant le système action-neur-charge utile dans le cas du banc MIMOSA complet, c’est-à-dire pour une chargeutile flexible composée des massesm1 et m2 et de la raideur intermasseskc, et non plusd’une seule masse comme dans le cas précédent.

On a donc fait apparaître sur ce schéma le modèle de la deuxième masse en sérieavec la masse initiale, reliées par la relationm1x1 = ks(xp− x1)− fvx1− kc(x1− x2). On

a également pris en compte le bruit sur les mesures et les filtresnmes(s)dmes(s) implantés sur

l’interface dSpace afin de réduire l’allure en dents de scie du bruit quantifié propre àdéstabiliser la commande, comme on a pu le voir en3.3.2. Les paramètres du bruit sur lamesure d’accélération ont été ajustés comme sur la mesure d’effort, i.e. à partir d’essaisboucle ouverte sans commande ni perturbation. Enfin, on a représenté sur ce schéma-blocl’excitation extérieure consistant à lâcher une masse de 1 kg sous forme d’un échelonrajouté à la position dem2, conformément à l’hypothèse faite auparavant.

On a en outre représenté sur la figure4.2 le schéma-bloc de l’asservissement global,dans lequel est inséré le modèle piézo+charge utile, et qui sera utilisé par la suite pourles simulations via MATLAB . On notera la présence d’un bloc de saturation, auquel on aaffecté les mêmes limites haute et basse que dans la S-fonction Mimolette.c.

63

Page 64: Rapport Pfe

CHAPITRE 4. ESSAIS SUR LE SYSTÈME COMPLET

xp

x1

3

Commande

2

Effort mesuré

1

Accélération mesurée

nmes(s)

dmes(s)

Transfer Fcn5

nmes(s)

dmes(s)

Transfer Fcn4

1

s

1

s

1

s

1

s

Step

Quantizer

Hysteresis1

fv2

kc

1/m2

1/kfv1

ks

1/m1

Equivalent bruit filtré

Equivalent bruit filtré

uCommande

dép. piézo

Chaine gains

1

u

FIG. 4.1 –ModèleSIMULINK du système MIMOSA complet

3

Commande

2

Effort mesuré

1

Accélération mesurée

numc(s)

denc(s)

cor(s)

effort

cmdetime

accelSaturation

mfict

ki

Clock

u

Accélération mesurée

Effort mesuré

Commande

Banc MIMOSA

1

u

FIG. 4.2 –Asservissement complet - boucle interne en effort/boucle externe en accéléra-tion

64

Page 65: Rapport Pfe

4.2. CARACTÉRISATION DES MODES FLEXIBLES NATURELS

Notation Signification Valeurm1 Masse intermédiaire 8.2 kgm2 Masse d’épreuve 45.65 kgks Raideur additionnelle 4.42 N.m−1

kc Raideur intermasses 5.10 N.m−1

ωe Pulsation encastrée 105.70 rad.s−1

ωl Pulsation libre 270.86 rad.s−1

TAB . 4.1 –Paramètres intervenant dans le banc MIMOSA

4.1.2 Valeurs des différents paramètres

On donne dans le tableau4.1 un résumé de la valeur des différents paramètres inter-venant dans le montage MIMOSA complet, à savoir les masses, raideurs et pulsations

encastréeωe =√

kcm2

et libreωl =√

kc(m1+m2)m1m2

. Pour les masses, on a cette fois-ci pris encompte, outre la masse des disques, celle des différentes tiges et éléments de liaison, cequi fait que l’on obtient des valeurs légèrement différentes de celles vues précédemment.

4.2 Caractérisation des modes flexibles naturels

On dispose cette fois-ci d’une charge utile flexible composée de deux masses et d’unressort intermédiaire, soit au total deux masses et deux raideurs. Il convient donc de déter-miner les modes propres de cette association masses-ressorts, de manière analytique dansun premier temps, avant de chercher à les retrouver sur le dispositif expérimental.

4.2.1 Analyse modale

Pour déterminer les modes flexibles du système naturel (i.e. non commandé), on peutprocéder à son analyse modale réelle. On cherche pour cela à modéliser le système nonamorti sous la forme générale :

M q(t)+Kq(t) = 0 (4.1)

avecM et K matrices respectivement de masse et de raideur, et avecq(t) vecteur descoordonnées définissant le mouvement (cf. [2]). On cherchera ensuite les solutions del’équation (4.1) sous la forme de modes oscillants :

q(t) = φiejωit (4.2)

En remplaçantq dans (4.1) par la forme cherchée, on obtient :

−ω2i Mφie

jωit +Kφiejωit = 0 (4.3)

soit :(K −ω2

i M)φi = 0 (4.4)

65

Page 66: Rapport Pfe

CHAPITRE 4. ESSAIS SUR LE SYSTÈME COMPLET

Les pulsations propres sont donc les racines des valeurs propresλi deM−1K , et défi-nissent avec les vecteurs propresφi les modes flexibles du système non amorti.

On cherche donc d’abord à identifier les matrices de masse et de raideur du systèmecomplet. On reprend pour cela le schéma1.4 p.15, en négligeant les frottements et enconstatant que la raideur du piézo peut être considérée comme très grande devant celle desressorts (rapport de 100 en pratique), de sorte que l’on puisse négliger les déplacementsdu piézo. Les équations du mouvement sont alors :{

m1x1 = −ksx1−kc(x1−x2) (4.5)

m2x2 = −kc(x2−x1) (4.6)

Si on poseq =[

x1

x2

]comme vecteur des coordonnées, avecx1 et x2 déplacements

relatifs des massesm1 et m2 par rapport à leur position d’équilibre, le système précédentpeut alors s’écrire sous forme matricielle :[

m1 00 m2

]︸ ︷︷ ︸

M

¨[x1

x2

]=[−(ks+kc) kc

kc −kc

]︸ ︷︷ ︸

−K

[x1

x2

](4.7)

soitM q+Kq = 0, avecM =[

m1 00 m2

]etK =

[(ks+kc) −kc

−kc kc

].

On cherche donc les valeurs propresλi deM−1K =

[ks+kc

m1− kc

m1

− kcm2

kcm2

].

A.N. En remplaçant les différents paramètres par les valeurs sur MIMOSA indiquées

en4.1, on obtient :M−1K =[

116097.56 −62195.12−11194.03 11194.03

].

On en déduit ensuite les pulsations des modes propresωi =√

λi , ce qui donne ici :{ω1 = 70.16 rad.s−1

ω2 = 349.78 rad.s−1 ⇐⇒{

f1 = 11.17 Hzf2 = 55.67 Hz

Les modes obtenus sont donc suffisamment éloignés l’un de l’autre pour pouvoir êtredétectables.

4.2.2 Vérification sur le banc

Avant d’étudier le comportement du système complet une fois les asservissements re-bouclés, on peut essayer de retrouver les modes naturels par une analyse fréquentielle(typiquement une FFT) des mesures pour des entrées données. Deux types d’excitationsont donc envisageables : une excitation «manuelle» des modes, par exemple le lâcher dela masse d’excitation de 1 kg ou bien la mise en vibration du dispositif en bougeant l’unedes masses à la main, et une excitation active, via un signal de contenu fréquentiel donnéappliqué à l’entrée du piézo. Cette dernière méthode pourra ensuite être associée à des ou-tils d’identification ou de reconstruction du spectre comme le calcul de périodogrammes,comme on le verra par la suite.

66

Page 67: Rapport Pfe

4.2. CARACTÉRISATION DES MODES FLEXIBLES NATURELS

0 10 20 30 40 50 60 70 80 90 1000

0.5

1

1.5

2

2.5

3

3.5

Effort

0 10 20 30 40 50 60 70 80 90 1000

0.01

0.02

0.03

0.04

0.05

Accélération

Hz

8.40

8.40

2.60

52.39

49,99

FIG. 4.3 –FFT des réponses sur lâcher en boucle ouverte

4.2.2.1 Essais sur lâcher

Dans un premier temps, on réalise une acquisition des mesures d’effort et d’accélé-ration suite à un lâcher de la masse d’excitation àt = 0, équivalent comme on l’a vu àun échelon de position appliqué à la massem2. On réalise ensuite une FFT (Fast FourierTransform) sous MATLAB , et on obtient les courbes représentées fig.4.3.

On remarque d’emblée que l’on obtient quatre modes sur la mesure d’accélération,mais seulement un sur la mesure d’effort, ce qui laisse à croire que la bande passante de cecapteur est beaucoup moins adaptée à ce type d’essais. Sinon, on voit sur la FFT effectuéesur la mesure d’accélération deux modes principaux, de fréquences 8.40 et 52.39 Hz. Onobtient des valeurs légèrement en-deçà des valeurs théoriques, respectivement 11.17 et55.67 Hz (soit des écarts relatifs de 25 et 6%). On peut attribuer cet écart aux incertitudessur les raideurs qui, comme on a pu le voir p.34, peuvent conduire à des différencessimilaires même dans le cas d’un seul système masse-ressort.

4.2.2.2 Excitation par une sinusoïde en entrée

D’un autre côté, une telle excitation par un échelon est peu riche en fréquence, et n’ex-cite pas de la même manière tous les modes du système flexible. On peut donc songer à

67

Page 68: Rapport Pfe

CHAPITRE 4. ESSAIS SUR LE SYSTÈME COMPLET

exciter le système en passant par l’actionneur piézo, auquel on appliquera une commandeboucle ouverte comme on a pu le faire auparavant. On choisit une sinusoïde modulée li-néairement en fréquence (chirp sous MATLAB ). On réalise ensuite sous MATLAB une es-timation de la fonction de transfert (TFE), qui reconstruit le transfert entrée/sortieH d’unsystème à partir d’estimés du spectre de l’entréeΦuu et du spectre croisé entrée/sortieΦuy :

H(ejω) =Φuy(ω)Φuu(ω)

Le détail et la justification de la méthode sont donnés en annexe p.105.

La question se pose toutefois quant à l’amplitude du signal d’excitation. En effet, aucours du balayage en fréquence, on rencontrera inévitablement les résonances cherchéespar ailleurs, et un signal trop fort amplifié par celles-ci pourrait en sortie endommagerl’actionneur ou le dispositif d’expérimentation. Il faut donc adapter l’amplitude de l’ex-citation en fonction des fréquences balayées. D’un autre côté, il ne s’agit pas non plus deraisonner en boucle fermée et d’asservir exactement l’amplitude de la sinusoïde à la fré-quence courante, étant donné que l’on ne connaît justement pas l’emplacement des modesde façon précise. Toutefois, d’après ce que l’on sait du comportement du système enboucle ouverte et de la position approximative des résonances, on peut adapter le niveaudu signal en fonction de la plage de fréquence.

On choisit donc comme plage de variation en fréquence du signal d’entrée [0;100 Hz],soit la plage de fonctionnement du translateur suivant les données fournies par le construc-teur. Dans un premier temps, on divise cette plage en 4, et on réalise pour chaque divisionune excitation par un chirp d’amplitude donnée, calculée de façon à ce que le niveau desortie n’excède pas les limites autorisées par le dispositif. On réalise ensuite une FFT sousMATLAB pour la plage de fréquence considérée. Malheureusement, on voit apparaître desdiscontinuités lorsque l’on tente de raccorder les portions obtenues, ceci étant dû à unedifférence de niveau entre les FFT.

Il faut donc balayer la totalité de la plage de fréquence souhaitée en une fois, ce quinécessite comme on l’a vu d’adapter le niveau de l’entrée en fonction du niveau de sortieprévisible. On prendra une sinusoïde d’entrée évoluant linéairement entre 6 et 96 Hz1 surune durée de 30 s. Après un rapide balayage boucle ouverte pour évaluer l’évolution del’amplitude de sortie en fonction de la fréquence, on choisit d’appliquer une entrée dontl’amplitude est initialement égale à 5.10−6, et que l’on réduit à 1.10−6 autour de 60 Hz etau-delà. On obtient une telle variation en modulant le gain d’entrée suivant une sinusoïde,par exemple. Une fois les paramètres choisis, on obtient un gainGs à appliquer sur lechirp d’entrée égal à :

Gs(t) = 3.10−6 +2.10−6cos

(2πtT−∆φ

)avecT = 40 s et∆φ = 2∗2π

T , retard introduit ici encore pour tenir compte des 2 s d’ac-quisition des biais, et décaler en conséquence la valeur du signal correspondant àt = 0.L’enveloppe du signal ainsi modulé est représentée fig.4.4.

1. Étant donné les 2 s d’acquisition des biais, pendant lesquelles on ne prend pas en compte d’entrée, onne peut partir de 0 Hz (ce qui nécessiterait de prendre une fréquence d’origine négative).

68

Page 69: Rapport Pfe

4.2. CARACTÉRISATION DES MODES FLEXIBLES NATURELS

0 5 10 15 20 25 30

−6

−4

−2

0

2

4

6

x 10−6

t (s)

Am

plitu

de d

e l’e

ntré

e

FIG. 4.4 –Enveloppe du chirp appliqué à l’actionneur

69

Page 70: Rapport Pfe

CHAPITRE 4. ESSAIS SUR LE SYSTÈME COMPLET

Il s’agit ensuite d’estimer le transfert entrée/sortie. MATLAB dispose comme on l’avu de la fonction TFE qui réalise une estimation fréquentielle d’un tel transfert à partird’échantillons d’entrée et de sortie, il reste à choisir les paramètres pris en compte parcette fonction. On dispose de séquences de 30 s*1 kHz soit 30000 points. On prendraalors des fenêtres de calcul de 2048 points avec un recouvrement de 50%, soit environ 20segments au total, ce qui semble suffisant pour obtenir une variance satisfaisante du signalestimé (cf. annexeC).

Les résultats de la TFE figurent sur le tracé4.5, où l’on a représenté les estimations dutransfert entrée/sortie à partir des mesures d’effort et d’accélération. L’estimé étant unefonction à valeurs complexes, on a dissocié comme d’habitude le gainG = 20log10|H| etla phase.

On constate donc sur ces figures que les allures des courbes obtenues respectivementà partir des mesures d’effort et d’accélération sont cette fois-ci beaucoup plus similairesque sur la fig.4.3(FFT des mesures après un lâcher). On note en particulier la présence dedeux résonances respectivement en 8.30 et 52.25 Hz exactement sur les deux courbes degain, ce qui correspond à peu près aux deux modes flexibles naturels que l’on s’attendait àtrouver, toujours en prenant en compte les tolérances sur les raideurs employées. Ce typed’essai boucle ouverte semble donc beaucoup plus apte à restituer les modes de vibrationnaturels du système qu’un simple échelon de position obtenu en lâchant la masse de 1 kg.

Par contre, les tracés de la phase du transfert estimé ne sont guère exploitables pourla détection de modes dans ce cas. On voit en effet que celle-ci oscille très fortement enbasses fréquences, au voisinage du mode à 8.30 Hz, puis décroit continûment lorsque l’onmonte en fréquence : on trouve en effet des sauts de phase de 360◦, donc équivalents àune courbe continue, au lieu de sauts de 180◦ qui correspondraient vraiment au passagepar une résonance.

On peut regarder également ce que donnerait la même analyse appliquée au modèleconstruit sous SIMULINK . On procède donc exactement de la même façon que précédem-ment, en appliquant le même signal chirp en boucle ouverte, et en réalisant une TFE desmesures à la sortie. Les résultats figurent page72.

On note donc la présence des deux résonances basse et haute fréquence, respective-ment en 11 et 56 Hz, comme l’analyse modale effectuée en4.2.1 le prévoyait. On voitégalement que le pic à 56 Hz est beaucoup plus marqué que pour les essais sur MIMOSA.Par contre, les positions des anti-résonances− correspondant aux zéros de la fonctionde transfert− sont relativement similaires entre le modèle et l’expérimentation : autourde 40 Hz pour le transfert en effort et 15 Hz pour le transfert en accélération. L’empla-cement des pôles et zéros de ces transferts se voit confirmé sur les tracés de phase, surlesquels on note effectivement des sauts de 180◦ à la rencontre de ceux-ci. Précisons enfinque cette estimation de fonction de transfert, réalisée à partir d’estimations du spectre designaux supposés "idéaux" car issus d’un modèle, est quasi-identique au diagramme deBode fourni par MATLAB à partir du même système mais sans passer par les périodo-grammes (tracé non représenté ici).

70

Page 71: Rapport Pfe

4.2. CARACTÉRISATION DES MODES FLEXIBLES NATURELS

2040

6080

−40

−20 0 20 40 60 80

100

f (Hz)

Gain (dB)

Effort

2040

6080

−40

−20 0 20 40 60

Accélération

2040

6080

−200

−100 0

100

200

Phase (deg)

2040

6080

−200

−100 0

100

200

FIG

.4.5–

TF

pa

rtird

’un

chirp

mo

du

lée

na

mp

litud

e

71

Page 72: Rapport Pfe

CHAPITRE 4. ESSAIS SUR LE SYSTÈME COMPLET

2040

6080

−10 0 10 20 30 40 50 60

Effort

f (Hz)

Gain (dB)

2040

6080

−40

−20 0 20 40 60

Accélération

2040

6080

−50 0 50

100

150

200

Phase (deg)

2040

6080

−50 0 50

100

150

200

FIG

.4.6–

TF

pa

rtird

’un

chirp

sur

mo

leSIM

UL

INK

72

Page 73: Rapport Pfe

4.2. CARACTÉRISATION DES MODES FLEXIBLES NATURELS

(a) Bascule (b) Balancement

FIG. 4.7 –Modes transverses

4.2.2.3 Recherche des modes pendulaires

En parallèle aux essais destinés à retrouver sur le banc expérimental les modes de vi-bration naturels obtenus analytiquement, on peut chercher à détecter les modes parasites,i.e. non prévus dans le cadre de la modélisation du banc choisie. Il s’agit notamment demodes de balancement transverses des différentes composantes de la charge utile. Malgréles contraintes prises en compte lors de la réalisation du dispositif destinées à éviter au-tant que faire se peut l’apparition de tels modes (barre en travers du châssis contenant lepiézo, qui limite les mouvements de torsion . . . ), l’existence de déplacements non souhai-tés est inévitable pour un dispositif mécanique comme celui-ci. La présence de liaisonspar goupilles et crochets entre les ressorts et les tiges des supports de masses entraîne desdegrés de liberté le long de la chaîne des différents éléments, d’où la présence de modespendulaires caractéristiques.

Il ne serait guère utile dans un premier temps de chercher à les identifier tous de fa-çon analytique, ce qui nécessiterait de modéliser toutes les liaisons et de tenir compte detoutes les longueurs intermédiaires dans la chaîne mécanique. En outre, il se peut fort quela contribution de tous ces modes pendulaires ne soit pas la même au sein du mouvementd’ensemble. On préfèrera donc chercher à identifier ces modes de façon expérimentale,en excitant pour cela le dispositif latéralement, en repérant les modes transverses prépon-dérants à l’œil nu et à l’oscilloscope, et en essayant de les exciter indépendamment pourles isoler ensuite.

C’est justement cette démarche qui a été utilisée pour isoler les modes transverses re-présentés sur la figure4.7, dénommés respectivement bascule et balancement. Ces deuxmodes sont en fait dus à la présence de degrés de liberté en rotation au niveau de la rotule

73

Page 74: Rapport Pfe

CHAPITRE 4. ESSAIS SUR LE SYSTÈME COMPLET

liant le translateur piézo au châssis le contenant, et au niveau des liaisons entre les tigeset ressorts de la charge utile. Pour le mode dit de bascule, représenté fig.4.7(a), les deuxmasses semblent pivoter en opposition de phase autour de leurs centres respectifs, entraî-nant un léger déplacement latéral des ressorts. Ce mode peut être excité manuellement enfrappant légèrement le bord extérieur dem1. Le mode de balancement correspond quantà lui à une translation dem1 principalement, comme on peut le voir sur le schéma4.7(b),la massem2 restant quant à elle quasi-immobile.

On a pu mesurer la pulsation de ces modes à l’oscilloscope numérique (donc sanspasser par l’interface dSpace). On donne sur les figures4.8et 4.9page ci-contre les cap-tures d’écran montrant respectivement les modes de bascule et de balancement. Sur cestracés, la courbe du haut est la mesure d’effort et celle du bas la mesure d’accélération.Le mode de bascule apparaît donc principalement sur la mesure d’effort, sur laquelle onle voit moduler le mode flexible naturel prépondérant avec une fréquence d’environ 52.6Hz, tandis que le mode de balancement est beaucoup plus lent : il apparaît sur la mesured’accélération de la fig.4.9 avec une fréquence de 2.5 Hz. Le mode de bascule sembledonc gênant dans la mesure où il se situe exactement dans la plage d’impédance à pilo-ter. Si toutefois ce mode est susceptible d’être excité par les déplacements du piézo oubien par des perturbations extérieures minimes, il se pourrait donc qu’il vienne modifierla réponse globale du système.

Si l’on revient sur les résultats de la TFE depuis le banc MIMOSA, représentés p.71,on peut alors se demander si la résonance autour de 52 Hz n’est pas due à un modependulaire plutôt qu’au mode flexible naturel calculé en 55.67 Hz. Pour répondre à cettequestion, on remplace la raideur intermasseskc par une raideur infinie, i.e. une barrerigide, possédant a priori les mêmes caractéristiques mécaniques que le ressort initial entermes de longueur et de liaisons avec les autres pièces. On relance alors une excitationboucle ouverte avec un chirp identique en tous points aux précédentes, et on obtient lesrésultats présentés p.76.

La figure4.10page76 montre donc la disparition de la résonance haute obtenue au-paravant. Par contre, le mode basse fréquence est toujours là, légèrement décalé vers lesfréquences supérieures comme on pouvait s’y attendre. En effet, on aurait dû trouver dans

cette configuration rigidifiée un seul mode flexible à environf = 12π

√ks

m1+m2≈ 14 Hz.

On voit donc que les résonances obtenues sur la TFE étaient dues uniquement aux modesflexibles et non à des modes transverses tels ceux qui ont été identifiés.

4.3 Commande en boucle fermée

On peut maintenant s’intéresser au comportement et aux performances du système entant que régulateur d’impédance, fonction pour laquelle il a été conçu à l’origine. On vadonc reboucler les asservissements en effort et en accélération, et jouer sur le gain de re-tour de cette dernière boucle (la masse fictivemf ict) pour modifier l’impédance mécaniquede la charge utile.

74

Page 75: Rapport Pfe

4.3. COMMANDE EN BOUCLE FERMÉE

FIG. 4.8 –Bascule

FIG. 4.9 –Balancement

75

Page 76: Rapport Pfe

CHAPITRE 4. ESSAIS SUR LE SYSTÈME COMPLET

2040

6080

−20 0 20 40 60 80

100E

ffort

f (Hz)

Gain (dB)

2040

6080

−40

−20 0 20 40 60

Accélération

2040

6080

−200

−100 0

100

200

Phase (deg)

2040

6080

−200

−100 0

100

200

FIG

.4.10–T

FE

sur

ba

nc

MIM

OS

Aa

vee

cch

arge

utile

rigid

ifiée

76

Page 77: Rapport Pfe

4.3. COMMANDE EN BOUCLE FERMÉE

−1000 −500 0 500 1000

−1000

−500

0

500

1000

Real Axis

Imag

Axi

s

−150 −100 −50 0

0

50

100

150

200

250

300

350350

300

250

200

150

100

500.94

0.78

0.62

0.48

0.36 0.25 0.16 0.08

Real Axis

Imag

Axi

s

w2

wl

w0

w1

FIG. 4.11 –Lieu des racines de la boucle interne en effort

4.3.1 Lieux des racines

On peut au préalable visualiser la plage d’évolution du mode flexible via des lieux desracines obtenus à partir du modèle SIMULINK complet, incluant toutes les modificationsapportées jusqu’ici (filtres sur les mesures, etc.). Étant donné que les correcteursC2(s)etC3(s) induisaient un comportement instable du système même avec une simple chargerigide, on effectuera les essais sur le banc MIMOSA avec le correcteur intégrateurC1

uniquement.

On peut regarder dans un premier temps ce qu’il en est pour la boucle interne en effort.Comme on l’a vu sur la fig.3.3page33, la structure choisie pour l’asservissement consisteà placer le correcteurki .C1(s) dans la chaîne directe, avec un retour unitaire. Le lieu desracines correspondant à cette configuration est représenté sur la figure4.11, sur laquelleon a repéré les pôles correspondant au retour unitaire choisi.

On retrouve globalement sur ce lieu des racines les résultats obtenus en [1, Analysedes asservissements], à savoir d’une part que la boucle est inconditionnellement stable, etd’autre part que le mode flexible haut, notéω2 et valant ici 349.78 rad.s−1, est attiré vers lemode libreωl . On notera que la pulsation du mode correspondant au retour unitaire, notéeω0 = 265.6 rad.s−1, est toutefois très proche de la pulsation libreωl = 270.8 rad.s−1.On peut alors fermer la boucle avec le retour unitaire, et le lieu des racines obtenu en

77

Page 78: Rapport Pfe

CHAPITRE 4. ESSAIS SUR LE SYSTÈME COMPLET

−1000 −500 0 500

−1000

−800

−600

−400

−200

0

200

400

600

800

1000

Real Axis

Imag

Axi

s

−60 −40 −20 0

0

50

100

150

200

250

300

350350

300

250

200

150

100

500.7

0.42

0.28

0.2

0.14 0.1 0.06 0.03

Real Axis

Imag

Axi

s

mfict

=−3.61

w0

mfict

=10

mfict

=100

we

FIG. 4.12 –Lieu des racines de la boucle externe en accélération

faisant varier le gain de la boucle externe en accélération cette fois-ci est représenté sur lafigure4.12.

Cette fois-ci, le mode flexible varie entreω0 et la pulsation encastréeωe pour ungain de retour positif. Comme on l’a vu, ce gain de retour entre mesure d’accélération etconsigne en effort peut être assimilé à une masse fictivemf ict , dont la valeur est fixée parl’utilisateur pour justement modifier l’impédance de la charge utile. On a représenté sur lafig. 4.12les lieux des racines obtenus pour une masse fictive positive et négative. Pour unretour positif, le système est inconditionnellement stable, on voit sur cette même figure lesemplacements du mode flexible correspondant à une masse fictive égale à 10 et 100 kg,valeurs pour lesquelles on obtient des pulsations respectivement égales à 189.8 et 125.0rad.s−1. Pour une masse fictive négative, le système est stable jusqu’àmf ict =−3.61 kg.

4.3.2 Essais sur MIMOSA

On a ensuite cherché à comparer les résultats donnés par SIMULINK avec le systèmeréel MIMOSA. Pour ce faire, on a fait fonctionner ce dernier de façon nominale, c’est-à-dire en ayant refermé les deux boucles d’asservissement et en réalisant l’excitation externeen lâchant la masse de 1 kg. On réalise ensuite grâce à MATLAB une FFT des mesuresacquises pour repérer le mode de la charge flexible.

78

Page 79: Rapport Pfe

4.3. COMMANDE EN BOUCLE FERMÉE

−50 −40 −30 −20 −10 0

100

150

200

250

300

350350

300

250

200

150

100

0.38

0.28

0.22

0.165

0.125 0.09 0.055 0.03

Real Axis

Imag

Axi

sm

fict=−3.61

we

w0

mfict

=10

mfict

=100

mfict

=−1.8

mfict

=2

FIG. 4.13 –Limites de la plages de variation de mf ict sur MIMOSA

Dans un premier temps, on a voulu voir si les limites inférieure et supérieure pourla masse fictive autorisées par le lieu des racines (fig.4.12) se retrouvaient sur le bancMIMOSA, ce qui nous a conduit à faire variermf ict dans les deux sens jusqu’à la limited’instabilité du système. Pour un gain négatif, on obtient une limitemf ict− =−1.8 relati-vement proche de la valeur théorique de -3.61. Par contre, pour les valeurs positives, alorsque le système devrait être inconditionnellement stable, on obtient une limite àmf ict+ = 2.On a superposé l’emplacement de ces deux limites au lieu des racines tracé auparavant surla fig. 4.13.

Connaissant les limites expérimentales de l’asservissement, on a alors cherché à dé-terminer la pulsation du mode flexible pour quelques valeurs intermédiaires du gainmf ict .On a donc réalisé des FFT des mesures d’effort et d’accélération à partir du lâcher pourune masse fictive prenant respectivement les valeursmf ict=−1.8,−1,0,1 et 2 kg2. Les ré-sultats sont représentés sur la figure4.14. On peut noter aussitôt que l’importance relativedes modes n’est pas la même suivant la mesure, les raies correspondant aux résonancesétant nettement plus visibles sur la mesure d’accélération, ce que l’on attribuera à un rap-port signal/bruit plus élevé pour l’accéléromètre par rapport au capteur d’effort.

Conformément à la démarche généralement adoptée au cours de cette étude, on s’estefforcé de reproduire les mêmes essais avec le modèle SIMULINK du système complet,c’est-à-dire les mêmes tracés (FFT en l’occurence) à partir de la même excitation, et deles comparer aux essais expérimentaux. On n’a pas reproduit ici les tracés de FFT ob-

2. Étant donné la plage autorisée relativement réduite pourmf ict , on n’a pas voulu prendre trop de valeursintermédiaires, pour garder des résultats significatifs.

79

Page 80: Rapport Pfe

CHAPITRE 4. ESSAIS SUR LE SYSTÈME COMPLET

0 20 40 60 80 1000

0.05

0.1

0.15

0.2

0 20 40 60 80 1000

0.02

0.04

0.06

0.08

0.1

0 20 40 60 80 1000

0.01

0.02

0.03

0 20 40 60 80 1000

0.005

0.01

0.015

0 20 40 60 80 1000

0.01

0.02

0.03

0.04

0 20 40 60 80 1000

0.005

0.01

0.015

0 20 40 60 80 1000

0.01

0.02

0.03

0 20 40 60 80 1000

0.005

0.01

0.015

0 20 40 60 80 1000

0.05

0.1

0.15

0.2

0 20 40 60 80 1000

0.01

0.02

0.03

Effort Accélération

Banc MIMOSA M

fict

−1.8

−1

0

1

2

FIG. 4.14 –FFT pour plusieurs valeurs du gain mf ict

80

Page 81: Rapport Pfe

4.3. COMMANDE EN BOUCLE FERMÉE

tenus à partir du modèle, on a simplement regroupé les deux types de résultats dans letableau4.2page suivante, qui contient la fréquence du mode flexible identifié comme telpour les différentes valeurs de la masse fictive. L’hystérésis revêtant un aspect semble-t-ilimportant au niveau du modèle, on a choisi de dissocier les résultats obtenus avec et sansce bloc dans le schéma. En gras figurent pour chaque valeur demf ict les fréquences iden-tiques ou les plus voisines. On peut alors remarquer en premier lieu que les fréquencesobtenues avec le modèle sans hystérésis se retrouvent bien lorsque l’on parcourt le lieudes racines4.13, ce à quoi on pouvait légitimement s’attendre. Par contre il est plus in-téréssant de voir que la présence de l’hystérésis sur le modèle modifie non seulement lespulsations du mode flexible, mais également le sens de variation de celles-ci : avec un mo-dèle linéaire, la fréquence du mode décroit en effet lorsque l’on augmentemf ict , alors quesi l’on regarde le mode présent sur l’accélération - mesure apparemment plus significa-tive - du système avec hystérésis on observe l’effet contraire, et ce pour le modèle commepour le banc MIMOSA. Plus généralement, on peut noter la grande similitude observéepour ces essais entre le modèle avec hystérésis et le banc expérimental, ce qui montre bienla nécessité de prendre en compte l’hystérésis dans ce type d’actionneur.

Pour mettre davantage en évidence l’effet de l’hystérésis sur le décalage des modes,on a superposé sur la fig.4.15page suivante les résonances correspondant au mode de lacharge flexible pour des essais SIMULINK avec et sans hystérésis. On voit bien que la pré-sence de ce bloc entraîne un décalage de la fréquence de la résonance, ainsi que l’appari-tion d’autres modes périodiques, de moindre importance. Il conviendrait donc d’examinerplus en avant les effets d’une hystérésis sur le comportement fréquentiel d’un tel système,voire de modéliser les décalages induits, afin de déterminer en quoi cette non-linéaritépourrait être à l’origine des instabilités observées.

81

Page 82: Rapport Pfe

CHAPITRE 4. ESSAIS SUR LE SYSTÈME COMPLET

0 50 100 150 200 250 3000

1

2

3

4

5

6

7

8

9x 10

−3

f (Hz)

sans hystérésisavec hystérésis

FIG. 4.15 –Différences entre les pics sur FFTSIMULINK avec/sans hystérésis

mf ict MIMOSA Modèle SIMULINK

(kg) sans hystérésisavec hystérésis-1.8 eff 52.4 eff 48.2 eff 50

acc 50 acc 48.6 acc 50.4-1 eff 52.6 eff 45 eff 52

acc 52.6 acc 45.2 acc 53.20 eff 100 eff 42.2 eff 50

acc 53 acc 41.8 acc 53.21 eff 55.6 eff 40 eff 47.8

acc 54.4 acc 39.2 acc 53.62 eff 57 eff 37.6 eff 45.6

acc 55.6 acc 37.2 acc 54.4

TAB . 4.2 –Modes présents dans la FFT en fonction de mf ict

82

Page 83: Rapport Pfe

Chapitre 5

Revue bibliographique : la commanded’actionneurs piézo-électriques

Plusieurs recherches ont été menées sur les moyens de commander des actionneurspiézo-électriques, sujets à des phénomènes de non-linéarités et d’hystérésis comme on apu le voir. De tels phénomènes sont souvent difficiles à prendre en compte dans le modèle,et les effets sur un système rebouclé par une loi de commande classique peuvent être im-prévisibles, comme on a pu le voir avec MIMOSA par ailleurs. L’hystérésis du translateurpiézo-électrique ayant été identifiée comme l’une des principales causes des différencesobservées entre le modèle et l’expérience, on se propose de présenter un bref survol dequelques méthodes de contrôle d’actionneurs piézo-électriques ou plus généralement dessystèmes présentant une hystérésis. Notons toutefois que ces méthodes sont issues sou-vent de recherches toutes théoriques, et que leur validité de même que leur facilité deportage dans le cas de MIMOSA n’ont pas été démontrées.

5.1 Réduction d’hystérésis par contrôle de phase

5.1.1 Principe

Dans [9], Cruz-Hernández et Hayward présentent une méthode pour réduire l’hysté-résis en boucle ouverte d’un système - en l’occurence un translateur piézo-électrique -,méthode basée sur l’ajout d’un déphaseur en amont de celui-ci. L’idée consiste en effet àmodéliser le transfert entre l’entréeu et la sortiey sous la forme d’une série de Volterra(somme d’opérateurs), dont on peut garder les deux premiers termes seulement :

y = L [u]+ Γ[u] (5.1)

où L représente la partie linéaire invariante du transfert, etΓ l’hystérésis, supposée indé-pendante de la pulsation. Cette modélisation est également présentée sur le schéma5.1,où l’on voit l’hystérésis en parallèle avec le transfert linéaire.

Sous certaines hypothèses, notamment celles du modèle de Preisach, les auteurs montrentqu’il est possible pour une entrée périodique de voir l’hystérésis du système comme un

83

Page 84: Rapport Pfe

CHAPITRE 5. REVUE BIBLIOGRAPHIQUE

h-

-

-? -

6

u yL

+

Γ

FIG. 5.1 –Modélisation d’un translateur avec hystérésis

retard de phase entre cette entrée et la sortie. L’idée pour supprimer l’hystérésis est doncde contrebalancer ce retard. Pour cela, on utilise un déphaseurL pa, défini comme un opé-rateur ajoutant une constanteφ à la phase d’une entrée périodique sans affecter son gain(de même qu’un gain pur modifie le gain sans changer la phase). On a alors les relations :

L pa( jω) = a+ jb, |L pa( jω) = 1| et∠L pa( jω) = φ (5.2)

On peut alors implanter un tel déphaseur en amont du système à commander, commereprésenté sur la figure5.2. Si on connait la phase−φ susceptible de modéliser l’hystérésisΓ, et si en outre le déphasage introduit par la partie linéaireL peut être négligé, alorsl’introduction d’un déphaseur vérifiant∠L pa = φ réduit le phénomène d’hystérésis entrela nouvelle entréer et la sortiey du système.

h-

-

-?

6

--u y

L

+

Γ

L par

FIG. 5.2 –Ajout d’un déphaseur en amont du système

En pratique cependant, l’angleφ varie avec l’amplitude du signal d’entrée, et parconséquent un déphaseur constant amènera une sur ou sous-compensation suivant l’am-plitude courante. Ceci peut être corrigé en introduisant un déphaseur dit non-linéaire, avecun déphasage commutant entre deux valeursφ1 et φ2 selon que l’amplitude est compriseou non dans une plage interne[−s;+s]. En pratique, on rajoutera en amont du montageprécédent un étage déphaseur supplémentaire, dont la sortie sera obtenue de la manièresuivante :

v( jω) ={

L pa( jω)r( jω),∠L pa( jω) = φ1 si |r| ≤ sL pa( jω)r( jω),∠L pa( jω) = φ2 si |r|> s

(5.3)

Avec le schéma correspondant représenté sur la fig.5.3

84

Page 85: Rapport Pfe

5.1. RÉDUCTION D’HYSTÉRÉSIS PAR CONTRÔLE DE PHASE

-

?

- - --r

hystérésisSystème avecdéphaseur

v u y

variable

déphaseur

φ(|r(t)|)

1er étage2èmeétage

FIG. 5.3 –Utilisation d’un déphaseur non-constant

5.1.2 Implantation

On ne pourrait obtenir une avance de phase à l’aide d’un dérivateur pur ou d’un cor-recteur non propre. Toutefois, les auteurs proposent différentes méthodes pour synthétiserdes filtres d’avance de phase, valables dans une certaine gamme de fréquences seulement,et au prix de légères variations de gain.

Une première solution est basée sur la similarité entre l’opérateur déphaseur et la trans-formation de HilbertH( f ) =− j sign( f ), qui déphase un signal de−π

2 pour les fréquencespositives et de+π

2 pour les fréquences négatives. Dans le cas présent, on définirait le filtreamenant le déphasage adéquat avec:

H( f ) =

e− jφ f > 0

0 f = 0ejφ f < 0

(5.4)

La réponse impulsionnelle est alors :

LH( f ) = cos(φ)+ j sin(φ)sign( f ) (5.5)

ce qui est la représentation du déphaseur dans le domaine de la transformée de Hilbert.En revenant au domaine temporel, on a :

y(t) = cos(φ)u(t)+sin(φ)u(t) (5.6)

La sortie est donc vue comme une combinaison linéaire de l’entréeu(t) et de sa transfor-mée de Hilbert ˆu(t). L’implémentation peut ensuite se faire en utilisant un filtre à réponseimpulsionnelle finie (FIR) pour effectuer la transformation de Hilbert.

Une autre possibilité est l’implémentation sous forme de correcteur PD. En effet, (5.2)peut s’écrire :

L pa( jω) = cos(φ)+sin(φ)

ωs (5.7)

soit, dans le domaine temporel :

y(t) = cos(φ)u(t)+sin(φ)

ωu(t) (5.8)

85

Page 86: Rapport Pfe

CHAPITRE 5. REVUE BIBLIOGRAPHIQUE

ce qui ressemble à un correcteur proportionnel dérivéC(s) = kP +kDs. Si l’angleφ varieavec l’amplitude, (5.7) s’écrit alors :

L pa( jω,|u(t)|) = cos(φ(|u(t)|))+sin(φ(|u(t)|))

ωs (5.9)

pour donner l’expression d’un déphaseur variable. Notons toutefois que ce type de cor-recteur doit être conçu pour une fréquence donnée, et que son efficacité se verra doncsensiblement diminuée si le signal d’entrée contient plus d’une composante fréquentielle.

Enfin, le déphaseur peut être approché sur une plage donnée[ω1;ω2] par l’intermé-diaire d’un filtre linéaire de la forme :

Lpa(s) =sn +an−1sn−1 + · · ·+a1s+a0

sn +bn−1sn−1 + · · ·+b1s+b0(5.10)

conçu de sorte que l’on ait∠Lpa( jω)≈ φ pourω∈ [ω1;ω2]. On veillera toutefois à choisircorrectementω1 et ω2 compte tenu de l’augmentation de gain entre ces deux fréquences.

De même que précédemment, on peut synthétiser un correcteur variable selon l’am-plitude de l’entrée :

Lpa(s,|u(t)|) =sn +an−1sn−1 + · · ·+a1s+a0

sn +bn−1(|u(t)|)sn−1 + · · ·+b0(|u(t)|)(5.11)

Les coefficientsbi(|u|) sont obtenus à partir demdéphaseurs ayant chacun un angleφcorrespondant à une amplitude spécifique de l’entrée :

Lpa1(s) = sn+an−1sn−1+···+a1s+a0

sn+b1n−1sn−1+···+b1

0...

...

Lpam(s) = sn+an−1sn−1+···+a1s+a0sn+bm

n−1sn−1+···+bm0

(5.12)

Une interpolation polynômialebi(|u|) desb ji est ensuite réalisée pour chaque ampli-

tude j, pour i = 0, . . . ,n−1 et j = 1, . . . ,m, n étant l’ordre du correcteur etm le nombred’amplitudes considérées.

5.1.3 Résultats

Pour évaluer les performances atteintes, les auteurs présentent deux critères leur per-mettant de mesurer la réduction de l’hystérésis. Dans les deux cas, on se place dansle plan entrée/sortie repéré par les vecteursi = [1,0]T et o = [0,1]T . On considère laboucle d’hystérésis pour une période de l’entrée, représentée dans ce plan par la courbev(t) = u(t)i + y(t)o pour a≤ t ≤ b. Le premier critère est la longueur de l’arc, obtenuepar intégration de l’abscisse curviligne entre les instantsa etb :

Ml (v) =b∫

a

√u′(t)2 +y′(t)2dt (5.13)

86

Page 87: Rapport Pfe

5.2. SYNTHÈSE ROBUSTE PAR LINÉARISATION ET COMMANDE PAR RÉGIMEGLISSANT

Le deuxième est une mesure analogue à l’aire de la courbe décrite au cours d’une période :

Ma(v) =b∫

a

√u′d(t)

2 +y′d(t)2dt (5.14)

où ud(t) et yd(t) sont les coordonnées du vecteur exprimant la distance entre les arcsascendant et descendant à un instantt, respectivement seloni eto.

Des essais ont ensuite été menés pour vérifier l’efficacité de ces actionneurs, en me-surant la réduction d’hystérésis à l’aide des critères sus-cités. Dans un premier temps, undéphaseur constantLpa obtenu à partir d’un filtre du 4e ordre est utilisé sur une configu-ration regroupant deux actionneurs en alliage à mémoire de forme (SMA). Le déphasageintroduit parLpa est deφ = 38◦ sur une plage[ω1;ω2] = [0.01;0.1]. Les auteurs ont alorsconstaté une réduction sensible de l’hystérésis dans le plan entrée-sortie, même si l’ordrerelativement peu élevé du filtre n’a pas permis de déphaser d’une valeur bien précise, etce sur une plage de fréquence peu étendue.

Un déphaseur variable a ensuite été implanté sur un translateur piézo-électrique detype PZT, en utilisant un filtre de la forme (5.11) d’ordre 4, dans lequel lesbi sont despolynômes d’ordre 2 en|u(t)|. On présente dans le tableau5.1 les résultats obtenus, enmesurant les critèresMl et Ma en boucle ouverte à l’état naturel et en boucle fermée avecun déphaseur variable, et ce pour différentes fréquences.

Fréquence (Hz) Essai Ml Ma

0.05 BO 33.0584 0.6506BF 29.1565 0.2613

0.1 BO 22.4026 0.3233BF 20.1148 0.0141

0.5 BO 14.5696 0.2554BF 13.4113 0.0814

1.0 BO 4.7247 0.5767BF 4.4709 0.0263

TAB . 5.1 –Comparaison de mesures pour un translateur PZT

On voit alors une réduction notable de l’hystérésis selon les critères présentés. Cetteméthode semble donc fournir des résultats probants, mais présente l’inconvénient majeurde n’être applicable que si l’on connaît précisément le déphasage induit par l’hystérésis,et dans une plage de fréquences relativement réduite qui plus est.

5.2 Synthèse robuste par linéarisation et commande parrégime glissant

Jan et Hwang ont développé dans [12] une méthodologie de synthèse robuste adaptéeau cas d’un actionneur piézo-électrique présentant une hystérésis. Le principe consiste

87

Page 88: Rapport Pfe

CHAPITRE 5. REVUE BIBLIOGRAPHIQUE

dans un premier temps à trouver à partir d’une représentation sous forme d’état une trans-formation séparant le système en deux parties respectivement dénommées interne et ex-terne. Cette dernière sera alors linéarisée sous une contrainte de minimisation de l’erreurde suivi d’une trajectoire donnée (sinusoïdale en l’occurence). Dans le même temps, unecommande par régime glissant est définie pour prendre en compte les incertitudes dumodèle. La stabilité globale du système ainsi commandé est prouvée via le critère deLyapunov.

5.2.1 Modélisation

Le modèle choisi pour l’actionneur est le suivant :{mx(t)+bx(t)+kx(t) = k[cv(t)−h(t)] (5.15)

h(t) = µcv(t)− τ|v(t)|h(t)−δv(t)|h(t)| (5.16)

en notantx(t) la position du translateur,m, b, k et c la masse, l’amortissement, la raideuret le gain effectif,h(t) la sortie de l’hystérésis,v(t) la tension appliquée pour générer ladéformation etµ, τ etδ des constantes définissant la forme de l’hystérésis. On choisit alorsle vecteur d’état suivant :

X(t) = [x(t) x(t) h(t) v(t) v(t)]T (5.17)

On peut ensuite mettre (5.15) et (5.16) sous forme de représentation d’état avec lesnotations usuelles : {

X(t) = A(X)+B(X)u(t)y(t) = CTX(t) (5.18)

avec les matrices d’étatA, B etC définies ainsi :

A(X) =

x2(t)

−[kx1(t)+bx2(t)−kx3(t)−kcx4(t)]/mµcx5(t)− τ|x5(t)|x3(t)−δx5(t)|x3(t)|

x5(t)0

B(X) = [0 0 0 0 1]T

C = [1 0 0 0 0]T

(5.19)

On suppose enfin que l’on peut décrire les incertitudes du modèle par :

A(X) = A(X)+∆A(X)B(X) = B(X)+∆B(X) (5.20)

avec A(X) et B(X) les composantes nominales respectives deA(X) et B(X). On sup-pose de plus que l’on peut écrire les incertitudes∆A(X) et ∆B(X) sous la forme suivante(condition dite de "matched uncertainty") :

∆A(X) = B(X)∆a(X) et∆B(X) = B(X)∆b(x) (5.21)

88

Page 89: Rapport Pfe

5.2. SYNTHÈSE ROBUSTE PAR LINÉARISATION ET COMMANDE PAR RÉGIMEGLISSANT

5.2.2 Commande

Les auteurs considèrent ensuite une transformation du système non-linéaire (5.18) viale difféomorphisme suivant :Z(t) = T(X) = [ΨT(X) ΦT(X)], telle que l’on ait :

Ψ(x) = AcΨ(x)+Bcβ−1

0 (Ψ,Φ) (5.22)

×[u(t)−α0(Ψ,Φ)+∆a0(Ψ,Φ)+∆b0(Ψ,Φ)u(t)]Φ(x) = A0(Ψ,Φ) (5.23)

avecΨ(X) ∈ ℜ4, Φ(X) ∈ ℜ. Les fonctionsα0(Ψ,Φ), β0(Ψ,Φ), ∆a0(Ψ,Φ) et ∆b0(Ψ,Φ)

sont les fonctions respectivesα(X) = −∂Ψ4(X)/∂XA(X)∂Ψ4(X)/∂XB(X)

, β(X) =1

∂Ψ4(X)/∂XB(X),

∆a(X) et ∆b(X) évaluées enX(t) = T−1(Z). A0(Ψ,Φ) est la représentation dans les co-ordonnéesx(t) = T−1(z) de∂Φ(X)/∂XA(X). Les matricesAc et Bc sont respectivementégales à :

Ac =

0 1 0 00 0 1 00 0 0 10 0 0 0

, Bc =

0001

(5.24)

Si de plus la condition (5.21) est vérifiée, alors on dit que les équations (5.22) et(5.23) sont mises sous forme normale. On montre que cette forme permet de décomposerle système en une partie externeΨ(X) et une parte interneΦ(X).

En considérant une consignerd(t), les auteurs montrent que l’on peut prendre unmodèle de référence de la forme :

˙Ψ(t) = AcΨ(t)+Bc(KTΨ(t)+k5rd(t + θ)) (5.25)

avecK ∈ℜ4 etk5 constantes choisies de telle sorte que l’on ait|Gm( jω)|= 1 et∠Gm( jω)=−θ, le transfertGm étant égal àGm(s) = CT

c (sI−Ac−BcKT)−1Bck5.

On pose ensuiteΨ(t) = Ψ(x)− Ψ(t), et c’est sur cette erreur de suivi que l’on vaélaborer la commande linéarisanteu de la forme :

u(t) = α0(Ψ,Φ)+β0(Ψ,Φ)u(t) (5.26)

Dans cette dernière expression, ¯u(t) est une commande par régime glissant, définieainsi : on écrit tout d’abord la surface de glissement sous la forme :

s(t) = DTΨ(t) (5.27)

en ayant prisΨ(t) = [Ψ1(t) ˙Ψ1(t) ¨Ψ1(t) Ψ(3)1 (t)] etD = [d4 d3 d2 1]T . Les au-

teurs montrent alors que la commande suivante assure la stabilité du système et une erreurde suivi convenable (majorable en l’occurence) :

u(t) = ueq(t)+ usw(t) (5.28)

89

Page 90: Rapport Pfe

CHAPITRE 5. REVUE BIBLIOGRAPHIQUE

DT

T(.)

[1 1 1 10]

e?�

6

-

-- -

?-

6

˙Ψ = AcΨ+Bc(KTΨ+k5rd)

α =− (∂Ψ4/∂x)A(∂Ψ4/∂x)B β = 1

∂Ψ4/∂x)B

x = A+Buy = CTxu = α+βuCRG

-

ΨΨ

u

α,β

rd

s

CommandeCommande par régime glissant

FIG. 5.4 –Schéma-bloc du dispositif de commande

où :

ueq(t) =3

∑i=1

d5−iΨi+1(t)+KTΨ(t)+k5rd(t + θ) (5.29)

usw(t) = −γ1s(t)+ γ2s(t)

|s(t)|+ξ

1− γ0, γ1,γ2 > 0,ξ≥ 0 (5.30)

Le schéma-bloc représentant l’ensemble du dispositif de commande est représenté surla fig. 5.4.

Cette méthode de commande robuste utilisant de plus une commande par régime glis-sant permet d’obtenir une amélioration notable des performances du système, en termesde suivi de consigne notamment. Il s’agit donc d’un moyen de s’affranchir indirectementdes effets de l’hystérésis, non négligeable dans le cas d’actionneurs piézo-électriques.Toutefois, ces résultats n’ont été obtenus qu’à partir d’une simulation complète du dispo-sitif (actionneur + boucle de commande), et les auteurs précisent que beaucoup de chosesrestent à faire avant de pouvoir implanter une telle commande sur un actionneur réel.

5.3 Commande à structure variable intelligente

On peut enfin mentionner les travaux de Hwang, Jan et Chen ([13]), qui ont réaliséune commande à structure variable améliorée (diteIntelligent Variable-Structure Control)pour actionneur piézo-électrique. Dans un premier temps, une modélisation du système

90

Page 91: Rapport Pfe

5.3. COMMANDE À STRUCTURE VARIABLE INTELLIGENTE

est obtenue sur la base d’un réseau de neurones de la forme :

yn(k) = −m

∑i=1

ai(k−1)y(k− i)+m

∑i=1

bi(k−1)v(k− i) (5.31)

v(k) = N(u,c1,c2,c3) =1+c1(k)c3(k)−z(k)

c1(k)[1+z(k)](5.32)

avecz(k) = e−2c1(k)[u(k)−c2(k)]

Les poidsai(k),bi(k) (1≤ i ≤ m) et c j(k) (1≤ j ≤ 3) sont ajustés via un schéma d’ap-prentissage hors-ligne.

Ensuite, une commande à structure variable discrète améliorée est implantée à par-tir de ce modèle. Les avantages d’une commande à structure variable traditionnelle sontd’une part une réponse rapide sans dépassement, et d’autre part de bonnes performancesen présence de variations des paramètres. Toutefois, le phénomène de réticence ouchatte-ring dû à des commutations rapides de la commande peut être néfaste vis-à-vis de la tenuede l’actionneur. Les auteurs se sont donc efforcés de réduire sensiblement ces commuta-tions, pour aboutir à une commande à structure variable dite intelligente. Contrairementà la méthode présentée auparavant, des essais ont pu être menés sur un dispositif réel, in-cluant un translateurPI P-177.10. Les résultats montrent des performances satisfaisantes,tant sur le point de vue de la réduction d’hystérésis que pour le suivi de consigne.

91

Page 92: Rapport Pfe
Page 93: Rapport Pfe

Conclusion

On a donc au cours de cette étude montré l’intérêt d’actionneurs piézo-électriquesrebouclés en effort pour l’amortissement actif des structures flexibles, au moyen d’undémonstrateur expérimental réalisé auDCSDà partir d’une étude théorique préalable.

Dans un premier temps, on a rappelé les principaux résultats obtenus durant l’étudethéorique, notamment en ce qui concerne la modélisation choisie et les possibilités offertespour la commande. A l’issue de cette partie, on disposait donc d’une structure d’asservis-sement et de trois correcteurs d’ordre 1 et 2, synthétisés à partir d’exigences en termesde bande passante pour le système rebouclé. On a ensuite brièvement présenté le dispo-sitif expérimental MIMOSA, sur le plan de l’architecture matérielle (choix de structuremécanique, contraintes sur les déplacements. . . ) et logicielle (code temps réel et interfaced’acquisition).

Par la suite, on s’est intéressé au fonctionnement de l’asservissement en effort uni-quement, et pour une charge utile rigide (composée d’une seule masse). La comparaisonentre le dispositif réel et le modèle a montré des différences, en termes de stabilité notam-ment. Le comportement du banc MIMOSA a toutefois pu être amélioré par l’ajout d’unfiltre (numérique) sur les mesures. Le principe de base, à savoir l’amortissement actif desvibrations de la charge utile, a pu être validé pour le correcteur le plus simple, consti-tué d’un gain et d’un intégrateur. Enfin, des essais menés sur la configuration nominaledu banc, utilisant le réglage de la boucle interne obtenu auparavant, ont fourni là encoredes résultats quantitativement corrects (à savoir la possibilité effective, conformément à lathéorie, de faire varier la pulsation du mode de la charge flexible en jouant sur le gainmf ict

de la boucle externe), mais ne correspondant pas non plus exactement au comportementdu modèle. En particulier, la plage de variations autorisée pourmf ict est beaucoup plusréduite dans le cas de MIMOSA.

Une explication possible de ces différences serait la présence inévitable de non-liné-arités au niveau du dispositif, et plus précisément du translateur. On songe dans ce casen particulier au phénomène d’hystérésis, inconvénient majeur des actionneurs piézo-électriques, dont la prise en compte approximative dans le modèle a permis de se rap-procher des résultats expérimentaux, en comparant les pulsations des modes flexibles no-tamment. Par la suite, on pourra envisager de modéliser efficacement de tels phénomènes,pour pouvoir éventuellement les prendre en compte dans le calcul de la commande à l’aidede méthodes dédiées comme celles que l’on a pu présenter brièvement.

93

Page 94: Rapport Pfe
Page 95: Rapport Pfe

BIBLIOGRAPHIE

Bibliographie

[1] Daniel ALAZARD . « MIMOSA : Matériaux Intelligents Mis en Œuvre pour la Sus-pension Active ». Rapport Technique, ONERA-DCSD, août 2000.

[2] Daniel ALAZARD et Jean-Pierre CHRÉTIEN. Commande active des structuresflexibles : applications spatiales et aéronautiques. Cours ENSAE, Département Au-tomatique, février 2000.

[3] Daniel ALAZARD et Claude REBOULET. « Table vibrante : dimensionnement etcommande de l’étage HF ». Rapport Technique 2/7997.29, ONERA-DCSD, juin1998.

[4] Daniel ALAZARD et Claude REBOULET. « Table vibrante : dimensionnement etcommande de l’étage HF ». Rapport Technique 1/7997.29, ONERA-DCSD, mars1998.

[5] Alain BUCHARLES et Bernard GIMONET. Identification des systèmes. Cours EN-SAE, Département Automatique.

[6] Patrick CARTON et Jean-Pierre CHRÉTIEN. « Projet de Recherches FédérateurStructures Intelligentes, Banc d’évaluation des matériaux déformables électrique-ment ». Rapport Technique 1/7997.07, ONERA-DCSD, juin 1999.

[7] Patrick CARTON et Jean-Pierre CHRÉTIEN. « Projet de Recherches FédérateurStructures Intelligentes, Caractérisation d’un translateur piézo-électrique en tant quegénérateur d’effort ». Rapport Technique 2/7999.07, ONERA-DCSD, janvier 2000.

[8] Jean-Pierre CHRÉTIEN. « Projet de recherches fédérateur « Structures Intelligentes »- Automatique pour le contrôle des vibrations par actionneurs électrostrictifs ». Rap-port Technique 1/7997.00, ONERA-DCSD, mars 1998.

[9] Juan Manuel CRUZ-HERNÁNDEZ et Vincent HAYWARD . « Phase control approachto hysteresis reduction ».IEEE transactions on control systems technology, 9(1):17–26, 2001.

[10] Alain GAILLET , Jean-Pierre CHRÉTIEN, et Daniel ALAZARD . « Projet de re-cherches fédérateur « Structures Intelligentes » - Amortissement actif des structures :commande et banc expérimental ». Rapport Technique, ONERA-DCSD, décembre2000.

[11] INTELLI MAT. « A guide to intelligent materials, smart structures ».http://www.intellimat.com.

[12] Chau JAN et Chih-Lyang HWANG. « Robust control design for a piezoelectric actua-tor system with dominant hysteresis ». DansIEEE Int. Conf. on Industrial Electro-nics, Control and Instrumentation, pages 1515–1520, Nagoya, Japan, octobre 2000.

95

Page 96: Rapport Pfe

BIBLIOGRAPHIE

[13] Chau JAN, Chih-Lyang HWANG, et Ye-Hwa CHEN. « Piezomechanics using intelli-gent variable-structure control ».IEEE transactions on industrial electronics, 48(1),février 2000.

[14] Sarah LE DREN. « Élaboration de couches épaisses piézoélectriques déposées sursubstrats pour des applications microtechniques». Thèse de doctorat, INSA Lyon,2000.

[15] Physik Instrumente. «Products for micropositioning». Édition E.[16] Sébastien VINCENT. « Étude de la complémentarité d’actionneurs pour la com-

mande active des structures flexibles». Thèse de doctorat, ENSAE, 1996.[17] A. V ISINTIN, éditeur.Models of hysteresis, numéro 286 dans Pitman research notes

in mathematics series. Longman Scientific and Technical, septembre 1993.

96

Page 97: Rapport Pfe

Annexe A

Présentation de l’ONERA et de sesactivités

A.1 L’ONERA

L’Office National d’Etudes et Recherches Aérospatiales (ONERA) est un établisse-ment public scientifique et technique à caractère industriel et commercial, qui a pourmission d’orienter, conduire et valoriser les recherches pour l’industrie aérospatiale. Ilgère en outre le premier parc européen de souffleries. 2000 personnes, dont plus de 1000scientifiques sont répartis dans huit centres en France (voir carteA.1). Leurs activités serépartissent entre domaines porteurs (radar, optique, commande de systèmes. . . ), projetsscientifiques internationaux (Very Large Telescope, accélérométrie ultrasensible à usagespatial, propulsion pour les lanceurs de nouvelle génération, avions du futur comme l’ailevolante ou les avions sans pilote. . . )

Fort de partenariats vers l’amont avec les centres de recherche et les laboratoires uni-versitaires, vers l’aval avec les agences (DGA, CNES, ESA, DGAC. . . ) et les industriels,l’ONERA construit l’Europe de la recherche. Avec la création en 1994 de l’EREA (as-sociation des Établissements de Recherche Européens en Aéronautique), l’ONERA etsix de ses homologues se sont donnés pour objectifs de coordonner leurs projets et leursmoyens. Ainsi, l’alliance franco-allemande ONERA/DLR pour les hélicoptères en est unaxe structurant. Au-delà se poursuivent les coopérations avec la Russie, le Japon (NAL),les Etats-Unis (NASA), Singapour, etc.

L’ONERA prend en compte les enjeux collectifs actuels majeurs : le transport aérien etspatial de demain exige de lutter contre le bruit, de sauvegarder l’environnement terrestre(pollution) et spatial (débris), et d’accompagner la croissance du trafic aérien. L’ONERAs’efforce ainsi de continuer d’accroître les performances des avions, des hélicoptères etdes lanceurs, d’augmenter leur cadence d’exploitation, tout en réduisant les nuisances surl’environnement. Il répond aussi aux nouveaux besoins de la défense, en concevant lesmoyens de surveillance et de veille, ainsi que les systèmes de défense de demain.

Fidèles à leur mission de former les scientifiques de demain, 300 ingénieurs de l’ONE-RA partagent leur savoir en enseignant et en animant des séminaires dans les universités

97

Page 98: Rapport Pfe

ANNEXE A. PRÉSENTATION DE L’ONERA ET DE SES ACTIVITÉS

FIG. A.1 – Implantations des sites de l’ONERA

et les grandes écoles. L’ONERA accueille chaque année de nombreux stagiaires de find’étude ou de DEA, des doctorants, et des post-doc.

A.2 Le centre de Toulouse

Créé en 1968 sous l’appellation CERT (Centre d’Études et de recherches de Tou-louse), le Centre de Toulouse de l’ONERA représente un budget d’environ 225 MF. Ilassure annuellement 300 contrats d’études et participe aux programmes de recherche na-tionaux émanant du ministère de la Défense, du CNES. . . Ses partenaires privilégiés sontles services de l’Etat, les organismes publics, les industriels et l’Union Européenne. S’ap-puyant sur les études amont effectuées en interne ou en partenariat avec les laboratoires derecherche fondamentale, le Centre de Toulouse de l’ONERA mène des études appliquéesorientées par les grands programmes aérospatiaux et de défense ; il coopère avec les entre-prises maîtres d’oeuvre au-delà des simples transferts de technologie, pour déboucher surles applications, et assure un rôle d’expert auprès des services officiels. Il est en outre im-pliqué dans les programmes européens BRITE EURAM, DRIVE, ESPRIT, HCM, JOULEet dans les activités de l’Agence Spatiale Européenne, et participe également à un certainnombre d’expériences internationales à caractère scientifique ou technologique, principa-lement dans le domaine spatial.

Hors du domaine aérospatial, l’ONERA-Toulouse propose ses compétences aux in-dustriels des secteurs de l’énergie, des télécommunications, des transports terrestres. Sonpotentiel humain est de 420 personnes dont 280 ingénieurs et techniciens de recherchespermanents et 90 ingénieurs-doctorants pour une durée de trois ans. Il accueille égalementchaque année plus de 100 stagiaires en cours d’études.

Le site de Toulouse accueille des départements dont l’activité scientifique répond aux

98

Page 99: Rapport Pfe

A.3. LE DCSD

besoins de l’aéronautique, de l’espace et de la défense, qui s’expriment en particulier autravers des conseils d’orientation de chaque discipline. Ces départements sont les sui-vants :

– Modèles pour l’Aérodynamique et l’Energétique (DMAE) ;– Traitement de l’Information et Modélisation (DTIM) ;– Commande des Systèmes et Dynamique du Vol (DCSD) ;– Optique Théorique et Appliquée (DOTA) ;– Electromagnétisme et Radar (DEMR) ;– Environnement Spatial (DESP) ;– Prospective et Synthèse (DPRS).

A.3 Le DCSD

Le Département Commandes des Systèmes et Dynamique du Vol (DCSD) a pour ob-jectif la maîtrise des comportements des systèmes dynamiques complexes dans un spectreextrêmement élargi de domaines d’application. Sont en effet couverts par les compétencesdu DCSD :

– les aéronefs et systèmes aérospatiaux dans leur ensemble, c’est-à-dire avions, héli-coptères, missiles, lanceurs et satellites ;

– les systèmes navals avec principalement les sous-marins et bâtiments de surface ;– les systèmes autonomes (ou télécommandés) de robotique évoluant en environne-

ment aérien, sous-marin ou terrestre (UAV, UUV, UGV -Unmanned Aerial/Under-water/Ground Vehicles) ;

– les grands systèmes de transport terrestre, de trafic aérien, et plus généralement lessystèmes qui nécessitent le recours aux techniques de l’ingénierie et de la logistique.

La mission principale du département est de développer des recherches pour maintenirune grande expertise en commande, conduite de systèmes et mécanique du vol. Il contri-bue en outre à la définition d’expérimentations et d’essais pour la validation de concepts.Les études visent en premier lieu à définir et caractériser les performances des systèmes,à en améliorer la sécurité et à en réduire les coûts. À cela s’ajoutent les travaux sur l’inter-action avec l’environnement (comme par exemple la turbulence de sillage), les analysesde qualités de vol et d’interfaces homme-machine.

Il revient enfin au département d’assurer une mission d’enseignement auprès de grandesécoles d’ingénieurs (SUPAÉRO, École de l’Air. . . ) et de jouer le rôle de laboratoire d’ac-cueil pour les formations doctorales, (formations "Automatique et Informatique Indus-trielle", "Traitement du Signal". . . )

99

Page 100: Rapport Pfe
Page 101: Rapport Pfe

Annexe B

Modèle d’hystérésis sous SIMULINK

Un modèle d’hystérésis a été développé sous forme de S-fonction codée en MATLAB

et implémentée ensuite dans un bloc SIMULINK . Cette fonction, qui a été utilisée dans lessimulations, prend en entrée 4 paramètres :

– la saturationxM ;– le taux d’hystérésistx ;– les coordonnées initialesx0 ety0.

L’algorithme est alors le suivant :

– on repère les coordonnées(xi ,yi) du dernier changement de signe dedx/dt ;– si |x(t)| ≥ xM, alorsy(t) = xM. Sinon,y est calculé par une équation du second

ordre :y(t) = ax(t)2 +bx(t)+c (B.1)

dont les coefficients(a,b,c) sont calculés de la façon suivante :

– la trajectoireB.1 doit passer par le point(xi ,yi) ;– la trajectoire doit passer par le point(xM,xM) ou (−xM,− xM) selon le sens

d’évolution ;– la pente de la trajectoire au point(xi ,yi) vaut(1−2tx/100).

Ceci revient à inverser le système suivant : x2i xi 1±x2

M ±xm 12xi 1 0

abc

=

yi

±yM

1− 2tx100

(B.2)

On donne ci-après le code de la S-fonctionhyster1.m effectuant ces opérations :

1 function [sys,x0]=hyster(t,x,u,flag,sat,taux,xi,yi)%HYSTER S_fonction pour la modélisation d’un hystéresis% SYS=HYSTER(T,X,U,FLAG,SAT,TAUX,XI,YI)%

5 % - SAT Amplitude maximale de l’entrée% - TAUX Taux d’hysteresis (%)% - XI sortie initiale

101

Page 102: Rapport Pfe

ANNEXE B. MODÈLE D’HYSTÉRÉSIS SOUS SIMULINK

% - YI entrée initiale%

10 if flag==0% Description du block% - 0 états continus,% - 7 états discrets :% x(1),x(2): les 2 coordonnées du dernier pt de départ,

15 % x(3) : indicateur de sens d’évolution (-1,0,1),% x(4:6) : les coéfficients de la trajectoire courante,% x(7) : l’abcisse à l’instant précédent (u(n-1)),% - 1 entrée,% - 1 sortie,

20 % - pas de dicontinuité déclarée,% - pas de trannsmission directe déclarée,%sys=[0;7;1;1;0;0];if (abs(yi-xi)>2*taux*sat/100)|(abs(yi)>sat)|(abs(xi)>sat),

25 disp(’Mauvaise initialisation’);endx0=[xi;yi;0;0;1;0;xi];%

elseif abs(flag)==130 sys=[];

%elseif abs(flag)==2% Calcul des étatsus=u;

35 if abs(us)>sat,us=sat*sign(us);end;if (us-x(7))*x(3)<0

% l’abcisse continue dans le même senssys(1)=us;sys(2)=x(4)*us^2+x(5)*us+x(6);

40 sys(3)=sign(us-x(7));b=[sys(2);sys(3)*sat;1-2*taux/100];a=[sys(1)^2 sys(1) 1;sat^2 sys(3)*sat 1;2*sys(1) 1 0];sys(4:6)=inv(a)*b;

elseif (us==x(7))&~(x(3)==0),45 % l’abcisse "s’arrète":

sys(1)=us;sys(2)=x(4)*us^2+x(5)*us+x(6);sys(3)=0;sys(4:6)=x(4:6);

50 elseif (x(3)==0)&~(us==x(7)),% l’abcisse "repart":sys(1)=us;sys(2)=x(4)*us^2+x(5)*us+x(6);sys(3)=sign(us-x(7));

55 b=[sys(2);sys(3)*sat;1-2*taux/100];a=[sys(1)^2 sys(1) 1;sat^2 sys(3)*sat 1;2*sys(1) 1 0];

102

Page 103: Rapport Pfe

sys(4:6)=inv(a)*b;else

sys=x;60 end;

sys(7)=us;%

elseif flag==3% Calcul des sorties

65 sys=x(4)*u^2+x(5)*u+x(6);if x(3)==0,sys=x(2);end;if abs(sys)>sat,sys=sat*sign(sys);end;

end

70

On a représenté sur la figureB.1 la caractéristique en modeXY de cette hystérésis,pour une entrée sinusoïdale d’amplitude 1.2 et un choix de paramètres suivant :xM = 1,tx = 20,x0 = y0 = 0.

−1 −0.8 −0.6 −0.4 −0.2 0 0.2 0.4 0.6 0.8 1

−1

−0.8

−0.6

−0.4

−0.2

0

0.2

0.4

0.6

0.8

1

(x0,y

0)

xM

xM

FIG. B.1 –Caractéristique de l’hystérésis

103

Page 104: Rapport Pfe
Page 105: Rapport Pfe

Annexe C

Estimation de fonction de transfert

On se propose ici de rappeler et de justifier les principales étapes de l’estimation de lafonction de transfert d’un système a priori inconnu à partir de raisonnements fréquentiels.L’ensemble des calculs est implémenté et automatisé sous MATLAB , cependant il importede connaître la signification des paramètres entrant en jeu dans le calcul. On se reporteraà [5] pour plus d’informations sur ce sujet.

C.1 Principe

Supposons un système linéaire inconnu, dont on peut écrire la relation entrée-sortiesous la forme discrète suivante :

y(n) = H(z)u(n)+v(n) (C.1)

avecv(n) bruit sur la mesure. On montre que l’on a dans ce cas une relation entre lespectre de l’entrée et le spectre croisé entrée/sortie :

H(ejω) =Φuy(ω)Φuu(ω)

(C.2)

En principe, le spectre (ou densité spectrale de puissance) et le spectre croisé s’ex-priment à l’aide des transformées de Fourier respectivement des fonctions d’auto et d’in-tercorrélationφuu et φuy

Φuu(ω) =+∞∫−∞

φuu(t)e− jωtdt (C.3a)

Φuy(ω) =+∞∫−∞

φuy(t)e− jωtdt (C.3b)

Le spectre peut également s’exprimer en fonction de la transformée de Fourier dusignal lui-même

Φuu(ω) = limT→+∞

E

{|XT(ω)|2

T

}(C.4)

105

Page 106: Rapport Pfe

ANNEXE C. ESTIMATION DE FONCTION DE TRANSFERT

avecXT(ω) transformée de Fourier d’un échantillon de longueur T du signal

XT(ω) =

+T/2∫−T/2

x(t)e− jωtdt

Or, en pratique, on ne peut réaliser ce passage à la limite étant donné qu’on ne disposeque de signaux de longueur finie. On va donc chercher dans un premier temps à estimerles spectresΦuu et Φuy. On montre ensuite qu’on peut obtenir un estimé du transfertfréquentielH(ejω) sous la forme :

H(ejω) =Φuy(ω)Φuu(ω)

(C.5)

C.2 Le périodogramme

C.2.1 Définition

Un premier estimateur envisageable du spectre est le périodogramme :

PN(ω) =1N|X(ω)|2 (C.6)

oùX(ω) représente la transformée de Fourier d’une séquence de longueur N du signal

X(ω) =N−1

∑n=0

x(n)e− jωn (C.7)

En fait, il s’agit d’un mauvais estimateur : d’une part, il est biaisé :

E[PN(ω)] =12π

+π∫−π

Φxx(θ)WT(ω−θ)dθ

oùWT(ω) est la transformée de Fourier d’une fenêtre triangulaire

WT(ω) =1N

(sin(ωN/2)sin(ω/2)

)2

et d’autre part, il n’est pas consistant (i.e. sa variance ne tend pas vers 0). Il convientdonc de modifier légèrement ce périodogramme afin de se ramener à un estimateur plussatisfaisant.

106

Page 107: Rapport Pfe

C.2. LE PÉRIODOGRAMME

C.2.2 Moyenne de périodogrammes

On peut réduire dans un premier temps la variance du périodogramme en faisant lamoyenne d’estimés indépendants. On découpe donc l’échantillon de départx(n) ; 0≤ n≤ N−1enK segments deM points, avecN = KM. On calcule ensuite les périodogrammes

P(i)M (ω) =

1M

∣∣∣∣∣M−1

∑n=0

x(i)(n)e− jωn

∣∣∣∣∣2

1≤ i ≤ K (C.8)

pour chaque séquence{x(i)(n) = x(n+(i−1)M) ; 0≤ n≤M−1} 1≤ i ≤ K

périodogrammes dont on fait ensuite la moyenne

Φxx(ω) =1K

K

∑i=1

P(i)M (ω) (C.9)

Ce nouvel estimateur est encore biaisé :

E[Φxx(ω)] = E

[1K

K

∑i=1

P(i)M (ω)

](C.10a)

= E[P(i)M (ω)] (C.10b)

=12π

+π∫−π

Φxx(θ)W′T(ω−θ)dθ (C.10c)

avec

W′T =1M

(sin[ωM/2]sin[ω/2]

)Cependant, si on suppose lesK périodogrammes indépendants, on a :

Var[Φxx(ω)] =1K

Var[PM(ω)]' 1K

Φ2xx(ω)

{1+(

sin(Mω)M sin(ω)

)}(C.11)

La variance deΦxx(ω) apparaît donc comme inversement proportionnelle au nombrede périodogrammes. A l’opposé, on perd en résolution spectrale, étant donné que l’onutilise des échantillons plus courts. Ceci se traduit par un accroissement de la largeur dulobe principal de la fenêtre spectrale, et par une augmentation du biais de l’estimation. Ilfaut donc jouer sur le nombreM de segments pris dans l’échantillon afin de trouver uncompromis entre biais et variance de l’estimé.

C.2.3 Lissage du périodogramme

Une autre méthode consiste à lisser le périodogramme par convolution avec une fe-nêtre spectrale adaptée :

Φxx(ω) =12π

+π∫−π

PN(θ)W(ω−θ)dθ (C.12)

107

Page 108: Rapport Pfe

ANNEXE C. ESTIMATION DE FONCTION DE TRANSFERT

oùW(ω) représente le spectre de la fenêtre de convolutionw(n), de durée(2P−1) points.La densité spectrale de puissance étant une fonction non-négative de la fréquence, onchoisira plutôt une fenêtre telle queW(ω) soit positif. On a alors :

E[Φxx(ω)] =12π

+π∫−π

E[PN(θ)]W(ω−θ)dθ (C.13a)

' 12π

+π∫−π

Φxx(θ)W(ω−θ)dθ (C.13b)

si P est petit devant N.

Une augmentation de la largeur de la fenêtre spectrale conduit à un lissage supplé-mentaire du spectre et réduit la résolution en fréquence de l’estimé spectral. Pour ce quiest de la variance, on a :

Var[Φxx(ω)]' 12πN

+π∫−π

Φ2xx(θ)W2(ω−θ)dθ (C.14)

Si la fenêtre spectrale est étroite par rapport aux variations du spectre, on peut alors écrire :

Var[Φxx(ω)]'

{1N

P+1

∑p=−(P−1)

w(m)

}Φ2

xx(ω) (C.15)

On peut montrer qu’en choisissantw(0) = 12π

+π∫−π

W(ejω)dω = 1, l’estimateurΦxx(ω) est

asymptotiquement non biaisé. La variance du périodogramme lissé diffère quant à elle de

celle du périodogramme simple d’un facteur1N ∑P−1

p=−(P−1) w2(p) = 12πN

+π∫−π

W2(ω)dω

C.3 Méthode de Welch

La méthode de Welch consiste à combiner les deux techniques précédentes, en dé-coupant l’échantillon de départ enK segments de longueurM, en appliquant à chacun lafenêtrew(n), et en calculant le périodogramme pour chaque segment

PM(ω) =1

MU

∣∣∣∣∣M−1

∑n=0

x(i)(n)w(n)e− jωn

∣∣∣∣∣2

(C.16)

avecU =1M

M−1

∑n=0

w2(n).

On calcule ensuite la moyenne desK périodogrammes obtenus :

Φxx(ω) =1K

K

∑i=1

PM(ω) (C.17)

108

Page 109: Rapport Pfe

C.4. ESTIMATION DU SPECTRE CROISÉ

On a alors pour l’espérance et la variance :

E[Φxx(ω)] =12π

+π∫−π

Φxx(θ)W(ω−θ)dθ (C.18)

avecW(ω) =1

MU

∣∣∣∣∣M−1

∑n=0

w(n)e− jωn

∣∣∣∣∣2

Var[Φxx(ω)]' 1K

Φ2xx(ω) (C.19)

La variance obtenue est identique à celle trouvée pour un moyennage de périodo-grammes accompagné d’un lissage du spectre. On peut également introduire un recou-vrement des différents segments, ce qui augmente leur nombre totalK et diminue doncla variance. Par contre, les périodogrammes ne sont plus indépendants. Le gain sur la va-riance du spectre estimé est appréciable jusqu’à un recouvrement de 50%, valeur au-delàde laquelle les améliorations sont plus limitées.

C.4 Estimation du spectre croisé

Ajoutons enfin que les méthodes vues jusqu’ici pour l’estimation de la densité spec-trale de puissance peuvent aussi s’appliquer à de légères modifications près pour l’esti-mation du spectre croisé de deux signauxx(t) et y(t). On définit dans ce cas un périodo-gramme croisé :

Pxy,N(ω) =1N{Y(ω)X∗(ω)} (C.20)

en notant∗ la conjugaison complexe. Les opérations de moyennage et de lissage s’ap-pliquent ensuite de la même façon. Si on veut se placer à nouveau dans le cadre de pério-dogrammes moyennés, l’estimateur du spectre croisé est alors donné par :

Φxy(ω) =1K

K

∑i=1

Pxy,M(ω) (C.21)

On montre que l’on peut également écrire :

Var[|Φxy(ω)|

]'|Φxy(ω)|2

2K

(1

γ2xy(ω)

+1

)(C.22)

Var{Arg(Φxy(ω))} ' 12K

(1

γ2xy(ω)−1

)(C.23)

avecγ2xy(ω) =

|Φxy(ω)|2

Φxx(ω)Φyy(ω), appelé cohérence des deux signaux.

109

Page 110: Rapport Pfe
Page 111: Rapport Pfe

Annexe D

Code temps réel MimoLette.c

1 /*--------------------------------------------------------------------*//* S Fonction permettant de tester les correcteurs du systeme Mimosa *//* Cette fonction doit permettre une acquisition des biais par une *//* lecture des sorties initiales des capteurs installes sur la maquette *//* Un biais de force et un biais d’acceleration. *//* A l’issue de chaque essai on doit etre capable d’effectuer une *//* mesure des nouveaux biais parce que l’on a changer la configuration *//* de l’experimentation en rajoutant une masse par exemple. *//* Le nombre des entrees sera de 4 : */

10 /* deux entrees analogiques pour l’acquisition *//* des valeurs courantes de l’effort et de l’acceleration. *//* Une troisieme reliee a un bouton poussoir start stop *//* une quatrieme pour l entree de la masse virtuelle a enlever *//* En sortie 5 sorties, groupees par groupe de sorties logiques et *//* analogiques. *//* Pour les sorties logiques une seule correspondant au signal de *//* debut de l enregistrement, lors que la masse additionnelle est *//* vraiment separee de l’electroaimant. *//* Pour les sorties analogiques, trois sorties utiles, */

20 /* variations des efforts, variations des acccelerations, commande *//* du piezo et deux sorties moins utiles, les valeurs instantanees *//* des biais effort et acceleration. *//*--------------------------------------------------------------------*//* Auteur : A.Gaillet. *//* Date de derniere modif : 05/07/02 *//*--------------------------------------------------------------------*//* Les cinq entrees sont regroupees sur un meme port le port 0 *//* Ce sont des entrees de type analogique. *//* Entree 1 : la mesure de l’effort */

30 /* Entree 2 : la mesure de l’acceleration *//* Entree 3 : le signal start stop *//* Entree 4 : la masse virtuelle a retracter sur la masse effective *//* Entree 5 : la mesure de la commande recue par le generateur HT et *//* mesuree sur le moniteur du generateur 12 12 2001 *//*--------------------------------------------------------------------*/

111

Page 112: Rapport Pfe

ANNEXE D. CODE TEMPS RÉEL MIMOLETTE.C

/* Les sorties sont regroupees sur deux ports *//* Port 0 qui regroupe 3 sorties : la variable logique de lancement *//* enregistrement et les deux valeurs des biais mesures *//* Port 1 qui regroupe 4 sorties les variations */

40 /* des efforts intermasses sortie 1 , les variations des *//* accelerations sortie 2, la commande du piezo sortie 3 *//* l entree effectivement prise en compte par le gene HT sortie 4 *//*--------------------------------------------------------------------*//* Inclusion des definitions de base indiquees par C.Lambert. */

#define S_FUNCTION_LEVEL 2#define S_FUNCTION_NAME MimoLette

/* Inclusion des headers du systeme dspace */50

#include "simstruc.h"#include "stdio.h"#include "math.h"

/* On definira ici les variables non statiques */

real_T TempsLacher = 0.01; /* Temps necessaire pour avoir un lachereffectif de la masse additionnelle. */

/* int NbAcquiMax = 2000; */ /* Nombre d’acquisitions necessaires60 pour estimation du biais */

int index; /* Un index tout bete qui sert a initialiserdes variables */

/* On definira si besoin est les variables statiques ici */

int Log_Start; /* On demarre si Log_Start est egal a 1et on arrete si Log_Start est nul */

int Log_BiaisOK = 0.; /* Les biais sont enregistres si Log_BiaisOK = 1 */70 int Log_Lacher = 0.; /* Commande de lacher de l’electro */

int Log_LacherOK = 0.; /* la masse est lachee...... */

int Log_InitFiltre = 0.; /* Teste si les mesures à t=-1 ont été faites(pour initialiser le filtre) */

int NbAcquiBiais; /* Ce nombre est le nombre d’acquisitionscourantes pour l’estimation des biais */

int NbPasPourLacherOK; /* Nombre de pas necessaire pour effectivement80 assurer un lacher de la masse additionnelle */

static int NbPasTempsLacher; /* Nombre de pas d integration courant pourobtenir un lacher de la masse additionnelle */

static real_T PAS_INTEGRATION = 0.001;/* On fixe ici le pas d’integration de la MimoLette. */

112

Page 113: Rapport Pfe

static real_T GainAdaptEff = 750.*10./5.122; /* Gain de la chaine EffortCe gain est caracteristique du capteur d’effort utilise */

/* static real_T GainAdaptAccel = 9.81*10./(1.95*1.); */90 /* Gain de la chaine Acceleration

Ce gain est caracteristique de l’accelerometre utilise */

static real_T GainAdaptAccel = (1.*10.)/(100.E-3); /* Nouvel accéléro */

static real_T GainIntCmde = 10000.; /* Gain entre variable interne commandetension et deplacement piezo requis

Pour un deplacement de 100 microns on doit avoirune commande en entree du convertisseur DA de 1 */

static real_T RaideurRda = 5.10E+05; /* Raideur du ressort attache au100 piezo et mesuree lors des essais 13 12 2001 */

real_T SomMesEffort; /* Sommateur des mesures des efforts */real_T SomMesAccel; /* Sommateur des mesures des accelerations */

real_T Ana_BiaisForce; /* Valeur du biais d’effort mesure en N */real_T Ana_BiaisAccel; /* Valeur du biais d’acceleration mesure en m/s^2 */

real_T Var_ForceInter; /* Variations de la force autour de la valeurdu biais mesure */

110 real_T Var_AccelM1; /* Variations de l’acceleration autour de la valeurdu biais mesure */

real_T MassVirt; /* Delta de masse virtuelle a simuler */real_T ForceMassVirt; /* Variation d effort due a la masse virtuelle */

/* Etablissement des gains du correcteur */

/* (Correcteur complet) *//* static real_T KCorEcart[3] = {3.667e-5,-7.224e-5,3.557e-5};

120 static real_T KCorSorti[2] = {1.996,-0.9958}; */

/* Correcteur intermédiaire (discretisation ’zoh’) *//* static real_T KCorEcart[2] = {1.098e-6,-1.098e-6};static real_T KCorSorti[2] = {1.996,-0.9958}; */

/* Simple intégrateur */static real_T KCorEcart[1] = {1.13e-6};static real_T KCorSorti[1] = {1.0};

130/* Filtre sur les mesures (passe-bas 1er ordre à 2*pi*100 rad.s-1) */static real_T FiltreMesuEntree[1] = {0.4665};static real_T FiltreMesuSortie[1] = {0.5335};

113

Page 114: Rapport Pfe

ANNEXE D. CODE TEMPS RÉEL MIMOLETTE.C

/* Definition des limites haute et basse des deplacements piezo */

static real_T LimBasseDep = -25.E-06; /* Limite basse deplacement */static real_T LimHauteDep = 75.E-06; /* Limite haute deplacement */

140/* Tailles des entrees pour la recurrence et des sorties */

static real_T Ecart[3]; /* Dimension du vecteur des entrees */static real_T CmdePiezo[3]; /* Dimension du vecteur des sorties */

static real_T Ana_MesuForce[2];/* Dimension du vecteur d’entree filtre effort */static real_T Ana_MesuForceFiltre[2];/* Dimension du vecteur de sortie filtre effort */

150static real_T Ana_MesuAccel[2]; /* idem pour l’accélération */static real_T Ana_MesuAccelFiltre[2];

/* Declaration des pointeurs sur les vecteurs d entree et de sortie */

InputRealPtrsType PtrInputOne; /* Pointeur sur les pointeurs des entrees */

160 real_T *OutOne; /* Pointeur sur le vecteur de sortie logique */real_T *OutTwo; /* Pointeur sur le vecteur de sortie analogique */

/*-- Fonction Initialisation des entrees et des sorties */static void mdlInitializeSizes(SimStruct *LaLaItou){ssSetNumSFcnParams(LaLaItou, 0); /* Nombre de parametres attendus */if( ssGetNumSFcnParams(LaLaItou) != ssGetSFcnParamsCount(LaLaItou)){

return;}

170ssSetNumContStates(LaLaItou, 0);ssSetNumDiscStates(LaLaItou, 0);

/* Nombre de ports d’entree */

if(!ssSetNumInputPorts(LaLaItou,1)) {return;

}

180 /* le seul port regroupe les entrees du type analogique */

ssSetInputPortWidth(LaLaItou, 0, 5); /* Input port 0 est de dimension 5

114

Page 115: Rapport Pfe

l’entree 1 est la mesure de l’effortl’entree 2 est la mesure de l’accelerationet la troisieme est le signal du departle quatrieme pour la masse virtuelle a enlevera la masse reelle M1le cinquieme est la mesure de la commande effectivementenvoyee sur le piezo (au niveau du gene HT) */

190

ssSetInputPortDirectFeedThrough(LaLaItou, 0, 1); /* Validation du port 0 */

/* Nombre de ports de sortie */

if(!ssSetNumOutputPorts(LaLaItou,2)) {return;

}

200 /* le premier port regroupe 4 sorties 2 logiques et deux analogiques */

ssSetOutputPortWidth(LaLaItou,0,4); /* Output port 0 de dimension 4deux sorties logiques : la commande del’electroaiment et le declenchementde l’enregistrement des variables et deuxvariables analogiques, les deux valeurs des biaisd’effort et d’acceleration */

/* le second port regroupe les sorties de type analogique */210

ssSetOutputPortWidth(LaLaItou,1,4); /* Output port 1 de dimension 4la premiere sortie est la mesure des variations de l’effort entre les massesla seconde est la mesure des variations de l’acceleration de la masse M1la troisieme est la commande du piezoet la quatrieme est la commande mesuree prise en compte par le generateur HT */

/* Ne faut il pas valider comme pour les inputs les output ports ? */

ssSetNumSampleTimes(LaLaItou,1); /* On active la Sfonction lors de chaque220 iteration */

ssSetNumRWork(LaLaItou,0);

ssSetNumIWork(LaLaItou,0);

ssSetNumPWork(LaLaItou,0);

ssSetNumModes(LaLaItou,0);

230 ssSetNumNonsampledZCs(LaLaItou,0);

115

Page 116: Rapport Pfe

ANNEXE D. CODE TEMPS RÉEL MIMOLETTE.C

ssSetOptions(LaLaItou,0);

}

/* Une autre fonction : Initialisation du modele simulink */

static void mdlInitializeSampleTimes(SimStruct *LaLaItou)

240 {

ssSetSampleTime(LaLaItou, 0,PAS_INTEGRATION);

ssSetOffsetTime(LaLaItou, 0, 0.0);

/* Calcul du nombre de pas d’integration pour assurerle lacher de la masse */

NbPasPourLacherOK = TempsLacher/PAS_INTEGRATION;250

}

/* On y mettra quelque chose lorsqu’on aura quelque chose a y mettre */

#define MDL_START#if defined(MDL_START)static void mdlStart(SimStruct *LaLaItou){

260NbPasTempsLacher = 0; /* On n’a pas encore commence a lacher la bride */Log_Lacher = 0; /*On lache la masse additionnelle si cette

variable est a 1 */Log_LacherOK = 0; /* Initialisation de la variable de lacher */

/* Initialisation des sommateurs force et acceleration pour le calculdes moyennes */

270SomMesEffort = 0.;SomMesAccel = 0.;

/* Initialisation des differents de la recurence dans la commande */

for (index = 0; index <= 3; index++) {Ecart[index] = 0.;CmdePiezo[index] = 0.;

}280

116

Page 117: Rapport Pfe

Ana_MesuForce[0] = 0.;Ana_MesuForceFiltre[0] = 0.;

Ana_MesuAccel[0] = 0.;Ana_MesuAccelFiltre[0] = 0.;

Ana_BiaisForce = 0.;Ana_BiaisAccel = 0.;

290 /* Initialisation du nombre de mesures effectueen vue du calcul du biais */

NbAcquiBiais = 0;

PtrInputOne = ssGetInputPortRealSignalPtrs(LaLaItou, 0);

/* Instanciation du pointeur sur les sorties du module */

OutOne = ssGetOutputPortRealSignal(LaLaItou, 0);300 OutOne[0] = Log_Lacher;

OutOne[1] = Log_LacherOK;

OutTwo = ssGetOutputPortRealSignal(LaLaItou, 1);}#endif

/* Calcul des sorties de la S fonction : c’est la fonction essentielle */

310 static void mdlOutputs(SimStruct *LaLaItou, int_T tid)

{

/* Ajout d un signal de depart et d arret de la manipulation */

Log_Start = *PtrInputOne[2]; /* Affectation du flag depart stop */MassVirt = *PtrInputOne[3]; /* Lecture du delta de masse virtuelle */

if( Log_Start == 1 ) {320

/* Ici on attaque vraiment la partie utile de la Sfonction *//* Signaux analogiques */

if(Log_InitFiltre == 0) {Log_InitFiltre = 1;Ana_MesuForce[1] = *PtrInputOne[0]*GainAdaptEff;Ana_MesuForceFiltre[1] = *PtrInputOne[0]*GainAdaptEff;Ana_MesuAccel[1] = *PtrInputOne[1]*GainAdaptAccel;Ana_MesuAccelFiltre[1] = *PtrInputOne[1]*GainAdaptAccel;

117

Page 118: Rapport Pfe

ANNEXE D. CODE TEMPS RÉEL MIMOLETTE.C

330/* On initialise les valeurs du filtre pour t=-1 avec une mesurepour éviter l’erreur sur le calcul du biais due au tempsde réponse du filtre */}else {

if(NbAcquiBiais < NbAcquiMax) {

/* Valeur du biais d’effort mesure en N */340 Ana_MesuForce[0] = *PtrInputOne[0]*GainAdaptEff;

/* On filtre la mesure d’effort */Ana_MesuForceFiltre[0] = FiltreMesuEntree[0]*Ana_MesuForce[1]+ FiltreMesuSortie[0]*Ana_MesuForceFiltre[1];SomMesEffort = SomMesEffort + Ana_MesuForceFiltre[0];

/* Décalage entrée et sortie du filtre */Ana_MesuForce[1] = Ana_MesuForce[0];Ana_MesuForceFiltre[1] = Ana_MesuForceFiltre[0];

350/* Valeur du biais d’accélération mesure en m/s^2 */Ana_MesuAccel[0] = *PtrInputOne[1]*GainAdaptAccel;/* On filtre la mesure d’accélération */Ana_MesuAccelFiltre[0] = FiltreMesuEntree[0]*Ana_MesuAccel[1]+ FiltreMesuSortie[0]*Ana_MesuAccelFiltre[1];SomMesAccel = SomMesAccel + Ana_MesuAccelFiltre[0];

/* Décalage entrée et sortie du filtre */Ana_MesuAccel[1] = Ana_MesuAccel[0];

360 Ana_MesuAccelFiltre[1] = Ana_MesuAccelFiltre[0];

/* Logique d’acquisition des biais */

NbAcquiBiais = NbAcquiBiais + 1;}else {

if (Log_BiaisOK == 0) {370

Log_BiaisOK = 1; /* les biais peuvent etre calcules */

Ana_BiaisForce = SomMesEffort/NbAcquiMax;

/* Correction du biais de la masse d excitation */Ana_BiaisForce = Ana_BiaisForce - 9.51;

118

Page 119: Rapport Pfe

Ana_BiaisAccel = SomMesAccel/NbAcquiMax;380

OutOne[2] = Ana_BiaisForce;OutOne[3] = Ana_BiaisAccel;

/* printf(" Acquisition des biais : OK \n"); */}else {/* Maintenant on peut lache la masse additionnelle automatiquement */

Log_Lacher = 1;390 OutOne[0] = Log_Lacher; /* on active l’electroaimant :

on largue tout */

if ( Log_LacherOK != 1 ) {if(NbPasTempsLacher < NbPasPourLacherOK) {

NbPasTempsLacher = NbPasTempsLacher + 1;}else {

Log_LacherOK = 1;OutOne[1] = Log_LacherOK; /* Sortie logique affectee a

400 Log_LacherOK */}

}else {/* Calcul des variations des efforts et accelerations

autour des biais force et acceleration */

Ana_MesuForce[0] = *PtrInputOne[0]*GainAdaptEff ;/* On filtre la mesure d’effort */Ana_MesuForceFiltre[0] = FiltreMesuEntree[0]*Ana_MesuForce[1]

410 + FiltreMesuSortie[0]*Ana_MesuForceFiltre[1];Var_ForceInter = Ana_MesuForceFiltre[0] - Ana_BiaisForce;

Ana_MesuAccel[0] = *PtrInputOne[1]*GainAdaptAccel ;/* On filtre la mesure d’accélération */Ana_MesuAccelFiltre[0] = FiltreMesuEntree[0]*Ana_MesuAccel[1]+ FiltreMesuSortie[0]*Ana_MesuAccelFiltre[1];Var_AccelM1 = Ana_MesuAccelFiltre[0] - Ana_BiaisAccel;

420/* Calcul des efforts a exercer pour simuler le delta de masse virtuelle*/

ForceMassVirt = MassVirt*Var_AccelM1;

/* Elaboration de la sortie du correcteur qui attaquele piezo strut. C’est un correcteur precalcule

119

Page 120: Rapport Pfe

ANNEXE D. CODE TEMPS RÉEL MIMOLETTE.C

pour obtenir une dynamique donnee en BF */

430 Ecart[0] = -Var_ForceInter + ForceMassVirt;

/* Avec correcteur complet *//*

CmdePiezo[0] = KCorEcart[0]*Ecart[0] + KCorEcart[1]*Ecart[1]+ KCorEcart[2]*Ecart[2] + KCorSorti[0]*CmdePiezo[1]+ KCorSorti[1]*CmdePiezo[2];*/

/* Avec correcteur intermédiaire */440 /*

CmdePiezo[0] = KCorEcart[0]*Ecart[1] + KCorEcart[1]*Ecart[2]+ KCorSorti[0]*CmdePiezo[1] + KCorSorti[1]*CmdePiezo[2];*/

/* Avec simple intégrateur */

CmdePiezo[0] = KCorEcart[0]*Ecart[1] + KCorSorti[0]*CmdePiezo[1];

CmdePiezo[0] = 0;450

/* Introduction des saturations sur les deplacements */

if (CmdePiezo[0] < LimBasseDep) {CmdePiezo[0] = LimBasseDep;

}else {

if(CmdePiezo[0] > LimHauteDep) {CmdePiezo[0] = LimHauteDep;

460 }else {}

}

/* Decalages des entrees et des sorties pour la prochaine recurrence */

CmdePiezo[2] = CmdePiezo[1];CmdePiezo[1] = CmdePiezo[0];

470 Ecart[2] = Ecart[1];Ecart[1] = Ecart[0];

Ana_MesuForce[1] = Ana_MesuForce[0];Ana_MesuForceFiltre[1] = Ana_MesuForceFiltre[0];

Ana_MesuAccel[1] = Ana_MesuAccel[0];

120

Page 121: Rapport Pfe

Ana_MesuAccelFiltre[1] = Ana_MesuAccelFiltre[0];

480 /* Instanciation des autres sorties du module */

OutTwo[0] = Var_ForceInter; /* Sortie analogique correspondant auxvariations de force */

OutTwo[1] = Var_AccelM1; /* Sortie analogique correspondant auxvariations d’acceleration */

/* Commande correspondante du module commandant les deplacements du piezo */

/* Je suppose ici que les commandes du piezo sont des deplacements du piezo490 dans l’etat actuel de la configuration, les deplacements ne doivent

pas depasser la fourchette -25 microns 75 microns soit une equivalence-0.25 0.75 pour l’entree du convertisseur DA et -2.5 V +7.5 V en sortie*/

/* Le gain machine entre le deplacement requis et la commande en entreedu convertisseur DA est de 10000. GainIntCmde = 10000. */

OutTwo[2] = CmdePiezo[0]*GainIntCmde; /* Commande du piezo cristal *//* OutTwo[2] = Ecart[0]; */OutTwo[3] = *PtrInputOne[4]*RaideurRda/GainIntCmde;

500 }}

}}}

else {NbAcquiBiais = 0; /* On remet un certain nombre de parametres a leurs

valeurs initiales */Log_BiaisOK = 0; /* les biais ne sont pas encore instancies */

510 Log_LacherOK = 0; /* Initialisation de la variable de lacher */

Log_InitFiltre = 0;

OutOne[1] = Log_LacherOK;

Log_Lacher = 0.; /*On lache la masse additionnelle si cette variableest a 1 */

OutOne[0] = Log_Lacher;

520 NbPasTempsLacher = 0;

/* Initialisation des sommateurs force et acceleration pour le calculdes moyennes */

SomMesEffort = 0.;

121

Page 122: Rapport Pfe

ANNEXE D. CODE TEMPS RÉEL MIMOLETTE.C

SomMesAccel = 0.;

/* Initialisation des differents de la recurence dans la commande */

530 for (index = 0; index <= 3; index++) {Ecart[index] = 0.;CmdePiezo[index] = 0.;

}for (index = 0; index <= 1; index++) {Ana_MesuForce[index]=0.;Ana_MesuForceFiltre[index]=0.;Ana_MesuAccel[index]=0.;Ana_MesuAccelFiltre[index]=0.;}

540 Ana_BiaisForce = 0.;Ana_BiaisAccel = 0.;OutTwo[2] = 0.;

}}

/* Une derniere fonction qui termine le tout */

static void mdlTerminate(SimStruct *LaLaItou)

550 {Log_Lacher = 0;OutOne[0] = Log_Lacher;Log_LacherOK = 0;OutOne[1] = Log_LacherOK;Log_BiaisOK = 0;Log_InitFiltre = 0;OutTwo[2] = 0.;return;

}560

/* Pourquoi mettre ces commandes ici ? */

#ifdef MATLAB_MEX_FILE#include "simulink.c"#else#include "cg_sfun.h"#endif

122