REGULATION NUMERIQUE - HEIG-VDphp.iai.heig-vd.ch/~mee/cours/cours_rn/chap_01/latex/... ·...

68
´ ecole d’ing´ enieurs du canton de Vaud (eivd) epartement d’´ electricit´ e et d’informatique Fili` ere Electronique, orientation syst` emes automatis´ es REGULATION NUMERIQUE A i i utomatisation nstitut d' ndustrielle Michel ETIQUE, janvier 2004, Yverdon-les-Bains

Transcript of REGULATION NUMERIQUE - HEIG-VDphp.iai.heig-vd.ch/~mee/cours/cours_rn/chap_01/latex/... ·...

Page 1: REGULATION NUMERIQUE - HEIG-VDphp.iai.heig-vd.ch/~mee/cours/cours_rn/chap_01/latex/... · 2004-01-12 · ´ecole d’ing´enieurs du canton de Vaud (eivd) D´epartement d’´electricit´e

ecole d’ingenieurs du canton de Vaud (eivd)

Departement d’electricite et d’informatique

Filiere Electronique, orientation systemes automatises

REGULATION NUMERIQUE

Ai

iutomatisation

n s t i t u t d '

n d u s t r i e l l e

Michel ETIQUE, janvier 2004, Yverdon-les-Bains

Page 2: REGULATION NUMERIQUE - HEIG-VDphp.iai.heig-vd.ch/~mee/cours/cours_rn/chap_01/latex/... · 2004-01-12 · ´ecole d’ing´enieurs du canton de Vaud (eivd) D´epartement d’´electricit´e

eivd Regulation numerique

2 mee \cours˙rn.tex\12 janvier 2004

Page 3: REGULATION NUMERIQUE - HEIG-VDphp.iai.heig-vd.ch/~mee/cours/cours_rn/chap_01/latex/... · 2004-01-12 · ´ecole d’ing´enieurs du canton de Vaud (eivd) D´epartement d’´electricit´e

eivd Regulation numerique

Table des matieres

1 Introduction a la regulation numerique 9

1.1 Structure et principe d’un systeme de regulation numerique . . 9

1.1.1 Echantillonnage de la grandeur a regler y(t) . . . . . . 11

1.1.2 Grandeur a regler numerique y(k) . . . . . . . . . . . . 12

1.1.3 Consigne numerique w(k) . . . . . . . . . . . . . . . . 13

1.1.4 Algorithme de regulation . . . . . . . . . . . . . . . . . 17

1.1.5 Grandeur de commande analogique u(t) . . . . . . . . 17

1.1.6 Systeme a regler . . . . . . . . . . . . . . . . . . . . . 18

1.1.7 Faisabilite . . . . . . . . . . . . . . . . . . . . . . . . . 19

1.2 Exemple : asservissement de vitesse par regulateur PI numerique 23

1.3 Composants specifiques d’un systeme de regulation numerique 29

1.3.1 Materiel . . . . . . . . . . . . . . . . . . . . . . . . . . 29

1.3.2 Logiciel . . . . . . . . . . . . . . . . . . . . . . . . . . 34

1.4 Comparaison des regulateurs numeriques et analogiques . . . . 39

1.4.1 Points faibles et points forts des regulateurs numeriques 39

1.4.2 Exemple : comparaison des performances de regulateursPI analogiques et numeriques . . . . . . . . . . . . . . 39

1.4.3 Exemple : commande anticipatrice (ou commande apriori) . . . . . . . . . . . . . . . . . . . . . . . . . . . 43

1.5 Justification d’une etude specifique des systemes asservis numeriquement 45

1.6 Une premiere procedure de synthese . . . . . . . . . . . . . . . 52

1.6.1 Hypotheses concernant la periode d’echantillonnage h . 52

1.6.2 Inventaire des retards . . . . . . . . . . . . . . . . . . . 53

1.6.3 Approximation de la fonction de transfert d’un retardpur par une fraction rationnelle en s . . . . . . . . . . 56

1.6.4 Schema fonctionnel analogique equivalent . . . . . . . . 59

1.6.5 Exemple : synthese dans le plan de Bode . . . . . . . . 60

1.6.6 Exemple : synthese dans le plan complexe . . . . . . . 65

3 mee \cours˙rn.tex\12 janvier 2004

Page 4: REGULATION NUMERIQUE - HEIG-VDphp.iai.heig-vd.ch/~mee/cours/cours_rn/chap_01/latex/... · 2004-01-12 · ´ecole d’ing´enieurs du canton de Vaud (eivd) D´epartement d’´electricit´e

eivd Regulation numerique

2 Echantillonnage et reconstruction 69

2.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69

2.2 Le processus d’echantillonnage . . . . . . . . . . . . . . . . . . 69

2.2.1 L’operateur d’echantillonnage . . . . . . . . . . . . . . 70

2.2.2 Transformee de Fourier d’un signal numerique . . . . . 71

2.2.3 Recouvrement spectral . . . . . . . . . . . . . . . . . . 73

2.3 Le theoreme de l’echantillonnage (ou theoreme de Shannon) . 78

2.3.1 Enonce ([[4], §2.3]) . . . . . . . . . . . . . . . . . . . . 78

2.3.2 Consequences et realites pratiques . . . . . . . . . . . . 78

2.3.3 Filtre anti-recouvrement . . . . . . . . . . . . . . . . . 79

2.3.4 Choix de la periode d’echantillonnage . . . . . . . . . . 85

2.4 Reconstruction . . . . . . . . . . . . . . . . . . . . . . . . . . 86

2.4.1 L’operateur de reconstruction . . . . . . . . . . . . . . 86

2.4.2 La reconstruction de Shannon . . . . . . . . . . . . . . 88

2.4.3 Reconstruction par bloqueur d’ordre zero . . . . . . . . 91

2.4.4 Reconstruction par bloqueur d’ordre superieur . . . . . 97

3 Transformee en z 99

3.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99

3.2 Signaux discrets . . . . . . . . . . . . . . . . . . . . . . . . . . 100

3.2.1 Signaux discrets particuliers . . . . . . . . . . . . . . . 102

3.3 Transformee en z . . . . . . . . . . . . . . . . . . . . . . . . . 103

3.3.1 Definition . . . . . . . . . . . . . . . . . . . . . . . . . 103

3.3.2 Commentaire . . . . . . . . . . . . . . . . . . . . . . . 104

3.3.3 Exemples . . . . . . . . . . . . . . . . . . . . . . . . . 105

3.3.4 Proprietes . . . . . . . . . . . . . . . . . . . . . . . . . 107

3.3.5 Methodes de calcul de la transformee en z . . . . . . . 109

3.3.6 Inversion de la transformee en z . . . . . . . . . . . . . 111

3.4 Annexe : table des transformees en z ([4]) . . . . . . . . . . . 115

4 Representation des systemes discrets 117

4.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117

4.2 Systemes dynamiques lineaires discrets . . . . . . . . . . . . . 117

4.2.1 Systemes dynamiques discrets : definition . . . . . . . . 117

4.2.2 Proprietes generales des systemes dynamiques discrets([[4], §3.2.1]) . . . . . . . . . . . . . . . . . . . . . . . . 118

4.2.3 Systemes dynamiques lineaires discrets . . . . . . . . . 120

4.2.4 Analyse temporelle des systemes lineaires discrets . . . 121

4.3 Representation des systemes dynamiques lineaires discrets . . 121

4.3.1 Representation par l’equation aux differences . . . . . . 122

4 mee \cours˙rn.tex\12 janvier 2004

Page 5: REGULATION NUMERIQUE - HEIG-VDphp.iai.heig-vd.ch/~mee/cours/cours_rn/chap_01/latex/... · 2004-01-12 · ´ecole d’ing´enieurs du canton de Vaud (eivd) D´epartement d’´electricit´e

eivd Regulation numerique

4.3.2 Representation par la reponse impulsionnelle discreteg(k) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131

4.3.3 Representation par la fonction de transfert G(z) . . . . 138

5 Fonction de transfert discrete 141

5.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141

5.2 Fonction de transfert d’un systeme dynamique discret . . . . . 141

5.2.1 Definition . . . . . . . . . . . . . . . . . . . . . . . . . 141

5.2.2 Exemples . . . . . . . . . . . . . . . . . . . . . . . . . 144

5.2.3 Fonction de transfert d’un systeme decrit par son equationaux differences . . . . . . . . . . . . . . . . . . . . . . 145

5.2.4 Presentation de G(z) . . . . . . . . . . . . . . . . . . . 148

5.2.5 Poles et zeros, ordre et degre relatif . . . . . . . . . . . 149

5.2.6 Schema structurel . . . . . . . . . . . . . . . . . . . . . 151

5.3 Modes temporels discrets . . . . . . . . . . . . . . . . . . . . . 153

5.3.1 Definition . . . . . . . . . . . . . . . . . . . . . . . . . 153

5.3.2 Mode associe a un pole reel . . . . . . . . . . . . . . . 154

5.3.3 Mode associe a une paire de poles complexes conjugues 155

5.3.4 Relation entre la position des poles dans le plan com-plexe et la forme des modes discrets . . . . . . . . . . . 156

5.4 Analyse des proprietes d’un systeme discret sur la base de safonction de transfert . . . . . . . . . . . . . . . . . . . . . . . 162

5.4.1 Gain statique . . . . . . . . . . . . . . . . . . . . . . . 162

5.4.2 Comportement integrateur . . . . . . . . . . . . . . . . 162

5.4.3 Comportement derivateur . . . . . . . . . . . . . . . . 163

5.4.4 Retard pur . . . . . . . . . . . . . . . . . . . . . . . . 164

5.5 Modele echantillonne du systeme a regler . . . . . . . . . . . . 167

5.5.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . 167

5.5.2 Relation fondamentale . . . . . . . . . . . . . . . . . . 167

5.5.3 Exemple . . . . . . . . . . . . . . . . . . . . . . . . . . 169

5.6 Combinaisons de fonctions de transfert . . . . . . . . . . . . . 170

5.6.1 Regles generales . . . . . . . . . . . . . . . . . . . . . . 170

5.6.2 Fonctions de transfert d’un systeme de regulation numerique170

5.7 Correspondance entre poles analogiques et discrets . . . . . . . 176

5.7.1 Definition du probleme . . . . . . . . . . . . . . . . . . 176

5.7.2 Relation fondamentale . . . . . . . . . . . . . . . . . . 176

5.7.3 Proprietes . . . . . . . . . . . . . . . . . . . . . . . . . 177

5.7.4 Exemples . . . . . . . . . . . . . . . . . . . . . . . . . 179

5.7.5 Images de courbes et surfaces particulieres . . . . . . . 182

5 mee \cours˙rn.tex\12 janvier 2004

Page 6: REGULATION NUMERIQUE - HEIG-VDphp.iai.heig-vd.ch/~mee/cours/cours_rn/chap_01/latex/... · 2004-01-12 · ´ecole d’ing´enieurs du canton de Vaud (eivd) D´epartement d’´electricit´e

eivd Regulation numerique

6 Stabilite 1936.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1936.2 Stabilite des systemes discrets . . . . . . . . . . . . . . . . . . 193

6.2.1 Definition de la stabilite . . . . . . . . . . . . . . . . . 1936.2.2 Condition fondamentale de stabilite . . . . . . . . . . . 194

6.3 Reponse harmonique d’un systeme numerique . . . . . . . . . 1976.3.1 Definition et calcul . . . . . . . . . . . . . . . . . . . . 1976.3.2 Proprietes . . . . . . . . . . . . . . . . . . . . . . . . . 1996.3.3 Lieu de de Nyquist et diagramme de Bode . . . . . . . 200

6.4 Etude de la stabilite par la reponse harmonique : critere deNyquist ([[4], §7.4]) . . . . . . . . . . . . . . . . . . . . . . . . 2076.4.1 Critere de Nyquist generalise ([[4], §7.4.2]) . . . . . . . 2076.4.2 Critere de Nyquist simplifie (critere du revers) . . . . . 219

6.5 Elements de synthese frequentielle de regulateurs numeriques . 2246.5.1 Synthese frequentielle discrete . . . . . . . . . . . . . . 224

6.6 Elements de synthese de regulateurs numeriques dans le plancomplexe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2286.6.1 Lieu des poles (ou lieu d’Evans) . . . . . . . . . . . . . 2286.6.2 Principe de la synthese discrete dans le plan complexe 230

7 Strategies de commandes particulieres et aspects pratiquesdes regulateurs numeriques et analogiques 2397.1 Choix des poles en boucle fermee en fonction de la periode

d’echantillonnage h ([3], §6.6) . . . . . . . . . . . . . . . . . . 2397.1.1 Exemple . . . . . . . . . . . . . . . . . . . . . . . . . . 243

7.2 Compensation pole-zero . . . . . . . . . . . . . . . . . . . . . 2457.3 Commande anticipee/a priori . . . . . . . . . . . . . . . . . . 249

7.3.1 Principe . . . . . . . . . . . . . . . . . . . . . . . . . . 2497.3.2 Exemples . . . . . . . . . . . . . . . . . . . . . . . . . 2507.3.3 Filtre de consigne . . . . . . . . . . . . . . . . . . . . . 252

7.4 Regulation cascade . . . . . . . . . . . . . . . . . . . . . . . . 2547.4.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2547.4.2 Principe de la regulation cascade . . . . . . . . . . . . 2547.4.3 Exemples . . . . . . . . . . . . . . . . . . . . . . . . . 2557.4.4 Avantages de la structure cascade . . . . . . . . . . . . 2617.4.5 Inconvenients de la structure cascade . . . . . . . . . . 2637.4.6 Comparaison des regulations cascade et parallele dans

un cas particulier (positionnement en machine-outil) . 2637.4.7 Calcul des fonctions de transfert en boucle fermee dans

les deux modes de regulation (correspondance et main-tien) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 267

6 mee \cours˙rn.tex\12 janvier 2004

Page 7: REGULATION NUMERIQUE - HEIG-VDphp.iai.heig-vd.ch/~mee/cours/cours_rn/chap_01/latex/... · 2004-01-12 · ´ecole d’ing´enieurs du canton de Vaud (eivd) D´epartement d’´electricit´e

eivd Regulation numerique

7.4.8 Regulation parallele . . . . . . . . . . . . . . . . . . . . 2717.4.9 Comparaison des structures parallele et cascade en regulation

de maintien . . . . . . . . . . . . . . . . . . . . . . . . 2727.4.10 Comparaison des structures parallele et cascade en regulation

de correspondance . . . . . . . . . . . . . . . . . . . . 2737.5 Decouplage de systemes ([10]) . . . . . . . . . . . . . . . . . . 276

7.5.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2767.5.2 Decouplage . . . . . . . . . . . . . . . . . . . . . . . . 2777.5.3 Schema equivalent du systeme decouple . . . . . . . . . 279

7.6 Anti-wind-up ([4], [1]) . . . . . . . . . . . . . . . . . . . . . . 2807.6.1 Presentation du probleme : wind-up de l’integrateur . . 2807.6.2 Dispositif anti-wind-up . . . . . . . . . . . . . . . . . . 283

7.7 Influence de la resolution de la grandeur reglee mesuree . . . . 2867.8 Fonction de sensibilite ([11], §3.4) . . . . . . . . . . . . . . . . 289

7.8.1 Application : specification de performance ([11], §3.4) . 293

8 Identification des systemes dynamiques lineaires 2978.1 Identification non-parametrique de systemes dynamiques lineaires297

8.1.1 Estimation de reponse harmonique : ETFE [12] . . . . 2988.1.2 Proprietes de l’ETFE . . . . . . . . . . . . . . . . . . . 2998.1.3 Proprietes statistiques de l’ETFE . . . . . . . . . . . . 3048.1.4 Amelioration de la variance de l’ETFE : moyennage et

lissage . . . . . . . . . . . . . . . . . . . . . . . . . . . 3118.2 Identification parametrique . . . . . . . . . . . . . . . . . . . . 312

8.2.1 Structures de modeles . . . . . . . . . . . . . . . . . . 3128.2.2 Methode PEM . . . . . . . . . . . . . . . . . . . . . . 3168.2.3 Cas particulier : modele de structure ARX, methode

des moindres carres . . . . . . . . . . . . . . . . . . . . 3188.2.4 Biais et variance de la methode des moindres carres . . 3238.2.5 Inversibilite de la matrice RN . . . . . . . . . . . . . . 329

A Rappel de theorie des probabilites [9] 331A.1 Processus, signaux et variables aleatoires . . . . . . . . . . . . 331A.2 Fonction de repartition et densite de probabilite [[9], §14.2] . . 331A.3 Esperance mathematique, moyenne et variance . . . . . . . . . 332A.4 Fonctions d’autocorrelation et d’autocovariance [[9], §5.2] . . . 332A.5 Stationnarite et ergodisme [[9], §5.1.11 et §5.1.13] . . . . . . . 333

B Transformee de Fourier de signaux discrets [[9] et [16]] 335B.1 Transformee de Fourier d’un signal discret . . . . . . . . . . . 335

B.1.1 Definition . . . . . . . . . . . . . . . . . . . . . . . . . 335

7 mee \cours˙rn.tex\12 janvier 2004

Page 8: REGULATION NUMERIQUE - HEIG-VDphp.iai.heig-vd.ch/~mee/cours/cours_rn/chap_01/latex/... · 2004-01-12 · ´ecole d’ing´enieurs du canton de Vaud (eivd) D´epartement d’´electricit´e

eivd Regulation numerique

B.1.2 Transformee de Fourier d’un signal de duree finie . . . 336B.1.3 Proprietes . . . . . . . . . . . . . . . . . . . . . . . . . 337

B.2 Transformee de Fourier discrete (TFD) . . . . . . . . . . . . . 338B.2.1 Discretisation de l’axe des frequences . . . . . . . . . . 338B.2.2 Definition de la TFD . . . . . . . . . . . . . . . . . . . 339B.2.3 Consequence de la discretisation de la transformee de

Fourier . . . . . . . . . . . . . . . . . . . . . . . . . . . 339B.2.4 Echantillonnage minimal de la transformee de Fourier . 339B.2.5 Inversion de la TFD . . . . . . . . . . . . . . . . . . . 341

B.3 Periodogramme . . . . . . . . . . . . . . . . . . . . . . . . . . 342B.4 Densite spectrale de puissance Φ(ω) (”spectre”) . . . . . . . . 343

B.4.1 Calcul de la densite spectrale de puissance de signauxdeterministes . . . . . . . . . . . . . . . . . . . . . . . 343

B.4.2 Calcul de la densite spectrale de puissance de signauxaleatoires . . . . . . . . . . . . . . . . . . . . . . . . . 344

B.4.3 Transformation du spectre par des systemes dynamiqueslineaires . . . . . . . . . . . . . . . . . . . . . . . . . . 345

8 mee \cours˙rn.tex\12 janvier 2004

Page 9: REGULATION NUMERIQUE - HEIG-VDphp.iai.heig-vd.ch/~mee/cours/cours_rn/chap_01/latex/... · 2004-01-12 · ´ecole d’ing´enieurs du canton de Vaud (eivd) D´epartement d’´electricit´e

eivd Regulation numerique

Chapitre 1

Introduction a la regulationnumerique

1.1 Structure et principe d’un systeme de regulation

numerique

Le schema-bloc de la figure 1.1 page suivante presente la structure d’unsysteme de regulation numerique mono-variable (1 entree, 1 sortie). On re-connaıt l’architecture classique d’un systeme boucle. Comme tout systemede regulation automatique, le but de l’installation est d’assurer la correspon-dance entre le signal de consigne w(t)|t=k·h, k∈N , soit w(k · h), et la grandeurreglee y(k ·h), independamment des variations de w(k ·h) (regulation de cor-respondance) et des effets des perturbations v(t) (regulation de maintien). Deplus, l’ensemble doit etre le moins sensible possible au bruit n(t) intervenantsur la mesure.

Ce schema comprend un bloc designe ”systeme a regler”, dans lequel setrouvent, outre le systeme proprement dit, un amplificateur de puissance,le capteur de la grandeur reglee y(t) voire des filtres analogiques. Par com-paraison avec un asservissement analogique, les elements nouveaux suivantsapparaissent :

– un convertisseur analogique-digital (appele convertisseur A/D par lasuite) ;

– un algorithme, faisant office de regulateur, execute par une unite decalcul comme un processeur ;

– un convertisseur digital analogique (appele convertisseur D/A par lasuite) ;

– une horloge (ou timer).

Chaque conversion A/D, lancee a intervalles reguliers h par l’horloge,

Chapitre 1, v.1.6 9 mee \cours˙rn.tex\12 janvier 2004

Page 10: REGULATION NUMERIQUE - HEIG-VDphp.iai.heig-vd.ch/~mee/cours/cours_rn/chap_01/latex/... · 2004-01-12 · ´ecole d’ing´enieurs du canton de Vaud (eivd) D´epartement d’´electricit´e

eivd Regulation numerique

AD

AD

w ( k h )

y ( k h )

u ( t ) x ( t )u ( k h )

A N A L O G I Q U EN U M E R I Q U E

A L G O R I T H M E

S Y S T E M EA

R E G L E R

H O R L O G E

u ( k h )

k h

y ( k h )

k h

t

w ( k h )

k h t

h

t

y ( t )

v ( t )

S+

+

n ( t )

c o n s i g n e

b r u i t s u r l a m e s u r e

g r a n d e u r r é g l é e

c o m m a n d ec o m m a n d e

p e r t u r b a t i o n

f _ 0 1 _ 0 1 . e p s

Fig. 1.1 – Schema fonctionnel general d’un systeme de regulation numerique(fichier source).

echantillonne le signal analogique y(t) representant la grandeur a regler etmet ainsi a disposition du processeur un nombre y(k · h) representant lavaleur de y(t) a l’instant t = k · h auquel la conversion A/D s’est effectuee.Le processeur execute alors l’algorithme de regulation, formant en principel’ecart de regulation e(k·h) par comparaison de la grandeur reglee y(k·h) avecle nombre w(k ·h) representant la consigne, puis traitant cet ecart. Le resultatde l’execution de l’algorithme est un autre nombre, la commande u(k · h) aappliquer sans delai (pour des raisons de degre de stabilite de la boucle) ausysteme a regler. Le nombre u(k · h) n’etant pas un signal physique, il n’aaucune energie et doit etre prealablement transforme en un signal analogiqueu(t) par le convertisseur D/A. Le signal de commande analogique u(t) estalors applique a l’entree du systeme a regler.

Cette suite d’operations est repetee a intervalles reguliers h imposes parla frequence d’echantillonnage fe = 1

h. Celle-ci est normalement ajustable

par programmation de l’horloge, et constitue un parametre a part entiere dusysteme asservi numeriquement.

Chapitre 1, v.1.6 10 mee \cours˙rn.tex\12 janvier 2004

Page 11: REGULATION NUMERIQUE - HEIG-VDphp.iai.heig-vd.ch/~mee/cours/cours_rn/chap_01/latex/... · 2004-01-12 · ´ecole d’ing´enieurs du canton de Vaud (eivd) D´epartement d’´electricit´e

eivd Regulation numerique

H O R L O G E

h

t

f _ 0 1 _ 0 2 . e p s

Fig. 1.2 – Mise en evidence de l’horloge (timer), necessaire a tous lessystemes de regulation numerique pour definir puis garantir une frequenced’echantillonnage fe = 1

hdeterminee, en principe fixe (fichier source).

ky ( 0 )

y ( 2 h )

y ( h )

y ( 3 h )y ( 4 h )

0 h 2 h 3 h 4 h

t

AD

y ( k )y ( t )f _ 0 1 _ 0 3 . e p s

Fig. 1.3 – Echantillonnage de la grandeur a regler y(t) (fichier source).

1.1.1 Echantillonnage de la grandeur a regler y(t)

Le convertisseur A/D convertit la grandeur a regler analogique y(t) enun nombre y(k) a un rythme dicte par l’horloge (a distinguer de l’horlogenecessaire au fonctionnement du processeur). Ce rythme est en principeregulier et n’est autre que la periode d’echantillonnage, designee dansle cadre de ce cours par la lettre h. Le signal analogique y(t) subit en la cir-constance l’operation d’echantillonnage a chaque fois qu’une conversion estdemarree ; on dit que y(t) est echantillonne. Les instants

0h2 · h3 · h. . .k · h. . .

Chapitre 1, v.1.6 11 mee \cours˙rn.tex\12 janvier 2004

Page 12: REGULATION NUMERIQUE - HEIG-VDphp.iai.heig-vd.ch/~mee/cours/cours_rn/chap_01/latex/... · 2004-01-12 · ´ecole d’ing´enieurs du canton de Vaud (eivd) D´epartement d’´electricit´e

eivd Regulation numerique

auxquels y(t) est echantillonne sont les instants d’echantillonnage ; les nombres

y(0)y(h)y(2 · h)y(3 · h). . .y(k · h). . .

que prend y(t) a ces memes instants sont les echantillons.Comme la periode d’echantillonnage h est constante et connue, il n’y a

aucun risque de confusion si l’on designe le signal numerique y(k · h) demaniere abregee par y(k). Cette notation, ou la periode d’echantillonnageh est implicite, permet d’alleger l’ecriture. La suite des echantillons de y(t)s’ecrit donc :

y(0)y(h)y(2)y(3). . .y(k). . .

1.1.2 Grandeur a regler numerique y(k)

Le signal y(k ·h) delivre par le convertisseur A/D se presente sous la formed’une suite de nombres, espaces dans le temps d’une duree h et representantla valeur du signal y(t) aux instants de conversion successifs. Si la premiereconversion a lieu au temps t = 0 [s], on obtient donc regulierement

y(0)y(h)y(2)y(3). . .y(k). . .

Le signal y(k · h) est discret puisqu’il ne peut varier qu’aux instantsd’echantillonnage. De plus, la resolution du convertisseur A/D etant finie,l’amplitude de y(k · h) est quantifiee. Le signal y(k · h) est donc a la fois dis-cret et quantifie. Un tel signal est appele signal numerique (§ 3.2 page 100).

Chapitre 1, v.1.6 12 mee \cours˙rn.tex\12 janvier 2004

Page 13: REGULATION NUMERIQUE - HEIG-VDphp.iai.heig-vd.ch/~mee/cours/cours_rn/chap_01/latex/... · 2004-01-12 · ´ecole d’ing´enieurs du canton de Vaud (eivd) D´epartement d’´electricit´e

eivd Regulation numerique

k0 1 2 3 4 5 . . . k - 1 k ( k + 1 )

y ( k )y (

0 )

y (1 )

y (2 )

y (3 )

y (4 )

y (k )

y (k +

1 )

y (k -

1 )

y (5 ) f _ 0 1 _ 0 4 . e p s

Fig. 1.4 – La grandeur reglee y(k) est une suite de nombres (fichier source).

L’instant k · h est l’instant present. Les valeurs aux instants precedentsdu signal discret y(k) sont :

y(k − 1)y(k − 2). . .y(k − n). . .

1.1.3 Consigne numerique w(k)

La consigne apparaıt naturellement sous forme d’un signal numeriquew(k), devant etre compare a un autre signal numerique, la grandeur regleey(k). En pratique, on peut rencontrer deux cas de figure :

– La consigne originale est un signal analogique w(t) (figure 1.5 page 15).Il faut alors l’echantillonner au moyen d’un convertisseur A/D qui pro-duit le signal numerique w(k). Un cas typique est celui ou la consigneest fixee par un operateur au moyen d’un potentiometre. Un autre casest celui ou deux axes de machine doivent tourner de maniere syn-chrone, a des vitesses situees dans un rapport constant (y compris lorsdes phases transitoires de demarrage et d’arret) : le premier (le maıtre),recoit sa consigne de vitesse d’une commande amont ; le second (l’es-clave) peut alors prendre pour consigne de vitesse le signal analogiqueprovenant du capteur de vitesse du maıtre (par exemple une dynamo-tachymetrique). La figure 1.5 page 15 illustre cet exemple.

Chapitre 1, v.1.6 13 mee \cours˙rn.tex\12 janvier 2004

Page 14: REGULATION NUMERIQUE - HEIG-VDphp.iai.heig-vd.ch/~mee/cours/cours_rn/chap_01/latex/... · 2004-01-12 · ´ecole d’ing´enieurs du canton de Vaud (eivd) D´epartement d’´electricit´e

eivd Regulation numerique

Rappel : le saut unite de consignen’est utilise qu’a des fins d’ana-lyse, sauf cas particulier, comme laregulation du couple ou du courantd’un servo-entraınement electrique[17].

– La consigne originale est purement numerique, generee par le proces-seur charge de la regulation ou une autre unite du meme type. Il fautrelever que la generation de consigne peut etre une tache extremementcomplexe et exigeante en operations arithmetiques. Un exemple no-table est celui de la coordination des axes d’un centre d’usinage, d’unrobot ou d’une machine de packaging (axes ayant ”rendez-vous”, fi-gure 1.6 page 16).

Chapitre 1, v.1.6 14 mee \cours˙rn.tex\12 janvier 2004

Page 15: REGULATION NUMERIQUE - HEIG-VDphp.iai.heig-vd.ch/~mee/cours/cours_rn/chap_01/latex/... · 2004-01-12 · ´ecole d’ing´enieurs du canton de Vaud (eivd) D´epartement d’´electricit´e

eivd Regulation numerique

wm

aîtr

e(k)

D DA

S-

+A

lgor

ithm

edu

régu

late

urnu

mér

ique

u(k)

y(k)

e(k)

M

ia

JR

f

Ff=

cons

t

y(t)

Ra

La

w(t

)K

tu(

t)u a

(t)

AT

KT

KE

D DA

S-

+A

lgor

ithm

edu

régu

late

urnu

mér

ique

u(k)

y(k)

e(k)

M

ia

JR

f

Ff=

cons

t

y(t)

Ra

La

w(t

)K

tu(

t)u a

(t)

AT

KT

KE

DA

wes

clav

e(k)

f _ 0 1 _ 0 5 . e p s

Fig. 1.5 – Schema technologique de principe de la regulation de 2 axes demachines dont les consignes sont coordonnees. Pour un tel systeme, il estindispensable de synchroniser les electroniques (numeriques) effectuant laregulation de chaque axe [17] (fichier source).

Chapitre 1, v.1.6 15 mee \cours˙rn.tex\12 janvier 2004

Page 16: REGULATION NUMERIQUE - HEIG-VDphp.iai.heig-vd.ch/~mee/cours/cours_rn/chap_01/latex/... · 2004-01-12 · ´ecole d’ing´enieurs du canton de Vaud (eivd) D´epartement d’´electricit´e

eivd Regulation numerique

T M PG E N E R A T O R

T M PG E N E R A T O R

C A M

C A MA M P L I F I E R

C O N V E R T E R C O N V E R T E RC O N V E R T E RC O N V E R T E R

A X I S

M

A X I S

M

A X I S

M

A X I S

M

4

2

3

1

M o t i o n P r o f i l e G e n e r a t o r s

C O R R E C T O R

M e a s u r eP r o d u c tR a t e

F i g u r e 2 2 P a c k a g i n g M a c h i n e D i a g r a m

Fig. 1.6 – Schema technologique d’une machine de packaging (selon [19],p.33-34) : chacun des servo-moteurs (”axis”) est pilote par un regulateurnumerique, lequel recoit sa consigne de position par un bus de terrain.

Chapitre 1, v.1.6 16 mee \cours˙rn.tex\12 janvier 2004

Page 17: REGULATION NUMERIQUE - HEIG-VDphp.iai.heig-vd.ch/~mee/cours/cours_rn/chap_01/latex/... · 2004-01-12 · ´ecole d’ing´enieurs du canton de Vaud (eivd) D´epartement d’´electricit´e

eivd Regulation numerique

1.1.4 Algorithme de regulation

w ( k )u ( k )A L G O R I T H M E

kk

y ( k )

kf _ 0 1 _ 0 6 . e p s

Fig. 1.7 – Le regulateur prend la forme d’un algorithme execute a chaqueperiode d’echantillonnage h (fichier source).

L’algorithme remplit la fonction du regulateur ; c’est un algorithme deregulation qui a pour tache de construire le signal de commande numeriqueu(k) en fonction des signaux d’entree numeriques w(k) et y(k). Ceux-ci etantnumeriques tout comme le signal de sortie u(k), l’algorithme est un systemenumerique, execute par le processeur pour lequel il est programme.

La duree d’execution de l’algorithme est une donnee importante a connaıtrelors de la synthese du regulateur numerique. Elle doit bien sur imperativementetre inferieure a h. La loi de commande definissant la maniere d’obtenir u(k)a partir des signaux numeriques d’entrees w(k) et y(k)

u (k) = f (w (k) , w (k − 1) , w (k − 2) , . . . , y (k) , y (k − 1) , y (k − 2) , . . .)

peut etre tres complexe sans que cela pose des problemes de realisation d’uneenvergure comparable a ceux rencontres en regulation analogique.

1.1.5 Grandeur de commande analogique u(t)

Le signal de commande u(t) est obtenu par conversion D/A du signalde commande numerique u(k). C’est l’operation de construction d’un signalanalogique a partir d’un signal numerique. La transformation d’une suite denombres sans energie en un signal analogique a energie non-nulle ne pose pasde grandes difficultes techniques. Cependant, la maniere de combler l’absencede toute information entre deux instants d’echantillonnage (pas de signalsource) est a priori du ressort du concepteur. Dans la grande majorite desapplications, le convertisseur D/A comprend un element de maintien (blo-queur/extrapolateur d’ordre 0, § 2.4.3 page 91) qui construit le signal ana-logique en convertissant a chaque instant d’echantillonnage le nombre u(k)

Chapitre 1, v.1.6 17 mee \cours˙rn.tex\12 janvier 2004

Page 18: REGULATION NUMERIQUE - HEIG-VDphp.iai.heig-vd.ch/~mee/cours/cours_rn/chap_01/latex/... · 2004-01-12 · ´ecole d’ing´enieurs du canton de Vaud (eivd) D´epartement d’´electricit´e

eivd Regulation numerique

AD u ( t )u ( k )

k ht

f _ 0 1 _ 0 7 . e p s

Fig. 1.8 – La grandeur de commande analogique u(t) est typiquementconstruite a partir de la commande numerique u(k) par un convertisseurD/A avec element de maintien (fichier source).

en une tension proportionnelle u(t), celle-ci etant alors maintenue constantependant une duree h.

Le signal analogique u(t) prend ainsi la forme d’une suite d’impulsionsrectangulaires juxtaposees, de largeur h constante et de hauteur

u(0)u(1). . .u(k). . .

1.1.6 Systeme a regler

u ( t ) y ( t )S Y S T E M E

AR E G L E R

tt

f _ 0 1 _ 0 8 . e p s

Fig. 1.9 – Le systeme a regler (fichier source).

Le systeme a regler est par nature analogique. Comme il a toujours uncomportement de type passe-bas, i.e. comme il presente toujours une certaine

Chapitre 1, v.1.6 18 mee \cours˙rn.tex\12 janvier 2004

Page 19: REGULATION NUMERIQUE - HEIG-VDphp.iai.heig-vd.ch/~mee/cours/cours_rn/chap_01/latex/... · 2004-01-12 · ´ecole d’ing´enieurs du canton de Vaud (eivd) D´epartement d’´electricit´e

eivd Regulation numerique

AD

AD

u ( t ) y ( t )u ( k )

S Y S T E M EA

R E G L E R

k

y ( t )y ( k )

k

A L G O R I T H M ED E R E G U L A T I O N

f _ 0 1 _ 0 9 . e p s

Fig. 1.10 – L’algorithme percoit le systeme a regler au travers des convertis-seurs A/D et D/A, soit par l’intermediaire des signaux numeriques y(k) etu(k) (fichier source).

inertie, le caractere discontinu de la commande u(t) ne s’observe en principepas sur la grandeur a regler analogique y(t).

Le systeme a regler comprendforcement le capteur de la gran-deur reglee ainsi que, selon les cas,un amplificateur de puissance, unactionneur, des filtres analogiques,etc. En un mot, tout ce qu’il y a entrela commande u(t) et la (mesure de la)grandeur reglee y(t).

Globalement, on remarque que l’algorithme percoit le systeme a regler autravers des convertisseurs A/D et D/A, soit par l’intermediaire des signauxnumeriques y(k) et u(k) (voir figure 1.10).

1.1.7 Faisabilite

Avec le principe de l’echantillonnage de la grandeur reglee plutot queson observation continuelle, on peut tout de meme s’inquieter du fait que lesysteme a regler n’est plus sous controle entre deux instants d’echantillonnage,soit la plupart du temps !

Chapitre 1, v.1.6 19 mee \cours˙rn.tex\12 janvier 2004

Page 20: REGULATION NUMERIQUE - HEIG-VDphp.iai.heig-vd.ch/~mee/cours/cours_rn/chap_01/latex/... · 2004-01-12 · ´ecole d’ing´enieurs du canton de Vaud (eivd) D´epartement d’´electricit´e

eivd Regulation numerique

f _ 0 1 _ 1 0 . e p s

E n r o u l e m e n td e N 1 s p i r e s

m o n t é s u r n o y a uf e r r o m a g n é t i q u e

i 1

F 1

s p h è r e f e r r o m a g n é t i q u ee n s u s t e n t a t i o n

0

x

L a m p e

L o u p e

P h o t o t r a n s i s t o r

A m p l i f i c a t e u r

S o r t i e s

E n t r é e s

Fig. 1.11 – Sustentation magnetique (fichier source).

En effet, ce n’est qu’a des moments precis (les instants d’echantillonnage)que le regulateur s’avise de l’etat du systeme a regler en echantillonnantla grandeur a regler. En termes de regulation, le systeme est en boucle ou-verte entre deux instants d’echantillonnage, le regulateur etant pendant cetteperiode aveugle et incapable de reagir a toute variation de y(t). Le concept debase du systeme de regulation numerique est-il raisonnable ? Des exemplespeuvent frapper l’imagination :

Exemple 1 Regulation numerique de la position d’un ascenseur/monte-charge. Leregulateur a pour tache de maintenir l’ascenseur a une position constanteimposee par la consigne. Ce faisant, il a finalement pour fonction decompenser l’effet de la pesanteur. Ose-t-on deliberement le rendre ”aveugle”pendant la majeure partie du temps ?

Exemple 2 Sustentation magnetique d’une sphere metallique (figure 1.11). Il s’agitd’un systeme ”encore plus instable” que celui de l’ascenseur. Le regulateurdoit creer un champ d’induction suffisant pour creer une force compen-sant l’effet de la pesanteur mais doit eviter que ce meme champ soit

Chapitre 1, v.1.6 20 mee \cours˙rn.tex\12 janvier 2004

Page 21: REGULATION NUMERIQUE - HEIG-VDphp.iai.heig-vd.ch/~mee/cours/cours_rn/chap_01/latex/... · 2004-01-12 · ´ecole d’ing´enieurs du canton de Vaud (eivd) D´epartement d’´electricit´e

eivd Regulation numerique

SS-

+ +

+

T p e r t

yu ( t ) w

DA

DA

S-

+w ( k ) A l g o r i t h m e

d ur é g u l a t e u r

u ( k )

y ( k )

e ( k )

t0 h h h h h

T p e r t

f _ 0 1 _ 1 1 . e p s

Fig. 1.12 – Systeme de regulation automatique de vitesse subissant des per-turbations rapides (fichier source).

trop grand, auquel cas la sphere se colle tres violemment a la bobine.Peut-on la aussi envisager ”d’oublier” ce systeme a regler entre deuxinstants d’echantillonnage ?

Exemple 3 Regulation de la vitesse d’un axe de machine-outil. On considere un axede machine devant tourner a vitesse constante (regulation de maintien,figure 1.12), sur lequel agissent des perturbations de charge (impul-sions de couple perturbateur) tres violentes en amplitude et tres brevesen duree (de duree comparable a la periode d’echantillonnage h). Unregulateur numerique est-il en la circonstance reellement capable deremplacer un regulateur analogique ?

Bien que ces interrogations soient pleinement justifiees, il est facile d’yrepondre en rappelant :

– qu’entre deux instants d’echantillonnage, la grandeur de commande estevidemment presente. Dans le cas le plus courant, elle a une valeurconstante, egale a l’amplitude de la derniere commande discrete u(k),selon § 1.1.5 page 17 ;

– que la duree pendant laquelle le regulateur est aveugle (soit la perioded’echantillonnage h) est un parametre a part entiere que l’on fixe apresune analyse approfondie de l’application ;

– qu’un systeme a regler a toujours un comportement de type filtre passe-bas, excluant ainsi toute variation brutale (par exemple un saut) de lagrandeur reglee y(t).

Ces quelques exemples mettent deja en evidence le besoin d’une analyseparticuliere adaptee a l’utilisation de regulateurs numeriques. Cette analysene peut avoir lieu que si l’on dispose d’outils theoriques puissants, specifiques

Chapitre 1, v.1.6 21 mee \cours˙rn.tex\12 janvier 2004

Page 22: REGULATION NUMERIQUE - HEIG-VDphp.iai.heig-vd.ch/~mee/cours/cours_rn/chap_01/latex/... · 2004-01-12 · ´ecole d’ing´enieurs du canton de Vaud (eivd) D´epartement d’´electricit´e

eivd Regulation numerique

aux systemes echantillonnes, qui sont pour une bonne part deja fournis parles specialistes du traitement numerique des signaux.

Chapitre 1, v.1.6 22 mee \cours˙rn.tex\12 janvier 2004

Page 23: REGULATION NUMERIQUE - HEIG-VDphp.iai.heig-vd.ch/~mee/cours/cours_rn/chap_01/latex/... · 2004-01-12 · ´ecole d’ing´enieurs du canton de Vaud (eivd) D´epartement d’´electricit´e

eivd Regulation numerique

M

J

y ( t )

w ( t )u ( t )

u a ( t )

T

f _ 0 1 _ 1 2 . e p s

K m w

R f

R a L a

K T , K Ei a ( t )

Fig. 1.13 – Systeme a regler : servo-moteur a courant continu (fichier source).

1.2 Exemple : asservissement de vitesse par

regulateur PI numerique

Soit le systeme a regler donne par le schema technologique de la fi-gure 1.13. On se propose d’asservir ce systeme en vitesse au moyen d’unregulateur numerique de type Proportionnel-Integral. Le schema fonctionneldetaille de l’installation, comprenant le regulateur numerique, est donne surla figure 1.14 page suivante.

La loi de commande de ce dernier s’obtient par discretisation de celle d’unregulateur PI analogique, laquelle etant

u (t) = Kp ·(

e (t) +1

Ti

·∫ t

−∞e (τ) · dτ

)

ou e(t) est le signal d’erreur.

Evaluee a l’instant d’echantillonnage k · h, cette loi devient discrete ets’ecrit :

u (k · h) = Kp ·(

e (k · h) +1

Ti

·∫ k·h

−∞e (τ) · dτ

)La resolution de l’integrale passe par le calcul de l’aire comprise entre l’axet et le signal e(t). Une approximation de cette aire peut etre faite par lamethode des rectangles (figure 1.15 page 25).

On se propose ainsi d’approximer cette aire par une somme de rectangles

Chapitre 1, v.1.6 23 mee \cours˙rn.tex\12 janvier 2004

Page 24: REGULATION NUMERIQUE - HEIG-VDphp.iai.heig-vd.ch/~mee/cours/cours_rn/chap_01/latex/... · 2004-01-12 · ´ecole d’ing´enieurs du canton de Vaud (eivd) D´epartement d’´electricit´e

eivd Regulation numerique

D DA

S-

+w

(k)

Alg

orit

hme

duré

gula

teur

PI

num

ériq

ue

u(k)

y(k)

e(k)

M

J

y(t)

w(t

)K

mw

u(t)

u a(t

)

AT

KT

KE

f _ 0 1 _ 1 3 . e p s

Rf

Ra

La

i a(t)

Fig. 1.14 – Systeme de regulation automatique de vitesse par regulateur PInumerique (fichier source).

Chapitre 1, v.1.6 24 mee \cours˙rn.tex\12 janvier 2004

Page 25: REGULATION NUMERIQUE - HEIG-VDphp.iai.heig-vd.ch/~mee/cours/cours_rn/chap_01/latex/... · 2004-01-12 · ´ecole d’ing´enieurs du canton de Vaud (eivd) D´epartement d’´electricit´e

eivd Regulation numerique

de largeur h et de hauteur

e(0 · h)e(1 · h). . .e(k · h − h)

On a : ∫ k·h

−∞e (τ) · dτ ≈

k−1∑l=0

e(l · h) · h

La loi de commande discrete du regulateur PI numerique devient :

u (k · h) = Kp ·

(e (k · h) +

1

Ti

·k−1∑l=0

e(l · h) · h

)

k h( k - 1 ) h

( k - 1 ) i è m er e c t a n g l e

e ( t )e ( k )

e ( k - 1 )

h

e ( 1 )

e ( 0 )

h ( k + 1 ) ht ,k0

e ( k + 1 )

f _ 0 1 _ 1 7 . e p s

Fig. 1.15 – Approximation de l’integrale de l’erreur par une somme de rec-tangles (fichier source).

Cette forme se prete mal a la programmation, puisqu’elle necessite lamemorisation de toutes les valeurs passees e(0), e(h), e(2 · h),. . ., e(k · h− h)du signal d’erreur numerique e(k · h). Afin de contourner cette difficulte, onpeut ecrire les lois de commande aux instants present k · h et et precedent(k − 1) · h et soustraire membre a membre :

Chapitre 1, v.1.6 25 mee \cours˙rn.tex\12 janvier 2004

Page 26: REGULATION NUMERIQUE - HEIG-VDphp.iai.heig-vd.ch/~mee/cours/cours_rn/chap_01/latex/... · 2004-01-12 · ´ecole d’ing´enieurs du canton de Vaud (eivd) D´epartement d’´electricit´e

eivd Regulation numerique

u (k · h) = Kp ·(

e (k · h) + 1Ti· h ·

k−1∑l=0

e (l · h)

)u ((k − 1) · h) = Kp ·

(e ((k − 1) · h) + 1

Ti· h ·

k−2∑l=0

e (l · h)

)

u(k · h) − u((k − 1) · h) =

Kp ·

(e(k · h) − e((k − 1) · h) +

1

Ti

· h ·k−1∑l=0

e(l · h) − 1

Ti

· h ·k−2∑l=0

e(l · h)

)

En regroupant le termes relatifs au meme instant d’echantillonnage, on ob-tient finalement l’expression de la loi de commande recherchee, apres avoirallege la notation en omettant la periode d’echantillonnage h lorsque celle-ciintervient pour designer un instant (et non une duree !) :

u(k) = u(k − 1) + Kp · e(k) + Kp ·(

h

Ti

− 1

)· e(k − 1)

Sous forme compacte, on a :

u(k) = u(k − 1) + b0 · e(k) + b1 · e(k − 1)

avec

{b0 = Kp

b1 = Kp ·(

hTi− 1)

. La programmation du regulateur PI numerique

a des lors la forme suivante :

void r egu la t eur PI (){

/∗ l i t l e contenu du r e g i s t r e de so r t i e du conver t i s s eur A/D ∗/AD Conv( y [ 0 ] ) ;e [ 0 ] = w[0 ] − y [ 0 ] ; /∗ forme l ’ erreur ∗//∗ Calcule la commande u [ k ] ∗/u [0 ] = u [1 ] + b0 ∗ e [ 0 ] + b1 ∗ e [ 1 ] ;DA Conv( u [ 0 ] ) ; /∗ Commande la conversion D/A de u [ k ] ∗/u [1 ] = u [ 0 ] ; /∗ mise a jour , ges t ion de la p i l e u ∗/e [ 1 ] = e [ 0 ] ; /∗ mise a jour , ges t ion de la p i l e e ∗/

}

Chapitre 1, v.1.6 26 mee \cours˙rn.tex\12 janvier 2004

Page 27: REGULATION NUMERIQUE - HEIG-VDphp.iai.heig-vd.ch/~mee/cours/cours_rn/chap_01/latex/... · 2004-01-12 · ´ecole d’ing´enieurs du canton de Vaud (eivd) D´epartement d’´electricit´e

eivd Regulation numerique

0 2 4 6 8 10 120

0.5

1

1.5Grandeur réglée (régulateur PI numérique)

t, k

y(k)

, y(t)

Fig. 1.16 – Reponse indicielle discrete en boucle fermee, regulation de cor-respondance, avec regulateur PI numerique. La grandeur reglee analogiquey(t) est egalement donnee (fichier source).

0 2 4 6 8 10 12 140

1

2

3

4

5

6Commande (régulateur PI numérique)

t, k

u(k)

, u(t)

Fig. 1.17 – Commande u(k) delivree par le regulateur PI numerique dans lecas d’un saut unite de consigne w(k). Sa reconstruction analogique u(t) estegalement donnee (fichier source).

Chapitre 1, v.1.6 27 mee \cours˙rn.tex\12 janvier 2004

Page 28: REGULATION NUMERIQUE - HEIG-VDphp.iai.heig-vd.ch/~mee/cours/cours_rn/chap_01/latex/... · 2004-01-12 · ´ecole d’ing´enieurs du canton de Vaud (eivd) D´epartement d’´electricit´e

eivd Regulation numerique

On presente sur la figure 1.16 page precedente la reponse indicielle discretey(k) = γ(k) en boucle fermee (regulation de correspondance), telle que l’al-gorithme la percoit au travers du convertisseur A/D. On y a superpose enpointille l’allure du signal analogique y(t) ainsi qu’on pourrait l’observer aumoyen d’un oscilloscope analogique.

Le signal de commande analogique u(t) presente une variation caracteristiqueen escalier (figure 1.17 page precedente), qui n’est autre que la reconstitutionpar element de maintien du signal numerique u(k) correspondant.

Chapitre 1, v.1.6 28 mee \cours˙rn.tex\12 janvier 2004

Page 29: REGULATION NUMERIQUE - HEIG-VDphp.iai.heig-vd.ch/~mee/cours/cours_rn/chap_01/latex/... · 2004-01-12 · ´ecole d’ing´enieurs du canton de Vaud (eivd) D´epartement d’´electricit´e

eivd Regulation numeriqueR

AM

, EE

PR

OM

m P

A

D

E L E M E N TD E

M A I N T I E N

MU

LT

IPL

EX

EU

RA

NA

LO

GIQ

UE

H O R L O G E

EN

TR

EE

S/

SO

RT

IES

y 1 ( t )

E L E M E N TD E

M A I N T I E Ny 2 ( t )

y n ( t )

F I L T R EA N T I -

R E P L I E M E N T

F I L T R EA N T I -

R E P L I E M E N T

D A T A B U S & A D D R E S S B U S

A

D

E L E M E N TD E

M A I N T I E N

DE

MU

LT

IPL

EX

EU

RA

NA

LO

GIQ

UE

E L E M E N TD E

M A I N T I E Nu 2 ( t )

u n ( t )

u 1 ( t )

CO

MM

AN

DE

SG

RA

ND

EU

RS

RE

GL

EE

S

CIR

CU

IT D

EC

OM

MU

NIC

AT

ION

f _ 0 1 _ 1 4 . e p s

Fig. 1.18 – Realisation hardware typique pour un systeme de regulationnumerique (fichier source).

1.3 Composants specifiques d’un systeme de

regulation numerique

1.3.1 Materiel

Une realisation minimale d’un systeme de regulation numerique se presentesous la forme decrite a la figure 1.18.

Outre la presence deja evoquee du processeur, des convertisseurs A/D etD/A, ainsi que d’une horloge programmable permettant de fixer la perioded’echantillonnage h, il est indispensable de disposer de memoire RAM et/ouEPROM, d’un certain nombre d’entree/sorties digitales et finalement decircuits de communication. Ont egalement ete prevus des multiplexeur etdemultiplexeur analogiques, necessaires dans les installations de regulation

Chapitre 1, v.1.6 29 mee \cours˙rn.tex\12 janvier 2004

Page 30: REGULATION NUMERIQUE - HEIG-VDphp.iai.heig-vd.ch/~mee/cours/cours_rn/chap_01/latex/... · 2004-01-12 · ´ecole d’ing´enieurs du canton de Vaud (eivd) D´epartement d’´electricit´e

eivd Regulation numerique

multivariable.

Processeur

L’avenement au debut des annees 80 des processeurs de signaux (DSP :Digital Signal Processor) a fourni aux ingenieurs-automaticiens la puissancede calcul necessaire a la mise en oeuvre d’algorithmes de regulation evolues(Texas Instruments, Nec, Analog Devices, Fujitsu, Motorola, etc). Ces pro-cesseurs, dont l’ensemble d’instructions est reduit, se caracterisent par unevitesse de calcul remarquable (10 a 100 [ns] de temps de cycle instruction)et notamment par le fait qu’ils disposent d’un operateur de multiplicationhardware (donc ni code ni micro-code, mais cable), rendant la multiplicationde deux nombres (un coefficient et la valeur d’un signal numerique) aussirapide que n’importe qu’elle autre instruction de base. A titre d’exemple,la loi de commande du regulateur PI numerique obtenue au § 1.2 page 23necessite deux multiplications

u(k) = u(k − 1) + b0 · e(k) + b1 · e(k − 1))

et un exemple d’implantation en assembleur d’une telle loi de commandepour le processeur DSP Texas TMS320F2407 (16 bits, virgule fixe) est donneci-dessous :

∗∗ REGULATEUR PI∗ ∗∗∗∗∗∗∗∗∗∗∗∗∗∗

LAC W,0 ;ACC = WSUB Y,0 ;ACC = W−YSACL E 0 ,0 ; e r reur ins tant present sauvegardee dans E0LAC U 1 ,12 ;ACC = 2ˆ12∗U 1LT E 1 ; er reur a l ’ in s tant precedent dans r e g i s t r e TMPY B1 ; r e g i s t r e P = B1∗E1 ( B1=2ˆ12∗b1 )LTD E 0 ;ACC = 2ˆ12∗U 1 + B1∗E1 , E0 copie dans E 1MPY B0 ; P = B0∗E0 ( B0=2ˆ12∗b0 )APAC ;ACC = 2ˆ12∗U 1 + B0∗E0 + B1∗E1SACH U 0 ,4 ; U 0 = U 1 + b0∗E0 + b1∗E1DMOV U 0 ; U0 copie dans U 1

A 20 [ns] de duree d’execution pour chaque instruction, meme pour lesmultiplications, on voit que le processeur mettrait 10 · 20 [ns] = 200 [ns] =0.2 [µs] pour executer le code du regulateur PI numerique ci-dessus. Il manquedans le code l’acces aux registres des convertisseurs A/D et D/A afin d’ob-tenir Y et de convertir U 0 respectivement.

Le prix des processeurs DSP est tout a fait abordable, si l’on se contentede versions 16 bits a virgule fixe, bien qu’actuellement certaines versions a vir-gule flottante soient competitives d’un point de vue economique. Le probleme

Chapitre 1, v.1.6 30 mee \cours˙rn.tex\12 janvier 2004

Page 31: REGULATION NUMERIQUE - HEIG-VDphp.iai.heig-vd.ch/~mee/cours/cours_rn/chap_01/latex/... · 2004-01-12 · ´ecole d’ing´enieurs du canton de Vaud (eivd) D´epartement d’´electricit´e

eivd Regulation numerique

du prix est en fait reporte sur les composants peripheriques, dont la rapiditedoit concorder avec celle du processeur. En particulier, les memoires RAMrapides (10−40 [ns]) de petites capacites (1-64 [kbytes]) peuvent s’averer trescouteuses. Fort heureusement, les DSPs d’aujourd’hui (Texas TMS320F2407,Analog Devices ADMC401) comportent desormais on chip de tels peripheriques,a l’instar des microcontroleurs evoques brievement ci-dessous.

Dans les applications tres dynamiques (entraınements regles, regulationde courant), pour lesquelles la periode d’echantillonnage est petite (h =50 [µs] a 1 [ms]), le temps d’execution imparti a l’algorithme de regulationest necessairement court, ce qui implique un code de longueur reduite. Parconsequent, les exigences en quantite de memoire rapide peuvent devenir touta fait raisonnables (typiquement 4 a 64 [kbytes]).

D’autre types de processeurs tres bien adaptes aux besoins de la regulationnumerique sont egalement disponibles sur le marche depuis quelques anneesseulement : il s’agit des microcontroleurs (Motorola, Hitachi, Nec, Siemens,etc), se distinguant par le fait qu’il integrent sur une meme puce un proces-seur, des convertisseurs A/D et D/A multi-canaux, des compteurs/decompteurs,des entrees/sorties digitales, une horloge, de la RAM et de la PROM ainsique des circuits de communication tel que par exemple des interfaces pour lebus de terrain CAN. Ils sont operationnels presque sans ajout de composantsexternes. Par rapport aux DSPs, ils presentent l’inconvenient d’etre moinsrapides (multiplication en plus d’une microseconde), mais l’evolution de cescircuits est fulgurante.

La vitesse du processeur choisi depend completement de l’application etde ses exigences en rapidite, et par consequent de la periode d’echantillonnageh. Celle-ci peut prendre les valeurs suivantes (table 1.3.1), citees dans le butde fixer des ordres de grandeurs [4] :

Grandeur echantillonnee/ Domained’application

h

Courant dans les entraınements regles 50 . . . 100 [µs]Position en robotique et machines speciales(imprimerie, textiles, emballage)

200 [µs] . . . 1 [ms]

Position en machine-outil 500 [µs] . . . 10 [ms]Debit, pression, niveau 0.1 [s] − 10 [s]

Tab. 1.1 – Periodes d’echantillonnage typiques, selon [4].

Les resultats des calculs effectues par le processeur determinant les com-mandes appliquees dans l’environnement immediat par les actionneurs, le

Chapitre 1, v.1.6 31 mee \cours˙rn.tex\12 janvier 2004

Page 32: REGULATION NUMERIQUE - HEIG-VDphp.iai.heig-vd.ch/~mee/cours/cours_rn/chap_01/latex/... · 2004-01-12 · ´ecole d’ing´enieurs du canton de Vaud (eivd) D´epartement d’´electricit´e

eivd Regulation numerique

fonctionnement du processeur ou celui de l’algorithme devrait etre surveillepar un circuit de type watchdog.

Convertisseur analogique-digital

Les performances des convertisseurs A/D ont suivi une evolution pa-rallele a celle de DSPs, meme si le prix d’un convertisseur A/D rapide d’uneresolution de 12 bits est eleve. L’avenement des convertisseurs A/D de typeΣ − ∆ utilises en masse en audio-numerique n’a pour l’instant pas ameliorela situation de ce point de vue la. Des temps de conversion de l’ordre de lamicroseconde sont courants.

Il existe des situations ou le convertisseur A/D est superflu en tant quecomposant, notamment lorsque le capteur de la grandeur a regler fournitune information intrinsequement discrete. C’est par exemple le cas lors del’utilisation de capteurs optiques de position lineaires ou rotatifs de typeincremental (encodeur optique incremental, figure 1.19), que l’on trouve tresfrequemment dans le domaine de la machine-outil. Un codeur incrementalrotatif fournit par exemple 4096 impulsions par tour qu’il suffit de compterpour connaıtre la position angulaire. On mentionnera egalement la conver-sion tension-frequence, alternative peu couteuse a la conversion A/D. Lesignal analogique sortant du capteur est une suite d’impulsions moduleeen frequence. Dans un cas comme dans l’autre, l’obtention d’un nombrerepresentatif de la valeur instantanee du signal mesure s’effectue par unsimple compteur/decompteur (soit un integrateur numerique, § 4.3.1 page 125).La plupart des microcontroleurs comportent plusieurs compteurs/decompteurs.Formellement, la fonction conversion A/D est donc bien sur toujours presente.

Fig. 1.19 – Capteur de position de type codeur incremental.

Chapitre 1, v.1.6 32 mee \cours˙rn.tex\12 janvier 2004

Page 33: REGULATION NUMERIQUE - HEIG-VDphp.iai.heig-vd.ch/~mee/cours/cours_rn/chap_01/latex/... · 2004-01-12 · ´ecole d’ing´enieurs du canton de Vaud (eivd) D´epartement d’´electricit´e

eivd Regulation numerique

0y

y q

f _ 0 1 _ 1 5 . e p s

D y q

Fig. 1.20 – Caracteristique non-lineaire d’un convertisseur A/D. L’effet de laquantification de l’amplitude (pas de quantification ∆yq) du signal convertipeut etre assimile a un bruit sur la mesure. La variance de ce bruit a pourexpression σ2

q = ∆yq

12(§ 7.7 page 286 et [9], §10.3.4) (fichier source).

En pratique, on peut (voire on doit...) souvent se contenter d’une resolutionde 10 a 12 bits. Il s’agit dans la plupart des cas d’une resolution raisonnable,eu egard aux rapports signal sur bruit des grandeurs a convertir.

Il faut etre conscient du fait que le convertisseur A/D possede une ca-racteristique statique non-lineaire dont les effets ne sont pas toujours negligeables(§ 7.7 page 286). Une introduction a l’analyse des systemes non-lineaires per-mettra d’evaluer l’effet de la quantification sur la stabilite.

Souvent cependant, la resolution du convertisseur A/D est suffisante pourque la presence de cette non-linearite dans la boucle soit sans consequencenotable. L’effet de la quantification de l’amplitude de y(k · h) peut doncetre sans autre neglige, les signaux numeriques etant alors assimiles a dessignaux discrets. C’est l’hypothese qui sera adoptee pour la suite, et les deuxdesignations seront indifferemment employees (§ 3.2 page 100).

Convertisseur digital-analogique

Il s’agit de l’element posant le moins de difficulte, quel que soit le pointde vue. C’est fonctionnellement un composant relativement simple a realiser,son temps de conversion n’est pas comparable aux autres temps morts de laboucle (conversion A/D et duree d’execution de l’algorithme, § 1.6.2 page 53)et son prix n’est pas determinant dans le cout global du circuit.

Sa resolution est supposee infinie pour la suite du cours, meme si elle semonte en realite souvent a 12 bits.

Chapitre 1, v.1.6 33 mee \cours˙rn.tex\12 janvier 2004

Page 34: REGULATION NUMERIQUE - HEIG-VDphp.iai.heig-vd.ch/~mee/cours/cours_rn/chap_01/latex/... · 2004-01-12 · ´ecole d’ing´enieurs du canton de Vaud (eivd) D´epartement d’´electricit´e

eivd Regulation numerique

1.3.2 Logiciel

Il faut relever le fait que la tache de regulation proprement dite n’estqu’une petite partie de l’ensemble du code, le processeur pouvant et devanteffectuer bien d’autres taches annexes tout aussi importantes.

Routine de regulation

La sequence des operations effectuees des l’instant k · h et pendant uneduree inferieure a la periode d’echantillonnage h est generalement la suivante(voir egalement figure 1.31 page 49) :

Operation1 Le signal d’horloge genere une interruption.2 Le processeur commence l’execution de sa routine d’interrup-

tion, lance la conversion A/D de y(t). Celle-ci terminee, illit le nombre y(k) , resultant de l’echantillonnage de y(t) al’instant t = k · h.

3 Execution de l’algorithme de regulation, version programmeede la loi de commande du regulateur numerique, avec en prin-cipe le calcul de l’ecarte(k · h) = w(k · h) − y(k · h)Le resultat est la commande u(k) a appliquer au systeme aregler.

4 Le processeur lance la conversion D/A de u(k) ; il en resulteu(t).

5 Fin de la routine d’interruption, execution de taches de fond.

La minimisation de la duree de calcul passe naturellement par un code delongueur reduite, qui s’obtient parfois au prix d’un effort soutenu d’optimi-sation, que le langage de programmation soit de haut niveau (le plus souventC) ou du niveau machine (assembleur). Dans certains cas, on est contraintde faire des compromis quant a la portabilite, la structuration et la lisibilitedu code. Si ces compromis ne concernent que la routine de regulation (laloi de commande), soit une tres petite partie de l’ensemble, ils peuvent etreexceptionnellement acceptes.

Chapitre 1, v.1.6 34 mee \cours˙rn.tex\12 janvier 2004

Page 35: REGULATION NUMERIQUE - HEIG-VDphp.iai.heig-vd.ch/~mee/cours/cours_rn/chap_01/latex/... · 2004-01-12 · ´ecole d’ing´enieurs du canton de Vaud (eivd) D´epartement d’´electricit´e

eivd Regulation numerique

Lec

ture

et t

rait

emen

t du

résu

ltat

de la

con

vers

ion

A/D

(=

> y

(k))

Exé

cuti

on d

e l'a

lgor

ithm

e de

régu

lati

on =

> u

(k)

= f

(w(k

), w

(k-1

), ..

.,y(k

), y

(k-1

),...

) )

Lan

cem

ent d

'une

con

vers

ion

D/A

de la

com

man

de u

(k)

=>

u(t

)

Mis

es à

jour

, lec

ture

de

lapr

ocha

ine

cons

igne

w(k

+1)

k k + 1

h

T c o n v A D T c o n v D AT c a l c u l

Lan

cem

ent d

'une

con

vers

ion

A/D

de la

gra

ndeu

r ré

glée

y(t

)

Lan

cem

ent d

'une

con

vers

ion

A/D

de la

gra

ndeu

r ré

glée

y(t

)

t

k k + 1t

T â c h e s

etc

inte

rrup

tion

S i g n a l d ' h o r l o g e( b a s e d e t e m p sp o u r d é f i n i r h )

f _ 0 1 _ 1 6 . e p s

Fig. 1.21 – Visualisation de la sequence des operations effectuees par lelogiciel d’un systeme de regulation numerique (fichier source).

Gestion de la mesure (conversion A/D, selection du canal et/ou ducapteur)

Le processeur est normalement charge de la gestion de la conversion A/D.La selection du signal a convertir (cas de regulation multi-variables), le trai-tement de la valeur brute issue du convertisseur lui incombent. Entre autrestaches, on peut imaginer des routines effectuant un filtrage numerique de lamesure ou traitant les cas ou celle-ci est temporairement absente ou non-valide (parasite, saturation du convertisseur A/D). Par exemple, une tachepeut avoir pour but pallier l’absence d’une mesure en la reconstituant parextrapolation des donnees precedentes ou par un procede de detection d’en-veloppe.

Chapitre 1, v.1.6 35 mee \cours˙rn.tex\12 janvier 2004

Page 36: REGULATION NUMERIQUE - HEIG-VDphp.iai.heig-vd.ch/~mee/cours/cours_rn/chap_01/latex/... · 2004-01-12 · ´ecole d’ing´enieurs du canton de Vaud (eivd) D´epartement d’´electricit´e

eivd Regulation numerique

Reception / generation de la consigne

Si la consigne est creee dans une autre unite ou provient directementd’un signal analogique, il suffit au processeur charge de la regulation de lareceptionner par ses circuits de communication (cas d’une consigne numeriquetransmise par bus) ou de la convertir en un signal numerique en ayant recoursa un convertisseur A/D.

La generation de consigne est un travail considerable, tres gourmand entemps de calcul. De surcroıt, sa programmation en virgule fixe peut releverde l’exploit. Si ce travail est du ressort du processeur, les performances de cedernier et la periode d’echantillonnage doivent etre choisies apres une etudesoignee.

Exemple : consigne ”bang-bang” La consigne bang-bang est genereepar deux courbes du second ordre (paraboles) raccordees (haut de la fi-gure 1.22). Elle est naturellement plus douce qu’une consigne en forme desaut unite, mais cette douceur n’est qu’apparente.

0 5 10 15 20 25 300

0.5

1

w(k

)

Consigne de position θc(k)

0 5 10 15 20 25 30−1

0

1

2

3

ωc(k

)

Consigne de vitesse ωc(k)

0 5 10 15 20 25 30−5

0

5

10

k

α c(k)

Consigne d"accélération αc(k)

Fig. 1.22 – Consigne de position produite par un generateur de consigne detype ”bang-bang” (fichier source).

En imaginant qu’il s’agisse d’une consigne de position angulaire (θc(k)),ses derivees premiere et seconde representent respectivement les consignes

Chapitre 1, v.1.6 36 mee \cours˙rn.tex\12 janvier 2004

Page 37: REGULATION NUMERIQUE - HEIG-VDphp.iai.heig-vd.ch/~mee/cours/cours_rn/chap_01/latex/... · 2004-01-12 · ´ecole d’ing´enieurs du canton de Vaud (eivd) D´epartement d’´electricit´e

eivd Regulation numerique

de vitesse ωc(k) et d’acceleration αc(k). Cette derniere montre un profil dis-continu, ou les phases d’acceleration/freinage, bien visibles, sont brutales.Le couple moteur correspondant aura une allure similaire, provoquant unesollicitation importante de l’actionneur.

La difficulte de la generation de telles consignes survient lorsqu’elles doiventetre programmees en nombres entiers : il faut alors simultanement satisfaireles contraintes suivantes :

– toutes les valeurs instantanees des 3 signaux θc(k), ωc(k) et αc(k)doivent etre arrondies, par exemple avec une resolution de 16 bits sansque cela ne rajoute des discontinuites dans le mouvement ;

– il faut que la somme (l’integrale) des accelerations αc(k) coıncide entout instant k parfaitement avec la vitesse ωc(k), de meme que la sommede ωc(k) doit correspondre a θc(k). Si cela n’est pas respecte, les 3consignes ne seront pas concordantes, ce degradera les performances del’asservissement si celui-ci comporte, comme souvent, des commandesanticipees (§ 7.3 page 249).

Limitation, surveillance et protection

L’actionneur utilise ayant necessairement un domaine de fonctionnementlimite (par exemple couple maximum d’un moteur electrique), il est logiquede ne pas lui demander plus qu’il ne peut. C’est la raison pour laquelle unelimitation logicielle de la commande u(k) doit faire partie de l’algorithme deregulation. Cette limitation presente le double avantage de proteger l’action-neur (une limitation hardware supplementaire peut etre requise) et d’infor-mer le regulateur que la commande demandee ne pourra etre realisee.

Le processeur, en ayant connaissance a chaque instant d’echantillonnagede la grandeur reglee et de la commande, est a meme de surveiller le fonc-tionnement de l’installation. Une grandeur reglee divergente, incontrolable

AD

AD

w ( k )

y ( k )

u ( t ) y ( t )A l g o r i t h m ed u

r é g u l a t e u r

S Y S T E M EA

R E G L E R

u ( k )

v

u+ u m a x

- u m a x

L I M I T A T I O Nv ( k )

f _ 0 1 _ 1 8 . e p s

Fig. 1.23 – Insertion d’un disposition de limitation de la grandeur de com-mande. La realisation de ce dispositif se fait avantageusement par logiciel(fichier source).

Chapitre 1, v.1.6 37 mee \cours˙rn.tex\12 janvier 2004

Page 38: REGULATION NUMERIQUE - HEIG-VDphp.iai.heig-vd.ch/~mee/cours/cours_rn/chap_01/latex/... · 2004-01-12 · ´ecole d’ing´enieurs du canton de Vaud (eivd) D´epartement d’´electricit´e

eivd Regulation numerique

doit etre detectee a temps et l’algorithme doit decider (selon des criteres adefinir) des dispositions a prendre (arret d’urgence, signalisation en amont,etc). De meme, une commande en etat prolonge de saturation, ou oscillantepeut etre le signe d’un mauvais fonctionnement ou d’une inadequation desperformances requises et celles effectivement possibles.

Taches de fond

Il existe moult taches annexes ou secondaires necessaires au fonction-nement sur d’une installation meme simple. Beaucoup d’entre-elles peuvents’executer a un rythme bien inferieur a celui fixe par la periode d’echantillonnage,et d’autres, lourdes en temps de calcul, voient leur execution repartie surplusieurs periodes d’echantillonnage. Ces taches vont du plus simple au pluscomplique, passant par des surveillances diverses, des affichages de l’etat ac-tuel (diode LED, affichage 7 segments, etc), le dialogue avec la commandemaıtre, le monitoring de certaines variables, etc.

Chapitre 1, v.1.6 38 mee \cours˙rn.tex\12 janvier 2004

Page 39: REGULATION NUMERIQUE - HEIG-VDphp.iai.heig-vd.ch/~mee/cours/cours_rn/chap_01/latex/... · 2004-01-12 · ´ecole d’ing´enieurs du canton de Vaud (eivd) D´epartement d’´electricit´e

eivd Regulation numerique

1.4 Comparaison des regulateurs numeriques

et analogiques

1.4.1 Points faibles et points forts des regulateurs numeriques

Le principal avantage d’un regulateur numerique est sans nul doute lafacilite avec laquelle une loi de commande meme compliquee peut etre pro-grammee. La modification des coefficients de cette loi en vue de l’adapter adifferents systemes a regler est une operation extremement simple, automa-tique dans certains cas (regulateur STR : Self Tuning Regulator). Quantau changement de la loi de commande (modification de la structure duregulateur), elle n’implique qu’une reprogrammation, suivie d’une compila-tion et enfin d’un chargement/telechargement du nouveau code executable.

Sur cette base de comparaison, un regulateur numerique supplante in-discutablement sa version analogique. Neanmoins, un regulateur numeriquepossede un certain nombre de points faibles (tableau 1.4.1 page 41).

Le developpement detaille de ces points sera effectue dans des chapitressuivants. En regard de ces inconvenients, il faut evidemment enumerer lespoints forts d’un regulateur numerique (tableau 1.4.1 page 42).

De plus, il faut insister sur le fait que des le moment ou l’on disposed’un processeur pour effectuer la regulation, on en profitera pour lui faireexecuter de multiples autres travaux (surveillance, protection, monitoring),a un degre tel que la fonction de regulation devient en complexite et entemps d’execution tres secondaire. Sur ce plan la, un regulateur numeriqueest imbattable, et cet aspect doit etre pris en compte lors de la comparaisonprix/performances des deux types de regulateurs.

1.4.2 Exemple : comparaison des performances de regulateursPI analogiques et numeriques

Les reponses indicielles en boucle fermee suivantes sont celles correspon-dant aux cas ou :

1. Le regulateur PI est analogique, le gain est optimal (ζ=0.5) ; voir fi-gure 1.24 page suivante ;

2. Le regulateur PI est numerique, les gains etant les memes qu’en 1). Lacomparaison avec la reponse indicielle obtenue sous les conditions 1)montre que le systeme asservi par le regulateur numerique a un degrede stabilite moindre ; voir figure 1.24 page suivante ;

3. Le regulateur PI est numerique, les gains etant reajustes de facon quele comportement soit optimal (ζ = 0.5) comme en sur la figure 1.24.

Chapitre 1, v.1.6 39 mee \cours˙rn.tex\12 janvier 2004

Page 40: REGULATION NUMERIQUE - HEIG-VDphp.iai.heig-vd.ch/~mee/cours/cours_rn/chap_01/latex/... · 2004-01-12 · ´ecole d’ing´enieurs du canton de Vaud (eivd) D´epartement d’´electricit´e

eivd Regulation numerique

0 2 4 6 8 10 120

0.5

1

1.5Grandeur réglée (régulateur PI analogique et numérique)

t, k

y(k)

, y(t)

Fig. 1.24 – Reponses indicielles de 2 systemes asservis, l’un par un regulateurPI analogique et le second par un regulateur PI numerique. Les gains Kp etTi installes sont identiques. On observe que le regulateur PI numerique offreun degre de stabilite moindre (fichier source).

0 2 4 6 8 10 120

0.5

1

1.5Grandeur réglée (régulateur PI analogique et numérique)

t, k

y(k)

, y(t)

Fig. 1.25 – Reponses indicielles de 2 systemes asservis, l’un par un regulateurPI analogique et le second par un regulateur PI numerique. Les gains Kp etTi utilises pour le regulateur numerique ont du etre reduit afin d’offrir undegre de stabilite identique (fichier source).

Chapitre 1, v.1.6 40 mee \cours˙rn.tex\12 janvier 2004

Page 41: REGULATION NUMERIQUE - HEIG-VDphp.iai.heig-vd.ch/~mee/cours/cours_rn/chap_01/latex/... · 2004-01-12 · ´ecole d’ing´enieurs du canton de Vaud (eivd) D´epartement d’´electricit´e

eivd Regulation numerique

Points faibles d’un regulateur numerique compare a unregulateur analogique

1 Observation discontinue de la grandeur reglee (systeme en boucleouverte entre deux instants d’echantillonnage).

2 Sans precautions particulieres, insertion de non-linearites dansla boucle de regulation, dues a la quantification des conver-tisseurs, a la precision de calcul finie du processeur et auprocede d’echantillonnage (recouvrement spectral). Ces non-linearitespeuvent avoir un effet destabilisant (cycles limites) et introduisent desbruits supplementaires, voire des battements.

3 Insertion de retards purs dans la boucle de regulation :– temps de conversion A/D ;– temps d’execution de l’algorithme de regulation ;– temps de conversion D/A.

4 Insertion dans la boucle de regulation d’un retard supplementairedu a la construction imparfaite de la commande analogique a partirde la commande numerique.

5 Insertion dans la boucle de regulation d’un retard (dephasage)supplementaire du a la presence d’un filtre anti-repliement (voir coursde traitement de signal et chapitre2 du present cours).

6 Excitation possible de modes rapides mal amortis du systeme aregler en cas de commande variant par sauts brusques (quantifica-tion grossiere du convertisseur D/A).

7 Synthese frequentielle plus delicate.8 Infrastructure logicielle lourde (emulateur, compilateur, assembleur,

editeur de liens).9 Pour un regulateur simple, grand nombre de composants, d’une com-

plexite superieure.10 A structure et gains du regulateur identiques (par exemple PI ana-

logique et PI numerique), le regulateur analogique offre des perfor-mances superieures.

Chapitre 1, v.1.6 41 mee \cours˙rn.tex\12 janvier 2004

Page 42: REGULATION NUMERIQUE - HEIG-VDphp.iai.heig-vd.ch/~mee/cours/cours_rn/chap_01/latex/... · 2004-01-12 · ´ecole d’ing´enieurs du canton de Vaud (eivd) D´epartement d’´electricit´e

eivd Regulation numerique

Points forts d’un regulateur numerique compare a unregulateur analogique

1 Souplesse d’emploi exceptionnelle, modification aisee des parametreset de la structure du regulateur.

2 Adaptation (en temps reel ou off line) des parametres du regulateur enfonction des variations de ceux du systeme a regler (”gain scheduling”(prevision du gain) et commande adaptative).

3 Realisation aisee de regulateurs complexes, lois de commande raf-finees. Facilite de mise en oeuvre de commandes anticipatrices (com-pensation par rapport a la consigne ou a certaines perturbations).Mise en oeuvre d’algorithmes de regulation sans equivalent analo-gique (regulateur a reponse pile, ”deadbeat”).

4 Insensibilite de la caracteristique entree-sortie du regulateur aux pa-rasites, aux variations de temperature, au vieillissement, etc.

5 Pas de dispersion des parametres du regulateur en cas de fabricationen serie.

6 Prise en compte de defauts, des limites et comportements particuliersdu systeme a regler (non-linearites, saturation) par simple program-mation. Linearisation autour d’un point de fonctionnement ajustable.

Chapitre 1, v.1.6 42 mee \cours˙rn.tex\12 janvier 2004

Page 43: REGULATION NUMERIQUE - HEIG-VDphp.iai.heig-vd.ch/~mee/cours/cours_rn/chap_01/latex/... · 2004-01-12 · ´ecole d’ing´enieurs du canton de Vaud (eivd) D´epartement d’´electricit´e

eivd Regulation numerique

On observe qu’a degre de stabilite identique, le regulateur analogiqueoffre de meilleures performances ; voir figure 1.25 page 40.

1.4.3 Exemple : commande anticipatrice (ou commandea priori)

L’exemple du paragraphe precedent montre clairement la superiorite duregulateur analogique sur son equivalent numerique. Montrons qu’a degres destabilite identiques, un asservissement par regulateur numerique, en principeplus lent, peut etre rendu plus rapide que son concurrent 100% analogiquepar simple adjonction d’une commande anticipatrice (§ 7.3 page 249) dontla programmation est extremement simple.

0 2 4 6 8 10 12 140

0.2

0.4

0.6

0.8

1

1.2

1.4Poursuite d’une comsigne bang bang: consignes et grandeurs réglées

w, y

num

ériq

ue, y

anal

ogiq

ue yanalogique

ynumérique

w

0 2 4 6 8 10 12 14−0.2

−0.1

0

0.1

0.2

0.3

0.4

0.5Poursuite d’une comsigne bang bang: erreurs

t [s]

e anal

ogiq

ue, e

num

ériq

ue

yanalogique

ynumérique

Fig. 1.26 – Amelioration des performances par commande anticipee ou apriori (fichier source).

On considere le cas d’un asservissement par regulateur P. Les gains desregulateurs analogique et numerique sont ajustes de facon a ce que le degre

Chapitre 1, v.1.6 43 mee \cours˙rn.tex\12 janvier 2004

Page 44: REGULATION NUMERIQUE - HEIG-VDphp.iai.heig-vd.ch/~mee/cours/cours_rn/chap_01/latex/... · 2004-01-12 · ´ecole d’ing´enieurs du canton de Vaud (eivd) D´epartement d’´electricit´e

eivd Regulation numerique

de stabilite soit identique en boucle fermee. La commande du regulateur Pnumerique est toutefois completee par une commande anticipee compensantgrosso modo l’effet des constantes de temps dominantes du systeme a regler(§ 7.3 page 249). La routine de regulation devient :

void regu lateur P (){

AD Conv( y [ 0 ] ) ; /∗ l i t l e contenu du r e g i s t r e de so r t i e du conver t i s s eur A/D∗/e [ 0 ] = w[0 ] − y [ 0 ] ; /∗ forme l ’ erreur ∗//∗ Calcule la commande u( k ) ∗/u [0 ] = Kp ∗ e [ 0 ] + t0 ∗ w[0 ] + t1 ∗ w[1 ] + t2 ∗ w[ 2 ] ;DA Conv( u [ 0 ] ) ; /∗ Commande la conversion D/A de u( k ) ∗/w[2 ] = w[ 1 ] ; /∗ mise a jour , ges t ion de la p i l e w ∗/w[1 ] = w[ 0 ] ;

}

Afin de rendre la simulation significative (comme le montre la loi decommande, il faut que la consigne evolue pour que les commandes anti-cipees apportent une amelioration), une consigne de type bang-bang (se-lon § 1.3.2 page 36) est appliquee au systeme asservi ; la figure 1.26 pageprecedente montre les reponses en boucle fermee dans les deux cas.

La visualisation de l’erreur dans les deux cas (bas figure 1.26 page precedente)montre que non seulement la duree de reglage est plus faible, mais qu’il enest egalement ainsi de l’erreur en regime transitoire.

On concoit que la commande anticipatrice realisee analogiquement don-nera de meilleurs resultats encore. Mais les modifications necessaires du cir-cuit pourront la rendre economiquement impossible a realiser.

En guise de conclusion de ce paragraphe, on rappellera qu’a structure etgains identiques, un regulateur numerique est toujours moins performant quesa version analogique. Ce n’est qu’en exploitant la souplesse d’emploi d’unregulateur numerique qu’on peut le rendre plus performant.

Chapitre 1, v.1.6 44 mee \cours˙rn.tex\12 janvier 2004

Page 45: REGULATION NUMERIQUE - HEIG-VDphp.iai.heig-vd.ch/~mee/cours/cours_rn/chap_01/latex/... · 2004-01-12 · ´ecole d’ing´enieurs du canton de Vaud (eivd) D´epartement d’´electricit´e

eivd Regulation numerique

1.5 Justification d’une etude specifique des

systemes asservis numeriquement

L’exemple de la regulation de vitesse traite au § 1.2 page 23 peut lais-ser croire que la synthese d’un regulateur numerique repose completementsur les methodes vues en analogique. Au pire, une legere diminution desgains peut s’averer necessaire afin de conserver un degre de stabilite suffisant(§ 7.4.10 page 273). Il ne s’agirait que d’un ajustage, rendant le present coursde regulation numerique superflu...

Cette optique est a la fois vraie et fausse ; vraie car il est juste que moyen-nant quelques simples precautions, les procedures de synthese frequentielleset complexes des regulateurs analogiques peuvent etre appliquees avec succesa leurs correspondants numeriques. Les precautions a prendre consistent es-sentiellement a :

1. S’assurer que la periode d’echantillonnage h soit faible par rapport auxconstantes de temps dominantes en boucle ouverte et fermee ;

2. A prendre en compte le retard pur total imputable au fonctionnementen mode echantillonne.

La satisfaction simultanee de ces deux exigences conduira a de tres bonsresultats. Il s’agit de la methode pseudo-continue, etudiee ulterieurement(chap.6).

Cette facon de faire possede neanmoins quelques points faibles :

1. Une periode d’echantillonnage faible est synonyme d’un cout eleve enmateriel. Parfois, il est desirable d’obtenir la meme qualite de regulationpour une periode d’echantillonnage compatible avec les imperatifs economiques,voire techniques (plus la periode d’echantillonnage est faible, moins ily a de temps disponible pour d’autres taches que la regulation). Leprobleme du choix de la periode d’echantillonnage n’est pas facile atraiter. Il n’existe pas de regle stricte permettant de la fixer. Il fau-dra donc y revenir plusieurs fois dans ce cours, apres avoir acquis unecertaine experience pour definir une methode de calcul.

2. Si l’on y prend pas garde, l’echantillonnage des signaux peut induire desphenomenes tres complexes a identifier, penalisant les performances ; ons’expose ainsi a l’apparition de comportements tout a fait inattendus.

Exemple : battement provoque par le non-respect du theoreme d’echantillonnage(figures 1.27 page suivante et 1.28 page suivante, selon [4]). On considerel’echantillonnage et la reconstruction immediate, sans traitement, d’unsignal analogique u(t) constant bruite par un signal sinusoıdal de frequence0.52 [Hz] (voir figure 1.27 page suivante).

Chapitre 1, v.1.6 45 mee \cours˙rn.tex\12 janvier 2004

Page 46: REGULATION NUMERIQUE - HEIG-VDphp.iai.heig-vd.ch/~mee/cours/cours_rn/chap_01/latex/... · 2004-01-12 · ´ecole d’ing´enieurs du canton de Vaud (eivd) D´epartement d’´electricit´e

eivd Regulation numerique

La frequence d’echantillonnage fe est de 1 [Hz]. La figure 1.28 montrel’apparition de composantes spectrales de basses frequences, non vi-sibles dans le spectre du signal d’entree.

0 5 10 15 20 25 30 35 40 45 500

0.05

0.1

0.15

0.2

0.25

0.3

0.35

0.4

0.45

0.5

t [s], k

u(t),

u(k

)

Sous−échantillonnage d’un signal analogique

Fig. 1.27 – Echantillonnage du signal sinusoıdal u(t) = 0.4 + 0.1 ·sin (2 · π · 0.52 [Hz] · t) (fichier source).

0 5 10 15 20 25 30 35 40 45 500

0.1

0.2

0.3

0.4

0.5

0.6

t [s]

y(t)

Reconstruction du signal analogique

Fig. 1.28 – Battement provoque par le non-respect du theoreme del’echantillonnage (fichier source).

La figure 2 page ci-contre montre les resultats de l’identification dela reponse harmonique d’un systeme a regler industriel (systeme d’im-pression de haute precision) pour 2 frequences d’echantillonnages. Pourfe = 8 [kHz], on observe tres distinctement une resonance a 1.3 [kHz]alors que pour fe = 2 [kHz], 2 resonances apparaissent a 700 [Hz] et a

Chapitre 1, v.1.6 46 mee \cours˙rn.tex\12 janvier 2004

Page 47: REGULATION NUMERIQUE - HEIG-VDphp.iai.heig-vd.ch/~mee/cours/cours_rn/chap_01/latex/... · 2004-01-12 · ´ecole d’ing´enieurs du canton de Vaud (eivd) D´epartement d’´electricit´e

eivd Regulation numerique

1 10 100 700 1300 10000−150

−140

−130

−120

−110

−100

−90

−80

f [Hz]

YN

(ω)/U

N(ω

) [dB

]

A(ω)fe=8kHz

A(ω)fe=2kHz

f_replie_01_3.eps

Fig. 1.29 – Identification de la reponse harmonique d’un systeme a reglerayant une resonance vers 1.3 [kHz] : dans le premier cas, la frequenced’echantillonnage est fe = 8 [kHz] et convient, contrairement au second cas(fe = 2 [kHz]) ou en plus d’un pic a 1.3 [kHz] apparaıt un autre pic vers700 [Hz] (fichier source).

1.3 [kHz]. Dans ce dernier cas, fe n’est manifestement pas assez elevee etprovoque un phenomene identique a celui observe sur la figure 1.28 pageprecedente, i.e. l’injection de basses-frequences dans le spectre du signalechantillonne.

Chapitre 1, v.1.6 47 mee \cours˙rn.tex\12 janvier 2004

Page 48: REGULATION NUMERIQUE - HEIG-VDphp.iai.heig-vd.ch/~mee/cours/cours_rn/chap_01/latex/... · 2004-01-12 · ´ecole d’ing´enieurs du canton de Vaud (eivd) D´epartement d’´electricit´e

eivd Regulation numerique

0 2 4 6 8 10 12 14 16 18 200

0.2

0.4

0.6

0.8

1

1.2

1.4

1.6Réponse indicielle analogique y(t) et échantillonnée y(k)

t [s], k

Fig. 1.30 – Oscillation (amortie) quasi invisible au regulateur numerique(fichier source).

D’autres phenomenes peuvent se manifester. La figure 2 montre la gran-deur reglee analogique y(t) d’un systeme asservi numeriquement et saversion echantillonnee y(k). L’oscillation bien visible de y(t) n’apparaıtabsolument pas dans y(k), donc le regulateur numerique ne peut la voiret n’entreprend par consequent aucune action.

Les systemes mixtes (numeriques et analogiques) peuvent presenterun comportement non-stationnaire, comme dans l’exemple de la fi-gure 1.31 page ci-contre, ou le signal analogique d’entree u(t) est filtrenumeriquement. En effet, on voit sur la figure 1.32 page suivante quey(t) est retarde par rapport a u(t) d’une valeur dependant de l’instantd’apparition de u(t).

Chapitre 1, v.1.6 48 mee \cours˙rn.tex\12 janvier 2004

Page 49: REGULATION NUMERIQUE - HEIG-VDphp.iai.heig-vd.ch/~mee/cours/cours_rn/chap_01/latex/... · 2004-01-12 · ´ecole d’ing´enieurs du canton de Vaud (eivd) D´epartement d’´electricit´e

eivd Regulation numerique

DA

y ( k ) y ( t )

u ( k )

A L G O R I T H M E AD

u ( t )

kt

H O R L O G E

f e

F I L T R E N U M E R I Q U E f _ 0 1 _ 1 9 . e p s

Fig. 1.31 – Filtre numerique : le signaux d’entree u(t) et sortie y(t) sontanalogiques, seul le traitement est numerique (fichier source).

0 1 2 3 4 5 6 7 8 9 100

0.2

0.4

0.6

0.8

1

1.2

u(t),

u(k

), y(

t)

Réponse indicielle d’un filtre numérique

0 1 2 3 4 5 6 7 8 9 100

0.2

0.4

0.6

0.8

1

1.2

t [s], k

u(t),

u(k

), y(

t)

Fig. 1.32 – Reponses indicielles du filtre numerique de la figure 1.31 : selonl’instant d’application du signal d’entree u(t) a filtrer, la reponse (analogique)y(t) pourra etre differente (fichier source).

Chapitre 1, v.1.6 49 mee \cours˙rn.tex\12 janvier 2004

Page 50: REGULATION NUMERIQUE - HEIG-VDphp.iai.heig-vd.ch/~mee/cours/cours_rn/chap_01/latex/... · 2004-01-12 · ´ecole d’ing´enieurs du canton de Vaud (eivd) D´epartement d’´electricit´e

eivd Regulation numerique

0 1 2 3 4 5 6 7 8 9 100

0.5

1

1.5

k

y(k)

Réponse indicielle d’un système de régulation automatique à réponse pile

Fig. 1.33 – Systeme asservi par un regulateur a reponse pile (fichier source).

3. En s’astreignant a analyser les systemes numeriques en tant que tels,sans toujours vouloir leur trouver des equivalents analogiques, on ren-tabilise l’investissement du processeur en exploitant au mieux le po-tentiel numerique qu’il offre. Qui plus est, de nouveaux algorithmes deregulation, purement numeriques, peuvent etre developpes : c’est parexemple le cas du regulateur a reponse pile (figure 3).

On observe que la grandeur reglee atteint la consigne exactementapres deux periodes d’echantillonnage, comportement sans equivalentanalogique.

Chapitre 1, v.1.6 50 mee \cours˙rn.tex\12 janvier 2004

Page 51: REGULATION NUMERIQUE - HEIG-VDphp.iai.heig-vd.ch/~mee/cours/cours_rn/chap_01/latex/... · 2004-01-12 · ´ecole d’ing´enieurs du canton de Vaud (eivd) D´epartement d’´electricit´e

eivd Regulation numerique

0 0.005 0.01 0.015 0.02 0.025 0.03−1.5

−1

−0.5

0

0.5

1

1.5

t [s]

Poursuite sans déphasage d’une consigne sinusoïdale (régulateur RST)

Consigne

Grandeur réglée

Fig. 1.34 – Poursuite d’une consigne sinusoıdale sans erreur (fichier source).

Un autre exemple est celui de la poursuite, sans dephasage et donc sanserreur, d’une consigne sinusoıdale (figure 1.34).

Chapitre 1, v.1.6 51 mee \cours˙rn.tex\12 janvier 2004

Page 52: REGULATION NUMERIQUE - HEIG-VDphp.iai.heig-vd.ch/~mee/cours/cours_rn/chap_01/latex/... · 2004-01-12 · ´ecole d’ing´enieurs du canton de Vaud (eivd) D´epartement d’´electricit´e

eivd Regulation numerique

0 2 4 6 8 10 120

0.2

0.4

0.6

0.8

1

1.2

1.4

t [s]

y(t)

Réponse indicielle

Treg

+/−5%=6.2[s]

TdepT10%

T90%

Tm

=1.3[s]

D=23.1788%

yInf

=1

f_01_matlab_48_2.eps

Fig. 1.35 – Reponse indicielle en boucle fermee avec regulateur analogiquepour effectuer le choix de la periode d’echantillonnage h (fichier source).

1.6 Une premiere procedure de synthese

On propose ici une premiere methode de synthese, fort utilisee en pratiqueet simple a appliquer puisqu’elle ne necessite presque aucune connaissancedes systemes echantillonnes. Mise en oeuvre au laboratoire de regulationautomatique des le debut du semestre d’ete, cette methode est deja presenteeen introduction de ce cours, dans le but de faciliter la comprehension dephenomenes particuliers qui seront observes.

La methode consiste a remplacer un systeme de regulation numerique parun systeme analogique equivalent. Cette equivalence est obtenue par le biaisd’un retard pur insere dans la boucle.

1.6.1 Hypotheses concernant la periode d’echantillonnageh

L’application de la methode proposee ne donne des resultats satisfaisantsque si la periode d’echantillonnage h est petite par rapport au temps demontee de la grandeur reglee y(t). Comme ordre de grandeur, h doit etre lie

Chapitre 1, v.1.6 52 mee \cours˙rn.tex\12 janvier 2004

Page 53: REGULATION NUMERIQUE - HEIG-VDphp.iai.heig-vd.ch/~mee/cours/cours_rn/chap_01/latex/... · 2004-01-12 · ´ecole d’ing´enieurs du canton de Vaud (eivd) D´epartement d’´electricit´e

eivd Regulation numerique

a la duree de reglage Treg par la relation

N =Treg

h= 4 . . . 10

indiquant que 5 a 11 echantillons (figure 1.35 page ci-contre) doivent etremesures lors de l’etablissement de y(t). Dans la regle, on choisira plutot 10que 5.

Dans cette relation, Treg est la duree de reglage du systeme asservi, i.e. laduree necessaire pour que y(t) passe de 0% a ±5% de sa valeur finale, et Nest le nombre de periodes d’echantillonnage mesurees pendant Treg.

Dans la plupart des cas, c’est le temps de montee de la reponse indi-cielle en boucle fermee qui est le plus faible, les contraintes sur la duree dereglage provoquant souvent une diminution considerable de Treg par suited’une contre-reaction a gain dynamique eleve.

1.6.2 Inventaire des retards

Par comparaison avec une boucle regulation analogique, un systeme deregulation numerique possede une serie de retards incontournables (figure 1.36 pagesuivante). En rappelant ce qui a ete dit au § 1.4 page 39, on releve l’exis-tence de retards dus au filtre anti-repliement (voir chap.2), aux conversionsA/D et D/A, au temps de calcul et au principe de reconstruction du signalanalogique u(t) a partir de u(k). En pratique, seuls ces deux derniers sontimportants.

Retard du au filtre anti-repliement

Ce filtre etant par nature realise analogiquement (voir chap.2), sa fonctionde transfert doit etre incorporee a celle du reste de la boucle analogique(amplificateur de puissance, actionneur, systeme, capteur, etc). Si la perioded’echantillonnage est choisie selon les indications du § 1.6.1 page precedente,l’effet de ce filtre peut souvent etre neglige.

Retards dus aux conversions (TconvAD et TconvDA)

Les temps de conversion A/D et D/A, TconvAD et TconvDA peuvent etresouvent negliges, se montant a des valeurs de l’ordre de

h

100. . .

h

10

On doit neanmoins verifier cette hypothese dans chaque cas.

Chapitre 1, v.1.6 53 mee \cours˙rn.tex\12 janvier 2004

Page 54: REGULATION NUMERIQUE - HEIG-VDphp.iai.heig-vd.ch/~mee/cours/cours_rn/chap_01/latex/... · 2004-01-12 · ´ecole d’ing´enieurs du canton de Vaud (eivd) D´epartement d’´electricit´e

eivd Regulation numerique

AD

w ( k ) u ( t )

y ( t )

u ( k ) S Y S T E M EA

R E G L E R

ADy ( k )

A L G O R I T H M E

F I L T R EA N T I -

R E P L I E M E N T

t e m p s d e m o n t é e d uf i l t r e a n t i - r e p l i e m e n t

t e m p s d e c o n v e r s i o nA / D , y c o m p r i su n t e m p s d e m a i n t i e np r é c é d a n t l a c o n v e r s i o n

r e t a r d d û à l a m é t h o d ed e r e c o n s t r u c t i o nt e m p s d e c a l c u l

y ( t )

t e m p s d ec o n v e r s i o n D / A

f _ 0 1 _ 2 0 . e p s

Fig. 1.36 – Inventaire des retards d’un systeme de regulation numerique(fichier source).

Retard du au temps de calcul (Tcal)

Le temps de calcul Tcal depend bien sur de la vitesse du processeur et dela complexite du regulateur. Il est difficile de citer un chiffre, mais comptetenu des reflexions du § 1.4.1 page 39, un temps de calcul de l’ordre d’unedemi-periode d’echantillonnage semble etre un maximum :

Tcal <h

2

Retard equivalent du au bloqueur d’ordre 0 (Trec)

Le plus souvent, la construction du signal analogique u(t) a partir de lasuite de nombres u(k) s’effectue au moyen d’un bloqueur d’ordre 0. u(t) aalors une forme caracteristique en escaliers, pouvant faire penser que l’evolutionde la grandeur a regler y(t) se fera par a-coups. Dans tous les cas ou laperiode d’echantillonnage est choisie convenablement, cette crainte est in-fondee, le caractere de filtre passe-bas de tout systeme a regler attenuantconsiderablement les hautes frequences. Il s’en suit que la grandeur de com-mande equivalente vue par le systeme a regler est un signal filtre passantapproximativement par le milieu des escaliers (figure 1.37 page suivante). Enmoyenne, u(t) est donc en retard d’une demi-periode d’echantillonnage par

Chapitre 1, v.1.6 54 mee \cours˙rn.tex\12 janvier 2004

Page 55: REGULATION NUMERIQUE - HEIG-VDphp.iai.heig-vd.ch/~mee/cours/cours_rn/chap_01/latex/... · 2004-01-12 · ´ecole d’ing´enieurs du canton de Vaud (eivd) D´epartement d’´electricit´e

eivd Regulation numerique

0 1 2 3 4 5 6 7 8 9 10 11−1

−0.8

−0.6

−0.4

−0.2

0

0.2

0.4

0.6

0.8

1

t [s], k

u(t),

u(k

), y(

t), u

eq, y

eqCommande équivalente à la suite d’impulsions rectangulaires

Fig. 1.37 – L’harmonique 1 de ua(t) passe par le milieu des escaliers(fichier source).

rapport a u(k) :

Trec ≈h

2

Ce resultat sera demontre au chapitre 3.

Retard total (Tr)

Le retard pur total insere dans la boucle se monte a

Tr = TconvAD + Tcal + TconvDA + Trec

Tres frequemment, la construction de u(t) a partir de u(k) s’opere par unbloqueur d’ordre 0, et l’on a

Trec ≈h

2

De plus, on peut estimer qu’en moyenne, le retard

TconvAD + Tcal + TconvDA ≈ h

2

se montant ainsi a approximativement une demi-periode d’echantillonnage,pour prendre en compte d’eventuels retards parasites.

Chapitre 1, v.1.6 55 mee \cours˙rn.tex\12 janvier 2004

Page 56: REGULATION NUMERIQUE - HEIG-VDphp.iai.heig-vd.ch/~mee/cours/cours_rn/chap_01/latex/... · 2004-01-12 · ´ecole d’ing´enieurs du canton de Vaud (eivd) D´epartement d’´electricit´e

eivd Regulation numerique

0 1 2 3 4 5 6 7−400

−350

−300

−250

−200

−150

−100

−50

0

ω [rad/s], échelle linéaire

Pha

se [d

eg]

Déphasage d’un retard pur Tr=1[s]

Fig. 1.38 – Dephasage apporte par un retard pur (fichier source).

Le retard total Tr s’ecrit donc :

Tr ≈ h

Il faut a ce stade rappeler que le dephasage introduit par le retard pur Tr = hest lineaire (figure 1.38) avec la frequence f , puisque :

arg {e−j·ω·Tr} = ω · Tr ≈ ω · h = 2 · π · f · h = 2 · π · f

fe

Il est notamment de 360 [◦] en f = 1h

= fe, soit de 36 [◦] en f = fe

10,

ce qui peut etre considere comme enorme dans le contexte d’une bouclede regulation automatique, etant souvent dans la gamme des frequences detravail d’un systeme asservi ! Compare a un systeme de regulation analogique,cela se traduit par une diminution notable de la marge de phase ϕm et parsuite du degre de stabilite.

1.6.3 Approximation de la fonction de transfert d’unretard pur par une fraction rationnelle en s

La fonction de transfert G(s) = e−s·Tr d’un retard pur ne s’exprime passous la forme d’une fraction rationnelle en s. Cela a de grands inconvenients

Chapitre 1, v.1.6 56 mee \cours˙rn.tex\12 janvier 2004

Page 57: REGULATION NUMERIQUE - HEIG-VDphp.iai.heig-vd.ch/~mee/cours/cours_rn/chap_01/latex/... · 2004-01-12 · ´ecole d’ing´enieurs du canton de Vaud (eivd) D´epartement d’´electricit´e

eivd Regulation numerique

sur le plan du traitement mathematique, raison pour laquelle on est tented’approximer G(s) = e−s·Tr par une fraction rationnelle en s. On presente icideux manieres de faire : approximation par une simple constante de tempset approximation de Pade.

Approximation par un element du premier ordre sans zero

Lorsque que le retard pur est petit et provoque un dephasage faible dansla gamme des frequences de travail, on peut developper G(s) = e−s·Tr enserie. On obtient :

G (s) = e−s·Tr =1

1 + s·Tr

1!+ (s·Tr)2

2!+ (s·Tr)3

3!+ ...

En se limitant au developpement du premier ordre, on a :

G (s) = e−s·Tr ≈ 1

1 + s · Tr

Le retard pur peut donc etre approxime par une simple constante de tempsTr.

Approximation de Pade

L’approximation de Pade d’ordre 1 de la fonction de transfert G(s) =e−s·Tr est :

G (s) = e−s·Tr ≈1 − s · Tr

2

1 + s · Tr

2

On observe l’apparition d’un zero positif situe en

+2

Tr

pouvant induire en erreur lors d’un trace du lieu des poles, comme parexemple celui de

Go (s) =ko

s· 1

(s + 1)· e−s·1 ≈ ko

s· 1

s + 1·1 − s · 1

2

1 + s · 12

=ko

s· 1

s + 1· 1 − s · 0.51 + s · 0.5

=−ko

s· 1

s + 1· s − 2

s + 2

trace sur la figure 1.39 page suivante.

Chapitre 1, v.1.6 57 mee \cours˙rn.tex\12 janvier 2004

Page 58: REGULATION NUMERIQUE - HEIG-VDphp.iai.heig-vd.ch/~mee/cours/cours_rn/chap_01/latex/... · 2004-01-12 · ´ecole d’ing´enieurs du canton de Vaud (eivd) D´epartement d’´electricit´e

eivd Regulation numerique

−4 −3 −2 −1 0 1 2 3 4−4

−3

−2

−1

0

1

2

3

4

0.5

0.5

f_01_matlab_48_8.eps

Root Locus

Real Axis

Imag

inar

y A

xis

Fig. 1.39 – Lieu des poles : le zero positif est bien visible. Il s’agit d’un zerodu a l’approximation de Pade. Il n’existe pas en realite puisqu’il provient del’approximation de Pade du retard pur Tr = h qui lui est bien reel (fichier source).

Ainsi, lors du trace du lieu des poles, un zero et un pole ”parasites”apparaissent respectivement en

zPade = +2

Tr

= +2

h

et en

pPade = − 2

Tr

= −2

h,

si cette methode de synthese est choisie. Ce pole et ce zero ne sont pas visiblesa l’ecran pour de faibles valeurs de la periode d’echantillonnage.

Comparaison des approximations

Le graphique de la figure 1.40 page ci-contre montre les approximationsd’un retard pur Tr = h = 1 [s] par un simple element du premier ordre et parPade.

Le retard n’est approxime precisement qu’en basse frequence. Au fur eta mesure que l’on s’approche de la pulsation d’echantillonnage

ωe =2 · πTr

=2 · πh

Chapitre 1, v.1.6 58 mee \cours˙rn.tex\12 janvier 2004

Page 59: REGULATION NUMERIQUE - HEIG-VDphp.iai.heig-vd.ch/~mee/cours/cours_rn/chap_01/latex/... · 2004-01-12 · ´ecole d’ing´enieurs du canton de Vaud (eivd) D´epartement d’´electricit´e

eivd Regulation numerique

0 1 2 3 4 5 6 7−400

−350

−300

−250

−200

−150

−100

−50

0

ω [rad/s], échelle linéaire

Pha

se [d

eg]

Déphasage d’un retard pur Tr=1[s] et ses approximations

exactordre 1Padé

Fig. 1.40 – Comparaison des approximations du retard pur (fichier source).

meme l’approximation de Pade devient peu fiable. Il y a donc lieu d’etreprudent lors de l’utilisation de ces approximations, qui ne conviennent quepour la gamme de frequences

0 . . .fe

5

1.6.4 Schema fonctionnel analogique equivalent

Sur la base de l’hypothese concernant la valeur de la periode d’echantillonnage,il ressort des paragraphes precedents qu’au point de vue dynamique, ladifference de comportement entre un systeme de regulation analogique etsa version numerique est pour une bonne part due a la presence d’un retardpur

Tr = h

insere dans la boucle de regulation numerique. En le prenant en compte, ildevient possible de faire la synthese d’un regulateur numerique en appliquantles regles connues du monde analogique. Le regulateur numerique est alorsconsidere comme analogique, represente par sa fonction de transfert en s.Partant du schema fonctionnel d’un systeme de regulation numerique, onpeut obtenir un ”equivalent” analogique (figure 1.41 page suivante) :

Chapitre 1, v.1.6 59 mee \cours˙rn.tex\12 janvier 2004

Page 60: REGULATION NUMERIQUE - HEIG-VDphp.iai.heig-vd.ch/~mee/cours/cours_rn/chap_01/latex/... · 2004-01-12 · ´ecole d’ing´enieurs du canton de Vaud (eivd) D´epartement d’´electricit´e

eivd Regulation numerique

AD

w ( k ) u ( t )

y ( t )

u ( k )S Y S T E M E

AR E G L E R

AD

y ( k )A L G O R I T H M E

w ( t )

S Y S T E M EA R E G L E R

y ( t )

R E G U L A T E U RA N A L O G I Q U E u ( t )

e - s h

p o u r h p e t i t

G c ( s ) G a ( s )y ( t )

@

b

y ( t )

a

f _ 0 1 _ 2 1 . e p s

R E G U L A T E U RN U M E R I Q U E

Fig. 1.41 – Representation d’un systeme de regulation numerique par unsysteme de regulation analogique (fichier source).

Selon la situation, on tiendra comptedu filtre anti-repliement, que l’onintegrera au systeme a regler.

En faisant usage de l’approximation de Pade, ce schema fonctionnel de-vient celui de la figure 1.42 page ci-contre. Rien ne s’oppose ensuite a l’appli-cation des methodes de synthese etudiees et appliquees jusqu’ici aux systemesanalogiques (Bode, lieu des poles).

1.6.5 Exemple : synthese dans le plan de Bode

On considere l’asservissement de vitesse presente au § 1.2 page 23. Leregulateur choisi est de type PI numerique, mais la periode d’echantillonnageh sera choisie de telle maniere qu’on puisse le considerer comme analogique.Sur cette lancee, on neglige egalement le retard du au filtre anti-repliement.

Chapitre 1, v.1.6 60 mee \cours˙rn.tex\12 janvier 2004

Page 61: REGULATION NUMERIQUE - HEIG-VDphp.iai.heig-vd.ch/~mee/cours/cours_rn/chap_01/latex/... · 2004-01-12 · ´ecole d’ing´enieurs du canton de Vaud (eivd) D´epartement d’´electricit´e

eivd Regulation numerique

w ( t )

y ( t )

u ( t )

1 - s h / 2G c ( s ) G a ( s )

y ( t )

f _ 0 1 _ 2 2 . e p s

1 + s h / 2

Fig. 1.42 – Representation d’un systeme de regulation numerique par unsysteme de regulation analogique, le retard pur etant approxime a l’aide dePade (fichier source).

Le systeme a regler a pour fonction de transfert :

Ga (s) =Y (s)

U (s)=

Ka

(1 + s · T1) · (1 + s · T2)

avec Ka = 1T1 = 10 [s]T2 = 1 [s]

alors que le regulateur PI analogique se represente par :

Gc (s) =U (s)

E (s)= Kp ·

1 + s · Ti

s · Ti

La loi de commande d’un regulateur PI numerique est, selon le § 1.2 page 23

u (k) = u (k − 1) + b0 · e (k) + b1 · e (k − 1)

Appliquant la procedure classique de synthese frequentielle d’un regulateurPI analogique, on obtiendra les parametres

Kp Ti

et par suite les coefficients du regulateur PI numerique selon les relations{b0 = Kp

b1 = Kp ·(

hTi− 1)

Chapitre 1, v.1.6 61 mee \cours˙rn.tex\12 janvier 2004

Page 62: REGULATION NUMERIQUE - HEIG-VDphp.iai.heig-vd.ch/~mee/cours/cours_rn/chap_01/latex/... · 2004-01-12 · ´ecole d’ing´enieurs du canton de Vaud (eivd) D´epartement d’´electricit´e

eivd Regulation numerique

0 2 4 6 8 10 120

0.2

0.4

0.6

0.8

1

1.2

1.4

t [s]

y(t)

Réponse indicielle

Treg

+/−5%=6.2[s]

TdepT10%

T90%

Tm

=1.3[s]

D=23.1788%

yInf

=1

f_01_matlab_48_2.eps

Fig. 1.43 – Reponse indicielle en boucle fermee, regulation de correspon-dance, avec regulateur PI analogique. Cette reponse permet de faire un pre-mier choix de la periode d’echantillonnage h (fichier source).

Dans une premiere phase de la synthese, on obtient par compensation de laconstante de temps dominante T1 la fonction de transfert en boucle ouverte :

Go (s) =Y (s)

E (s)= Gc (s) · Ga (s)

= Kp ·1 + s · Ti

s · Ti

· Ka

(1 + s · T1) · (1 + s · T2)

∣∣∣∣Ti=T1

=Ko

s· 1

(1 + s · T2)

Pour fixer l’ordre de grandeur de la periode d’echantillonnage, on doit evaluerla rapidite des signaux se propageant dans la boucle. Dans un cas purementanalogique, i.e. dans le cas le plus favorable a structures de regulateurs iden-tiques, la duree de reglage que l’on pourrait esperer peut s’evaluer en ajustantKo par la methode de Bode ou par celle du lieu des poles puis en tracant lareponse indicielle en boucle fermee. En procedant par la methode de Bode(le lieu n’est pas trace ici), la valeur provisoire de Kp = 14.1 est obtenue etconduit a la reponse indicielle en boucle fermee de la figure 1.43.

Cette reponse permet l’evaluation de h :

h ≈ Treg

4..10=

6.2 [s]

4..10= 1.5 . . . 0.6 [s]

Chapitre 1, v.1.6 62 mee \cours˙rn.tex\12 janvier 2004

Page 63: REGULATION NUMERIQUE - HEIG-VDphp.iai.heig-vd.ch/~mee/cours/cours_rn/chap_01/latex/... · 2004-01-12 · ´ecole d’ing´enieurs du canton de Vaud (eivd) D´epartement d’´electricit´e

eivd Regulation numerique

0.01 0.1 0.407 1 10 100−100

−80

−60

−40

−20

0

20

40

Diagramme de Bode avec Koop

=1 et Koop

=4.3944

gain

[dB

]

0.01 0.1 0.407 1 10 100−180

−135

−90

−45

0

45

90

180

ω [rad/s]

phas

e [d

egré

]

Koop

=1K

oop=4.3944

f_01_matlab_48_3.eps

Fig. 1.44 – Diagramme de Bode en boucle ouverte, en tenant compte duretard pur h approxime par la methode de Pade (fichier source).

Choisissons

Tr = h = 1 [s]

On peut alors ajuster le gain de boucle Ko dans le plan de Bode, non sansavoir auparavant pris soin de completer Go (s) par

Go(s) =Kp · Ka

Ti

s· 1

1 + s · T2

·1 − s · h

2

1 + s · h2

=Kp · 1

10

s· 1

1 + s · 1· 1 − s · 0.51 + s · 0.5

ou

Tr = h = 1 [s]

Le diagramme de Bode de

Go (s) =Ko

s· 1

1 + s · 1· 1 − s · 0.51 + s · 0.5

est trace pour Kp = 1 (figure 1.44) :

On en deduit la valeur optimale de Kp, pour ϕm = 45 [◦] :

Kp = 4.36

Chapitre 1, v.1.6 63 mee \cours˙rn.tex\12 janvier 2004

Page 64: REGULATION NUMERIQUE - HEIG-VDphp.iai.heig-vd.ch/~mee/cours/cours_rn/chap_01/latex/... · 2004-01-12 · ´ecole d’ing´enieurs du canton de Vaud (eivd) D´epartement d’´electricit´e

eivd Regulation numerique

0 2 4 6 8 10 12 14 16 18 20−0.2

0

0.2

0.4

0.6

0.8

1

1.2

1.4

kh, t [s]

y(k)

, y(t)

Réponse indicielle en boucle fermée "réelle", h = 1 [s] et approximée

f_01_matlab_48_4.eps

Fig. 1.45 – Reponse indicielle en boucle fermee, regulateur PI numeriquesynthetise par la methode de Bode (fichier source).

Les coefficients b0 et b1 du regulateur PI numerique peuvent alors etre cal-cules : {

b0 = Kp = 4.36

b1 = Kp ·(

hTi− 1)

= −3.92

La loi de commande du regulateur numerique s’ecrivant

u (k) = u (k − 1) + b0 · e (k) + b1 · e (k − 1)

on a finalement :

u (k) = u (k − 1) + 4.36 · e (k) − 3.92 · e (k − 1)

La figure 1.45 montre l’allure de la reponse indicielle en boucle fermee avecregulateur numerique. Elle concorde avec celle du systeme purement analo-gique (en pointille) utilise pour l’approximation.

Il faut remarquer le comportement initial de la reponse du systeme analo-gique ”equivalent”, du au zero positif parasite introduit par l’approximationde Pade.

A titre indicatif, il vaut la peine de tracer la reponse indicielle en bouclefermee lorsque le gain de boucle est ajuste pour la meme marge de phase ϕm =

Chapitre 1, v.1.6 64 mee \cours˙rn.tex\12 janvier 2004

Page 65: REGULATION NUMERIQUE - HEIG-VDphp.iai.heig-vd.ch/~mee/cours/cours_rn/chap_01/latex/... · 2004-01-12 · ´ecole d’ing´enieurs du canton de Vaud (eivd) D´epartement d’´electricit´e

eivd Regulation numerique

0 2 4 6 8 10 12 14 16 18 20−1

−0.5

0

0.5

1

1.5

2

2.5

3

3.5

kh [s]

y(k)

Réponse indicielle en boucle fermée sans prise en compte du retard

Fig. 1.46 – Sans prendre en compte l’effet du retard propre aux systemesde regulation numerique, la synthese aboutit a un systeme dont le degre destabilite est insuffisant (fichier source).

45 [◦], cependant sans prendre en compte l’effet du retard (figure 1.46 pageci-contre)

Tr = h

En omettant de prendre en compte les retards lors de la synthese, on estconduit par erreur a choisir un gain de boucle Ko beaucoup trop eleve, ce quiexplique le comportement insuffisamment amorti en boucle fermee, la margede phase etant en fait bien plus faible que prevu lors de la synthese.

1.6.6 Exemple : synthese dans le plan complexe

Sur la base des calculs faits au paragraphe precedent, on peut envisagerd’effectuer la synthese du regulateur PI numerique dans le plan complexe.Le lieu de

Go (s) =Ko

s· 1

1 + s · T2

·1 − s · h

2

1 + s · h2

=−ko

s· 1

s − s2

·s − 2

h

s + 2h

=−ko

s· 1

s + 1· s − 2

s + 2

(obtenue apres compensation de T1 par Ti) est donc trace (figure 1.47 pagesuivante). Son intersection avec la demi-droite equi-amortissement (ζ = 0.5)fournit le gain optimal koop, puis la valeur de kp et enfin Kp :

Kp = 3.67

Le pole et le zero parasites dus a l’approximation de Pade apparaissent desqu’on elargit le champ de vision (figure 1.48 page 67). La reponse indicielle

Chapitre 1, v.1.6 65 mee \cours˙rn.tex\12 janvier 2004

Page 66: REGULATION NUMERIQUE - HEIG-VDphp.iai.heig-vd.ch/~mee/cours/cours_rn/chap_01/latex/... · 2004-01-12 · ´ecole d’ing´enieurs du canton de Vaud (eivd) D´epartement d’´electricit´e

eivd Regulation numerique

−2 −1.8 −1.6 −1.4 −1.2 −1 −0.8 −0.6 −0.4 −0.2 00

0.2

0.4

0.6

0.8

1

1.2

1.4

1.6

1.8

20.5

f_01_matlab_48_6.eps

Root Locus

Real Axis

Imag

inar

y A

xis

Fig. 1.47 – Lieu des poles (zoom) (fichier source).

en boucle fermee est donnee sur la figure 1.49 page 67. On releve a nouveau lecomportement initial de la reponse du systeme analogique ”equivalent” (entrait mixte), synonyme d’un systeme a dephasage non minimal.

La loi de commande du regulateur numerique s’ecrit finalement :

u (k) = u (k − 1) + 3.67 · e (k) − 3.30 · e (k − 1)

Chapitre 1, v.1.6 66 mee \cours˙rn.tex\12 janvier 2004

Page 67: REGULATION NUMERIQUE - HEIG-VDphp.iai.heig-vd.ch/~mee/cours/cours_rn/chap_01/latex/... · 2004-01-12 · ´ecole d’ing´enieurs du canton de Vaud (eivd) D´epartement d’´electricit´e

eivd Regulation numerique

−4 −3 −2 −1 0 1 2 3 4−4

−3

−2

−1

0

1

2

3

4

0.5

0.5

f_01_matlab_48_8.eps

Root Locus

Real Axis

Imag

inar

y A

xis

Fig. 1.48 – Lieu des poles : le zero positif est bien visible. Il s’agit d’un zerodu a l’approximation de Pade. Il n’existe pas en realite puisqu’il provient del’approximation de Pade du retard pur Tr = h qui lui est bien reel (fichier source).

0 2 4 6 8 10 12 14 16 18 20−0.2

0

0.2

0.4

0.6

0.8

1

1.2

kh, t [s]

y(k)

, y(t)

Réponse indicielle en boucle fermée "réelle", h = 1 [s] et approximée

f_01_matlab_48_7.eps

Fig. 1.49 – Reponse indicielle en boucle fermee, regulateur PI numeriquesynthetise par la methode du lieu des poles (fichier source).

Chapitre 1, v.1.6 67 mee \cours˙rn.tex\12 janvier 2004

Page 68: REGULATION NUMERIQUE - HEIG-VDphp.iai.heig-vd.ch/~mee/cours/cours_rn/chap_01/latex/... · 2004-01-12 · ´ecole d’ing´enieurs du canton de Vaud (eivd) D´epartement d’´electricit´e

eivd Regulation numerique

Chapitre 1, v.1.6 68 mee \cours˙rn.tex\12 janvier 2004