Vous êtes sur la page 1sur 12

Projet

_____________________
Diagnostic des systèmes automatiques

Encadré par : Réalisé par :


Mr CHERKAOUI Abdeljabbar ABOUFARS Noureddine
EL IDRISSI Ilyas

1
Cahier des charges :

Modélisation de comportement en espace d'état d’un réservoir mélangeur pour contrôler la


température T et la hauteur H. Pour cela on doit commander deux électrovannes : une Fc pour
débit eau froide et une Fh pour débit eau chaude.

2
Modèle du réservoir de mélange

ce projet examine la conception des observateurs pour une classe de systèmes dynamiques linéaires
dans laquelle l’incertitude du système peut être modélisée comme un terme additif de perturbation
inconnue dans l'équation dynamique :

m entrées, p sorties, n équations d’état linéaires

Avec

u (t) est le vecteur d’entrée connu et d (t) est l’entrée inconnue ou vecteur de perturbation.

Notre système est représenté par les matrices suivantes :

Paramètres du système
K = 1 𝒎𝟐.𝟓 /min TC = 15 °C

hs = 4 m TS = 35 °C

Ac = 2 𝒎𝟐 TH = 65 °C

3
Les Matrices du modèle seront donc :

Un observateur est défini comme un observateur à entrée inconnue pour le système, si son vecteur
d'erreur d'estimation d'état, e (t), défini comme suit :

e(t) = x(t) - x^(t)


La structure d'un UIO d'ordre complet est donnée par le système dynamique :

Figure 1 : Observateur d'entrée inconnu (UIO)

4
où x̑ est l'estimation d'état, z est l'état de l'observateur dynamique d'ordre complet et F, T, K et H sont
des matrices à concevoir pour réaliser un découplage des entrées inconnues. La Figure 1 présente un
diagramme synoptique de l’UIO. Le diagramme synoptique montre que l’UIO est essentiellement un
système dynamique qui découple la dynamique d'estimation de l'état du terme de perturbation dans le
système d'origine. En développant eͦ (t) on obtient :

et il est facile de voir que pour rendre l'erreur d'estimation une fonction de F e (t):

Les équations:

Si toutes les valeurs propres de F sont stables, alors e (t) approchera de zéro de manière asymptotique.

Les conditions nécessaires et suffisantes pour que le système de z soit une UIO pour le système de x
sont:

(1) rank(CE) = rank(E)


(2) (C; A1) est une paire détectable, où A1 = A - E[(CE)T CE]-1(CE)T CA
alors nous pouvons calculer les matrices d'observateur suivantes:

Ensuite, l’observabilité du couple (C; A1) doit être vérifiée. Une étape importante de la conception d’une
UIO consiste à stabiliser F = A1 − K1C. Si le couple (C ; A1) est détectable, vous pouvez y parvenir en
utilisant le placement des pôles pour choisir la matrice de gain appropriée K1. On peut montrer que

5
l'observabilité du couple (C ; A1) est équivalente à l'observabilité du couple (C ; A) . Par conséquent, si le
couple (C ; A1) est observable ou au moins détectable, le gain K1 peut être obtenu pour l'UIO. Par
conséquent, si (C ; A1) est observable, il existe une UIO et K1 doit être calculé à l'aide du placement des
pôles.

On peut passer à la réalisation du code Matlab, pour enfin simuler. Les figures ci-dessous
l’illustrent :

A = [-1/8 0;0 -1/4]


B = [1/2 1/2; 3.75 -2.5]
C = [1 0 ;0 1]
D = 0;
E = [1;0]
sys = ss(A,B,C,D);
rank(C*E)
rank(E)

H = E*inv((C*E)'*(C*E))*(C*E)'
T = eye(2)-H*C
A1 = T*A

rank(obsv(A1,C))

K1 = place(A',C',[-2,-10])'

F = A1-K1*C
K = K1 + F*H

x1_0 = 10;
x2_0 = -10;

sim('TEMPHAUTEUR')

t = linspace(0,20,length(X_hat));
figure(1),plot(t,X),hold on
plot(t,X_hat(:,1),'xb'),hold on
plot(t,X_hat(:,2),'xg'),hold on

xlabel('Time in seconds'),ylabel('State trajectory and


estimate')
title('Dynamic system state and UIO estimate')
legend('x_1','x_2','x_1 hat','x_2 hat')

6
On vérifie d’abord que le rang (CE) = rang (E) = 1:
rang (C * E)
rang (E)

ans = 1

ans =1

Le rang est égal à 1 selon les besoins. Les matrices d'observateur sont calculées ensuite :
H = E * inv ((C * E) ’* (C * E)) * (C * E)’
T = oeil (2) -H * C
A1 = T * A

H=

1 0

0 0

T=

0 0

0 1

A1 =

0 0

0 -0.2500

Ensuite, l'observabilité du couple (A1; C) doit être vérifiée. Si c'est le rang complet (rang (obsv (A1; C)) =
2), alors on peut appliquer le placement de pole:

rang (obsv (A1, C))

ans =

Nous allons maintenant appliquer le placement des pôles afin de placer les pôles observateurs à [−2; -
10].
K1 = lieu (A ’, C’, [- 2, -10) ’

K1 =

1.8750 0

0 9.7500

7
Enfin, les matrices d'observateur F et K sont calculées:
F = A1-K1*C
K = K1 + F*H

F=

-1.8750 0

0 -10.0000

K=

0 0

0 9.7500

Le schéma de principe Simulink au niveau de la racine pour le système dynamique du réservoir de


mélange est :

8
Le schéma fonctionnel Simulink du sous-système dynamique est :

Le schéma de principe Simulink de l'UIO est :

Examinons les résultats de la simulation avec une perturbation survenue à t = 10 secondes. Les
conditions initiales du système dynamique comme
x1_0 = 10;

x2_0 = -10;

9
On peut voir les trajectoires d'état dans les lignes continues. Le «x» en pointillé représente l’estimation
de l’UIO. Pour la perturbation donnée et les emplacements de pôles d’observateur choisis, l’observateur
semble converger (supprimer toute erreur d’estimation) en moins de cinq secondes.

Pour une entrée inconnue de type sinusoïdale la réponse du système est :

10
Pour une entrée inconnue de type perturbation ‘pulse’ la réponse du système est :

Pour une entrée inconnue issue d'un défaut réel enregistrer dans le fichier CSV suivant :

11
Pour la configuration suivante :

La réponse du système est :

12

Vous aimerez peut-être aussi