Académique Documents
Professionnel Documents
Culture Documents
TP d’automatique
Matlab présente donc un ensemble de fonctions générales, fournies dans sa version de base. A cela s’ajoute
un certain nombre de groupes de fonctions spécialisées appelées boîtes à outils : TOOLBOX. Ces boîtes à
outils permettent de traiter de problèmes des sciences de l’ingénieur :
ou
Ou encore :
-Pour effectuer la saisie à partie du clavier on utilise l’instruction INPUT.
A=input(‘Matrice A=’) produit l’apparition à l’écran du message Matrice A= et attend l’introduction des
éléments de A
-fprintf (‘Bonjour, soyez les bienvenus’) produit l’affichage de ce message à l’écran
-Les : permettent de générer des vecteurs dont les éléments sont consécutifs
Si le pas est omis il sera pris égal à 1
-A(2,3) : fait référence à l’élément de la 2eme ligne et 3eme colonne
L indice en C et en D est un vecteur, donc il donne accès à des sous éléments
en D , on a utiliser les : caractères qui entraine la considération de toute une colonne , celle de la 1ère de A
Syntaxe d’une instruction Matlab :
Dans le cas ci-dessous, le nom de la variable est omis, ce qui donne automatiquement la création d’une
variable portant le nom ans
Quand l’instruction se termine par ; (1900/81 ;), l’affichage du résultat est supprimé
Pour une instruction trop longue, par exemple celle de S, on utiliser les points de suspension … afin
d’indiquer qu’elle se termine sur la ligne suivante
Transposé d’une matrice :
Le caractère « ‘ » donne le transposé de la matrice
-Si Z est une matrice de nombres complexes, alors Z’ donne le conjugué du transposé
-Pour obtenir juste le transposé on doit écrire Z.’ ou conj (Z’)
-Polynôme caractéristique :
-Poly(A) : un vecteur ligne de dimension (n+1) dont les éléments sont les coefficients du polynôme
caractéristique det(SI-A)
-roots(P) :est un vecteur colonne dont les éléments sont les racines de ce polynôme
-roots(poly(A)) :retourne les racines du polynôme caractéristique qui sont les valeurs propres de A
Multiplication polynomiale :
-a et b sont deux vecteurs dont les éléments sont les coefficients de deux polynômes A(s) et B(s)
-conv(a,b) :un vecteur ligne dont les éléments sont les coefficients du polynôme A(s) et B(s)
Division polynomiale :
[q,r]=deconv(b,a) : déclenche la division polynomiale B(s)/A(s) et retourne dans q les coefficients du
polynôme quotient et dans r ceux du reste
-Fonctions graphiques :
-plot(x,y) : si y et x sont deux vecteurs de même dimension. Cette instruction retourne la représentation
graphique de y en fonction de x
-plot (x,y,’s1s2’) : donne la courbe y)f(x) s1 et s2 sont deux caractères qui précisent la couleur et le type de
ligne choisis ils sont choisis dans la liste suivante :
-Boucle de contrôle :
Voici un exemple d’une boucle de contrôle
G(s)=
damp(G) ; donne les pôles, ainsi que la pulsation propre et l’amortissement associés à chaque pôle
On rappelle ici la modélisation du moteur à courant continu (MCC) dont l’étude va permettre d’illustrer les
concepts fondamentaux de la Control Toolbox de Matlab
La fonction de transfert reliant la vitesse de rotation du rotor à la tension appliquée à l’induit s’écrit :*
K=
Tem=
Tel=
Concernant la 2 eme partie du programme, celle qui commence depuis la ligne 22 on suit les instructions
suivantes :
-On définit Kp=10 comme étant le gain du correcteur proportionnel
Et Kw=3000*(2*pi)/60 comme étant le gain de la fonction de transfert du capteur de vitesse
-On définit ensuite les fonctions de transfert du systéme en boucle ouverte et en boucle fermée à l’aide de la
fonction series(,) qui définit deux représentations des systémes
-Sur une meme figure , on trace les réponses indicielles du système en boucle ouverte et en boucle fermée
avec la fonction subplot
-bode(BO) : permet de tracer le diagramme de Bode
-nichols(BO) : permet de tracer le diagramme de Black-Nichols
-nyquist(BO) :celui de Nyquist
On a utilisé « figure » afin de pouvoir dessiner les diagramme séparement
Ce qui donne les figures suivantes :
III. Manipulation 2 : Initiation à MATLAB
Le but de ce TP est l’initiation aux commandes et fonctions de la bibliothèque automatique du logiciel
Matlab (Control Toolbox )
1. Partie théorique.
Calcul Matriciel
A=
La matrice transposée d'une matrice est obtenue en échangeant les lignes et les colonnes de la matrice.
Soit M=
Alors M’=
A= et B=
Alors A*B= C=
1.3 Le déterminant de A
Det (A) = 1 –1 +3
1.4 L’inverse de A :
Une matrice est inversible si son déterminant est non nul.
Dans notre cas, on det(A)=-4 , donc la matrice A est inversible.
Soit l’inverse de A :
A-1 = t
com A
La co-matrice de A est :
Com A=
Com A =
t
com A =
A-1 = t
comA = ×
A-1 =
note P(x):
Dans notre cas on a
A=
Donc
5.1101
-1.6298
-0.4803
Fonction de Transfert :
On prend la fonction de transfert suivante :
On a s+0.5= 0
s1=- 0.5
On a aussi s²+0.5s+1=0
= (0.5)²-4=-3.75 < 0
√- =1.936
S2 = -0.25+i0.9682 ; s3 = -0.25-i0.9682
On aura :
a=
b= (s +(1/4 - i0,9682))
c= (s – (1/4 - i0,9682))
2. Partie pratique.
-on tient à vérifier à l’aide du logiciel Matlab les résultats obtenus pour la partie théorique
-On effectue le produit de convolution des 2 polynômes de D(s) à l’aide de l’opérateur conv
-la function damp permet de determiner les fonctions naturelles et le facteur d’amortissement
-Nous avons été amené après à visualiser les signaux suivants en s’aidant ac les operations convenables :
La réponse impulsionnelle avec impulse(Gs)
La réponse du système à un échelon unitaire avec step(Gs)
La réponse du système à une exitation sinusoidale u(t)=sin(2*t) à l’aide de Isim(G,u,t)
Le diagramme de Bode avec bode(Gs)
Le diagramme de Nyquist avec nyquist(Gs)
Le diagramme de Black-Nichols avec nichols(Gs)
IV. Manipulation 3 : Dynamique d’un système du 1er ordre
et du 2ème ordre
G(s)=
-On trace ensuite les diagrammes de bode, Nyquist et Balck de G et de Gr avec les fonctions déjà prédéfinies
2. Dynamique d’un système du 2ème ordre.
Soit la fonction de transfert suivante :
G(s)=
-K=
-wn=
-E=1/2*
G(S) étant la fonction de transfert du processus à réguler, C(s) celle du correcteur. L’entrée du système yc
étant un échelon unitaire.
On représente graphiquement la sortie du systéme dans les cas suivants :
Pour Kp=10
Pour Kp=20
Pour Kp=50
1-2-Un correcteurr proportionnel intégral PI dont la fonction de transfert correspondante est donnée par
C(s)=Kp+K1/s
Pour Kp=5 et K1=18
1-3-Un correcteur proportionnel dérivée PI dont la fonction de transfert correspondante est donnée par
C(s)=Kp+Kd*s
Pour Kp=8 et Kd=0.05
1-4-Un correcteur proportionnel intégral Dérivée PID dont la fonction de transfert correspondante est
donnée par C(s)=Kp+K1/s+Kd*s pour Kp=1 et K1=2 et Kd=1
G(s)=
Et le correcteur utilisé est :
2-1-un correcteur proportionnel P caractérisé par C(s)=Kp avec Kp=10
On prend et
Conclusion
L’ensemble de ces manipulations ont été une grande occasion pour mieux assimiler les différentes
applications de MATLAB, mieux comprendre le comportement dynamique des différents systèmes
rencontrés.
On a pu découvrir aussi à travers ces différentes manipulations, l’application Simulink, qui permet la
simulation des systèmes, nous avons pu pratiquer aussi les notions qu’on a appris pendant les cours
théoriques de l’automatique, surtout, les réponses indicielles, impulsionnelles et à une sinusoïde. Et aussi de
tracer les diagrammes de Bode, Nyquist et Black-Nichols de notre système.