Explorer les Livres électroniques
Catégories
Explorer les Livres audio
Catégories
Explorer les Magazines
Catégories
Explorer les Documents
Catégories
Tout d’abord pour créer un fichier .m sur MatLab nous allons sélectionner le répertoire de
travail, après avoir fait cette procédure on peut commencer à faire du code, on commencera
pour écrire les commandes suivantes :
clear all;
close all;
Qui permettent d’effacer les variables et fermer les possibles fenêtres comme ouvertes
comme par example de graphiques. On peut ajouter aussi « clc » pour effacer ce qui était
précédemment sur le Command Window.
Maintenant on va essayer créer de variables sur notre script, on appuis sur le bouton Run pour
faire la compilation du script.
1
Tracé de courbes
Maintenant on va utiliser les fonctions plot, hold et figure pour générer le graphique d’un
y(t)=sin(t), x(t)=cos(t) et y(x), pour cela il faut créer tout d’abord des vecteurs, dans notre cas
on va créer un vecteur t avec de valeurs entre 0 et 4𝜋 par pas de 0.1, x et y sont générés a
partir de t.
On utilise la fonction hold pour rester sur un même graphique et pouvoir avoir 2 courbes, on
peut utiliser aussi les fonctions subplot et grid pour la mise en forme.
2
Déclaration de fonction de transfert
Pour créer des fonctions transfert on utilise la fonction tf et on écrit le numérateur et
dénominateur sous la forme des vecteurs, comme le code ci-dessous :
−5 + √39𝑖 −5 − √39𝑖
𝑒𝑡
32 32
3
Propriétés des systèmes
Avec les commandes damp, dcgain et pole on peut retrouver les valeurs du gain, coefficient
d’amortissement et les respectifs pôles.
On obtient pour 𝐻1
On obtient pour 𝐻2
4
Réponses impulsionnelles, réponse à un échelon, à un sinus
On va regarder les réponses impulsionnelles et indicielles de nos systèmes, pour cela on
utilise le command impulse et step sur chaque fonctions transfert déjà créées.
Les 2 systèmes sont-ils stables ? OUI, et on peut le vérifier car on a des pôles avec de partie
réel négative, ce qui indique que les systèmes sont stables.
On regarde la réponse indicielle avec :
5
Réponses indicielles pour 𝐻1 et 𝐻2 respectivement :
On regarde qu’il a des ondulations dans le cas de 𝐻2 et c’est vérifié car 𝑧 < 1.
On mesure le temps de réponse à 5% de chaque système, mais avant il faut changer le
paramètre settling time car par défaut on trouve 2%.
6
Maintenant on veut tester nos fonctions transfert, mais avec une entrée sinusoïdale, pour cela
on utilise la fonction gensig pour la générer, après le command lsim permet d’évaluer une
fonction exprimée sous la forme de 2 vecteurs sur nos fonctions transfert.
On peut noter qu’il existe un déphasage et un décalage pour la fonction dans le régime
permanent, après on trouvera les respectif valeurs en utilisant le diagramme de bode.
On réalise le même code pour évaluer notre deuxième fonction transfert.
7
Graphique de 𝐻2 avec entré sinusoïdale 𝑠𝑖𝑛(𝑤0 𝑡) avec 𝑤0 = 1 𝑟𝑎𝑑/𝑠
On peut noter que le gain en régime permanent de 𝐻2 et beaucoup plus petit que celui de 𝐻1
Diagramme de Bode
Pour obtenir le diagramme de bode on utilise la fonction bode(). Pour mesurer le déphasage
et le gain on fait les mesures sur le diagramme de bode des fonctions et on cherche les valeurs
pour une fréquence 𝑤0 = 1 𝑟𝑎𝑑/𝑠, celle de notre sinusoïde.
On trouve pour 𝐻1 , 𝐺 = −2.8 𝑑𝐵 𝑒𝑡 ∅ = −75.9°
8
On trouve pour 𝐻2 , 𝐺 = −24 𝑑𝐵 𝑒𝑡 ∅ = −162°
La fonction de deuxième dégrée que nous avons sur le schéma on l’déjà créée, c’est 𝐻2 , donc
on va créer la fonction intégrateur à l’aide du command tf , on peut ajouter un gain appelé k ,
après avec la fonction margin on regarde la marge de phase et de gain du boucle ouvert pour
connaitre le comportement du système en boucle fermée.
9
On obtient les données suivantes :
10
Système en boucle fermée
Maintenant on va réaliser notre système en boucle fermé, pour cela on va utiliser le command
feedback, une fois obtenue notre nouvelle fonction transfert laquelle on a appelée H5 on peut
regarder sa réponse indicielle avec le command step.
𝒌 = 𝟎. 𝟏 Système Stable
11
𝒌 = 𝟎. 𝟑𝟏𝟐𝟔 Système Astable
On peut regarder aussi la marge de phase, dans ce cas est 0 donc Astable
12
𝒌 = 𝟎. 𝟏 Système Instable
Simulink
Maintenant on souhaite réaliser le même fonction transfert à l’aide de l’outil de
programmation graphique Simulink, pour cela on doit ajoute quelques blocks et les câbler
entre eux, en plus il faut placer un oscilloscope sur la sortie pour regarder la réponse, on
utilisera en entrée le block step qui représente l’échelon unitaire et en plus on ajoutera le block
out.sortie pour avoir accès aux donnés de simulation depuis le WorkSpace.
13
𝒌 = 𝟎. 𝟏 Système Stable
14
𝒌 = 𝟎. 𝟓 Système Instable
15
Annexes
16
subplot(1,2,2)
impulse(h2)
figure(3)
subplot(1,2,1)
step(h1);
subplot(1,2,2)
step(h2);
%Generation de sinousoide
[u,t] = gensig('sin',2*pi,16*pi,0.1);
figure(4)
plot(t,u);
lsim(h1,u,t);
grid on;
axis([0 16*pi -1.5 1.5]);
figure(5)
plot(t,u);
lsim(h2,u,t);
grid on;
axis([0 16*pi -1.5 1.5]);
%Generation de Diagramme de Bode
figure(6)
bode(h1)
grid on;
figure(7)
bode(h2)
grid on;
%Marges de phase et de gain
h3=tf([1],[1 0]);
k=1 %fait varier ce parametre pour regarder un
stable,astable ou instable
h4=h3*h2*k;
figure(8)
margin(h4)
h5=feedback(h4,1);
figure(9)
step(h5)
17