Projet Diagnostic Des Systèmes Automatiques
Projet Diagnostic Des Systèmes Automatiques
Projet Diagnostic Des Systèmes Automatiques
_____________________
Diagnostic des systèmes automatiques
1
Cahier des charges :
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 :
Avec
u (t) est le vecteur d’entrée connu et d (t) est l’entrée inconnue ou vecteur de perturbation.
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 :
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:
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 :
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
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:
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
8
Le schéma fonctionnel Simulink du sous-système dynamique 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.
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 :
12