28
Centre de compétences en automatisation industrielle et productique asservis Systèmes Volume 6 Asservissements non linéaires J.-M. Allenbach Ecole d’Ingénieurs de Genève Laboratoire dAutomatique N° X Edition 2003

Systèmes asservis

  • Upload
    others

  • View
    8

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Systèmes asservis

Centre de compétences en automatisation industrielle

et productique

asservis

Systèmes

Volume 6

Asservissements non linéaires

J.-M. Allenbach

Ecole d’Ingénieurs de Genève Laboratoire d’Automatique

N° X

Edition 2003

Page 2: Systèmes asservis
Page 3: Systèmes asservis

Asservissements non linéaires Table des matières

Jean-Marc Allenbach TM–1 040425

TABLE DES MATIÈRES CHAPITRE 13 RÉGLAGE CRONE 13.1 INTRODUCTION 13.1.1 Exposé du problème 13.1.2 Modélisation 13.2 PRINCIPE 13.2.1 Exemple de système non stationnaire 13.2.2 Blocage de phase 13.2.3 Gabarit 13.2.4 Effet d'une perturbation 13.2.5 Variation dynamique du paramètre 13.3 DIMENSIONNEMENT 13.3.1 Algorithme 13.3.2 Illustration 13.3.3 Considération globale 13.3.4 Filtre analogique 13.3.5 Filtre numérique 13.A EXEMPLE INDUSTRIEL 13.B SUPPORT LOGICIEL

Page 4: Systèmes asservis

Asservissements non linéaires Table des matières

Jean-Marc Allenbach TM–2 040425

BIBLIOGRAPHIE [1] H. BÜHLER: Conception de systèmes automatiques, PPUR, Lausanne. [2] H. BÜHLER: Electronique de réglage et commande, PPUR, Lausanne. [3] L. MARET: Régulation automatique, PPUR, Lausanne. [4] H. BÜHLER: Systèmes échantillonnés I, PPUR, Lausanne. [5] H. BÜHLER: Systèmes échantillonnés II, PPUR, Lausanne. [6] J. NEYRINCK: Théorie des circuits et systèmes, PPUR, Lausanne. [7] GILLE, DECAULNE ET PELEGRIN: Théorie et calcul des asservissements linéaires,

Dunod, Paris. [8] M. ROSSI: Simulation d'un essieu moteur, EPFL/LEI, Lausanne. [9] O. FÖLLINGER: Regelungstechnik , Hüthig. [10] B. C. KUO: Automatic Control Systems , Prentice-Hall. [11] E. JUCKER: Equations fondamentales des micromoteurs à courant continu avec rotor

sans fer, Portescap, La Chaux-de-Fonds. [12] L. POVY: Identification de processus, Dunod, Paris. [13] L. MARET: Régulation automatique 2, Eivd, Yverdon. [14] J.-M. ALLENBACH: Réglage de système à retard pur, EIG/LAE, Genève. [15] J.-M. ALLENBACH: Réglage de système instable, EIG/LAE, Genève. [16] C. T. CHEN: Analog & Digital Control System Design, Saunders HBJ. [17] W. A. WOLOWICH: Automatic Control Systems, Saunders HBJ. [18] B. C. KUO: Digital Control Systems, Saunders HBJ. [19] M. RIVOIRE, J.-L. FERRIER: Cours d'automatique, Eyrolles, Paris. [20] R. LONGCHAMP: Commande numérique de systèmes dynamiques , PPUR, Lausanne. [21] F. DE CARFORT, C. FOULARD: Asservissements linéaires continus, Dunod, Paris. [22] P. NASLIN: Les régimes variables dans les systèmes linéaires et non linéaires, Dunod,

Paris. [23] W. OPPELT: Kleines Handbuch technischer Regelvorgänge, Verlag Chemie GMBH. [24] E. GROSCHEL: Regelungstechnik, R. Oldenburg, München et Wien. [25] F. MILSANT: Asservissements linéaires – analyse et synthèse, Dunod, Paris. [26] H.GASSMANN: Einführung in die Regelungstechnik, Harri Deutsch, Thun [27] M. KUNT: Traitement numérique des signaux, PPUR, Lausanne. [28] DIVERS PROFESSEURS: Cours de mathématique, EIG, Genève. [29] DIVERS PROFESSEURS: Electronique, EIG, Genève. [30] J.W. HELTON, O. MERINO: Classical Control Using H∞ Methods, Siam,

Philadelpia,1998. [31] J.–B. DECORZENT: Réglage robuste d'ordre non entier, diplôme EIG, Genève, 1996. [32] A. OUSTALOUP: La commande CRONE, Hermès, Paris, 1991. [33] M.ETIQUE: Régulation automatique, eivd, Yverdon,2003. [34] M.ETIQUE: Régulation numérique, eivd, Yverdon,2003.

Page 5: Systèmes asservis

Réglage CRONE

Jean-Marc Allenbach 13–1 030515

CHAPITRE 13: RÉGLAGE CRONE

13.1 INTRODUCTION

13.1.1 Exposé du problème

On désire régler la grandeur physique y d'un système non linéaire.

Fig. 13.1 Système réglé.

Si les caractéristiques du système varient rapidement, de l'ordre de grandeur desvariations dynamiques du système, on ne peut pas appliquer les méthodes linéaires dedimensionnement de régulateur, même pour un régulateur adaptatif. Pour cadrer le problèmedu réglage de systèmes non linéaires, on élabore un modèle qui permet l'étude sans devoirrecourir à un outillage mathématique trop sophistiqué: on décrit le système non linéaire pardes équations différentielles linéaires à coefficients variables au cours du temps. On devraitdonc parler de systèmes non stationnaires.

Un tel système peut aussi être représenté par une fonction de transfert ou une réponseharmonique. La variation d'un paramètre d'une équation différentielle se traduit au niveau dela fonction de transfert par une variation du gain, d'un pôle ou d'un zéro ou de plusieurs de cesvaleurs.

Dans la suite de ce chapitre, on adaptera aux systèmes non stationnaires les méthodeslinéaires développées à la section 8.3. A partir d'un système connu pour la fonction detransfert qui correspond à son fonctionnement nominal, on se propose d'étudier l'impact, sur laréponse harmonique, d'une variation de gain ou de constante de temps.

G ss s s0

1001 0 3 1 0 01 1 0 002

( )( , )( , )( , )

=+ + +

(13.1)

A la section 8.3, on avait tenu les raisonnements de base pour les dimensionnementsautour de la pulsation ω1 pour laquelle le module de la réponse harmonique franchit l'axe demodule 100. On avait appliqué le critère de la marge de phase pour cette pulsation ou celui durapport de pulsation face à celle où se rencontre les pentes asymptotiques de –1 et –2.

On fait tracer la réponse harmonique pour les valeurs nominales (1), pour un gain portéde 100 à 300 (2) et enfin pour une constante de temps dominante 0,3 réduite à 0,1 [s] (3).

G sR( ) G ss( )w e ucm y

+

Page 6: Systèmes asservis

Réglage CRONE

Jean-Marc Allenbach 13–2 030515

100

101

102

103

-300

-200

-100

0Phase[degrés]

100

101

102

103

100

Fréquence [radians/s]

Amplitude

Diagramme de Bode : Go(s)= ------------------------------------------------------------------100(1+0.3*s)*(1+0.01*s)*(1+0.002*s)

1 2

3

3 1,2

ω1

10

10 2

–2

Fig. 13.2 Réponse harmonique du système (13.1) en boucle ouverte.

On constate autour de ω1 que l'impact d'une variation de gain ou d'une variation de lacontante de temps dominante est le même pour le module comme pour la phase de la réponseharmonique.

13.1.2 Modèle de système non linéairePour la suite de l'exposé dans ce chapitre, on modélise un système non linéaire par sa

fonction de transfert rationnelle dont le seul gain est variable au cours du temps. On serappelle ici que la pulsation ω1 est lié au temps de réponse qu'on obtiendra pour le système enboucle ouverte et la marge de phase est liée au dépassement maximal sur la réponse indicielen boucle fermée. Il ressort donc que les variations de ω1 et de la marge de phase induisent desvariations du comportement dynamique du système réglé.

Page 7: Systèmes asservis

Réglage CRONE

Jean-Marc Allenbach 13–3 040329

13.2 PRINCIPE

13.2.1 Exemple de système non stationnaire

On utilise pour exposer le principe du réglage Crone [32] un système à régler du troisième ordre dont seul le gain Ks est variable.

G s Ks s ss s( )

,( , )( , )( , )

=+ + +

2 51 0 02 1 0 008 1 0 0005

(13.2)

Dans un premier temps, on essaye de régler ce système pour sa caractéristique

nominale Ks = 1 avec un régulateur PI réel de façon à obtenir une réponse indicielle apériodique dans un temps de réponse de 90 [ms], sans écart statique. On a choisi d'imposer un zéro du régulateur en –10 par un temps de corrélation d'intégrale de 0,1 [s].

G ss

ss

sR ( )( , ) ,

,=

++

≅+1000 1 0 01

1 1001 0 1

0 1 (13.3)

On en déduit la fonction de transfert en boucle ouverte.

G ss

s s s s02500 1 0 01

1 100 1 0 02 1 0 008 1 0 0005( )

( , )( )( , )( , )( , )

=+

+ + + + (13.4)

10 0 10 1 10 2

10 0

Fréquence [radians/s]

Amplitude

Diagramme de Bode : Go(s)= -----------------------------------------------------------2500*(1+s*0.01)(1+100*s)*(1+2e-2*s)*(1+8e-3*s)*(1+5e-4*s)

( 22.921 , 1 )

10 0 10 1 10 2-250

-200

-150

-100

-50

Phase[degrés]

( 22.921 , -112.7611 ) ϕM = 67,2°

Fig. 13.3 Réponse harmonique du système (13.4) en boucle ouverte. Avec une marge de phase de 67°, on peut attendre un dépassement légèrement inférieur à 4,3 %, donc une allure apériodique. Avec une pulsation ω1 = 22,9 [s–1], on peut attendre un temps de réponse voisin de 70 [ms], en extrapolant à partir du tableau 6A entre le comportement optimal et le comportement sans dépassement. On considère maintenant les variations du système autour de sa valeur nominale.

Page 8: Systèmes asservis

Réglage CRONE

Jean-Marc Allenbach 13–4 040329

Ks ∈ [0,5 2] (13.5)

100

101

102

-250

-200

-150

-100

-50

Phase[degrés]

100

101

102

103

100

Fréquence [radians/s]

Amplitude

Diagramme de Bode : Go(s)= -----------------------------------------------------------2500*(1+s*0.01)(1+100*s)*(1+2e-2*s)*(1+8e-3*s)*(1+5e-4*s)

ϕMi = 78° ϕMs = 55°

ω1i = 12 s–1 ω1s = 40 s–1

Fig. 13.4 Réponse harmonique du système en boucle ouverte (13.4) pour la valeur nominale et les valeurs extrémales. On observe une marge de phase qui varie entre 55° et 78°, ce qui laisse présager selon le tableau 6.A un dépassement entre 10 % et zéro. La pulsation ω1 laisse prévoir un temps de réponse entre 54 et 185 [ms]. On peut essayer de confirmer l'estimation par une analyse dans le lieu des pôles.

-140 -120 -100 -80 -60 -40 -20 0

-40

-30

-20

-10

0

10

20

30

40 Ks = 2

Ks = 0,5

Ks = 1

Fig. 13.5 Lieu des pôles en boucle fermée du système en boucle ouverte (13.4) pour la valeur nominale et celles comprises entre les valeurs extrémales. Le zéro en –100 et les pôles voisins de –120 et (hors figure) –2000 sont négligeables face aux deux principaux. Leur partie réelle nous laisse prévoir un temps de réponse inférieur à 0,1 [s] et un dépassement compris entre 0 % et 10 % (marge de stabilité relative Ψ = 35°).

Page 9: Systèmes asservis

Réglage CRONE

Jean-Marc Allenbach 13–5 040329

On peut vérifier le comportement dynamique à l'aide d'un schéma établi sous Simulink.

0 0.05 0.1 0.15 0.2 0.250

0.2

0.4

0.6

0.8

1

1.2

1.4

Ks 2 1 0,5

Fig. 13.6 Réponse indicielle en boucle fermée du système en boucle ouverte (13.4) pour la valeur nominale et les valeurs extrémales. La vérification en simulation confirme les estimations par la réponse harmonique ou le lieu des pôles. Avec une variation d'un facteur 2 du seul paramètre gain du système à régler, on observe d'importantes variations du comportement dynamique du système réglé. On peut aller du système mou au système oscillatoire. Pour une installation industrielle, une telle variété de comportement n'est en général pas acceptable. 13.2.2 Blocage de phase Pour limiter la variation du comportement en cas de fluctuation des paramètres du système à régler, le principe du réglage CRONE insère un correcteur entre le régulateur et le système à régler. Fig. 13.7 Système réglé incluant un correcteur CRONE. L'objectif de ce filtre CRONE est de corriger la phase pour qu'elle soit constante entre ω1i et ω1s. On escompte ainsi maintenir constante la marge de phase, et par conséquent le dépassement pour toute la plage de variation du paramètre Ks. Le temps de réponse pourra, lui, continuer de varier puisque l'intersection de la réponse harmonique avec l'axe à 100 varie. En fait, on fixe une valeur de marge de phase souhaitée en fonction de l'application, autour de laquelle on accepte une légère fluctuation ∆ϕ. On définit ainsi une sorte de fenêtre délimitée par deux pulsations ω1i et ω1s et une phase de –180° +ϕM±∆ϕ.

G sR( )

G ss( )

w e ucm y

+

G sC( )

Page 10: Systèmes asservis

Réglage CRONE

Jean-Marc Allenbach 13–6 040329

10 0 10 1 10 2

10 0

Fréquence [radians/s]

Amplitude

Diagramme de Bode : Go(s)= ------------------------------------------------------------GC(s)2500*(1+s*0.01)(1+100*s)*(1+2e-2*s)*(1+8e-3*s)*(1+5e-4*s)

10 0 10 1 10 2-250

-200

-150

-100

-50

Phase[degrés]

ϕM = 67,2°

Fig. 13.8 Réponse harmonique du système (13.4) en boucle ouverte incluant un correcteur CRONE. On a essayé d'établir intuitivement un filtre CRONE avec deux pôles pour des pulsations à l'extérieur de la fenêtre et deux zéros à l'intérieur de l'intervalle défini par les pôles:

G ss s

s sC ( )( , )( , )

( , )( , )=

+ ++ +

101 0 06 1 0 007

1 0 07 1 0 0007 (13.6)

100

101

102

103

-160

-140

-120

-100

-80Phase[degrés]

100

101

102

100

Fréquence [radians/s]

Amplitude

Diagramme de Bode : G0(s)= ---------------------------------------------------------------------------25000*(1+s*0.01)*(1+s*0.06)*(1+s*0.007)(1+100*s)*(1+s*0.07)*(1+s*0.0007)*(1+2e-2*s)*(1+8e-3*s)*(1+5e-4*s)

( 207.5432 , 0.99495 ) ( 73.1058 , 0.99613 )

Fig. 13.9 Réponse harmonique du système (13.4) en boucle ouverte incluant le correcteur CRONE (13.6). On est parvenu à bloquer la phase proche de –120° dans l'intervalle de pulsation [73 207]. On peut donc s'attendre à un dépassement qui reste de l'ordre de 5 % pour les variations du paramètre Ks, mais un temps de réponse qui varie entre 10 et 29 [ms].

Page 11: Systèmes asservis

Réglage CRONE

Jean-Marc Allenbach 13–7 040329

0 0.05 0.1 0.15 0.2 0.250

0.2

0.4

0.6

0.8

1

1.2

1.4 Ks 2 1 0,5

Fig. 13.10 Réponse indicielle en boucle fermée du système en boucle ouverte (13.4) pour la valeur nominale et les valeurs extrémales, avec correcteur CRONE (13.6). On constate en effet que l'allure du comportement dynamique reste semblable quel que soit le point de fonctionnement, mais le dépassement est plus important que prévu, mais apériodique, ce qui suggère la présence d'un zéro non négligeable. Le temps de réponse est comme prévu plus court qu'en l'absence du filtre CRONE choisi. On peut imprimer le lieu des racines pour ce système.

-180 -160 -140 -120 -100 -80 -60 -40 -20 0-150

-100

-50

0

50

100

150

Fig. 13.11 Lieu d'Evans en boucle fermée du système en boucle ouverte (13.4) pour la valeur nominale et les valeurs extrémales, avec correcteur CRONE (13.6). On confirme qu'une variation de Ks déplace la paire de pôles dominants le long de la marge de stabilité relative à 45°, induisant une allure semblable de la réponse indicielle. Si le pôle et le zéros réels s'annulent, l'effet des zéros en –100 et –143 n'est pas annulé par le pôle voisin de –120, et n'est pas négligeable. Les autre pôles et zéros sont négligeables, placés loin en dehors de la figure (au-delà de –1000).

Page 12: Systèmes asservis

Réglage CRONE

Jean-Marc Allenbach 13–8 040329

13.2.3 Gabarit Au paragraphe précédent, on a établi un gabarit du filtre de manière un peu opportuniste, puis on a observé le résultat obtenu. Dans la pratique, c'est le comportement dynamique souhaité pour le système réglé qui va dicter les limites du gabarit. Le dépassement souhaité sur la réponse indicielle détermine la marge de phase ϕM ± ∆ϕ. La rapidité souhaitée du réglage détermine l'intervalle de pulsation [ω1i ω1s], en dépendance avec l'intervalle de variation du paramètre. Le gabarit du filtre CRONE est établi à partir de la réponse harmonique en boucle ouverte, ce qui donne un filtre à phase variable.

arg ( ) arg ( )

[ ]G j G jC M

1i 1spourω ω ϕ ϕω ω ω

= − − °+ ±∈

0 180 ∆ (13.7)

arg ( )

[ ]G jC

1i 1spourωω ω ω≅∉

0 (13.8)

L'ouvrage de référence du réglage CRONE [32] aborde le problème avec une tolérance

de phase nulle, ce qui a impliqué une définition mathématique de la dérivée d'ordre non entier. Ici, on entre tout de suite dans l'application concrète par une séquence de pôles et zéros en fonction causale. Si on applique la condition (13.8) aussi pour les pulsations élevées, on impose même le nombre de pôles égal au nombre de zéros.

Il faut aussi veiller à obtenir un gain en boucle ouverte de 1 au milieu de l'intervalle de

fréquence pour la valeur moyenne du paramètre variable.

=

=

1s1i

0C

pour

)(1)(

ωωω

ωω

jGjG

(13.9)

Il faut toutefois rester conscient que le gabarit est construit à partir du critère de la

marge de phase et qu'on est soumis aux mêmes restriction que ce dernier: la validité s'applique à des systèmes qui s'approximent à des systèmes fondamentaux du 2e ordre. L'exemple traité ci-dessus ne vérifie justement pas cette hypothèse par la présence d'un zéro proche des pôles dominants.

On notera encore que si on accepte une marge de phase plus faible, cela implique une pente plus raide du module au franchissement de l'axe de module 100. Cela a pour conséquence qu'une même variation de paramètre nécessite un intervalle de pulsation plus étroit, qui se traduit dans l'espace temps par une moindre dispersion de la rapidité du réglage. 13.2.4 Effet d'une perturbation On a étudié l'effet d'une variation de paramètre sur la régulation de poursuite (changement de consigne), on peut aussi observer les résultats sur une régulation de maintien (action de perturbation). L'étude a porté sur un système pour lequel la fonction de transfert est ouverte par un premier bloc d'ordre1, de gain variable Ks et de constante de temps 0,008. La perturbation s'ajoute à la sortie de ce bloc pour agir sur le reste du système.

Page 13: Systèmes asservis

Réglage CRONE

Jean-Marc Allenbach 13–9 040329

0 0.05 0.1 0.15 0.2 0.25-0.2

0

0.2

0.4

0.6

0.8

1

1.2

0,5

1 2

Ks

Fig. 13.12 Réponse en boucle fermée à une perturbation sur le système en boucle ouverte (13.4) pour la valeur nominale et les valeurs extrémales.

0 0.05 0.1 0.15 0.2 0.25-0.2

0

0.2

0.4

0.6

0.8

1

1.2

0,5

1

2

Ks

Fig. 13.13 Réponse en boucle fermée à une perturbation sur le système en boucle ouverte (13.4) pour la valeur nominale et les valeurs extrémales, avec correcteur CRONE (13.6): T = 0,008 dans le premier bloc. Sans filtre CRONE, on observe une forte dispersion du comportement: mou avec temps de correction très long pour le gain le plus faible et légèrement oscillatoire mais avec une correction nettement plus rapide lorsque le gain est plus élevé. Le filtre CRONE permet de limiter la dispersion des comportements dus aux variation du gain, mais avec un succès moindre: On n'a plus de comportement mou et le temps de correction est raccourci, mais l'écart maximal de réglage accuse encore une grande dispersion, même s'il est considérablement réduit, sauf dans le cas nominal. Lorsque c'est la constante de temps dominante 0,02 qui est dans le premier bloc, on obtient des résultats un peu différents: l'allure du comportement dynamique accuse moins de dispersion, le temps de correction reste à peu près le même, mais l'écart de réglage est plus élevé qu'en absence de filtre CRONE. Ces exemples n'ont pas la prétention d'apporter une réponse exhaustive, mais donnent une bonne indication.

Page 14: Systèmes asservis

Réglage CRONE

Jean-Marc Allenbach 13–10 040329

0 0.05 0.1 0.15 0.2 0.25

-0.4

-0.2

0

0.2

0.4

0.6

0.8

1

1.2

1.4 0,5

1

2

Ks

Fig. 13.14 Réponse en boucle fermée à une perturbation sur le système en boucle ouverte (13.4) pour la valeur nominale et les valeurs extrémales, avec correcteur CRONE (13.6): T = 0,02 dans le premier bloc. 13.2.5 Variation dynamique du système

Pour un système nominal, on applique une variation de consigne. Une fois le régime établi (0,5 [s] plus tard), le gain Ks varie brutalement d'un facteur 2.

0 0.2 0.4 0.6 0.8 10

0.2

0.4

0.6

0.8

1

1.2

1.4

Avec correcteur CRONE

Sans correcteur CRONE

Fig. 13.15 Comportement dynamique en boucle fermée: le système (13.4) varie à t = 0,5 [s]. Une variation si brutale du paramètre est peu réaliste, mais elle permet de constater que le régulateur rattrape plus rapidement l'écart de réglage avec un correcteur CRONE: réduction du temps de correction d'un facteur 3 et de l'écart maximal d'un facteur 2.

Page 15: Systèmes asservis

Réglage CRONE

Jean-Marc Allenbach 13–11 030612

13.3 DIMENSIONNEMENT

13.3.1 Algorithme.

Pour le dimensionnement du filtre CRONE, on adapte un peu le principe décrit auparagraphe 13.2.3. On choisit bien l'intervalle de pulsation et la marge de phase moyenne. Aulieu de choisir la tolérance ∆ϕ, on choisit N valeurs de pulsation comprises dans l'intervalle.

omega k N= [ ]ω ω ω1 � � (13.10)

10 2-118

-117.5

-117

-116.5

-116

-115.5

-115

pulsation [rad/s]

Phase [deg]

PHASE AVEC REGULATEUR CRONE

ω1 ωN ωk

Fig. 13.16 Phase du système réglé dans l'intervalle de pulsation.

La tolérance ∆ϕ est une conséquence du nombre de points choisis et de leur répartitiondans l'intervalle. L'équation (13.7) se transforme en relation exacte pour les N points. Dansl'exemple ci-dessus, on voit que la tolérance n'est pas symétrique par rapport à la marge dephase choisie.

]...1[180))(arg())(arg( Mk0kC NkjGjG ∈+°−−= ϕωω (13.11)

On peut écrire le filtre CRONE comme un filtre polynomial sous la forme d'Evansavec les pôles pCi et les zéros zCj.

G s ks z

s p

j

m

i

nC C

Cj

Ci

( )( )

( )=

=

=

1

1

(13.12)

La réponse harmonique s'établit à partir de la fonction de transfert.

G j kj z

j p

j

m

i

nC C

Cj

Ci

( )( )

( )ω

ω

ω=

=

=

1

1

(13.13)

Page 16: Systèmes asservis

Réglage CRONE

Jean-Marc Allenbach 13–12 030612

La phase introduite par ce filtre peut être écrite en fonction des pôles et zéros.

arg( ( )) arctan( ) arctan( )G jp zi

n

j

m

CCi Cj

ωω ω

= −= =� �

1 1(13.14)

Pour la phase, l'influence d'un pôle négatif (stable) est la même que celle d'un zéropositif; ce qui permet de rassembler pôles et zéros comme un ensemble de racines ri.

p r r et z r rCi i i Ci i ipour pour= < = − >0 0 (13.15)

On peut alors récrire (13.14) aux valeurs de pulsations choisies, pour lesquellesl'argument du filtre est connu par (13.11).

arg( ( )) arctan( )G jr

N n mi

N

C kk

iavecω

ω= = +

=�

1(13.16)

L'équation (13.16) est vraie pour les N valeurs choisies, ce qui nous donne un systèmede N équations à N inconnues qu'il faut résoudre pour déterminer les racines du filtre. Commeces équations ne sont pas linéaires, on essaye de les transformer pour obtenir un système plusaisé à résoudre: on prend la tangente des deux côtés de l'égalité.

tan(arg( ( ))) tan( arctan( ))G jr

ai

N

C kk

ikω

ω= =

=�

1(13.17)

On facilite aussi l'écriture en prenant comme inconnues les inverses des racinesrecherchées. Pour linéariser (13.17), on applique la règle de la somme des arcs pourdévelopper la fonction tangente. On utilise les coefficients de Viète, déjà rencontrés lorsqu'onexprime les coefficients de polynôme à partir de ses racines (10.54).

tan( arctan( ))ωk i k ii

avecx a xri

N

=� = =

1

1(13.18)

av

vp

Nq

Np

pp

p

qq

q

qk

k

k

N N

N

Navec et=

−=

−=

+=

=

( )

( )PE( ) PE( )

( )1

1

12 2

2 10

20

(13.19)

vv x x x

v x x x x x x

v x x xN

k0

k1 k k k N

k2 k k k N-1 N

kN k N

== + + +

= + + +

=

���

���

1

1 22

1 22

1 32

1 2

ω ω ωω ω ω

ω

(13.20)

Pour permettre le calcul, on extrait la partie connue des termes de Viète: les pulsationschoisies élevées à la puissance N.

ikki vv iω= (13.21)

Il ne reste alors plus que N termes à déterminer au lieu de N2.

Page 17: Systèmes asservis

Réglage CRONE

Jean-Marc Allenbach 13–13 030612

av

v

p pp

p

p

q qq

q

qk

k

k

N

N=

++

=

=

( )

( )

1

1

2 12 1

0

22

0

ω

ω(13.22)

vv x x xv x x x x x x

v x x x

0

1 N

2 N-1 N

N N

== + + += + + +

=

���

���

1

1 2

1 2 1 3

1 2

(13.23)

On peut écrire (13.22) sur une ligne.

��==

++ −−−=

NN

12

2kk

012

12kk )1()1(

q

qq

qqp

pp

pp vava ωω (13.24)

On a à résoudre un système de N équations à N inconnues vi: on peut l'écrire sousforme matricielle.

a W v= (13.25)a v( ) ( )k a i v= =k i (13.26)

W

W

( , ) ( )

( , ) ( )

k i i p

k i a i p

p p

q q

= − = +

= − − = +

���

��

+1 2 1

1 2 1

2 1

2

ω

ωk

k k

si

si(13.27)

On peut résoudre (13.25) par calcul matriciel, si W est régulière.

v W a = −1 (13.28)

Les valeurs xi recherchées sont les racines du polynôme (13.29).

( )− −� 1 i N ix vii=0

N(13.29)

En séparant les racines xi–1 en pôles et zéros selon (13.15), la fonction de transfert du

filtre CRONE est déterminée au gain kC près. Il faut encore s'arranger pour que le module dela réponse harmonique en boucle ouverte vaille 1 pour la pulsation centrale de l'intervalle,lorsque le processus se trouve dans son état moyen.

G j G j0 moy C moy

moy2avec

N

( ) ( )log log

ω ω

ωω ω

=

=

��

��

+

1

101 (13.30)

kG j G j

C0 moy Co moy

=1

( ) ( )ω ωavec G j

j z

j p

j

m

i

nCo

Cj

Ci

( )( )

( )ω

ω

ω=

=

=

1

1

(13.31)

Page 18: Systèmes asservis

Réglage CRONE

Jean-Marc Allenbach 13–14 030612

Cet algorithme, par le rassemblement des pôles et zéros en un ensemble de racines, negarantit pas un filtre causal. On peut donc être amené à ajouter un pôle correspondant à despulsations plus élevées que la limite supérieure de l'intervalle. On le placera au moins à unfacteur 10 voire 20 pour que l'effet sur la plage de pulsation considérée soit négligeable.

13.3.2 Illustration.

Pour illustrer notre propos, on reprend l'exemple (13.4), pour lequel on choisit unblocage de phase entre 70 et 210 [rad/s].

omega = [ ]70 110 120 150 210 (13.32)

On lance un calcul avec le logiciel croneEIG.m décrit à l'annexe 13B. Les données dusystème (13.4) pour sa valeur nominale ont été rassemblées dans un fichier MATLAB.

» sys13Bparam»[Numcrone,Dencrone,Nf,Df]=croneEIG(Ns,Ds,NR,DR,marphase,omega,bande);

100

101

102

103

-60

-50

-40

-30

-20

-10

0

10

20

30

Gain dB

MODULE AVEC REGULATEUR CRONE

100

101

102

103

-220

-200

-180

-160

-140

-120

-100

-80

pulsation [rad/s]

Phase [deg]

PHASE AVEC REGULATEUR CRONE

avec

sans

Fig. 13.17 Phase et module du système réglé, on a aussi superposé la réponse harmonique en boucle ouverte sansle filtre CRONE.

Page 19: Systèmes asservis

Réglage CRONE

Jean-Marc Allenbach 13–15 030612

On observe bien le succès de la stratégie de blocage de phase. Pour garantir un gain de1 en boucle ouverte pour 200 [rad/s], on choisit un gain de 10 pour le filtre CRONE. On aobtenu les racines dans la fenêtre de commande MATLAB.

Numi =1.0e+002 *-0.7837 - 0.8916i -0.7837 + 0.8916i -1.9477

Deni =-82.8787 +97.1440i -82.8787 -97.1440i

On a donc obtenu deux pôles conjugués complexes et trois zéros dont deux conjuguéscomplexes. On est précisément dans le cas qui nécessite l'adjonction d'un pôle pour garantir lacausalité du filtre CRONE. On le place à –1000. On essaye en simulation avec un schémaSimulink, dans lequel on importe depuis l'espace de travail MATLAB les paramètres des blocs.

» PolSuppl=[1e-3 1];Dencrone=conv(Dencrone,PolSuppl);Numcrone=10*Numcrone;» regana13cc

0 0.02 0.04 0.06 0.08 0.1 0.12 0.14 0.16-0.2

0

0.2

0.4

0.6

0.8

1

1.2

1.4 2 1 0,5 Ks

Fig 13.18 Réponse indicielle du système réglé.

Les résultats sont assez satisfaisants, très voisins de ceux qu'on avait obtenus avec unfiltre CRONE intuitif à la section 13.2.2. Si on repousse le troisième pôle plus loin, lesrésultats sont encore meilleurs.

13.3.3 Considération globale.

Pour cet algorithme, on constate qu'on peut obtenir des racines réelles ou complexes. Ilfaut toutefois noter que le choix de l'ensemble des pulsations dans l'intervalle a une influencesur les valeurs de racines calculées: il peut être nécessaire de faire plusieurs essais avantd'obtenir un résultat convenable. Le critère de la marge de phase –utilisé dans cet algorithme–sous-entend que les zéros du système en boucle fermée seront négligeables face aux pôlesdominants. L'exemple traité ici est justement un cas où cette hypothèse de départ n'est pasvérifiée.

Page 20: Systèmes asservis

Réglage CRONE

Jean-Marc Allenbach 13–16 030612

13.3.4 Filtre analogique.

Pour la réalisation du filtre CRONE d'ordre n, on peut placer en cascade n filtres APou RP en cascade, lorsque le nombre de pôles est égal au nombre de zéros (fig. 7.B09 et §7.6.3). Un amplificateur final permet d'ajuster le gain à la valeur souhaitée. Si le nombre depôles est plus élevé, on place encore un filtre passe-bas pour chaque pôle supplémentaire. Sion obtient des pôles ou des zéros complexes – cas qui n'est pas rare – il faudra faire appel àdes schémas plus sophistiqués.

13.3.5 Filtre digital

La complexité d'un filtre CRONE est telle qu'on préfère en général l'implanter sur unmicroprocesseur ou un processeur de signal. On veillera à pouvoir garantir une périoded'échantillonnage 5 fois plus courte que la plus petite constante de temps du filtre. Il suffitalors de convertir la fonction de transfert en s du filtre en fonction de transfert en z. Pourl'implantation dans le processeur, on a combiné le régulateur PI et le filtre CRONE avant laconversion en filtre échantillonné.

0 0.02 0.04 0.06 0.08 0.1 0.12 0.14 0.16-0.2

0

0.2

0.4

0.6

0.8

1

1.2

Fig 13.19 Réponse indicielle du système réglé par un régulateur échantillonné combiné PI+CRONE.

Les résultats sont largement les mêmes qu'avec une filtre continu, mais avec de plusgrande facilités d'implantation et de maintenance.

On peut aussi choisir une période d'échantillonnage plus longue, mais son effet n'estplus négligeable sur le comportement: les valeurs supérieures des pôles risquent même deperdre leur sens. Il ne faut pas oublier que la gamme de pulsation choisie en 13.2.3 estdéterminée par le temps de réponse espéré, la période d'échantillonnage doit être en relation,un ordre de grandeur raisonnable est de 20 périodes d'échantillonnage pour le temps deréponse.

Page 21: Systèmes asservis

Réglage CRONE

Jean-Marc Allenbach 13–17 030616

13.A EXEMPLE INDUSTRIEL

13.A.1 Description du processus.

On étudie un usinage par électroérosion en mode "enfonçage". La pièce à usiner etl'électrode mobile baignent dans un liquide diélectrique. On applique entre l'électrode et lapièce une différence de potentiel.

13.A1 Enfonçage.

Un certain temps d'amorçage Td après l'application de l'impulsion, une étincelle éclatede manière stochastique à la surface d'attaque de l'usinage, d'une durée Ta fixée par lacommande. Du côté pièce, la très forte densité de courant provoque une fusion locale de lamatière et la formation d'un canal ionisé dans le diélectrique. A l'interruption de la différencede potentiel, le canal ionisé se collapse. L'onde de choc provoquée éjecte la matière en fusionqui se solidifie en microbilles dans le diélectrique. Un microcratère est formé dans la pièce.

13.A2 Etincelles: profils de tension et de courant.

Les étincelles se succèdent à intervalles réguliers Tb déterminés par la commande, maisà des emplacements aléatoires de la surface. La juxtaposition des cratères entraîne une érosionde la matière, de la forme de l'électrode. On doit veiller à maintenir une bonne qualité desétincelles, comme la première de la figure 13.A2, suffisamment énergétique pour garantir unebonne érosion. Pour cela, il est nécessaire de maintenir régulière une distance – appelée gap –optimale entre la pièce et l'électrode: quelques microns. Le problème est que lescaractéristiques du système varient au cours du temps, avec les propriétés du diélectriquecontaminé par les billes de matière conductrice. Il peut même y avoir localement une fortebaisse de la résistance à cause d'une accumulation de billes.

Par ailleurs, dès que l'électrode a pénétré dans la pièce, on ne peut pas mesurer le gapde manière directe. On utilise une des conséquences du gap qui est le taux d'attente, danslequel seul le temps Td est variable.

électrodepièce enusinage diélectrique

étincelle

Ius

Uus

Td Ta Tb

normales bas niveau court-circuit

t

t

Page 22: Systèmes asservis

Réglage CRONE

Jean-Marc Allenbach 13–18 030616

τ dd

a b d=

+ +T

T T T(13.A1)

En réalité, τd ne mesure pas le gap en microns, mais la valeur qu'il aurait si lediélectrique était propre. Cette particularité aide au réglage puisque c'est la disposition àl'éclatement des étincelles qu'on veut régler.

Les étincelles "bas niveaux" ou "court-circuit" ne sont pas érosives, elles apparaissentlorsque la distance électrique électrode – pièce est trop courte. La commande numérique del'usinage détecte la dégradation de l'usinage et déclenche un retrait de l'électrode. Le brassageainsi provoqué permet à du diélectrique propre de remplir la cavité. L'électrode est ensuitereplongée pour poursuivre l'usinage.

L'installation complète, conçue par la société Charmilles Technologies, est décrite demanière très simplifiée à la figure 13.A3.

13.A3 Boucle de réglage du gap.

On distingue le processus d'électroérosion proprement dit U, avec sa mesure du tausd'attente τd. L'électrode est positionnée à une hauteur pz par une colonne verticale entraînéepar une commande d'axe CA. Le régulateur R délivre à la commande d'axe le signal decommande Ucm, élaboré en fonction de l'écart de réglage Usa. On reconnaît encore legénérateur d'impulsions GI et le dispositif SD de surveillance des défauts.

Les ingénieurs spécialiste de cette machine ont pu la modéliser par un fonction detransfert linéarisée, dont les paramètres sont déterminés par le type d'usinage choisi. Cettefonction de transfert a été calculée pour un gain unité du régulateur P.

G ss

U (s)d

uesa

( )( )

(13.A2)

Il se trouve que le gain en boucle ouverte subit de fortes variations autour de la valeurmoyenne, en fonction de la qualité instantanée du diélectrique. On observe que la marge dephase varie entre +90° et –90°. Si on ferme la boucle dans ces circonstances, le système serapar moment mou et par moment très instable. Pour garantir une stabilité même dans les casextrêmes, il faut réduire le gain d'environ 10 [dB] et adopter un régulateur P de gain 0,3. Enconséquence, à l'autre extrémité, le comportement devient très mou. La réponse harmoniquecorrespondant à (13.A2) est donnée à la figure 13.A4. L'intersection de son module avec l'axeà 0 [dB] couvre un large intervalle de fréquence.

R CA U

SD

GI

τdref

τd

+

Usa Ucm

Uus

pz1

Page 23: Systèmes asservis

Réglage CRONE

Jean-Marc Allenbach 13–19 030616

101

102

103

-40

-30

-20

-10

0

10

20

frequence [Hz]

Gai

n [d

B]

MODULE AVEC REGULATEUR DE GAIN 1

101

102

103

-350

-300

-250

-200

-150

-100

-50

0

Pha

se [d

eg]

PHASE AVEC REGULATEUR DE GAIN 1

13.A4 Réponse harmonique en boucle ouverte de la chaîne d'usinage par enfonçage, aux valeurs moyenne (traitcontinu) et extrêmes (traits interrompus).

13.A.2 Application d'un filtre CRONE.Le problème présenté semble bien se prêter à la mise en place d'un blocage de phase

par filtre CRONE dans la plage de fréquences ou le module croise l'axe à 0 [dB]. On a puappliquer l'algorithme CRONE programmé en MATLAB pour ce cas. On a testé plusieursintervalles de fréquence et plusieurs choix de fréquence dans cet intervalle. On observe bien àla figure 13.A5 la variation de phase bornée entre 30° et 50° pour la plage de fréquence entre30 et 80 [Hz]. Ce dimensionnement a été testé en réponse indicielle sur une simulation assezfidèle du processus complet, qui tourne sur Simulink.

Dans un second temps, on a ouvert la boucle d'une installation réelle au niveau dusignal Usa, et on y a inséré un processeur de signal dans lequel on a téléchargé les valeurs defiltre calculées par l'algorithme CRONE (fig. 13.A6), et compilées depuis un fichier MATLABpar un logiciel approprié. Le filtre de la figure 13.A7 correspond à la meilleure performanced'usinage obtenue, présentée à la figure13.A8 en comparaison avec un usinage sans filtre.

Page 24: Systèmes asservis

Réglage CRONE

Jean-Marc Allenbach 13–20 030616

101

102

103

-40

-30

-20

-10

0

10

20

frequence [Hz]

Gai

n [d

B]

MODULE DU REGULATEUR CRONE pour [31.831 79.5775]

101

102

103

-350

-300

-250

-200

-150

-100

-50

0

Pha

se [d

eg]

PHASE DU REGULATEUR CRONE pour [31.831 79.5775]

13.A5 Réponse harmonique en boucle ouverte de la chaîne d'usinage par enfonçage, avec filtre CRONE, auxvaleurs moyenne (trait continu) et extrêmes (traits interrompus): essai d'exploration.

13.A6 Boucle de réglage du gap avec filtre CRONE inséré.

R CA U

SD

GI

τdref

τd

+

Usa Ucm

Uus

pz

DSPPC

Page 25: Systèmes asservis

Réglage CRONE

Jean-Marc Allenbach 13–21 030616

1 01

1 02

1 03

- 4 0

- 3 0

- 2 0

- 1 0

0

1 0

2 0

fre q u e n c e [Hz]

Ga

in [

dB

]

M O D UL E D U R E G UL A T E UR C R O NE p o u r [4 4 .9 9 3 1 1 0 4 .9 9 9 3 ]

1 01

1 02

1 03

-3 5 0

-3 0 0

-2 5 0

-2 0 0

-1 5 0

-1 0 0

- 5 0

0

fre q u e n c e [Hz]

Ph

ase

[d

eg

]

P HA S E D U R E G UL A T E UR C R O NE p o u r [4 4 .9 9 3 1 1 0 4 .9 9 9 3 ]

13.A6 Réponse harmonique en boucle ouverte de la chaîne d'usinage par enfonçage, avec filtre CRONE, auxvaleurs moyenne (trait continu) et extrêmes (traits interrompus): meilleur essai.

Les essais pratiques ont été menés sur une pièce d'acier de qualité W300 jusqu'à uneprofondeur de 3,5 [mm], avec une électrode de cuivre de 7,3 [mm] de diamètre. Le régimed'usinage choisi est appelé E 373 chez le constructeur, la consigne de taux d'attente τd est de0,3 et le gap correspondant est voisin de 40 [µm]. On a mesuré l'écart de réglage Usa et laposition verticale pz de l'électrode. D'autres dimensionnements ont été calculés pour adapter àla machine réelle. Il faut à la fois garantir une bonne stabilité du gap pendant environ 0,1 [s] etaussi un bon suivi lors du recul pendant le repos qui sépare deux séries d'impulsionsconsécutives.

Par rapport aux premiers essais, il a fallu un peu élargir l'intervalle de fréquences. Pourcet exposé sur un exemple concret, on a préféré conserver les mesures en fréquence plutôtqu'en pulsation et le tracé du module en décibels plutôt qu'en échelle logarithmique qui sontusuelles chez le constructeur des machines, même si cela nécessite des conversions d'échellepar rapport à la partie théorique du chapitre.

Page 26: Systèmes asservis

Réglage CRONE

Jean-Marc Allenbach 13–22 030616

A Usinage standard B Usinage avec filtre CRONE

13.A7 Usinage en régime E 373 pendant 0,2 [s]:trace 1 (0,5V/div.): Usa, trace 2 (20mV/div.): pz, avec origine décalée.

On constate une plus grande variation – tant de la position que de l'écart de réglage –en présence du filtre CRONE. Malgré ces apparences, la qualité de l'usinage a été améliorée:au lieu de 190 étincelles bas–niveau détectées pendant la durée de l'usinage, il n'y en a eu que130. On a donc économisé 60 mouvements sortie–entrée de l'électrode. Le temps total pourérodé 3,5 [mm] a passé de 20 minutes à 17 minutes alors que la qualité de la surface usinée àété maintenue. Grâce à l'application du filtre CRONE, on a bien obtenu un meilleur réglage duprocessus non–linéaire.

Page 27: Systèmes asservis

Réglage CRONE

Jean-Marc Allenbach 13–23 040602

13.B SUPPORT LOGICIEL

13.B.1 Description.

L'algorithme décrit au paragraphe 13.3.1 a été implémenté sous forme de trois fonctions MATLAB. La fonction Crone1 donne les pôles et les zéros du régulateur CRONE si on entre la fonction de transfert du système à régler sous forme "transfer function" [Ns,Ds]. On peut choisir aussi un prérégulateur [NR,DR]. On doit aussi marphase définir la marge de phase requise et omega les pulsations choisies pour l'intervalle de blocage de phase. On peut aussi introduire un retard pur retpur en cas de besoin. Cette fonction retourne le vecteur des pôles et celui des zéros du régulateur CRONE, et aussi la fonction de transfert du système combiné au prérégulateur. >>[Crozero,Cropole,numinf,deninf]=crone1(Ns,Ds,NR,DR,marphase,omega,retpur); On vérifie qu'il y a au moins autant de pôles que de zéros, sinon on définit un nouveau vecteur Cropole par adjonction de pôles situés au minimum à un facteur 10 du zéro le plus à gauche.

La fonction Crone2 donne la fonction de transfert du filtre CRONE et la fonction de transfert en boucle ouverte du système. Si on ne fixe pas la pulsation de référence pour le module 1, c'est le programme qui choisit le milieu de l'intervalle défini pour Crone1. Cette fonction retourne la fonction de transfert du régulateur CRONE, et aussi celle du système en boucle fermée. >>[Ncro,Dcro,N0,D0]=crone2(Crozero,Cropole,numinf,deninf,omega,omegaref); La fonction Crone3 affiche la réponse harmonique en boucle ouverte totale et, pour mémoire, celle sans filtre CRONE. On obtient aussi la fonction de transfert en boucle fermée. >>[Nfc,Dfc] = crone3(numinf,deninf,N0,D0,bande);

Si on constate un saut de phase de 180°, il faut redéfinir le vecteur omega des pulsations et refaire la procédure 1 à 4: soit en diminuant l'écart entre les pulsations de part et d'autre du saut de phase. A défaut il faut augmenter le nombre de points choisis dans l'intervalle.

L’accès à ces fonctions est facilité par le programme interactif ReguCrone qui permet une

entrée aisée des données du système à régler – avec plusieurs formes d’écriture possibles – et des spécifications du cahier des charges. Il offre aussi la possibilité de vérifier ensuite les résultats du système réglé : réponse indicielle en boucle fermée et lieu des pôles ou réponse harmonique en boucle fermée. En cas de besoin, il est encore possible d’adjoindre un filtre de consigne, par exemple pour adopter un régulateur à structure RST. On y accède par la page d’accueil du logiciel d’aide au dimensionnement DimReg en sélectionnant le bouton « Robuste ». on appelle cette page en écrivant DimReg sur la ligne de commande MATLAB. On peut aussi taper ReguCrone sur la ligne de commande MATLAB, on ne passse pas alors par la page de choix. Ce programme permet aussi de mémoriser des résultats intermédiaires, qu’on peut ensuite récupérer sans avoir à refaire toute la procédure d’entrée.

Page 28: Systèmes asservis

Réglage CRONE

Jean-Marc Allenbach 13–24 040602

13.B.2 Recommandations.

La fonction ReguCrone.m mis en ligne ici est la version 1.0, basée sur un travail de diplôme écrit sous forme de script MATLAB plutôt que comme fonction [31]. Elle est susceptible d'être mise à jour en tout temps. A l'usage, on a remarqué que le résultat est très dépendant du choix des pulsations (vecteur omega). On obtient parfois des résultats erronés avec apparition d'un saut de phase de 180°, justement dans l'intervalle de pulsation pour lequel on veut bloquer la phase Si après plusieurs essais, on ne parvient pas à obtenir le résultat escompté, on devra augmenter le nombre de pulsations choisies dans l'intervalle, avec pour conséquence l'augmentation de l'ordre du régulateur CRONE. On peut ensuite réduire l'ordre du régulateur CRONE en simplifiant manuellement les pôles et zéros proches, ce qui aura pour conséquence un élargissement de la tolérance sur la marge de phase.

Si on ne fixe que les deux extrémités de l’intervalle de pulsation, l’algorithme ne pose pas de problème numérique, mai la tolérance de phase est d’autant plus grande que l’intervalle est large.

L'amélioration de la fonctionnalité de ce programme est dépendante des résultats obtenus avec les utilisateurs, les remarques d'utilisateurs externes à l'eig sont donc particulièrement bienvenues. Les améliorations viseront aussi la souplesse et la convivialité.