Vous êtes sur la page 1sur 7

TP1: Etude et programmation des systèmes continus

1- But

Le but de ce travail est l’utilisation des outils donnés par MATLAB dans la programmation
et l’étude des systèmes de premier et de deuxième ordre. L’étudiant apprendra à simuler et à
analyser la réponse de ces systèmes.

2- Programmation avec Matlab

Il y’a deux moyens de programmation sous l’environnement de MATLAB ; le premier utilise


des commandes linguistiques, le deuxième utilise des outils graphiques.

Les commandes linguistiques sont nombreuses. Dans notre cas on va seulement s’intéresser à
ceux qu’on utilise pour la programmation des systèmes dans le domaine de Laplace.

2.1 La fonction de transfert

On se propose de programmer sous MATLAB la fonction de transfert suivante :

2𝑠 + 1 𝑠 + 1/2
𝐻(𝑠) = =2
𝑠2 + 2𝑠 + 1 (𝑠 + 1)2

où s désigne la variable de Laplace. A l'aide de Matlab, on peut définir cette fonction de 3


façons:

1) Méthode 1

On commence d’abord par programmer le numérateur et le dénominateur comme étant des


vecteurs :

num = [2 1];

den = [1 2 1] ;

Après, il faut appliquer la transformée de Laplace avec la commande tf comme suit :

H = tf (num,den) ou bien H=tf([2 1],[1 2 1])

1
2) Méthode 2

Définir la fonction de transfert à travers les zéros, les pôles et le facteur gain:

H=zpk([-1/2],[-1 -1],2)

3) Méthode 3

Définir la transformée de Laplace 's' puis réécrire la fonction de transfert:

s = tf('s')

H=(2*s+1)/(s^2+2*s+1)

Remarque : la commande ( ; ) interdit l’affichage du résultat.

Les racines de D(p) peuvent êtres déterminés par la commande roots(den).

On peut aussi déterminer les pôles, les zéros et le gain statique de la fonction d’une
transfert par la commande tf2zp :

[zero,pole,gain]= tf2zp(num,den)

Ou bien les commandes suivantes:

pole(H) : détermine les pôles de la fonction de transfert.

zero(H) : détermine les zéros de la fonction de transfert.

La fonction de transfert en boucle fermée peut être déterminée utilisant la commande


feedback comme suit :

Hf = feedback (H,1) % fonction de transfert en boucle fermée avec retour unitaire.

Hfk= feedback (H,k) % fonction de transfert en boucle fermée avec gain de retour k.

Pour constituer un système à l'aide de différents sous-systèmes, on peut effectuer différentes


opérations. 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

2
→feedback(G1,G2): G1 bouclé par G2

Question: Tester les commandes ci-dessus pour:

1
𝐺1(𝑠) =
𝑠2 + 2𝑠 + 1

3
𝐺2(𝑠) =
3𝑠 + 1

2.2 Réponse à une entrée

1) Réponse indicielle :

step(H): trace la réponse indicielle de H

y =step(num,den,t): % calcul des valeurs de la sortie temporelle à chaque instant de t pour


une entrée échelon unitaire.

Remarque : il faut initialiser t avant d’utiliser la commande step comme suit :

t = 0 : 0.1 :10 ; % réalise un vecteur allant de 0 jusqu’à 10 avec un pas de 0.1.

plot(t,y) % affiche la courbe y en fonction de t.

grid on % fait apparaitre une grille dans le dernier dessin.

Remarque : la commande step(H) affiche directement la réponse indicielle sans calcul de ses
valeurs.

2) Réponse impulsionelle :

impulse(H): trace la réponse impulsionnelle

yi=impulse(num,den,t) ; % calcul des valeurs de la sortie temporelle à chaque instant de t


pour une entrée de Dirac.

3) Réponse à une entrée u:

y=lsim(num,den,u,t) ; % calcul des valeurs de la sortie temporelle à chaque instant de t pour


une entrée u.

Remarque : Il faut tout d’abord définir u sous la forme d’un vecteur.

3
3- Travail demandé

3.1 Système de premier ordre

Soit le système continu défini par la fonction de transfert suivante:

5
𝐻(𝑠) =
1 + 3𝑠

1) Implémenter cette fonction de transfert dans un fichier Matlab "premierordre"

2) En utilisant Matlab:

a- Calculer le fonction de transfert du système en boucle fermée, qu'on notera F(s).

b- Visualiser la réponse impulsionnelle du système en boucle ouverte et celle du système en


boucle fermée sur une même figure (1). Comparer les 2 réponses.

c- Visualiser la réponse indicielle du système en boucle ouverte et celle du système en boucle


fermée sur une même figure (2). Comparer les 2 réponses.

d- En vous basant sur les 2 dernières questions, expliquer l'intérêt de la boucle fermée.

3.2 Systèmes du second ordre

Soit les systèmes du second ordre ayant la fonction de transfert suivante :


25
𝐻1(𝑝) = 2
𝑝 + 𝑝 + 25
9
𝐻2(𝑝) =
𝑝2 + 3𝑝 + 9
4
𝐻3(𝑝) =
𝑝2 + 2.8𝑝 + 4
1
𝐻4(𝑝) =
𝑝2 + 2𝑝 + 1

1. Créer un fichier model ".m" appelé "tp1ex2.m"


Pour chaque cas:
2. Déterminer les valeurs du coefficient d'amortissement m et de la pulsation propre 0. On
2
𝐾𝜔 0
utilisera la forma canonique: 𝐻(𝑝) = .
𝑝2+2𝑚𝜔0𝑝+𝜔20

4
3. Visualiser la réponse indicielle unitaire du système en boucle ouverte et:
a. Donner les valeurs pratiques de: dépassement, temps de pic, temps de montée, temps de
stabilisation
b. Quelle est le régime de fonctionnement de ce système.
4. Dans le cas de régime pseudo-périodique:
a. Donner la valeur pratique de la pseudo-période et la comparer à sa valeur théorique.
b. Donner les valeurs théoriques du dépassement, du temps de pic et du temps de
stabilisation et les comparer aux valeurs trouvées dans 3.a.
5.Représenter la réponse indicielle du système en boucle fermé et:
a. Donner : l’erreur statique, dépassement, temps de montée, temps de stabilisation.
b. Comparer avec la réponse du système en boucle ouverte et conclure sur sa qualité.

3.3 Moteur à courant continu

Soit le moteur à courant continu à excitation séparée donné par la figure suivante:

Figure 1: Schéma équivalent d'un moteur à courant continu

Avec:

u(t): tension appliquée au moteur (à l'induit)

e(t): force contre électromotrice

i(t): intensité traversant le moteur

Ω(t): vitesse de rotation du rotor

R: résistance d'induit

L: inductance d'induit

5
T: couple généré par le moteur

f: coefficient de frottement visqueux

J: Moment d'inertie de l'axe du rotor

Ke: constante de vitesse

Kc: constante de couple

Les équations électrique et mécanique qui régissent le fonctionnement de ce moteur sont:

𝑑𝑖(𝑡)
𝑢(𝑡) = 𝑅. 𝑖(𝑡) + 𝑒(𝑡) + 𝐿
𝑑𝑡

𝑑𝛺(𝑡)
𝐽 = 𝑇 − 𝐶𝑟(𝑡) − 𝑓. 𝛺(𝑡)
𝑑𝑡

On considère que le couple de perte 𝐶𝑟(𝑡) est négligeable devant le couple


électromagnétique. Sachant que la force contre électromotrice e est proportionnelle à la
vitesse de rotation Ω et que le couple électromagnétique T est proportionnel au courant
d'induit:

1) Déterminer la fonction de transfert du moteur H(p) = 𝗇(𝑝)


𝑈(𝑝)

2) Quel est l'ordre du système?

3) En considérant les valeurs numériques données par le tableau ci-dessous, calculer H(p).

inductance d'induit L=1mH


résistance d'induit R=0.7Ω
Moment d'inertie de l'axe du rotor J=0.01 Kg.m2
coefficient de frottement visqueux f = 0.08 N.m.s/rad
constante de vitesse Ke=0.2 N.m/A
constante de couple Kc =0.2 V/rad/s

4) Implémenter cette fonction de transfert par programmation matlab. Pour cela, on créera
un fichier "tp1ex3.m"

5) Déterminer les pôles de H(p). Que constate-t-on?


6
6) Visualiser la réponse indicielle du système. Déduire le temps de montée et le temps de
stabilisation.

7) Donner la fonction de transfert en boucle fermée du système.

8) Refaire la question 6 lorsque le système est en boucle fermée et comparer les 2 réponses
(qu'on tracera sur la même figure). Commenter.

Vous aimerez peut-être aussi