0% ont trouvé ce document utile (0 vote)
98 vues79 pages

Automatique échantillonnée: Théorie et Pratique

Transféré par

soumiaabdellaoui.esi2a
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
98 vues79 pages

Automatique échantillonnée: Théorie et Pratique

Transféré par

soumiaabdellaoui.esi2a
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Cours/TP Automatique échantillonnée

Cours/TP

Automatique échantillonnée
pour la Mécatronique
Aspects Théoriques et Pratiques

par le Professeur
Houcine CHAFOUK
© Novembre 2022

H. CHAFOUK
Automatique échantillonnée

SOMMAIRE

1ère partie COURS


Chapitre 1. Les Systèmes échantillonnés - Transformée en z
1. Définition
2. Propriétés de la transformée en z
2.1. Transformation linéaire
2.2. Translation temporelle
2.3. Théorème des valeurs initiales et finales
3. Transformée en z inverse
3.1. Utilisation des tables de transformées
3.2. Décomposition en fractions simples
3.3. Méthodes des résidus
3.4. Division selon les puissances décroissantes du dénominateur
3.5. Retour à l'équation aux différences
4. Résolution des équations aux différences
5. Fonction de transfert en z
6. Utilisation de la notion de fonction transfert en z
Chapitre 2. : Commande numérique des systèmes échantillonnés
1.1. Généralités
1.1.1. Introduction
1.1.2. Choix de la période d’échantillonnage
1.1.3. Réalisabilité des correcteurs numériques
1.2. Transposition de correcteurs analogiques
1.3. Critères de stabilité
1.3.1. Critère de Jury
1.3.2. Critère modifié de Routh
1.4. Méthode des pôles dominants
1.4.1. Principe
1.4.2. Exemple d’application

2ème partie Travaux Pratiques


T.P. 1. Régulateur Numérique ‘un système thermique
T.P. 2. Synthèse d’un Régulateur Numérique :
- 1ère partie : Régulation par PID Numérique de TUSTIN
- 2ème partie : Régulation Numérique par la méthode des Pôles Dominants

ANNEXE
ANNEXES 1
Annexe A : Commandes et fonctionnalités de base sous Matlab
Annexe B : Grandeurs caractéristiques d’un système du 2nd ordre

ANNEXES 2
Annexe A – Identification des paramètres du moteur par analyse fréquentielle
Annexe B – Méthode des Pôles dominants
Annexe C – Table des Transformées en z
Annexe D – Abaques pour la méthode des Pôles Dominants

Références Bibliographiques

H. CHAFOUK
Automatique échantillonnée

Chapitre I

Les systèmes échantillonnés


et
la transformée en z

H. CHAFOUK
Automatique échantillonnée

SOMMAIRE

Chapitre 1. Les Systèmes échantillonnés - Transformée en z

1. Définition

2. Propriétés de la transformée en z

2.1. Transformation linéaire


2.2. Translation temporelle
2.3. Théorème des valeurs initiales et finales

3. Transformée en z inverse

3.1. Utilisation des tables de transformées


3.2. Décomposition en fractions simples
3.3. Méthodes des résidus
3.4. Division selon les puissances décroissantes du dénominateur
3.5. Retour à l'équation aux différences

4. Résolution des équations aux différences

5. Fonction de transfert en z

6. Utilisation de la notion de fonction transfert en z

H. CHAFOUK
Automatique échantillonnée

Les Systèmes échantillonnés - Transformée en z

1. Définition
On définit la transformée en z d'une suite périodique f(nT) définie aux instants discrets
nT ou encore d'une fonction continue f(t) en passant d'abord par la fonction échantillonnée f*(t)
:
+
f * (t) =  f(nT)  (t - nT)
n=0

représentée en figure 1.
f*(t)
f(t)

t
0 T 2T
Figure 1

La transformée de Laplace de f*(t) s'écrit :


+
L f * (t) =  f(nT) L (t - nT)
n=0
+
L f * (t) =  f(nT) e
n=0
-nTp

Par convention, nous poserons z = e Tp et pouvons donc définir :


+
Z f(t) = L f * (t) z=e Tp
=  f(nT) z
n=0
-n

z est un nombre complexe correspondant à l'opérateur avance d'une période T.


La série en puissance négatives définissant la transformée en z est définie pour un rayon
1
de convergence  et convergera pour : z >

Exemple : Echelon unité

1
Z u(t) = 1 + z -1 +...+z -n +..

H. CHAFOUK
Automatique échantillonnée

C'est une série géométrique de premier terme 1 et de raison z-1 convergente si  z-1  <1,
soit  z  > 1 :

1 z
Z u(t) = =
1 - z -1 z - 1

Rampe :

Z tu(t) = Tz -1 + 2Tz -2 +...+nTz -n +..

z Z f(t) = z Z tu(t) = T + 2Tz -1 + ... + nT z -(n-1)


z F(z) - F(z) = T + Tz -1 + Tz -2 + ... + nT z -n
T
(z - 1) F(z) =
1 - z -1
-1
(1 - z ) T
-1 F(z) =
z 1 - z -1
D'où :
Tz -1
F(z) =
(1 - z -1 ) 2
Soit en multipliant numérateur et dénominateur par z2 :

Tz
F(z) =
(z - 1) 2

D'une façon générale, les transformées en z sont écrites en fonction de z et non de z -1 ;


soit nous avons les transformées élémentaires :

f(t) u(t) t u(t) e-at u(t)

F(z) z Tz z
z - 1 (z - 1) 2 z - e -aT

La transformée en z des fonctions complexes nous permet d'obtenir simplement


Z sin( t) et Z cos( t) .

sin( T) z
sin( t) →
z - 2 cos( T) z + 1
2

z - cos( T)
cos( t) →
z - 2 cos( T) z + 1
2

H. CHAFOUK
Automatique échantillonnée

2. Propriétés de la Transformée en z
2.1. La transformée en z est une transformation linéaire

Z a 1 f1 (t) + a 2 f 2 (t) = a 1 Z f1 (t) + a 2 Z f 2 (t)


+
 a
n= 0
1 f1 (nT) + a 2 f 2 (nT) = a 1 F1 (z) + a 2 F2 (z) distributivité

L'opération naturelle pour la transformée de Laplace est la dérivation ou l'intégration.

Pour la transformée en z, c'est l'avance ou le retard.

2.2. Translation temporelle


f*(t)
f*(t+kT)
f*(t)
avance de kT

kT
T 2T 3T 4T
Figure 2

Si Z f * (t) = F(z) quelle est : Z f(t + kT) ?


+
Par définition : Z f(t + kT) =  f(nT + kT) z
n=0
-n

+
Z f(t + kT) = z k  f((n + k)T) z
n=0
-(n+k)

0 ⎯
⎯→  k ⎯
⎯→ 
n l
Posons : l = n + k ; et
+
Z f(t + kT) = z k
 f(lT) z
l=k
-l

 + k-1

Z f(t + kT) = z   f(lT) z -l -
k
 f(lT) z -l

 l=0 l=0

En particulier pour k = 1, décalage d'une période T :

Retard de kT :

f*(t)
+
Z f(t - kT) = z -k  f((n - k)T) z
n=0
-n

Figure 3

H. CHAFOUK
Automatique échantillonnée

+
Z f(t - kT) = z -k  f((n - k)T) z
n=0
-(n-k)

Posons : l = n - k ; 0 ⎯
⎯→  et -k ⎯
⎯→ 
n l

+
Z f(t - kT) = z -k  f(lT) z
l=-k
-l

Mais f(lT) = 0 pour l < 0 car nous nous intéressons uniquement aux fonctions causales.

D'où :

Z f(t - kT) = z -k F(z)

2.3. Théorème des valeurs initiales et finales

Ils sont utiles pour l'étude des systèmes.

• Théorème de la valeur initiale :

Par définition, on a:

Z f(tT) = f(0) + f(1) z -1 + ... + f(n) z -n + ...

Quelle est f(0) dans une série en z-1 ?

Si z →   z -1 → 0 et le terme restant est f(0). D'où :

f(0) = limite F(z)


z →

• Théorème de la valeur finale :

Par définition, on a:

F(z) =  f(n) z -n

n=0

Considérons :
N
FN (z) =  f(n) z -n

n=0

FN (z) - z -1 FN (z) = f(N) z -N

Si z → 1  f(N) → FN (z) - z -1 FN (z)

H. CHAFOUK
Automatique échantillonnée

Si de plus N →  , alors :

limite f(N) = limite (1 - z -1 ) F(z)


N → z →1

car quand N →  alors FN(z) → F(z). D'où :

z -1
limite f(N) = limite (1 - z -1 ) F(z) = limite F(z)
N → z →1 z →1 z

Exemple
1
Soit : F(z) = -1
1 - 1.2 z + 0.2 z -2

• Valeur initiale :

f(0) = limite F(z) = limite F(z) = 1


z → -1
z →0

• Valeur finale :

z -1 1 1
limite (1 - z -1 ) F(z) = limite F(z) = limite = = 1.25
z →1 z →1 z z →1 1 - 0.2 z -1 0.8

3. Transformée en inverse
Rappel :

Toute fonction périodique continue passant par les mêmes points d'échantillonnage admet
la même transformée en z. Il y a donc non unicité de l'original.

f*(t)

Figure 4

3.1. Utilisation des tables de transformées en z

(cf. annexe)

H. CHAFOUK
Automatique échantillonnée

3.2. Décomposition en fractions simples

Soit :
2z 2 + z(T - 2) 2z Tz
F(z) = 2 = +
z - 2z + 1 z - 1 (z - 1) 2
f(nT) = 2 u(nT) + nT u(nT)

Un original continu peut être :

f(t) =  2 + t u(t)

3.3. Méthode des Résidus

Dans une série complexe, on sait facilement retrouver le coefficient du terme en z-1 (série
de Laurent). Quant au terme en z-n qui est le coefficient f(n), il peut être obtenu comme le terme
en z-1 de la série de Laurent de zn-1 F(z).

z n-1 F(z) =  f(n) z -n
z n-1
n=0
z n-1 F(z) = f(0) z n-1 + f(1) z n-2 + ... + f(n) z -1 + ...
Si nous prenons l'intégrale sur le contour  fermé contenant toutes les singularités de F(z)
:

z n-1
F(z)dz = f(0) z n-1
dz + .... + f(n) z -1
dz + ...
  

Le théorème de Cauchy dit que :

  z k dz = 2 j pour k = −1

0  k  −1

Par conséquent :

z n-1
F(z)dz = 2 j f(n)

Soit :

f(n) =
1
2 j 
z n -1

F(z)dz =  Résidus de z n -1 F(z) 

Exemple :
z
F(z) =
z - e -aT
zn
z 
1 n-1 1
f(n) = F(z)dz = dz
2 j  2 j  z - e -aT
10

H. CHAFOUK
Automatique échantillonnée

un seul résidu au pôle z = e − aT . D'où :

f(n) = e -naT

De façon similaire :

 z 
Z -1   = (-1) n
 z + 1

3.4. Division selon les puissances décroissantes du dénominateur

Cette méthode permet le calcul des premiers termes de la réponse.

Exemple :

Tz
F(z) =
(z - 1) 2

Tz z2 - 2z + 1
Tz - 2 + z-1
0 - 2 - z-1 T z-1 + 2T z-2 + ...
- 2 - 2T z-1+2T z-2
- (1-2T) z-1-2T z-2

3.5. Retour à l'équation aux différences

La solution générale peut être régénérée à partir de l'équation aux différences. Soit :

S(z) z
=
E(z) z - 2

z S(z) - 2 S(z) = z E(z)

On développe S(z) et E(z) :

z  s(0) + s(1)z -1 +...+s(n)z -n +... - 2  s(0) + s(1)z -1 +...+s(n)z -n +... =


z  e(0) + e(1)z -1 +...+e(n)z -n +...

Si nous écrivons l'identité des coefficients des polynômes en z à gauche et à droite du


signe égalité :

z s(0) = e(0)
z0 s(1) - 2s(0) = e(1)
z-1 s(2) - 2s(1) = e(2)


z-n s(n + 1) - 2s(n) = e(n + 1)

11

H. CHAFOUK
Automatique échantillonnée

4. Résolution des équations aux différences


Nous allons montrer au travers de la résolution d'une équation aux différences, l'utilisation
de la transformée en z, de façon tout à fait similaire à l'utilisation de la transformée de Laplace
pour la résolution d'équations différentielles.

Rappelons que nous nous intéressons à la résolution d'équations aux différences linéaires
stationnaires. Soit à titre d'exemple :

y(n) + y(n - 1) = e(n - 1)

avec pour conditions initiales :

y(0) = 0
et e(n) = n

Soit :

Y(z) = Z y(n)
z
E(z) = Z e(n) = rampe de pente 1 et échantillonnage unitaire
(z - 1) 2

Prenons la transformée en z de l'équation originale.

Z y(n) + Z y(n - 1) = Z e(n - 1)

Soit :

Y(z) + z -1 Y(z) = z -1 E(z)

Y(z) 1 + z -1  = z -1
z
(z - 1) 2

D'où :

1 z z
Y(z) = =
1 + z -1 (z - 1) 2
(z + 1)(z - 1) 2

Pour obtenir la solution de l'équation aux différences, il suffit maintenant de prendre la


transformée inverse de Y(z).

Pour ce faire, nous pouvons procéder par décomposition en éléments simples :

z A B Cz
Y(z) = 2 = + +
(z + 1)(z - 1) z + 1 z - 1 (z - 1) 2

-1 -1 1
A = B = C =
4 4 2

12

H. CHAFOUK
Automatique échantillonnée

D'où :
-1  1 1 2z 
Y(z) = 
4 z + 1
+
z - 1
-
(z - 1) 2 

-1
y(n) =
4
 (-1) n-1 + (1) n-1 - 2n
1
y(n) =
4
 (-1) n - 1 + 2n

Soit la solution :
 n
 y(n) = 2 si n est pair

n -1
 y(n) = si n est impair
 2

Nous venons de voir comment la transformée en z nous permet de résoudre des équations
aux différences.

5. Fonction de transfert en z
Lors de l'étude des systèmes continus, nous avons défini la fonction de transfert d'un
système linéaire stationnaire comme étant le rapport des transformées de Laplace de la sortie et
de l'entrée, les conditions initiales étant supposées nulles. Le schéma suivant résume ces
résultats.

e(t) g(t) s(t)


E(p) G(p) S(p)

Figure 5
g(t) : réponse impulsionnelle,
G(p) : fonction de transfert du système.

avec les relations suivantes :

 g(t -  ) e( ) d
t
s(t) = 0

S(p) = G(p) E(p)

Si nous échantillonnons l'entrée du système :

e(t) T e*(t)
g(t) s(t)
E(p) E*(p) G(p) S(p)

Figure 6
13

H. CHAFOUK
Automatique échantillonnée

L'entrée e*(t) du système est désormais une suite d'impulsions et s'écrit :

e * (t) = e(0)  (t) + e(1)  (t - T) + ... + e(n)  (t - nT) + ...

Le système étant linéaire, sa réponse sera égale à la somme des réponses aux entrées
e(i).(t-iT), soit si(t).

Par conséquent :

s(t) = s0 (t) + ... + si (t) + ...

La sortie s0(t) du système est la réponse d'un système linéaire de réponse impulsionnelle
g(t) à une entrée e(0).(t), soit :

s0 (t) = e(0) g(t)

De façon similaire, si(t) est la réponse d'un système linéaire de réponse impulsionnelle
g(t) à une entrée e(i).(t-iT), soit :

si (t) = e(i) g(t - iT)

et s n (t) = e(n) g(t - nT)

Par conséquent, la sortie totale s(t) égale à la somme des sorties élémentaires s'écrit :
N
sn (t) =  e(n) g(t - nT) C'est une somme de signaux continus
n=0

En fait, nous observons la sortie du système continu à travers un échantillonneur


synchrone à celui de l'entrée, ce qui fait un calculateur numérique dans une boucle de
commande.
e*(t) s(t)
g(t)
c(t)
calculateur
s*(t)

Figure 7

La sortie du système continu vue par le calculateur sera à l'instant t = nT.

s* (t) = s(nT) = e(0)g(nT) + e(1)g((n - 1)T) + ... + e(i)g((n - i)T) + .... + e(n)g(0)

que nous pouvons écrire :


n
s(n) =  e(i) g(n - i) Cette forme est la convolution discrète
i=0

14

H. CHAFOUK
Automatique échantillonnée

Elle représente la solution de l'équation aux différences reliant la sortie échantillonnée


s*(t) à l'entrée échantillonnée e*(t).

Prenons la transformée en z du signal échantillonné s*(t) :


 n
S(n) = Z s(n) =   e(i) g(n - i) z -n

n= 0 i=0

Soit encore :
 n
S(n) =   e(i) g(n - i) z -i
z -(n-i)
n=0 i=0

Introduisons la variable intermédiaire k = n - i.

n varie de 0 à 
k varie de - i à 

L'expression ci-dessus s'écrit alors :


 
S(z) =   e(i) g(k) z -i
z -k
k = -i i=0

 
S(z) =  g(k) z  e(i) z-k -i

k = -i i=0

La fonction g étant causale, g(k) = 0  k < 0

Par conséquent, nous avons :

S(z) = G(z).E(z)

d'où le théorème de la convolution discrète :

Entre la sortie échantillonnée du système et son entrée échantillonnée, nous avons les
relations résumées par le schéma suivant :

e(t) e*(t) g(t) s(t) s*(t)


T E(z) G(z) T S(z)

Figure 8
n
s(n) =  e(k) g(n - k) et S(z) = G(z).E(z)
k=0
Nous définissons la fonction de transfert en z d'un système échantillonné comme étant le
rapport des transformées en z de la sortie échantillonnée et de l'entrée échantillonnée.

15

H. CHAFOUK
Automatique échantillonnée

Remarque :

Notons bien que la sortie s*(t) du système représenté ci-dessus n'a aucune relation avec
la sortie du système s(t) ayant une entrée continue.

Exemple :

Considérons un système du premier ordre de réponse impulsionnelle e(t) = e-at

1
Sa réponse à un échelon unitaire est : s(t) = (1 - e -at )
a

1
s(t) = (1 - e -at )
-at a
e(t) g(t) = e
1 1
1 G(p) = S(p) =
E(p) = p + a p(p + a)
p

Figure 9

Si nous échantillonnons le signal d'entrée, nous avons la configuration donnée par la


figure ci-dessous :

e
1 -a(t-iT)
s(t) =
-at a
g(t) = e i=0

e(t) T

Figure 10
s(t)

Figure 11

Si nous échantillonnons ce signal de sortie, nous obtenons seulement les sommets des
exponentielles, soit :
n
s(n) = e -a(n - i)

i=0

16

H. CHAFOUK
Automatique échantillonnée

6. Utilisation de la notion de fonction de transfert en z à l'étude des systèmes


échantillonnés
Rappelons la structure d'un système à commande numérique :

Calculateur B0 G
T T

T
Figure 11

Soit, vu du calculateur, nous étudierons le processus à piloter sous la forme :

e(t) e*(t) s(t) s*(t)


B0(p) G(p)
T T

Figure 12

1
A titre d'exemple, nous prendrons : G(p) =
p + a
S(z) = H(z).E(z)

H(z) = Z  B0 (p) G(p)

 1 - e -Tp  -1
 1  e-Tp étant un opérateur retard
H(z) = Z  = (1 - z ) Z  p(p + a) 
 p(p + a)    pur d'un échantillon
1 1 1 
H(z) = (1 - z -1 ) Z   - 
a p p + a 
1  z z 
H(z) = (1 - z -1 )  -
a z - 1 z - e -aT 
1  z - 1 
H(z) = 1 -
a  z - e -aT 
1  1 - e -aT 
a  z - e -aT 
H(z) =

D'où :
1  1 - e -aT 
a  z - e -aT 
S(z) = E(z)

On retrouve une fonction de transfert d'ordre 1, car nous avons le même processus entre
entrée et sortie.

17

H. CHAFOUK
Automatique échantillonnée

Posons :

1
 =
a
1 - e -aT 
et  = e -aT

Nous pouvons écrire :


S(z) = E(z)
z - 

Equation aux différences entre la sortie échantillonnée et l'entrée échantillonnée :

S(z)  z -   =  E(z)

Soit :

s(n + 1) -  s(n) =  e(n)

Supposons : s(0) = 0 et e(0) = ... = e(n) = 1

On aura :

1
s(1) =  =
a
1 - e -aT 
1
s(2) =  +   =  (1 +  ) =
a
1 - e -2aT 
s(3) =  +   (1 +  ) =  1 +  (1 +  )
1
s(3) =  1 + e -aT (1 + e -aT ) = 1 - e -aT  1 + e -aT + e -2aT 
a
1
s(3) =
a
1 - e -2aT + e -2aT - e -3aT 
1
s(3) =
a
 1 - e -3aT  Solution par convolution discrète

La fonction de transfert s'écrit :


H(z) =
z - 

Quel est le terme général h(nT) ?

Par le théorème des Résidus h(nT) =  n-1

Soit :
1
h(nT) =
a
1 - e -aT  e -a(n-1)T
avec 1 - e -aT  1 - 1 + aT

18

H. CHAFOUK
Automatique échantillonnée

Soit :

h(nT)  T e -a(n-1)T

Dont la représentation graphique est donnée par la figure 13 :

h(nT)
D'une façon générale :
h(1T) = T
1 (1T) = T
h(nT) = T g((n-1)T)
h(2T) = T e-aT

g(t) = e-at
nT

Figure 13

Théorème :

Avec un bloqueur d'ordre zéro, la réponse impulsionnelle discrète a pour


coefficients la valeur de la réponse impulsionnelle continue à l'instant précédent,
multipliée par la période d'échantillonnage.

Ceci équivaut à une intégration par la méthode des rectangles.

Calculons la solution par convolution discrète dans le cas de notre exemple.

s(0) = 0
1
s(1) = h(0) e(1) + h(1) e(0) = 0 +
a
 1 - e -aT 
1 1
s(2) = h(0) e(2) + h(1) e(1) + h(2) e(0) = 0 +
a
 1 - e -aT  +
a
1 - e -aT  e − aT
1
s(2) =
a
1 - e -2aT 

Solution par la transformée en z :

S(z) = H(z). E(z)

 z A B
S(z) = = +
z -  z - 1 z -  z - 1
avec
 
A = et B =
 - 1 1 - 

19

H. CHAFOUK
Automatique échantillonnée

 1  
S(z) =  z -  
-
1 -  z - 1

D'où :

1
s(n) =
a
 (-1) n-1 - e -aT e -a(n-1)T 

1
s(n) =
a
 1 - e -anT 

Remarque :

Nous avons obtenu en sortie aux valeurs d'échantillonnage, les valeurs correspondant à la
sortie aux mêmes instants du système continu.

Ceci n'est pas un cas général, mais provient du faut que l'entrée est un échelon et par
conséquent est parfaitement restituée par un bloqueur d'ordre zéro comme le montre la figure
ci-dessous.

e(t) 1 s(t)

p+a

T T
e(t) e*(t)
B0 1 s(t) s*(t)
p+a

Figure 14

20

H. CHAFOUK
Automatique échantillonnée

Chapitre II

Régulation Numérique des


Systèmes échantillonnés

21

H. CHAFOUK
Automatique échantillonnée

SOMMAIRE

Chapitre 2. : Régulation numériques des systèmes échantillonnés


1.5. Généralités
1.5.1. Introduction
1.5.2. Choix de la période d’échantillonnage
1.5.3. Réalisabilté des correcteurs numériques
1.6. Transposition de correcteurs analogiques
1.7. Critères de stabilité
1.7.1. Critère de Jury
1.7.2. Critère modifié de Routh
1.8. Méthode des pôles dominants
1.8.1. Principe
1.8.2. Exemple d’application
1.9. Méthodes polynomiales
1.9.1. Correcteurs à temps de réponse minimal
1.9.2. Exemple d’application
[Link].Principe
[Link].Calcul du correcteur
[Link].Exemple d’application

Références Bibliographique
Annexes :
Annexe 1 : Intégration numérique par la méthde des Trapèzes
Annexe 2 : Table des Transformées en Z
Annéxe 3 : Méthode des pôles dominants et Abaques

22

H. CHAFOUK
Automatique échantillonnée

Chapitre 2
Régulation numériques des systèmes échantillonnés

1. Généralités

1.1. Introduction
Nous ferons la distinction entre les systèmes :

- échantillonnés : ils sont constitué d'éléments continus dont les signaux à l'entrée ou la
sortie après échantillonnage ne sont connus qu'à des instants discrets séparés par la période
d'échantillonnage.

- discrets : dont les signaux en tout point du système ne sont définis qu'aux instants
d'échantillonnage.

Le calculateur est l'exemple même du système discret puisque les signaux ne sont définis
qu'aux "tops" d'horloge. Un moteur électrique à courant continu piloté par calculateur est un
système échantillonné. En effet les signaux du moteur et de son électronique de commande sont
analogique mais cet ensemble n'échange des informations avec le calculateur qu'à des instants
discrets.

Comparaison + Correction
y(t)
Consigne Calculateur
CNA Procédé

CAN Capteur

Figure 3

Le procédé discrétisé sera représenté par :

T T
u(t) y(t) y(k)
B0 Procédé

CNA CAN

CNA : transforme le signal échantillonné en signal continu à l'aide d'un bloqueur d'ordrer 0.
23

H. CHAFOUK
Automatique échantillonnée

h(t)

T t

condition de Shannon :
Fe  [Link]
avec

Fe : Fréquence d'échantillonnage,
Fmax : Fréquence maximale du spectre à transmettre.

En pratique, on prend :
2.5  Fmax  Fe  5  Fmax

Où G(z) est la fonction de transfert du sytème en boucle ouverte donnée par :

G(z) = Z B 0 (p) G(p) 

et G(p) la transmittance en p du procédé en continu.

B0(p) étant le bloqueur d’ordre 0, représenté par sa fonction de transfert :

1 − e − pT
B0 (p) =
p

C(z) est le correcteur numérique qui permet d’obtenir la fonction de transfert en boucle fermée
souhaitée F(z) :

S(p) CG
F(z) = =
E(p) 1 + C G

Deux approches sont possibles :

a) Approche en boucle ouverte :

On fixe à C G les propriétés nécessaires pour répondre aux spécifications du système en


boucle fermée. On pourra par exemple, utiliser une structure du type PID numérique transposé
du correcteur analogique.

24

H. CHAFOUK
Automatique échantillonnée

b) Approche en boucle fermée :

On se fixe la fonction de transfert en boucle fermée F répondant au cahier des charges et


on détermine C(z) :

CG
F(z) =  F (1 + CG) = CG
1+ C G

F 1
D’où : C(z) =
1- F G

F sera souvent de deux types :

• 2ème ordre à amortissement réglable de la forme :

(1 - p 0 ) (1 - p 0 ) z - z0
F(z) = 
1 − z0 (z - p 0 ) (z - p 0 )

• Expression à nombre de termes finis du type :

F(z) = a 1 z -1 + a 2 z -2 + .... + a n z -n Permettant d’annuler l’erreur en un


nombre fini de périodes.

On peut également travailler avec une structure de correcteurs plus générale dont la
configuration initiale est un cas particulier :

+  u S(z)
E(z) 1
T(z) G(z)
R(z)
-

S(z)

Figure 2. Structure RST

25

H. CHAFOUK
Automatique échantillonnée

En effet, on a :

E(z) +  T(z) u S(z)


G(z)
R(z)
-

S(z)
T(z)

Figure 3. Structure RST

En prenant S = T, nous retrouvons la structure d’origine :

E(z) +  S(z) u S(z)


G(z)
R(z)
-

Figure 4. Structure RST

Enfin l’approche en boucle fermée se prête à une représentation en variable d’état.

1.2. Choix de la période d’échantillonnage


Dans tout problème de conception d’un régulateur numérique, il faut d’abord déterminer
la période d’échantillonnage en utilisant les relations suivantes :

a) 1er ordre :

 T  où  est la constante de temps du système en boucle fermée corrigée.
4
b) 2ème ordre :
1 1
 T 
4 n n
Où n est la pulsation propre du système de 2ème ordre en boucle fermée corrigée. Elle
représente la bande passante du système.

1.3. Réalisabilité du correcteur


Le correcteur C(z) sera réalisable à deux conditions :

26

H. CHAFOUK
Automatique échantillonnée

a 0 + a 1 z + ... + a m z m
C(z) =
b 0 + b1 z + ... + b n z n

• nm

• Les pôles sont à l’intérieur du disque unité.

P N
soit F(z) = et G(z) =
Q D

F 1 P D
C(z) = =
1- F G  P N
Q 1 - 
 Q
Donc :
P D
C(z) =
Q-P N

a) 1ère condition :

deg (Q - P ) N   deg (P D )  deg (Q - P ) + deg (N )  deg (P ) + deg (D )

or la réalisabilité de F impose deg (Q )  deg (P ) . D’où la condition suivante :

deg (Q ) - deg (P )  deg (D ) - deg (N )

L’excès du nombre de pôles sur le nombre de zéros de F(z) est supérieur ou égal à l’excès du
nombre de pôles sur le nombre de zéros de G(z).

b) 2ème condition :

• Les zéros de (Q – P) sont dans le disque unité soient z = 1 (intégration).

• Si G(z) à des zéros (racines de N) hors du cercle unité, il faudra les compenser par le
correcteur c’est-à-dire les zéros de F(z) (racines de P).

27

H. CHAFOUK
Automatique échantillonnée

2. Transposition de correcteurs analogiques


On détermine le correcteur nalogique permettant de corriger le procédé analogique G(p)
selon le cahier des charges voulu puis on le « traduit » en nulmérique. C(p) peut être un P.I.D.
ou tout autre correcteur.

a) 1ère méthode :

Le correcteur discrétisé sera représenté par :


T T
(t) S(t) S(z)
B0(p) C(p)

C(z)
 
 1 Td p 
C(p) = K  1 + + 
 T
1+ d p 
T i p
 N 
La représentation échantillonnée du correcteur est donnée par :

 C(p) 
C(z) = ( 1 - z -1 ) Z  
 p 
Ce qui donne, après calcul, la structure suivante :

 T 1 N(z - 1)   T 
- N 
C(z) = K  1 + +  z0 = e  Td 
 Ti z - 1 z − z 0 
avec

b) 2ème méthode : Approximation de TUSTIN basée sur les équations aux différences

En considérant un signal de commande intégrale de l’erreur donnée par l’expression


suivante :
t
u(t) =   ( ) d
0

(t)

(k-1)T kT
28

H. CHAFOUK
Automatique échantillonnée

Ce qui donne :

(k-1)T kT kT
u(kT) =   ( ) d +   ( ) d = u(k − 1)T +   ( ) d
0 (k-1)T (k-1)T

En utilisant l’approximation des trapèzes, nous aurons l’expression suivante :

 (k - 1)T +  (kT)


u(kT) = u(k − 1)T + T
2

En prenant la transformée en z :

u(z) = z -1 u(z) +
T -1
2
(
z + 1  (z) )
Ce qui implique :

u(z) T z +1
=
 (z) 2 z -1

Or :
 t
 u(p) 1
L u(t) =   ( ) d   =
 0   (p) p

Donc on pose :

2 z -1
p = (Formule de TUSTIN)
T z +1
Elle donne pour le correcteur PID, l’expression suivante :

 2Td z − 1 
 T z +1 T z +1 
C(z) = K  1 + + 
2Ti z - 1 Td z − 1
 1+ 
 2NT z + 1 

29

H. CHAFOUK
Automatique échantillonnée

3. Critères de stabilité

3.1. Critère de Jury

On considère la fonction de transfert d’un système écrite sous sa forme :

Le critère de Jury étudie la position des racines du polynôme caractéristique A(z), à l'intérieur
du cercle unité.

Soit le polynôme :

, avec .

On construit le tableau à 2n-3 lignes suivant:

Les premières lignes sont construites à partir des coefficients ai, du polynôme
caractéristique A(z).

Les deux lignes suivantes sont construites à partir des deux premières par

30

H. CHAFOUK
Automatique échantillonnée

puis les deux suivantes par:

La condition nécessaire et suffisante de stabilité asymptotique est constituée des conditions


suivantes qui doivent être remplies simultanément:

Cas particulier: 2ème ordre

Le polynôme caractéristique est:

Les conditions du critère de Jury se ramènent dans ce cas particulier à :

Cas particulier: 3ème ordre

Le polynôme caractéristique est:

Le tableau de Jury est:

31

H. CHAFOUK
Automatique échantillonnée

Les conditions du critère de Jury sont:

3.2. Critère modifié de Routh

o On utilise la transformation bilinéaire (homographique ou de Möbius) pour


transformer le polynôme caractéristique A(z) en A(w).

Transformée en w (homographique ou de Möbius)

o On applique le critère de Routh sur le polynôme caractéristique A(w).

Remarque

Le critère de Routh indique le nombre exact de racines de A(w) qui sont situées dans le demi-
plan droit du plan complexe ainsi que le nombre de racines situées sur l'axe imaginaire.
Toutefois, dans un contexte de synthèse de commande cette information sur le nombre de pôles
instables n'est pas nécessaire, car les systèmes en boucle fermée instables ou à la limite
d'instabilité ne sont pas désirables.

32

H. CHAFOUK
Automatique échantillonnée

Les calculs nécessaires à cette méthode sont plus complexes que ceux employés pour le critère
de Jury, qu'il est préférable d'utiliser.

Définition du critère de Routh : Détermination de la stabilité à partir de la fonction de transfert


d'un système continu: le critère algébrique de Routh

Soit la fonction de transfert sous sa forme polynomiale:

Soit le polynôme caractéristique:

On construit le tableau suivant:

avec:

Enoncé du critère de Routh:

Le nombre de pôles à partie réelle positive est donné par le nombre de changements de signe
des termes de la première colonne.

Dans le cas où le tableau de Routh possède un élément nul dans la première colonne alors:

• si la ligne correspondante contient un ou plusieurs éléments non-nuls, A(p) possède au


moins une racine à partie réelle strictement positive.

33

H. CHAFOUK
Automatique échantillonnée

• si tous les éléments de la ligne sont nuls alors:


o A(p) a au moins une paire de racines imaginaires pures,
o ou A(p) possède une paire de racines réelles de signes opposés,
o ou A(p) possède quatre racines complexes conjuguées deux à deux et de parties
réelles de signes opposés deux à deux.

Remarque :

Une condition nécessaire mais non suffisante est que tous les coefficients du polynôme
caractéristique soient positifs.

Exemple 1 : Soit le polynôme caractéristique A(p)= p3-2p2-13p-10

p3 1 -13
2
p -2 -10
p -18 0
p0 -10

Un changement de signe, donc un pôle instable. En effet, A(p) a pour racines -1, -2, 5.

Exemple 2 : Soit le polynôme caractéristique A(p)=p4+ p3+5p2+4p+4

p4 1 5 4
p3 1 4 0
2
p 1 4
p  0
p0 4

Deux racines imaginaires pures (+2j, -2j) ; les autres sont .

Exemple 3 : Soit la fonction de transfert en boucle ouverte H(p)=K(p-1)/p(1+Tp) avec T>0. Le


dénominateur en boucle fermée est : A(p) = Tp2+(1+K)p-K

p2 T -K
p 1+K 0
p0 -K

Ce système est instable pour tous les gains positifs.

34

H. CHAFOUK
Automatique échantillonnée

4. Méthodes des pôles dominants

4.1. Principe
On détermine le correcteur C(z) de façon à avoir :

- Un système bouclé se comportant comme un second ordre possédant 2 pôles


complexes conjugués dominants, cela suppose les autres pôles pi proches de
l’origine :

p i  0.1

- Ou proche d’un zéro zi de façon à ce que le couple (pi,zi) se neutralise.

Pour assurer une erreur statique nulle on prend pour le 2ème ordre dominant la FTBF suivante :

(1 − p 0 )(1 − p 0 ) z − z0
F(z) =
1 − z0 (z − p 0 )(z − p 0 )
z − zi 1 − pi
Si on rajoute un terme il faudra également multiplier par pour conserver
z − pi 1 − zi
l’astatisme.

D’autre part, pour réaliser le correcteur C(z) il faudra respecter la condition suivante :

deg (Q ) - deg (P )  deg (D ) - deg (N )  deg(D) − deg(N)  1

Si ce n’est pas le cas il faudra rajouter à F le nombre de pôles nécessaires pour


rendre C(z) réalisable.

Le cahier des charges est spécifié par :

- Détermination de la Fonction de Transfert G(p),


- T : choix de la période d’échantillonnage,
- Le coefficient d’amortissement 
- Le dépassement D (%),
- Le temps de montée tM,
- Le coefficient de vitesse Kv éventuellement.

35

H. CHAFOUK
Automatique échantillonnée

4.2. Exemple d’application

Considérons un système analogique représenté par sa fonction de transfert :

1
G(p) =
p (p + 1)

La représentation fonctionnelle échantillonnée en Boucle Fermée avec correcteur est


donnée par :

E(z) +  S(z)
C(z) B0 G(p)
T T
-
G(z)

Le cahier des charges est spécifié par :

- Le coefficient d’amortissement  = 0707


- Le dépassement D < 15 %
- Le temps de montée tM < 05.5 s
- Le coefficient de vitesse Kv > 2.8

4.2.1. Choix de la période d’échantillonnage

Pour déterminer T, nous utilisons l’expression suivante :

1 1
 T 
4 n n

Où n est la pulsation propre du système de 2ème ordre en boucle fermée corrigée. Elle
représente la bande passante du système.

1ère phase : détermination de n du système analogique en B.F. non corrigé

S(p) G 1
F(p) = = = 2
E(p) 1 + G p + p + 1

1  n2
=
p 2 + p + 1 p 2 + p +  n2

36

H. CHAFOUK
Automatique échantillonnée

2ème phase : détermination de nc du système analogique en B.F. corrigé

On trouve alors n = 1 rd/s, il est donc possible de considérer que le fait de corriger ou
d’augmenter la rapidité du système est de doubler la bande passante en prenant par exemple :

nc = 2 n = 2 rd/s

Ce qui nous donne l’intervalle dans lequel doit se trouver la période d’échantillonnage :

0.125  T  0.5  T = 0.2 s

4.2.2. Calcul de G(z)

 
(
G(z) = 1 - z -1 Z 2) 1

 p (p + 1)

G(z) =
T

1 − e −T
=
(
T z − e − T - (z - 1) 1 − e − T ) ( )
z -1 z − e −T (z - 1) z − e −T ( )
T e -T − 1 + e − T
G(z) =
( −T
)
z T -1 + e - T e + 1 − e -T −T
(
= T - 1 + e −T )
z −
T - 1 + e −T
(
(z - 1) z − e −T ) (
(z - 1) z − e −T)
A.N:
z + 0.935
G(z) = 0.01873
(z - 1)(z − 0.8187)

4.2.3. Choix de la structure

L’existence d’une fonction de transfert nous oblige à respecter la condition suivante :

deg(D) − deg(N)  1

Il faudra donc prendre la structure d’un 2ème ordre dominant ci-dessous :

(1 − p 0 )(1 − p 0 ) z − z0
F(z) =
1 − z0 (z − p 0 )(z − p 0 )

37

H. CHAFOUK
Automatique échantillonnée

4.2.4. Détermination de  et 0

1ère phase : détermination de  par l’utilisation de l’abaque

D(%) = f(,)

1ère abaque : D  15 % et  = 0.707  - 84     35 

0 t M
2ème abaque :  = - 84  = 219
T
0 t M
 = 35  = 100
T

2ème phase : détermination de 0 par l’utilisation de l’abaque

Ce qui implique :
40    0  87,6 
Prenons :
 0 = 50 

Avec :
0 t M
 -  - = et  = arcsin(  )
T

Ce qui donne en prenant

 =  -  − 2.5  0 = 10  D calculé = 8%

4.2.5. Détermination de p 0 et z0

1ère phase : Calcul de p 0 :

L’expression du pôle s’écrit :

p 0 = p 0 e -0

Où 0 l’argument exprimé en radians et p 0 le module.

Le module est donnée par :

0
-T 
1-  2
p 0 = e -T n sin  = e T

38

H. CHAFOUK
Automatique échantillonnée


On sait que : tg  =
1-  2
Alors :
0
-
1-  2
p0 = e = e - 0 tg 

A.N. p 0 = 0.4178

2ème phase : Calcul de z0 :

L’expression du zéro s’écrit :

z 0 = p0
- p 0 + cos  0 + sin  0 tg  
1 + p0 ( sin  0 tg  - cos  0 )

A.N. z 0 = 0.1909

4.2.6. Détermination de Kv

L’expression de Kv est donnée par :

1 2 - 2 p 0 cos  0 1
= 2
-
Kv 1 - 2 p 0 cos  0 + p 0 1 - z0

1 1
A.N : = 1.0541 =  K v(calculé) = 0.95
Kv 0.95

Dans le cahier des charges, nous avons fixé Kv1 > 2.8 pour améliorer la rapidité du
système corrigé. Nous sommes donc amenés à rajouter un couple (p1,z1) pour atteindre cet
objectif. Ce qui implique la procédure suivante :

K v1 2.8
 = = 3
K v(calculé) 0.95

En prenant x = Dcharge – Dcalculé = 15 – 8 = 7, nous aurons alors :

x  7 3
p1 = 1 - Kv =1-   0.95 = 0.9009
100  - 1 100 2

x  7 3
z1 = 1 - Kv =1-   0.95 = 0.9068
x + 100  - 1 7 + 100 2

39

H. CHAFOUK
Automatique échantillonnée

4.2.7. Calcul de la FTBF F1(z)

La nouvelle fonction de transfert s’écrira alors en tenant compte du couple (p1,z1) :

1 − p1 z − z1
F1 (z) =  F(z)
1 − z1 z − p1

A.N : A partir des résultats précédents nous pouvons écrire F(z) :

z − 0.1909
F(z) = 0.7879
z 2 − 0.5371 z + 0.1746
Ce qui nous donne la forme finale de la FTBF corrigée :

F1 (z) = 0.8431
(z − 0.9068)(z − 0.1909)
(z − 0.9009)(z 2 − 0.5371 z + 0.1746)
4.2.8. Réponse indicielle Y(z)

La réponse indicielle à un échelon unité est donnée par :

Y(z) =
z
z −1
F1 (z)  
Y(z) = 0.8431 A1 z -1 + A 2 z -2 + ....
Avec :
A1 = 1  y(T) = 0.8431
A 2 = 1.3397  y(2T) = 1.129
A 3 = 1.34294  y(3T) = 1.132
A 4 = 1.28121  y(4T) = 1.08
A 5 = 1.24374  y(5T) = 1.049

On trouve bien le temps minimal de montée 0.4 s  t M  0.6 s et le dépassement D (13 % pour
3T).

4.2.9. Calcul du correcteur C(z)

La structure du correcteur numérique est donnée par :

F1 (z) 1
C(z) = 
1 - F1 (z) G(z)
A.N :

C(z) = 45
(z − 0.9068)(z − 0.1909)(z − 0.8187)
(z − 0.3135)(z + 0.935)(z − 0.19675)
40

H. CHAFOUK
Automatique échantillonnée

4.2.10. Résultats de la simulation

1.4

1.2

0.8

0.6

0.4

0.2

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

41

H. CHAFOUK
Automatique échantillonnée

5. Méthodes polynomiales
Ce sont des méthodes basées sur l’algèbre des polynômes à partir desquelles nous
pouvons concevoir des régulateurs numériques répondant aux cahiers des charges.

5.1. Systèmes astatiques à temps de réponse minimal

5.1.1. Principe
Pour une entrée donnée, un système sera dit à temps fini si l’erreur s’annule au bout d’un
nombre fini de période d’échantillonnage. Si le nombre est minimum, le système sera dit à
temps de réponse minimal.

E(z) +  U(z) S(z)


C(z) B0 G(p)
T T
-
G(z)

En B.F. :

S(z) C(z)G(z)
F(z) = =
E(z) 1 + C(z)G(z)

Considérons une entrée polynomiale :

S(z) A(z)
E(z) = =
E(z) (1 − z -1 ) n +1

Avec

E(z) = Z t n Y(t) 
Où A(z) est un polynôme de degré n en z.

L’erreur s’écrira :

E(z)
 (z) =
1 + C(z)G(z)

E(z) s’annulear aprs k pérides si :

 (z) =  (0) +  (T) z -1 + ..... +  (kT) z -k


Or :

42

H. CHAFOUK
Automatique échantillonnée

F(z) F 1
CG(z) =  1 + CG = 1 + =
1 − F(z) 1− F 1− F

D’où :
 (z) = E(z) (1 - F) = (1 - F)
A(z)
(1 − z -1 ) n +1

On veut une erreur statique nulle à l’aide du théorème de la valeur finale :

  = lim (1 - z -1 )  (z) = lim (1 − z


A(z)
-1 n
(1 - F)
z →1 z →1 )

En prenant :

(1 - F) = (1 − z -1 ) n + p +1 K(z) pour p  0

Ceci implique :

  = lim A(z) (1 - z -1 ) p +1 K(z) = 0


z →1

Soit deg(K(z)) = m ; A(z) (1 - z -1 ) p K(z) est un polynôme de degré :

k=n+m+p

l’erreur s’annule donc après k périodes d’échantillonnage.

Pour minimiser k on prend K(z) = 1 et p = 0, ceci implique que l’erreur s’annule après k = n
périodes.

 (z) = A(z)    = lim A(z) (1 - z -1 )


z →1

On aura donc :

1 - F = (1 - z -1 ) n +1

F = 1 - (1 - z -1 ) n +1 c’est le prototype minimal.

• Pour n = 0, l’entrée est un échelon :

E(z) = Z Y(t) =
1
1 - z -1

F = 1 - 1 + z -1 = z -1   (z) = 1 : l' erreur est nulle dès la 1ère période

43

H. CHAFOUK
Automatique échantillonnée

• Pour n = 1, l’entrée est une rampe :


z -1
E(z) = Z t Y(t) = T
(1 - z -1 )2
 (z) = E(z) (1 - F)
F = 1 - (1 - z -1 ) 2
F = 2z -1 - z -2
 (z) = T
z -1
(
1 - z -1 )
2
  (z) = T z −1 : l' erreur s' annule à partir de 2T
(1 - z -1 ) 2

• Pour n = 2, entrée parabolique :


 
−2
2 z +z
-1
E(z) = Z t Y(t) = T
2

(1 - z -1 )3
F = 1 - (1 - z -1 ) 3
F = 3z -1 - 3z -2 + z −3
−2
2 z +z
( )  (z) = T 2 (z −1 + z −2 )
-1
 (z) = T
3
1 - z -1 
(
1- z )
-1 3

5.1.2. Calcul du Correcteur

Soit la fonction de transfert du correcteur C(z) donnée par :

F 1
C= 
1− F G

C(z) comporte comme zéros, les pôles de G(z) et comme pôles les zéros de G(z), en tenant
compte de la multiplication avec F et (1 F).

Nous supposons que G possède des zéros et pôles à l’extérieur du cercle unité :

N N+ N-
G= = + -
D D D
Où N représente les zéros intérieurs au cercle unité et N- représente les zéros extérieurs. De
+

même pour D+ représente les pôles intérieurs au cercle unité et D- représente les pôles
extérieurs.
F D+ D-
C=  + -
1− F N N

Pour élaborer une stratégie de régulation, nous devons simplifier N- avec F et D- avec (1 – F),
d’où les expressions suivantes :

F = N - L(z)
et
1 - F = D − (1 - z -1 ) n +1 M(z)

44

H. CHAFOUK
Automatique échantillonnée

L’erreur s’annulera à temps fini, mais D- M(z) augmenterait le degré de (1 – F) de , le nombre


de périodes pour annuler  augmente aussi de .

Gain en boucle ouverte :

F(z) N N- L
CG(z) = = 1  CG =
1 − F(z) D1 (
D - 1 − z −1 )
n +1
M

Correcteur :

N- L D+ D- D+ 1 L
C=   C= 
(
D- 1 − z )
−1 n +1
M N+ N- +
(
N 1 − z −1 )
n +1
M

Si N+ contient un terme en z-l il faut le conserver pour annuler l’erreur.

Erreur :

E(z) A(z) 1
 (z) = = 
1 + CG (1 − z -1 ) n +1 N- L
1+
(
D - 1 − z −1 ) n +1
M

D- M
 (z) = A(z) 
(1 − z -1 ) n +1 D - M + N - L

L’erreur s’annule donc en temps fini, à condition que (z) soit un polynôme en z-1, donc :

(1 − z -1 ) n +1 D - M + N - L = 1 (1)

Où L et M sont deux polynôme de degré minimum que l’on obtient par identification. On a
alors :

 (z) = A(z) D - M

Signal de Commande :

La loi de commande est donnée par :

D+ 1 L
U(z) =  (z) C(z) = A(z) D - M 
+
(
N 1 − z −1 )n +1
M
D’où :
A(z) D L
U(z) =
(
N + 1 − z −1 ) n +1

45

H. CHAFOUK
Automatique échantillonnée

Fonction de transfert en boucle fermée :


N- L

F(z) =
S(z)
=
C(z)G(z)
=
(
D - 1 − z −1 M )
n +1

E(z) 1 + C(z)G(z) N L-
1+
D 1 − z −1
-
(n +1
M )
S(z) C(z)G(z) N- L
F(z) = = =
(
E(z) 1 + C(z)G(z) D - 1 − z −1 n +1 M + N - L )
Pour annuler l’erreur en temps fini, nous avons pris : (1 − z -1 ) n +1 D - M + N - L = 1 , d’où :

F(z) = N - L

Signal de sortie :

A(z) N - L
S(z) = F(z) E(z) =
(1 − z -1 ) n +1

5.1.3. Exemple d’application

Prenons l’exemple d’un système de troisième ordre, représenté par sa fonction de


transfert :

z -1 (1 + 2z -1 )(1 + 0.2 z -1 )
G(z) =
(1 − z -1 ) 2 (1 − 0.3z -1 )

Et l’on considère l’entrée en échelon, on veut annuler l’erreur en un minimum de temps (n=0).

D+ 1 L
C= 
+
(
N 1 − z −1 )n +1
M

A partir du système, nous déduisons N et D, comme suit :

N + = z -1 (1 + 0.2 z -1 ) et N - = (1 + 2z -1 )
et
D + = (1 − z -1 ) 2 (1 − 0.3z -1 ) et D- = 1

z-1 représente un retard, il apparait donc en z-1 au numérateur de C ce qui est irréalisable. Il faut
don l’annuler avec C, ce qui implique qu’il faudra pendre :

L = z-1 L’

Ce qui donne :

46

H. CHAFOUK
Automatique échantillonnée

(1 − z -1 ) 2 (1 − 0.3z -1 ) z -1 L'
C(z) = 
z -1 (1 + 0.2z -1 ) (1 - z -1 ) M

(1 − z -1 )(1 − 0.3z -1 ) L'


C(z) = 
(1 + 0.2z -1 ) M

Nous déterminons Met L’ , avec la condition (1), c-à-d :

(1 − z -1 ) n +1 D - M + N - L = 1

Où : (1 − z -1 ) M + (1 + 2 z -1 ) z -1 L' = 1

Prenons :
M = a z -1 + b et L' = c

Nous aurons :

(1 − z -1 ) (a z -1 + b) + (1 + 2 z -1 ) z -1 c = 1
D’où :
(2 c − a) z -2 + (a - b + c) z -1 + b = 1

Par identification, nous aurons :

2 1
a= ; b =1 et c=
3 3
2 -1 1
M = z +1 et L' =
3 3
D’où :
L' 1 1 1
= =
M 3 2 -1 2z +3
-1
z +1
3
Le correcteur est donné par l’expression suivante :

(1 − z -1 )(1 − 0.3z -1 )
C(z) =
(1 + 0.2z -1 )(2 z -1 + 3)

Le signal d’erreur aura l’expression suivante :

2 2
 (z) = 1  1  (1 + z -1 )   (z) = 1 + z -1 on annule l’erreur en 2 coups
3 3
d’horloge.
1 1 -1
F(z) = N - L = (1 + 2 z -1 ) z -1   F(z) = N - L = z (1 + 2 z -1 )
3 3

47

H. CHAFOUK
Automatique échantillonnée

Exemple d’asservissement de position d’un moteur à courant continu

E(z) +  U(z) 1 S(z)


C(z) B0 p(p + 1)
T T
-
G(z)

En reprenant les valeurs obtenues dans l’exemple sur les pôles dominants :

  z + 0.935
(
G(z) = 1 - z -1 Z 2) 1
 = 0.01873 ( )(
z - 1 z − 0.8187)
 p (p + 1)

z -1 (1 + 0.935 z -1 )
G(z) = 0.01873
( )(
1 - z -1 1 − 0.8187 z -1 )
Avec :
N+ N-
G(z) = + -
D D

Où :
N + = z -1 (0.01873 + 0.01751 z -1 )
N− = 1
D + = (1 - z -1 )(1 − 0.8187 z -1 )
D− = 1

Le correcteur à temps minimal s’écrit :

C=
D+ 1

L
= -1
( )(
1 - z -1 1 − 0.8187 z -1 ) 
z −1 L'
+
N 1 − z −1( ) n +1
M z (0.01873 + 0.01751 z -1 )(1 − z −1 ) M

De la même manière que précédemment, à partir de l’expression (1) on a :

(1 − z -1 ) n +1 D - M + N - z -1 L' = 1
Où :
(1 − z -1 ) M + z -1 L' = 1

Par identification, nous obtiendrons M = 1 et L’ = 1, nous aurons donc l’expression du


correcteur à temps fini :
1 − 0.8187 z -1
C(z) =
0.01873 + 0.01751 z -1

48

H. CHAFOUK
Automatique échantillonnée

Calcul du signal d’erreur :

 (z) = A(z) D - M

A (z) = 1   (z) = 1

Donc l’erreur  (z) = 1 + 0 z -1 + 0 z -2 + .... est égale à 1 à l’instant 0 et nulle après : le système
est recalé en un coup d’horloge.

Signal de Commande :
La loi de commande est donnée par :

DL 1 1  (1 − z −1 )(1 − 0.8187 z −1 ) z −1
U(z) = A(z) =
+
(
N 1 − z −1 )
n +1
z −1 (0.01873 + 0.01751 z −1 )(1 − z −1 )
D’où :
1 − 0.8187 z −1
U(z) = 53.39
1 + 0.935 z −1

z z
U(z) = 53.39 - 43.71 z -1 
z + 0.935 z + 0.935
Or :
 z   z 
Z -1   =a
k
 Z -1 z −1  =a
k -1

 z - a   z - a 

Donc
u(n) = 53.39  (-0.395) n - 43.71  (-0.935) n -1

Application :

u(0) = 53.39
u(1) = 53.39 (-0.935) – 43.71 = -9363
u(2) = 87.54
u(3) = -81.85
V(t)
u(t) 87.54
100 100
53.39
50 50
t t
T 2T 3T

- -
50 50
-100 -100 -81.85
-93.63

Train d’impulsion à l’entrée du bloqueur d’ordre 0 Signal « continu » à la sortie du bloqueur d’ordre 0

49

H. CHAFOUK
Automatique échantillonnée

Examinons le signal de sortie, cela revient à étudier la réponse du système au signal V.


Travaillons entre 0 et 2T pour limiter les calculs
V V
100 100
53.39
50 50
t t
T 2T 3T T 2T

- -
50 50
-100 -100
-150
-147.02

V sur 0 - 2T peut se décomposer en 2 échelons décalés de T d’amplitudes U0 et (U1 – U0).

1 U0 e -Tp
Etudions la réponse de notre système à et (U1 − U 0 ) respectivement et
p(p + 1) p p
sommons les deux expressions.

• Réponse au 1er échelon :


U0 1 L−1
 ⎯⎯→ U 0 (t - 1 + e -t )
p p(p + 1)

 a   1 − e − at 

−1
L  2  = t − Y (t ) et T = 0.2 s
 p ( p + a )   a 

t=T  53.39  0.01873  1


t = 1.5T  53.39  0.04082  2.174
t = 2T  53.39  0.07032  3.754

• Réponse au 2ème échelon :


e -Tp 1 −1
(U1 − U 0 )  ⎯⎯→
L
(U1 - U 0 ) (t - T + 1 + e -(t-T) )
p p(p + 1)

t = 1.5T  - 147.02  0.004837  −0.711


t = 2T  - 147.02  0.011873  −2.7537

Finalement, nous trouvons :

s(0) = 0
s(T) = 1
s(1.5T) = 2.179 - 0.7 = 1.468
s(2T) = 3.754 – 2.7537 = 1
50

H. CHAFOUK
Automatique échantillonnée

Le signal est constant et égal à 1 pour t = nT, avec n > 1 ce qui est conforme mais subit
des oscillations en continu (oscillations cachées).
S(t)

T 2T 3T

Ces oscillations proviennent des discontinuités du signal V(t) à la sortie du bloqueur


d’ordre 0. Ceci met en évidence l’inconvénient majeur de la réponse à temps minimal : la
contrainte sur la rapidité maximale à obtenir une erreur nulle génère des oscillations cachées.
Nous n’avons fait de spécification que sur l’erreur échantillonnée.

51

H. CHAFOUK
Automatique échantillonnée

TRAVAUX PRATIQUES

en

Automatique Avancée pour les


Systèmes Mécatroniques

52

H. CHAFOUK
Automatique échantillonnée

SOMMAIRE

T.P. 1. Régulateur Numérique ‘un système thermique

T.P. 2. Synthèse d’un Régulateur Numérique :

- 1ère partie : Régulation par PID Numérique de TUSTIN


- 2ème partie : Régulation Numérique par la méthode des Pôles Dominants

ANNEXES 1
Annexe A : Commandes et fonctionnalités de base sous Matlab
Annexe B : Grandeurs caractéristiques d’un système du 2nd ordre

ANNEXES 2
Annexe A – Identification des paramètres du moteur par analyse fréquentielle
Annexe C – Méthode des Pôles dominants
Annexe D – Table des Transformées en z
Annexe E – Abaques pour la méthode des Pôles Dominants

53

H. CHAFOUK
Automatique échantillonnée

T.P.1 d'Automatique échantillonnée


Régulation Numérique d’un système
thermique

L’objectif de ce TP est de commander en temps réel un échangeur thermique (maquette)


à l’aide de Matlab-Simulink. La première partie de ce TP consiste à déterminer le régulateur
numérique à utiliser à partir d’un PID analogique déjà synthétisé (TP de première année).
Ensuite, la seconde partie de ce TP utilise le PID discret calculé afin de piloter en temps réel
l’échangeur thermique à l’aide de Matlab-Simulink et d’une carte d’acquisition.

Introduction sur la régulation de température par P.I.D.


On considère une chaîne de régulation d’un échangeur thermique commandé par une
vanne de chauffage comme représenté par le schéma bloc suivant :

Tc + E Régulateur V Vanne de Q Ts
Echangeur
P.I.D. Chauffage
-

Tr

Thermo-couple

avec
Tc : Température de consigne,
Ts : Température de sortie (à réguler),
Tr : Température de retour (traduite en tension par le Thermocouple),
E : Erreur,
V : Commande de la vanne,
Q : Commande de l'échangeur.

On donne les fonctions de transferts suivantes :

Q(p) 10
- Vanne de Chauffage =
V(p) 1 + p
Ts (p) 1
- Echangeur =
Q(p) 1 + 3p + 4p 2
Ts (p) 1
- Thermocouple =
Tr (p) 1 + p
V(p) 1
- Régulateur P.I.D. = K(1 + + Td p)
E(p) Ti p

54

H. CHAFOUK
Automatique échantillonnée

Une première étape dans la détermination des paramètres du correcteur PID a été
effectuée en utilisant les méthodes de Ziegler-Nichols et Naslin (voir TP en 1ère année). Nous
avons trouvé les valeurs des différents paramètres utiles pour la définition des PID selon ces
deux méthodes, à savoir K, Td, Ti. Dans la suite de ce TP, on utilisera un régulateur PID avec
un dérivateur modifié (puisqu'on ne peut pas réaliser un dérivateur pur) :

V(p) 1 Tp
C(p) = = K(1 + + d )
E(p) Ti p 1+ p

avec :
Td
=
10

On rappelle les caractéristiques suivantes :

- Action proportionnelle : K (Rapidité)

K
- Action intégrale : (Précision)
Ti p

KTd p
- Action dérivée : (Stabilité)
1+ p

1. Méthode de Ziegler-Nichols

Les résultats obtenus par cette méthode sont les suivants :

K=0,24
T = 4,32s
i

T = 1, 08s
d

2. Méthode de NASLIN

Les résultats obtenus par cette méthode sont les suivants :

K=0,0375
T = 2,18s
i

T = 1,333s
d

55

H. CHAFOUK
Automatique échantillonnée

Synthèse du régulateur numérique


Parmi les deux méthodes de réglage de PID présentées, nous proposons de retenir celle de
Ziegler-Nichols. Dans cette partie, nous allons réaliser la transposition du régulateur analogique
en un régulateur numérique afin de mettre en œuvre une commande applicable en temps réel.

1) Réaliser sous Simulink la chaîne de régulation de l’échangeur thermique présentée en


introduction et donner la réponse indicielle de ce système.

2) Tracer le diagramme de Bode de l’ensemble « vanne + échangeur + capteur » à l’aide de


l’outil d’analyse linéaire.

Par la suite, on prendra une fréquence d’échantillonnage de 10Hz.

3) Donner le schéma de régulation numérique de l’échangeur thermique (c’est-à-dire le schéma


avec le PID sous forme discrète et le système « vanne + échangeur + capteur » sous forme
continue).

4) A l’aide de la commande « c2dm » de Matlab, déterminer la fonction de transfert du PID


discret en utilisant la transformation bilinéaire.

5) Comparer les performances de la boucle de régulation continue avec celles de la boucle de


régulation numérique.

Nota : on veillera à utiliser un pas de simulation (solver) constant sous Simulink (Cliquer sur
« simulation » puis « configuration parameters » puis enfin aller dans l’onglet « solver »)

6) Déterminer les PID numériques obtenus par les deux autres manières suivantes :

- par la méthode d’Euler avec différence vers l’arrière


- par la méthode d’Euler avec différence vers l’avant

7) Comparer les performances des boucles de régulation numériques utilisant chacun des trois
PID discrets synthétisés (ceux des questions 4 et 6).

Liste des fonctions/blocs à utiliser pour ce tp :


Nom fonction matlab Nom bloc simulink

tf step
tfdata sum
c2dm Transfer fcn
mux
scope
Discrete transfer fcn
Zero order hold
Analog input
Analog output

56

H. CHAFOUK
Automatique échantillonnée

T.P.2 d'Automatique échantillonnée


Régulation Numérique par la méthode des
Pôles Dominants

1. INTRODUCTION

L'objectif de cette étude est d'asservir une grandeur de sortie y(t) (position, vitesse, etc.),
d'un système réel, à une consigne e(t), en utilisant un calculateur numérique placé dans la boucle
de régulation. De plus, cette sortie devra rester constante, quelles que soient les perturbations
intervenant sur le système (régulation).

Le schéma sera réalisé de la manière suivante :

Perturbations
Partie numérique

 (t)
(T) u(t) y(t)
e(t) + CNA
Correcteur Système
+
numérique Physique
B0(z)
-
Horloge : H(T) (T)

Ainsi, toutes les "T" secondes, le calculateur doit :

- Lire la valeur "(t)" (C.A.N.);


- Traiter "(t)" par un algorithme de commande (correcteur);
- Envoyer une commande (C.N.A.) sur le système "U(t)".

Le but de ce TP sera donc de trouver des algorithmes de commandes qui répondent aux
conditions imposées. Pour cela il faudra auparavant :

- Choisir une période d'échantillonnage;


- Identifier la partie analogique;
- Calculer un correcteur;
- Et enfin, essayer l'ensemble sur le système.

57

H. CHAFOUK
Automatique échantillonnée

2. Choix de la période d'échantillonnage

Les systèmes physiques sont, en général, non linéaires. Malgré tout, on les considérera
comme linéaire autour de leur point de fonctionnement.

Une analyse statique donnera des indications sur le point de fonctionnement à choisir.

Une étude de la réponse indicielle donnera des indications sur le choix de la période
d'échantillonnage, (environ le temps de réponse divisé par 10). Mais attention au problème de
recouvrement de spectre (cf. SHANNON).

3. Analyse et identification de la partie analogique par le tracé de "BODE"

Il s'agit de connaître le plus finement possible les constantes du système (Kv, , etc.). Pour
cela, on réalisera le schéma suivant :

e consigne + Kv y(t)
A=10 
|e| = 0.3 V p(1 +  p)
-

Par la suite, on passera à la boucle ouverte, sans oublier le bloqueur (cf. annexe).

4. Régulation Numérique par PID Numérique (1ère séance)

Réaliser à l’aide de Matlab/Simulink un régulateur numérique par la méthode de


TUSTIN.

Principe de la méthode de TUSTIN basée sur les équations aux différences

En considérant un signal de commande intégrale de l’erreur donnée par l’expression


suivante :
t
u(t) =   ( ) d
0

(t)

t
(k-1)T kT

58

H. CHAFOUK
Automatique échantillonnée

Ce qui donne :

(k-1)T kT kT
u(kT) =   ( ) d +   ( ) d = u(k − 1)T +   ( ) d
0 (k-1)T (k-1)T

En utilisant l’approximation des trapèzes, nous aurons l’expression suivante :

 (k - 1)T +  (kT)


u(kT) = u(k − 1)T + T
2

En prenant la transformée en z :

u(z) = z -1 u(z) +
T -1
2
(
z + 1  (z) )
Ce qui implique :

u(z) T z +1
=
 (z) 2 z -1

Or :
 t
 u(p) 1
L u(t) =   ( ) d   =
 0   (p) p

Donc on pose :

2 z -1
p = (Formule de TUSTIN)
T z +1
Elle donne pour le correcteur PID, l’expression suivante :

 2Td z − 1 
 T z +1 T z +1 
C(z) = K  1 + + 
2Ti z - 1 Td z − 1
 1+ 
 2NT z + 1 

59

H. CHAFOUK
Automatique échantillonnée

5. Synthèse de correcteur par la méthode des pôles dominants (2ème séance)

On désire que l'asservissement réponde à une entrée en échelon avec les performances
suivantes (cahier des charges):

- Dépassement : D < 10 %
- Temps de montée : Tm < 100 ms
- Amortissement :  = 0.707
- Erreur permanente : p = 0

Pour cela on choisit un correcteur "C(z)" de façon à ce que la fonction de transfert en "z"
de la boucle fermée soit de la forme :

K(z − z 0 )
F(z) =
(z − z1 )(z − z1 )
A l'aide des abaques fournies en annexe, déterminer "C(z)". On calculera "K" sachant que :

F(1) = 1
Applications pratiques

Simulation numérique

Réaliser un programme en MATLAB qui permet de calculer un correcteur numérique


basé sur la méthode des pôles dominants (cf. annexe). En prenant comme cahier des charges
les conditions indiquées ci-dessus.

6. Interprétation des résultats

Faites une étude comparative,


Conclusion.

60

H. CHAFOUK
Automatique échantillonnée

- ANNEXES -
T.P. d’Automatique Avancée

61

H. CHAFOUK
Automatique échantillonnée

Annexe A : Commandes et fonctionnalités de base sous Matlab

Introduction
Matlab est un logiciel interactif de programmation scientifique, pour le calcul numérique et la
visualisation graphique, basé sur la représentation matricielle des données. Il utilise un langage
interprété : chaque expression écrite en ligne de commande ou dans un fichier script (de format *.m) est
interprétée et évaluée.
Le point-virgule de terminaison de ligne indique si le résultat de l'évaluation est affiché ou non à l'écran
selon qu'il est absent ou présent. Cela facilite la mise au point en offrant la possibilité d'obtenir très
simplement des résultats intermédiaires de calcul.
Remarque générale sur l’ensemble des fonctions de Matlab : l’aide sur une fonction peut être obtenue :
- en ligne de commande en tapant : >> help nom_de_fonction
- dans une fenêtre d’aide en tapant : >> doc nom_de_fonction

1 Les matrices
1.1 Définition sous Matlab
 1 2 3
Pour définir la matrice A =   : >> A = [1 2 3; 4 5 6]
4 5 6
ou encore : >> A = [1, 2, 3; 4, 5, 6]

Pour définir le vecteur ligne A = (1 2 3) : >> A = [1 2 3]

Pour définir le vecteur ligne time = [0 0.2 0.4 0.6 0.8 1] dont les éléments sont séparés d’un même pas
(ici 0,2) : >> t = 0 : 0.2 : 1
1
Pour définir le vecteur colonne A =  2  : >> A = [1 ; 2 ; 3]
 
 3 
Pour obtenir l’élément de la i ligne et de la jème colonne de la matrice A : >> a = A(i, j)
ème

Pour obtenir tous les éléments de la jème colonne de la matrice A : >> a = A( : , j)


Pour obtenir tous les éléments de la ième ligne de la matrice A : >> a = A( i, : )
Pour obtenir la taille d’une matrice A : >> size(A)
Pour obtenir la longueur d’un vecteur V : >> length(V)

1.2 Opérations élémentaires sur les matrices


Transposé : >> A’ Déterminant : >> det(A)
Addition : >> A + B
Addition terme à terme : >> A .+ B
Soustraction : >> A – B
Soustraction terme à terme : >> A .– B
Multiplication : >> A * B
Multiplication terme à terme : A .* B
Inversion : >> inv(A) ou encore : >> A^-1
Conjuguée : >> conj(A)
Exponentielle : >> expm(A)
Puissance : >> A^3
Racine carrée : >> sqrtm(A)
Concaténation horizontale : >> [A, B]
Concaténation verticale : >> [A ; B]
Valeurs propres : >> eig(A)
Rang : >> rank(A)
Trace : >> trace(A)

62

H. CHAFOUK
Cours/TP Automatique Avancée 2ème année

1.3 Quelques fonctions utiles


matrice identité de dimension n : >> eye(n)
matrice de zéros de dimension m x n : >> zeros(m,n)
matrice de 1 de dimension m x n : >> ones(m,n)
Autres fonctions disponibles : diag, compan, rand, …

2 Les scalaires
2.1 Définition sous Matlab
Sous Matlab, tout scalaire est considéré comme une matrice de dimension 1 :
>> A = 2.125
est équivalent à
>> A = [2.125]

Pour définir la variable complexe B = 5,125 + i 6.75 : >> B = 5.125 + 6.75i

Remarque 1 : tous les calculs effectués dans Matlab le sont en double précision. Cependant,. le format
d'affichage des résultats peut être contrôlé par la commande « format ».
Remarque 2 : certaines lettres ou chaînes de caractères ont des valeurs prédéfinies :
- i et j correspondent au nombre imaginaire.
- pi correspond à π
- Inf ou inf correspond à ∞
- e est utilisé pour les puissances de 10
Remarque 3 : Matlab fait la distinction entre majuscule et minuscule.

2.2 Quelques fonctions utiles


exponentielle en : >> exp(n)
puissance a b : >> a^b
racine carrée a : >> sqrt(a)
valeur absolue a : >> abs(a)
Autres fonctions utiles : sin, asin, cos, acos, tan, atan, log, sign, round, ...

3 Les polynômes et les fonctions de transfert


3.1 Définitions sous Matlab
Sous Matlab, tout polynôme est considéré comme un vecteur ligne dont les éléments sont les coefficients
des puissances décroissantes.
Pour définir le polynôme 2x + 3x − x + 4,5x − 1,3 : >> poly_1 = [2 3 0 –1 4.5 –1.3]
5 4 2

p2 − 0,1
Pour définir la fonction de transfert H(p) = :
p − 0,2p2 + p
3

>> num_1 = [1 0 –0.1]


>> den_1 = [1 -0.2 0 1 0]
>> H_1 = tf(num_1, den_1)

Remarque : par défaut, Matlab utilise la variable de Laplace « s ».

3.2 Quelques fonctions utiles


Somme de 2 polynômes de degré identique : >> poly_1 + poly_2
Produit de polynômes : >> conv(poly_1, poly_2)
Racines d’un polynôme : >> roots(poly_1)
Valeur d’un polynôme en un point x donné : >> poly(poly_1, x)
Décomposition d’une fonction de transfert en éléments simples : >> residue(num_1, den_1)
Fonctions de transfert en cascade : >> H_1 * H_2

Année 2020
2ème année

Fonctions de transfert en parallèle : >> H_1 + H_2


Fonction de transfert en boucle fermée : >> feedback(H_1, H_2)
Diagrammes de Bode : >> bode(H_1)
Diagramme de Nyquist : >> nyquist(H_1)
Diagramme de Black : >> black(H_1)

4 L’affichage graphique sous Matlab


L’affichage de graphes 2D s’effectue via la commande « plot » dont la syntaxe est la suivante :
plot(X1,Y1,S1,X2,Y2,S2,X3,Y3,S3,...).
où « Xi » et « Yi » désignent des vecteurs colonnes de données et « Si » une chaîne de caractères
indiquant la couleur et le motif de la courbe Yi = f(Xi).
Pour la couleur : rouge : r, cyan :c, magenta :m, jaune :y, vert : g, bleu : b, noir : k, blanc : w
Pour le motif : « + », « * », « . », « x », …

Exemple :
>> t = [0.5; 1.0; 1.5; 2.0]
>> x = [ 1; 2; 4; 8]
>> y = [0.1; 0.2; 0.4; 0.6]

Pour afficher x en fonction de t : >> plot(t, x)

Pour afficher x en bleu et y en rouge en fonction de t dans le même repère :


>> plot(t, x, ‘b’, t, y, ‘r’)

Pour afficher dans une même fenêtre mais dans deux repères différents x = f(t) et y = g(t) :
>> figure;
>> subplot(2, 1, 1); plot(t, x);
>> subplot(2, 1, 2); plot(t, y);

Pour personnaliser l'affichage graphique, voir également les commandes : label, title, legend, grid

5 La gestion de l’environnement et des variables sous Matlab


Pour obtenir la liste des fichiers dans le répertoire de travail courant : >> dir
Pour changer le répertoire de travail courant : >> cd chemin_du_répertoire
Pour visualiser la liste des variables en mémoire : >> who
Pour visualiser la liste des variables en mémoire ainsi que leur type et taille : >> whos
Pour éliminer une variable : >> clear nom_de_la_variable
Pour éliminer toutes les variables : >> clear all

1
H. CHAFOUK
2ème année

Annexe B : Grandeurs caractéristiques d’un système du 2nd ordre

Considérons la réponse indicielle d’un système du second ordre de pulsation propre  0 et de


coefficient d’amortissement  . Les grandeurs caractéristiques de ce système sont alors :
1
- le temps de montée : tm = ( − Ar cos  )
0 1 −  2

- le temps de pic : t pic =
0 1 −  2
 100 
ln  
- le temps de réponse à N% : tr ( N%) = 
N 
 o
2
- la pseudo-période : Tp =
0 1 −  2
- la pseudo-pulsation :  p =  0 1 − 
2



1− 2
- le dépassement D% : D% = 100 D = 100e

Tp
D

G
s()-N%

Tm Tpic Tr(N%)

2
H. CHAFOUK
2ème année

- ANNEXE E -
Détermination rapide des constantes d'un système
en boucle ouverte à partir d'une analyse harmonique
en boucle fermée (système avec résonance)

1. Le système, en boucle ouverte, devra obligatoirement être mis sous la forme "H(p)",
tel que :

K
H(p)=
p(1 + p)

Le schéma fonctionnel est donné par :

e(p) + K s(p)
p(1 +  p)
-

On désire déterminer rapidement : K et  :

Dans ce cas, toujours en boucle ouverte, nous connaissons l'allure des courbes de Bode :

|H|
db
(-1)

(-2)
log ()
 = 
0

log ()

−

−

2. On calculera, avec les paramètres ci-dessus, la boucle fermée :


H(p) 1
G(p)= =
1 + H(p)  1
P2 + p + 1
K K

3
H. CHAFOUK
2ème année

Ce résultats est identifiable à la formule d'un deuxième ordre :

1
1 2 
p +2 p +1
0
2
0

Soit :

1 
= (1)
0 K
2

et

2 1
= (2)
0 K

Les courbes de Bode, ainsi calculées en boucle fermée, auront donc la forme suivante :

|G|
db

max
log ()

r
(-2)

log ()

−
0

−

Avec

Vs 1
G(j)= =
Ve  22
2 
2
(1 − 2 ) + 4  2
1/2

0 0

3. Donc si "Ve(t)" est sinusoïdale, et que l'on étudie ce type de système en boucle fermée, il
suffira de se placer à un déphasage de "-90°" et de lire la pulsation "0" correspondante pour
utiliser les équations (1) et (2).

4
H. CHAFOUK
2ème année

On ne pourra cependant, résoudre le système d'équations que si l'on connaît une troisième.
Pour cela, il existe deux solutions :

Vs
- Soit relever à la pulsation "0", le gain " ", d'où :
Ve

Vs 1
G(j)  = = = (3)
0
Ve  = 0
2

- Soit relever la pulsation de résonance "r", sachant que :

1/2
 r = 0 1 − 2  2 (4)

4. Les équations, (1), (2) et (3) ainsi résolues, déterminerons donc les coefficients : "K","" et
"".

5
H. CHAFOUK
2ème année

Annexe F
Méthode des pôles dominants
appliquée au cas pratique
d'un asservissement de position

1. Rappel :

G(z) = Z B 0 (p)G(p)

avec
Kv
G(p) = KA
p(1 + p)

et
1 − e -Tp
B0 (p) =
p

On pourra écrire :

1- e -Tp   H(p) 


Z H(p)  = (1 − z −1 )Z 
 p   p 

2. Synthèse d'une commande

Le schéma de principe du système numérique est représenté ci-dessous :

calculateur
Xk  Uk y(t)
+
C(z) B0(p) G(p)
-

Yk
T

Il s'agit, dans les méthodes de synthèse envisagées, de déterminer C(z) de manière à


conférer au système bouclé des performances dynamiques données, en réponse à un échelon.
A noter que le système est naturellement intégrateur en boucle ouverte ( G(z) possède
un pôle en z = 1 ). Le système en boucle fermée sera astatique si C(z) ne contient pas de zéro
en z = 1, ce à quoi nous veillerons dans le système.

6
H. CHAFOUK
2ème année

2.1. Pôles dominants

2.1.1. Rappels

Cette méthode consiste à obtenir en boucle fermée un système de transmittance :

C(z)G(z)
F(z) =
1 + C(z)G(z)
la plus proche possible d'une forme classique du second ordre dite à pôles dominants :

(z − z 0 )
K
(z − z1 )(z − z1 )

Des abaques ont été établis permettant de relier simplement la position de z0 et z1 au


comportement dynamique du système.

2.2.2. Calcul du correcteur

Compte-tenu des performances désirées rappelées ci-dessous :


 D  10 %

 T  100 ms

  = 0.7
le calcul du correcteur se déroule comme suit :

étape 1 : l'abaque fourni en annexe II-2 (dépassement en régime indiciel) nous donne la plage
de variation de l'angle  défini sur la figure suivante :

étape 2 : cette plage reportée sur l'abaque II-3 (temps de montée en régime indiciel) fournit
pour  = 0.7.

Tm
116  0  215
T
soit :
46.4  0  86
 
 = 20  = −80

Le choix de 0 reste libre dans ces limites. Nous prendrons arbitrairement  = 0° soit 0 =
54°.

Les caractéristiques de la boucle fermée se déterminent alors simplement :

z 0 = 0.1 z1 = 0.24 + 0.32j z1 = 0.24 − 0.32j

La boucle fermée a donc la structure suivante :

K(z - 0.1)
F(z) = 2
z - 0.48z + 0.16
7
H. CHAFOUK
2ème année

Le facteur K est calculé tel que le gain statique en boucle fermée défini par F(1)* est
égal à 1, soit K = 0.756.

K(z - 0.1)
F(z) = 2
z - 0.48z + 0.16

étape 3 : L'expression de F(z) donnée au paragraphe 2.1.1., conduit à :

F(z)
C(z) =
1- F(z) G(z)
On note dès à présent que le terme (1-F(z) contient (z-1) en facteur (F(1) - 1 = 0), ce
qui réduit l'ordre de C(z) d'une unité par simplification avec le pôle z = 1 de G(z).

z2 - 0.48 + 0.16 - 0.756(z - 0.1)


1 - F(z) =
z2 - 0.48z + 0.16

(z - 1)(z - 0.236)
1 - F(z) =
z2 - 0.48z + 0.16

(*) On rappelle que le gain statique est la valeur finale de al sortie en réponse à un échelon
unité.
F(z)
S(z) =
1 - z -1

D'après le théorème de la valeur finale,

s() = lim (1 − z−1 ) S(z) = lim F(z) = F(1)


z →1 z →1

Le correcteur C(z) prend donc la forme suivante :

(z - 0.1)(z - 0.55)
C(z) = 0.434
(z - 0.236)(z - 0.825)

2.1.3. Réalisation du correcteur

U(z) 0.434 - 0.282 z-1 + 0.024 z-2


C(z) = =
 (z) 1 + 0.584 z-1 - 0.194 z-2

La réalisation de ce correcteur sous forme numérique à l'aide d'un calculateur


conduirait à la programmation de l'équation aux différences suivante :

U(n) = 0.434  (n) - 0.282  (n -1) + 0.024  (n - 2) - 0.584 U(n -1) + 0.194 U(n - 2)

Ceci permet de calculer la commande à l'instant nT à partir des 2 commandes précédentes et


des erreurs présentes et précédentes.

8
H. CHAFOUK
2ème année

2. Résultats de la simulation

Perturbations
Partie numérique

 (t)
(T) u(t) y(t)
e(t) + CNA
Correcteur Système
+
numérique Physique
B0(z)
-
Horloge : H(T) (T)

avec
z + 0.82
G(z) = 1.74
(z − 1)(z − 0.55)
et
(z - 0.1)(z - 0.55)
C(z) = 0.434
(z − 0.236)(z + 0.82)

La réponse indicielle est représentée par la figure ci-après :

Réponse indicielle
1.2

0.8

0.6
amplitude

0.4

0.2

0
0 5 10 15 20
temps

9
H. CHAFOUK
2ème année

Annexes

Annexe D – Abaques pour la méthode des Pôles Dominants

Annexe E – Table des Transformées en z

10
H. CHAFOUK
2ème année

Annexe A
Les abaques

11
H. CHAFOUK
2ème année

12
H. CHAFOUK
2ème année

Annexe B
Table des Transformée en Z

13
H. CHAFOUK
2ème année

14
H. CHAFOUK
2ème année

15
H. CHAFOUK
2ème année

Références Bibliographiques

[1] H. Demircioglu et P. Gathrop


"Multivariable continuous time generalized predictive control".
Automatica, Vol. 28, pp. 697-713. 1992.
[2] G. Favier
"Filtrage, modélisation et identification de systèmes linéaires stochastiques à temps discret".
Edition du C.N.R.S, Toulouse. 1982.
[3] M. Kinnaert
"Adaptive generalized predictive controller for MIMO systems".
Int. J. of Control, Vol. 50, pp. 161-172. 1989.
[4] D. Kleiman
"Stabilizing a discrete constant linear system, with application to iterative methods for solving the
Riccati equation".
IEEE Trans. on Automatic Control, vol. AC-19, pp. 252-254. 1974.
[5] Kramer, K., et H. Unbehauen
"Predictive adaptive control - comparaison of main algorithms".
Proc 1st Eur. Cont. Conf., pp. 327-332, Grenoble. 1988.
[6] W. Kwon et A. Pearson
"On feedback stabilization of time varying discrete time systems".
IEEE Trans. on Aut. Cont., vol. AC-23, pp.479-481. 1978.
[7] [Link], H. Choi, S. Noh et D. Byun
"Recursive solution of generalized predictive control and its equivalence to receding horizon tracking
control". Automatica, Vol. 28, pp. 1235-1238. 1992.
[8] V. Peterka
"Predictive and LQG optimal control. Equivalences, Difference and Improvement".
Workshop on Control of Uncertain Systems, Bremen, FRG. 1989.
[9] J. Richalet
"Model Algorithmic control of industrial process".
Proc. IFAC Digital computer App. to Process Control, pp. 312-320, La Hague. 1977.
[10] O.C. ZIENKIEWICZ
"La méthode des éléments finis"
University of Wales, Swansea, Ediscience 1973
[11] HAUG CHOI KOMKOV
"Design sensitivity analysis of structural systems", Academic press 1986.
[12] J.F. IMBERT
"Analyse des structures par éléments finis"
Sup'aéro Cepadues éditions 1979.
[13] M. KUNT
"Traitement numérique des signaux"
Edition Dunod 1981.
[14] J. MAX
"Traitement du signal et applications aux mesures physiques"
Edition Masson 1985.
[15] Ioan Doré LANDAU
"Identification et Commande des systèmes"
Edition Hermès 1988.
[16] E. DIEULESAINT et R. ROYER
"Automatique appliquée", Tome 2: systèmes linéaires de commande à signaux échantillonnés
Edition Masson 1990.

16
H. CHAFOUK

Vous aimerez peut-être aussi