Vous êtes sur la page 1sur 24

UNIVERSITE CADI AYYAD

ECOLE SUPERIEURE DE TECHNOLOGIE-SAFI


DEPARTEMENT : TICQ
FILIERE : TECHNIQUES INSTRUMENTALES & MANAGEMENT-QUALITE

Compte rendu :
TRAVAUX PRATIQUES : AUTOMATIQUE

Réalisées par : Enseignant :


IQICH Noura M. BOUMAAZ
KHADDI Asmaa
HADDAD Niama
HALOUI Aya
SADIR Khadija

Année universitaire : 2023/2024


Le progiciel Matlab

I. Introduction
MATLAB est un langage haute performance pour le calcul technique. Il intègre le calcul, la
visualisation et la programmation dans un environnement facile à utiliser où les problèmes et les
solutions sont exprimés dans une notation mathématique familière. Les utilisations typiques incluent :

 Mathématiques et calcul
 Développement d'algorithmes
 Modélisation, simulation et prototypage
 Analyse, exploration et visualisation des données
 Graphiques scientifiques et techniques
 Développement d'applications, y compris la création d'une interface utilisateur graphique
II. Matrices
Matlab offre six types (ou classes) fondamentaux, tous représentés sous forme de tableau
multidimensionnel. Ces six classes comprennent double (nombres flottants en double précision), char
(tableau de caractères ou chaînes de caractères), sparse (matrices creuses), uint8 (nombres entiers non
signés codés sur 8 bits), cell (tableau de cellules) et struct (tableaux de structures ou enregistrements).
Un vecteur est une matrice comportant une seule ligne ou une seule colonne. Un scalaire est une
matrice ne comportant qu’une seule ligne et qu’une seule colonne.
1. Nombres complexes
La plupart des opérations Matlab prennent en charge les nombres complexes. Voici deux façons de
saisir des nombres complexes dans une matrice :
A = [1 2;3 4] + i*[5 6;7 8];
A = [1+5i 2+6i;3+7i 4+8i];
Lors de l'écriture des nombres complexes, il est important de ne pas laisser d'espace entre le nombre
et l'unité imaginaire. Les notations i et j désignent indifféremment l'unité imaginaire.
2. Variables
En principe, toutes les variables de Matlab sont des matrices réelles ou complexes, avec comme cas
particuliers les vecteurs ligne et colonne ainsi que les scalaires. La déclaration spécifique des variables
n'est pas nécessaire en Matlab ; la taille des variables augmente automatiquement en fonction des
besoins pendant l'exécution.
Matlab ne fait pas de distinction entre les entiers et les réels. La syntaxe pour les noms de variables
suit les règles standards de Fortran, C ou Pascal. Matlab différencie majuscules et minuscules. Les
informations sur les variables sont consultables avec les commandes who et whos. Il est possible
d'effacer des variables de l'espace de travail avec la commande clear suivie du nom de la ou des
variables séparées par des espaces. La commande clear all efface toutes les variables de l'espace de
travail.

3. Entrées de matrices
Dans un programme ou dans la fenêtre de commande :
>> a=[1 2 3; 4 5 6; 7 8 9] %séparation par des espaces
a=
1 2 3
4 5 6
7 8 9

>> a=[1,2,3; 4,5,6; 7,8,9] %séparation par des virgules


a=
1 2 3
4 5 6
7 8 9

>> b=[1,2,3; 4,5,6; 7,8,9]; %point-virgule de fin pour éviter l’affichage


b=
1 2 3
4 5 6
7 8 9

>> c=[a b] %concaténation en colonnes


c=
1 2 3 1 2 3
4 5 6 4 5 6
7 8 9 7 8 9
>> d=[1 2 3 4 5 6]
d=
1 2 3 4 5 6

>> e=[c ;d] %concaténation en lignes


e=
1 2 3 1 2 3
4 5 6 4 5 6
7 8 9 7 8 9
1 2 3 4 5 6

4. Indexation - Extraction de sous-matrices


>> f=e(2:3,3:5) %extraction de sous-matrices
f=
6 4 5
9 7 8

5. Initialisation des matrices :


 Pour créer une matrice de zéros, on utilise la commande « zeros ». Par exemple, zeros(m,n) génère
une matrice de m lignes et n colonnes de zéros, tandis que zeros(A) crée une matrice de zéros de
même taille que A.
>> zeros(5,5)
ans =
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0

 Pour remplir une matrice de 1, on utilise la commande « ones », avec des syntaxes similaires à
celles de zeros.
>> ones (3)
ans =
1 1 1
1 1 1
1 1 1

 Pour obtenir une matrice identité (unité), on utilise la commande « eye ». Par exemple, eye(n)
produit une matrice identité de taille n.
>> eye(3)
ans =
1 0 0
0 1 0
0 0 1

6. Taille
Pour connaître les dimensions d'une matrice x, on utilise la commande « size » avec la syntaxe
[m,n]=size(x), où m représente le nombre de lignes et n le nombre de colonnes. Par exemple :
>> [m,n]=size(c)

m =3 n=6

Remarque :
 ‘ans’ est une variable implicite qui contient le résultat de l'évaluation d'expressions sans être
assigné à une variable.
 La fonction ‘length’ donne la longueur d'un vecteur.
7. Opérations matricielles :
 Pour additionner : X=A+B
 Pour soustraire : X=A-B
 Pour multiplier : X=A*B ‘Notez que le nombre de colonnes de A doit être égal au nombre de
lignes de B’.
 Pour la division :
 À droite : X=A/B revient à A=X*B.
 À gauche : X=A\B revient à A=B*X.

>> A=[2 7 2;3 6 1];


>> B=[2 9 1;1 9 2];
>> x=A+B
x=
4 16 3
4 15 3
>> x=A-B
x=
0 -2 1
2 -3 -1
>> x=A.*B
x=
4 63 2
3 54 2
>> x=A/B
x=
0.4035 0.4035
1.3509 -0.6491

Remarque : En général, les divisions matricielles sont plus précises que l'utilisation de la fonction
d'inversion de matrice inv.
 Elévation à la puissance : X=A^B
 La transposition : A' est la transposée de A (Attention si A est complexe on obtient en fait la
transposée conjuguée).
 La transposition : .' effectue la transposition simple (pour les matrices réelles ou complexes).
 Le déterminant : det(A)
 L'inverse : inv(A)
>> A=[1,2,3; 4,5,6; 7,8,9] ;
>> A'
ans =
1 4 7
2 5 8
3 6 9
>> det(A)
ans =
6.6613e-16

>> inv(A)
ans =
1.0e+16 *
-0.4504 0.9007 -0.4504
0.9007 -1.8014 0.9007
-0.4504 0.9007 -0.4504
III. Structure de Contrôles
Les structures de contrôle dans Matlab fonctionnent de manière similaire à celles des autres langages
de programmation.
1. Boucles inconditionnelles for :
La forme générale d'une boucle for est la suivante :
for i = 1:n
instructions
end

Les instructions seront exécutées n fois pour des valeurs de i successivement égales à 1,2,...,n.
Par exemple, les instructions :
>>clear all
x=[];
n=10;
for i=1:n
x=[x,i^2]
end
x =1
x =1 4
x =1 4 9
x =1 4 9 16
x =1 4 9 16 25
x =1 4 9 16 25 36
x =1 4 9 16 25 36 49
x =1 4 9 16 25 36 49 64
x =1 4 9 16 25 36 49 64 81
x =1 4 9 16 25 36 49 64 81 100

>>clear all
x=[];
n=3;
for i=n:-1:1
x=[x,i^2]
end
x =9
x =9 4
x =9 4 1

>>clear all
s=0;
A=[5 6 4;4 4 1]
for c=A
s= s + sum(c)
end
s=9
s =19
s =24

2. Boucles conditionnelles while

La structure générale d'une boucle while est la suivante :


while condition
instructions
end

Les instructions seront répétées de manière itérative tant que la condition est remplie.
>>clear all

n=0;
a=6;
while 2^n < a
n=n+1
end

n=1 n=2 n=3

3. Branchements conditionnels if
La structure générale d'une instruction de branchement conditionnel est la suivante :

if condition
instruction1
else
instruction2
end

Si la condition est vraie, l'instruction 1 sera exécutée. Sinon, l'instruction 2 sera exécutée. On peut
également utiliser un branchement multiple en utilisant le mot-clé `elseif`, comme illustré dans
l'exemple suivant :

>>clear all
n=12
if n < 0
parite = 0
elseif rem(n,2) == 0
parite = 2
else
parite= 1
end

n=12 parite=2

4. Operateurs relationnels et operateurs logiques

On dispose des opérateurs relationnels suivants :

< strictement inferieur


> strictement supérieur <= inférieur ou égal
>= supérieur ou égal
== égal
~= différent
TP 1 – Initiation a Matlab

I. Généralités :
En utilisant Matlab, les calculs sont numériques (chaque variable doit avoir une valeur) et sont basés
sur la manipulation de scalaires, de vecteurs et de matrices.
Définir un scalaire : Pour définir le réel 𝑟 = 2 ∗ 𝜋, vous pouvez utiliser :
>> r = 2 * pi;
Définir un vecteur : Pour définir le vecteur vous pouvez utiliser :
>> x = [1; -1]; ou >> x = [1, -1];

Définir une matrice : Pour définir la matrice 𝑥 = = (1 − 1) ; vous pouvez utiliser :

A = [1 2 3; 4 5 6]; ou A = [1, 2, 3; 4, 5, 6];


II. Utilisation de la Control Toolbox

1. Généralités :
La boîte à outils de commande (Control Toolbox) dans l'environnement de développement intégré
offre une variété d'outils d'analyse pour le contrôle automatique.
Définition du système par sa fonction de transfert : Considérons le système décrit par :


𝐺(𝑠) = =2 ,
( )

Où 𝑠 représente la variable de Laplace. En utilisant Matlab, on peut également définir le système de


manière alternative :
>> F = tf([2 1],[1 2 1]); (numérateur, dénominateur)
ou
>> F = zpk([-1/2],[-1 -1],2); (zéros, pôles, facteur de gain)
Pour construire un système à partir de différents sous-systèmes, plusieurs opérations sont possibles.
Soient G1 et G2 les représentations des deux systèmes. Les combinaisons de base sont :
G1*G2 ou >> series(G1,G2) : G1 en série avec G2
G1+G2 ou >> parallel(G1,G2) : G1 en parallèle avec G2
>> feedback(G1,G2) G1 en boucle avec G2

Diverses informations sur le système défini par sa représentation \( G \) sont disponibles :


>> pole(G) donne les pôles du système
>> step(G) trace la réponse indicielle
>> impulse(G) trace la réponse impulsionnelle
>> bode(G) trace le diagramme de Bode
>> nyquist(G) trace le diagramme de Nyquist
>> nichols(G) trace le diagramme de Black-Nichols
>> rlocus(G) trace le lieu d'Evans
>> rlocfind(G) donne les valeurs des pôles et du gain correspondant sur le lieu d'Evans
>> damp(G) donne les pôles, la pulsation propre et l'amortissement associés à chaque pôle
>> pzmap(G) place les pôles et les zéros dans le plan complexe

>> G=tf([2 1],[1 2 1])

G= 2s+1
-------------
s^2 + 2 s + 1

>> F=zpk([-1/2],[-1 -1],2)

F=
2 (s+0.5)
---------
(s+1)^2

G1 =
2s+1
-------------
s^2 + 2 s + 1

>> G2=tf([2 2],[1/2 2 3])

G2 =
2s+2
-----------------
0.5 s^2 + 2 s + 3

>> G2*G1

ans =
4 s^2 + 6 s + 2
-----------------------------------
0.5 s^4 + 3 s^3 + 7.5 s^2 + 8 s + 3

>> G1+G2

ans =
3 s^3 + 10.5 s^2 + 14 s + 5
-----------------------------------
0.5 s^4 + 3 s^3 + 7.5 s^2 + 8 s + 3

>> feedback(G1,G2)

ans =
s^3 + 4.5 s^2 + 8 s + 3
-------------------------------------
0.5 s^4 + 3 s^3 + 11.5 s^2 + 14 s + 5

>> pole(G1)

ans =
-1
-1
>> pole(G2)

ans =

-2.0000 + 1.4142i
-2.0000 - 1.4142i

>> figure(1);step(G1)
Reponse indicielle
1.4

1.2

0.8
v ites s e e n ra d /s

0.6

0.4

0.2

0
0 1 2 3 4 5 6 7 8
temps en s (seconds)

>> figure(2);impulse(G1)

Impulse Response
2

1.5

1
Amplitude

0.5

-0.5
0 1 2 3 4 5 6 7 8
Time (seconds)
>> figure(3);bode(G1)

Bode Diagram
10

0
Magnitude (dB)

-10

-20

-30

-40
0
Phase (deg)

-45

-90
-1 0 1 2
10 10 10 10
Frequency (rad/s)

>> figure(1);step(G1);hold on;impulse(G1),grid

Step Response
2

1.5

1
Amplitude

0.5

-0.5
0 1 2 3 4 5 6 7 8
Time (seconds)
2. Prise en main de Matlab et de la Control Toolbox
On rappelle la modélisation du moteur à courant continu (MCC), où l'étude va permettre d'illustrer les
concepts fondamentaux de la boîte à outils de contrôle de Matlab. La fonction de transfert reliant la
vitesse de rotation du rotor à la tension appliquée à l'induit s'exprime comme suit :
𝜴(𝒔) 𝑲
𝑮(𝒔) = 𝑼(𝒔) = (𝟏 𝝉𝒆𝒍 𝒔)(𝟏 𝝉𝒆𝒎 𝒔)
,

Avec :
𝑲𝒆𝒎
 𝑲 = 𝑹𝒇 : le gain statique du système,
𝑲𝒆𝒎𝟐

𝑹𝑱
 𝜏𝒆𝒎 = 𝑹𝒇 : la constante de temps électromécanique,
𝑲𝒆𝒎𝟐

𝑳
 𝝉𝒆𝒍 = 𝑹 : la constante de temps électrique.

Dans ce modèle, R représente la résistance de l'induit du moteur, L son inductance, f le coefficient de


frottement visqueux, J le moment d'inertie du rotor et Kem le rapport couple-courant (supposé égal au
rapport force électromotrice-vitesse de rotation).
Exercice :
Question 3:
>>clear all
R=1.44;L=5.6e-4;J=1.29e-4;f=7.2e-5;Kem=0.1;
K=Kem/(R*f+Kem^2)
tem=R*J/(R*f+Kem^2)
tel=L/R
G=tf([K],[tel*tem,tel+tem,1])
P=pole(G)
figure(1);step(G)
figure(2);bode(G)
Question 4 :

K = 9.8974
tem =0.0184
tel =3.8889e-04

G=
9.897
----------------------------
7.15e-06 s^2 + 0.01877 s + 1

Question 5 :
P=
1.0e+03 *

-2.5714
-0.0544
Question 6 :
>>clear all
R=1.44;L=5.6e-4;J=1.29e-4;f=7.2e-5;Kem=0.1;
K=Kem/(R*f+Kem^2)
tem=R*J/(R*f+Kem^2)
tel=L/R
G=tf([K],[tel*tem,tel+tem,1])
P=pole(G)
figure(1);step(G)
figure(2);bode(G)
figure(3);nichols(G)
Kp=10;Kw=10/(3000*2*pi/60)
Gbo=Kp*G*Kw
Gbf=feedback(Kp*G,Kw)
figure(4);step(Gbf)
figure(5);bode(Gbf)
figure(6);nichols(Gbf)
Step Response
10

6
Amplitude

0
0 0.02 0.04 0.06 0.08 0.1 0.12
Time (seconds)

Figure 1 step(G)

Bode Diagram
20

0
Magnitude (dB)

-20

-40

-60

-80
0

-45
Phase (deg)

-90

-135

-180
0 1 2 3 4 5
10 10 10 10 10 10
Frequency (rad/s)

Figure 2 bode(G)
Nichols Chart
40
0 dB
0.25 dB
0.5 dB
20 1 dB -1 dB
3 dB
6 dB -3 dB
0 -6 dB
-12 dB
Open-Loop Gain (dB)

-20 -20 dB

-40 -40 dB

-60 -60 dB

-80 -80 dB

-100 dB
-100
-360 -315 -270 -225 -180 -135 -90 -45 0
Open-Loop Phase (deg)

Figure 3 Nichols(G)

Step Response
25

20

15
Am plitude

10

0
0 0.005 0.01 0.015 0.02 0.025 0.03 0.035
Time (seconds)
Figure 4 step(Gbf)
Bode Diagram
20

Magnitude (dB)
-20

-40

-60

-80
0

-45
Phase (deg)

-90

-135

-180
0 1 2 3 4 5
10 10 10 10 10 10
Frequency (rad/s)

Figure 5 bode(Gbf)

Nichols Chart
40
0 dB
0.25 dB
0.5 dB
20 1 dB -1 dB
3 dB
6 dB -3 dB
0 -6 dB
Open-Loop Gain (dB)

-12 dB

-20 -20 dB

-40 -40 dB

-60 -60 dB

-80 dB
-80
-360 -315 -270 -225 -180 -135 -90 -45 0
Open-Loop Phase (deg)

Figure 6 nichols(Gbf)
Question 7 :

Kw =0.0318

Question 8 :
Gbo =

3.15

----------------------------

7.15e-06 s^2 + 0.01877 s + 1

Gbf =

98.97

-------------------------------

7.15e-06 s^2 + 0.01877 s + 4.15

>> mer

K =9.8974

tem =0.0184

tel = 3.8889e-04

G=

9.897

----------------------------

7.15e-06 s^2 + 0.01877 s + 1

P=

1.0e+03 *

-2.5714

-0.0544

Kw =0.0318

Gbo =

3.15

----------------------------

7.15e-06 s^2 + 0.01877 s + 1

Gbf =

98.97

-------------------------------

7.15e-06 s^2 + 0.01877 s + 4.15

>> Kw=10/3000*(2*pi/60)

Question 11:
clear all
R=1.44;L=5.6e-4;J=1.29e-4;f=7.2e-5;Kem=0.1;
K=Kem/(R*f+Kem^2)
tem=R*J/(R*f+Kem^2)
tel=L/R
G=tf([K],[tel*tem,tel+tem,1])
P=pole(G)
Kp=10;Kw=10/(3000*2*pi/60)
Gbo=Kp*G*Kw
Gbf=feedback(Kp*G,Kw)
Kp=[10 100 1000];
figure(7);
for i=1:length(Kp)
Gbo(i)=Kp(i)*G*Kw;
Gbf(i)=feedback(Kp(i)*G,Kw)
step(Gbf(i));
hold on
end;
Grid;title('Reponse indicielle');
clear all
R=1.44;L=5.6e-4;J=1.29e-4;f=7.2e-5;Kem=0.1;

reponse indicielle
50

45

40

35

30
Amplitude

25

20

15

10

0
0 0.005 0.01 0.015 0.02 0.025 0.03 0.035
Time (seconds)

K=Kem/(R*f+Kem^2)
tem=R*J/(R*f+Kem^2)
tel=L/R
G=tf([K],[tel*tem,tel+tem,1])
P=pole(G)
Kp=10;Kw=10/(3000*2*pi/60)
Gbo=Kp*G*Kw
Gbf=feedback(Kp*G,Kw)
Kp=[10 100 1000];
figure(8);
for i=1:length(Kp)
Gbo(i)=Kp(i)*G*Kw;
Gbf(i)=feedback(Kp(i)*G,Kw)
nichols(Gbo(i));
hold on
end;
grid;title('diagramme de black nichols');
diagramme de black nichols
60

40
0 dB
0.25 dB
0.5 dB
20 1 dB -1 dB
3 dB
6 dB -3 dB

Open-Loop Gain (dB)


0 -6 dB
-12 dB
-20 -20 dB

-40 -40 dB

-60 -60 dB

-80 -80 dB

-100 dB
-100
-360 -315 -270 -225 -180 -135 -90 -45 0
Open-Loop Phase (deg)

clear all
R=1.44;L=5.6e-4;J=1.29e-4;f=7.2e-5;Kem=0.1;
K=Kem/(R*f+Kem^2)
tem=R*J/(R*f+Kem^2)
tel=L/R
G=tf([K],[tel*tem,tel+tem,1])
P=pole(G)
Kp=10;Kw=10/(3000*2*pi/60)
Gbo=Kp*G*Kw
Gbf=feedback(Kp*G,Kw)
Kp=[10 100 1000];
figure(9);
for i=1:length(Kp)
Gbo(i)=Kp(i)*G*Kw;
Gbf(i)=feedback(Kp(i)*G,Kw)
bode(Gbf(i));
hold on
end;
grid;title('diagramme de bode');

diagramme de bode
40

20
Magnitude (dB)

-20

-40

-60
0

-45
Phase (deg)

-90

-135

-180
1 2 3 4 5
10 10 10 10 10
Frequency (rad/s)
diagramme de black nichols
60

40

0 dB

0.25 dB

0.5 dB

20 1 dB -1 dB
System: untitled3 System: untitled2 System: untitled1
Phase Margin (deg): 22.4 Phase Margin (deg): 62.1 Phase Margin (deg): 105
3 dB
Delay Margin (sec): 6.11e-05 Delay Margin (sec): 0.000731 Delay Margin (sec): 0.0113
At frequency (rad/s): 6.39e+03 At f requency (rad/s): 1.48e+03 At f requency (rad/s): 162 -3 dB
6 dB
Closed loop stable? Yes Closed loop stable? Yes Closed loop stable? Yes
0 -6 dB

-12 dB
Open-Loop Gain (dB)

-20 -20 dB

-40 -40 dB

-60 -60 dB

-80 -80 dB

-100 dB
-100
-360 -315 -270 -225 -180 -135 -90 -45 0
Open-Loop Phase (deg)

On Ajoute Kp=[10 100 1000 10000]

diagramme de black nichols


80

60

40
0 dB

0.25 dB
0.5 dB
20 1 dB
System: untitled4 System: untitled2 -1 dB
Phase Margin (deg): 7.16 Phase Margin (deg): 62.1
3 dB Delay Margin (sec): 5.98e-06 Delay Margin (sec): 0.000731
-3 dB
6 dB At frequency (rad/s): 2.09e+04 At f requency (rad/s): 1.48e+03
Closed loop stable? Yes Closed loop stable? Yes
Open-Loop Gain (dB)

0 -6 dB
System: untitled3 System: untitled1
Phase Margin (deg): 22.4 Phase Margin (deg): 105
Delay Margin (sec): 6.11e-05 Delay Margin (sec): 0.0113 -12 dB
At frequency (rad/s): 6.39e+03 At frequency (rad/s): 162
Closed loop stable? Yes Closed loop stable? Yes
-20 -20 dB

-40 -40 dB

-60 -60 dB

-80 -80 dB

-100 dB
-100
-360 -315 -270 -225 -180 -135 -90 -45 0
Open-Loop Phase (deg)

Interprétation : (Kp augment marge de phase Diminue)

3. Utilisation de Simulink
Généralités :
Simulink est une boîte à outils de Matlab qui permet de réaliser des simulations de systèmes définis à
l'aide d'un outil graphique. Nous envisageons ici d'utiliser Simulink pour définir l'asservissement en
vitesse du moteur à courant continu. Cela nous permettra de visualiser les réponses du système à
différents types d'entrées.
Pour démarrer Simulink, on peut utiliser soit les menus disponibles, soit saisir la commande suivante
dans la fenêtre de commande : « simulink »
Pour créer un nouveau modèle Simulink, choisissez "New" dans le menu "File", puis "Model". Une
feuille de travail apparaîtra, sur laquelle nous pourrons définir graphiquement notre système. Les
différents outils disponibles sont accessibles à partir des menus correspondants : sources, visualisation,
automatique continue, automatique discrète, fonctions mathématiques, fonctions et tables, automatique
non-linéaire, signaux et systèmes.
Du fait de sa nature graphique, Simulink peut être découvert de manière intuitive. Cet outil utilise la
technique de "drag and drop" (sélectionner et faire glisser), ce qui rend facile le positionnement des
éléments nécessaires dans la fenêtre du modèle. Ensuite, il suffit de relier ces éléments entre eux pour
constituer le modèle. Chaque élément possède une description et éventuellement des paramètres qui
peuvent être modifiés. Pour y accéder, il suffit de double-cliquer sur un élément.
Command window : >> Simulink
Conclusion

En conclusion, cette expérience pratique a pleinement démontré la puissance et la polyvalence


des outils disponibles dans MATLAB, en particulier la Control Toolbox et Simulink, pour
l'analyse, la conception et la simulation des systèmes de contrôle. Grâce à ces outils
sophistiqués, nous avons eu l'opportunité d'explorer en profondeur une multitude d'aspects
liés à la modélisation des systèmes dynamiques, à la conception de régulateurs et à
l'évaluation des performances des systèmes de contrôle.

L'utilisation de la Control Toolbox nous a permis d'aborder de manière systématique et


rigoureuse les principes fondamentaux de l'automatique, tels que la stabilité, la robustesse et
la réponse dynamique des systèmes. Nous avons pu étudier différentes méthodes de
conception de régulateurs, telles que les régulateurs PID et les régulateurs à avance-retard, et
évaluer leur efficacité grâce à des simulations avancées.

Parallèlement, l'utilisation de Simulink nous a offert un environnement graphique intuitif pour


la modélisation et la simulation des systèmes dynamiques. Grâce à la technique du "drag and
drop", nous avons pu construire des modèles complexes en assemblant des blocs fonctionnels
représentant les composants du système. Cela nous a permis de simuler avec précision le
comportement dynamique de systèmes réels et d'analyser leur réponse à différentes entrées.

Cette expérience pratique nous a également offert l'occasion d'approfondir nos compétences
en programmation MATLAB. En utilisant des scripts et des fonctions personnalisées, nous
avons automatisé des tâches complexes et réalisé des analyses détaillées des données générées
par nos simulations.

En conclusion, cette expérience pratique a été extrêmement enrichissante, nous permettant


d'acquérir une compréhension approfondie des concepts théoriques de l'automatique et de leur
application pratique à travers MATLAB. Elle a renforcé notre confiance dans l'utilisation de
ces outils puissants pour résoudre des problèmes complexes de contrôle et d'automatisation, et
elle nous a fourni des compétences précieuses pour notre future carrière dans le domaine de
l'ingénierie et de la recherche.

Vous aimerez peut-être aussi