Vous êtes sur la page 1sur 6

But de TP :

Le but de la manipulation est de s’initier à l’utilisation d’une carte d’acquisition et de mettre au


point un programme de commande numérique d’un système simulant un procédé d’ordre un.

I) Première partie : Etude théorique

a) Période d’échantillonnage :

Le choix de la période d’échantillonnage est porté sur 0,05 parce qu’elle vérifie la relation :

𝑇𝑟 = 3. 𝜏 = 𝑁. 𝑇𝑒

En prenant N=28 points, on obtient :

3. 𝜏 3.0,47
𝑇𝑒 = = = 0,05𝑠
𝑁 28

b) Fonction de transfert vue par le calculateur :

La fonction de transfert du système de premier ordre est :

𝑦(𝑝) 2
𝐺(𝑝) = =
𝑢(𝑝) 1 + 0,47𝑝

Donc, la fonction de transfert vue par le calculateur est sous la forme :

𝑮(𝒑)
𝑮(𝒛) = 𝒁[𝑩𝟎 (𝒑). 𝑮(𝒑)] = (𝟏 − 𝒛−𝟏 ). 𝒁( )
𝑷
𝐺(𝑝) 2 𝑎 𝑏 2 0.94
= = + = −
𝑝 𝑝(1 + 0,47𝑝) 𝑝 1 + 0,47𝑝 𝑝 1 + 0,47𝑝

𝑧−1 2 0,94 𝑧−1 2𝑧 2𝑧 𝑧−1 2. 𝑧. (1 − 0,9)


𝐺(𝑧) = .𝑍 [ − ]= .[ − ]= .[ ]
𝑧 𝑝 1 + 0,47𝑝 𝑧 𝑧 − 1 𝑧 − 0,9 𝑧 (𝑧 − 1). (𝑧 − 0,9)

𝟐(𝟏 − 𝟎, 𝟗) 𝒌(𝟏 − 𝜶)
𝑮(𝒛) = =
𝒛 − 𝟎, 𝟗 𝟏−𝜶

Avec k= 2 et α=0,9

c) Type du régulateur :

𝑟 𝑘 .𝑧 𝑘𝑟
Le régulateur est de type 𝑅(𝑧) = 𝑧−1 qui est équivalent à 𝑅(𝑝) = , ce qui convient à
𝑝
dire que notre régulateur est un intégrateur (PI).

*La loi de commande u(n) à programmer :

𝑢(𝑧) 𝑘𝑟 . 𝑧 𝑘𝑟
𝑅(𝑧) = = =
𝜀(𝑧) 𝑧 − 1 1 − 𝑧 −1

𝑢(𝑧) = 𝑧 −1 . 𝑢(𝑧) = 𝑘𝑟 . 𝜀(𝑧)

1
On trouve la loi de commande à programmer sous la forme :

𝒖(𝒏) = 𝒖(𝒏 − 𝟏) + 𝒌𝒓 . 𝜺(𝒛)

d) L’étude de la stabilité :

d) Stabilité de la boucle fermée :

C(z) 𝜺(z) u(z) y(z)


R(z) G(z)

D’après le schéma fonctionnel du système asservi représenté ci-dessus, on trouve :

*En boucle ouverte :

0,2 𝑘𝑟 . 𝑧 0,2. 𝑘𝑟 . 𝑧
𝐹𝑇𝐵𝑂 = 𝐺(𝑧). 𝑅(𝑧) = . =
𝑧 − 0,9 𝑧 − 1 (𝑧 − 0,9). (𝑧 − 1)

*En boucle fermée :

0,2. 𝑘𝑟 . 𝑧
(𝑧 − 0,9). (𝑧 − 1) 0,2. 𝑘𝑟 . 𝑧 0,2. 𝑘𝑟 . 𝑧
𝐹𝑇𝐵𝐹 = = =
0,2. 𝑘𝑟 . 𝑧 (𝑧 − 0,9)(𝑧 − 1) + 0,2. 𝑘𝑟 . 𝑧 𝑧 2 + (0,2. 𝑘𝑟 − 1,9). 𝑧 + 0,9
1+
(𝑧 − 0,9). (𝑧 − 1)

On en constate que l’équation caractéristique est :

𝐷𝐹 (𝑧) = 𝑧 2 + (0,2. 𝑘𝑟 − 1,9). 𝑧 + 0,9

Les conditions de stabilité sont :

𝑫𝑭 (𝟏) = 𝒃𝟐 + 𝒃𝟏 + 𝒃𝟎 > 0

𝑫𝑭 (−𝟏) = 𝒃𝟐 − 𝒃𝟏 + 𝒃𝟎 > 0

𝒃𝟐 − 𝒃𝟎 > 0

*𝐷𝐹 (1) = 𝑏2 + 𝑏1 + 𝑏0 > 0 ⇌ 1 + 0,2. 𝑘𝑟 − 1,9 + 0,9 > 0 ⇌ 𝒌𝒓 > 0

*𝐷𝐹 (−1) = 𝑏2 − 𝑏1 + 𝑏0 > 0 ⇌ 1 − 0,2. 𝑘𝑟 − 1,9 + 0,9 > 0 ⇌ 𝒌𝒓 < 19

*𝐷𝐹 (0) = 𝑏2 − 𝑏0 = 1 − 0,9 = 0,1 > 0 toujours vérifiée.

Donc la stabilité du système est conditionnelle par : 𝟎 < 𝒌𝒓 < 𝟏𝟗

e) Valeur finale pour une consigne d’amplitude 𝑪𝟎 :

𝑘𝑟 . 0,2. 𝑧 𝐶0 . 𝑧
𝑦(𝑧) = .
𝑧2 + 𝑧(0,2. 𝑘𝑟 − 1,9) + 0,9 𝑧 − 1

2
Valeur finale :

𝑘𝑟 . 0,2. 𝑧 𝐶0 . 𝑧 0,2. 𝐶0 . 𝑘𝑟
y(n) = lim(𝑧 − 1). . = = 𝐶0
𝑛→∞ 𝑧→1 𝑧2 + 𝑧(0,2. 𝑘𝑟 − 1,9) + 0,9 𝑧 − 1 1 + 0,2. 𝑘𝑟 − 1,9 + 0,9

Donc la valeur finale est :

𝐲(𝐧) = 𝑪𝟎
𝒏→∞

f) Etude de l’allure de la réponse indicielle en fonction de 𝒌𝒓 :

*Les pôles du système :

*L’équation caractéristique est :

𝑫𝑭 (𝒛) = 𝒛𝟐 + (𝟎, 𝟐. 𝒌𝒓 − 𝟏, 𝟗). 𝒛 + 𝟎, 𝟗

*Le discriminant ∆ ∶

∆= 𝑏² − 4. 𝑎. 𝑐 = (0,2. 𝑘𝑟 − 1,9)2 − 4.0,9 = 𝟎, 𝟎𝟒. 𝒌𝟐𝒓 − 𝟎, 𝟕𝟔. 𝒌𝒓 + 𝟎, 𝟎𝟏

On doit étudier le signe du discriminant pour savoir si les pôles du système sont réels ou
complexes.

∆= 𝑏² − 4. 𝑎. 𝑐 = 0,762 − 4 . 0,04 . 0,01 = 0,576

𝒌𝒓𝟏 = 𝟎, 𝟎𝟏𝟑 Et 𝒌𝒓𝟐 = 𝟏𝟗

Pour : 0<𝒌𝒓 <0,013 pôles réels

Pour : 0,013<𝒌𝒓 <19 pôles complexes

Pour : 𝒌𝒓 > 𝟏𝟗 régime instable

*Temps de réponse à 5% :

On a 0 < 𝛼 < 1 , donc le temps de réponse est égale approximativement à :

3. 𝑇𝑒 3.0,05
𝑇5% = − =− = 3,27
log(𝛼) log(0,9)

3
II) Deuxième partie : Exploitation des données avec Matlab

Circuit pratique:

Programmes de mesures sur Matlab :

1) Mesure1 :

clear all
close all
load c:\rajae.txt;
mesure1=rajae;
% t= temps
% yc= signal mesuré à une exciation
% c : consigne
% u : commande
t=mesure1(:,1);commande=mesure1(:,3);sortie=mesure1(:,4);c=mesure1(:
,2);
% t=mesure1(:,1);commande=mesure1(:,2);sortie=mesure1(:,3)
np=size(t,1);
plot(t,commande,'b',t,sortie,'k')
grid
legend('commande','mesure')
%Modele physique
n=2;d=[0.47 1];
[nd, dd]=c2dm(n,d,0.05,'zoh');
% reg numérique kz/(z-1)
nbo=conv([1 0],nd);dbo=conv([1 -1],dd);
k=input('k= ');
nbf=k*nbo;dbf=nbf+dbo;
yt=c(2)*dstep(nbf,dbf,np);
figure
plot(t,sortie,t,yt)
grid legend('mesure','théorique')

4
a-Premier test (la consigne = 2V/ le gain = 0.1/Te=0.5) :

b-Deuxième test (la consigne = 2V/ gain=0.013) :

Réponse apériodique

5
On applique la commande intégrale avec une consigne égal2 ; et nous avons choisi une valeur de
gain égale 0,013 et on obtient :

≫ 𝑙𝑜𝑎𝑑 𝑟𝑎𝑗𝑎𝑒1. 𝑡𝑥𝑡;

≫ 𝑡 = 𝑚𝑒𝑠𝑢𝑟𝑒1(: ,1); 𝑐𝑜𝑛𝑠𝑖𝑔𝑛𝑒 = 𝑚𝑒𝑠𝑢𝑟𝑒1(: ,2); 𝑐𝑜𝑚𝑚𝑎𝑛𝑑𝑒 = 𝑚𝑒𝑠𝑢𝑟𝑒1(: ,3);

≫ 𝑟𝑒𝑝𝑜𝑛s𝑒 = 𝑚𝑒𝑠𝑢𝑟𝑒1(: ,4);

≫ 𝑝𝑙𝑜𝑡(𝑡, 𝑟𝑒𝑝𝑜𝑛𝑠𝑒, 𝑡, 𝑐𝑜𝑚𝑚𝑎𝑛𝑑𝑒, 𝑡, 𝑐𝑜𝑛𝑠𝑖𝑔𝑛𝑒);

C-Troisième test (la consigne =0.5V/ gain=0.1) :

Dysfonctionnement de la boucle

Conclusion
Dans ce TP, on a met en œuvre les différents valeurs trouvés dans la partie théorique à travers

Si on augmente le gain on a le risque de perde la stabilité du système.