Fascicule d'ateliers
Automatique Continu
(Automatique 1)
Ce fascicule comporte un ensemble de quatre ateliers pratiques sur le module automatique continu.
Les étdudiants concernés sont principalement :
– Les étudiants des classes 3ème année de la filière Electromécanique (3EM) ;
– Les étudiants des classes 2ème année Tronc Commun (2TC).
La durée globale de ces ateliers est de 21 Heures, l'équivalent de 7 séances dont chacune est de
3Heures.
Pour réussir ces ateliers, chaque étudiant est invité à installer le logiciel Matlab et doit apporter son
propre pc portable dans toutes les séances.
Méthode de travail :
Les ateliers sont faites par binôme. A la fin d'un atelier, chaque binôme doit rédiger un compte
rendu décrivant son travail
Evaluation :
La note dans ce module comporte :
– Une note personnelle de contrôle continu au niveau de chaque séance ( Nsi), i=1, ...,6
– Une note de compte rendu (Nc j), i=1, ...,4
– Une note personnelle ( N E) de l'examen pratique qui se déroule dans la 7ème séance
Σ Nsi ΣNc i
N=0.3N E +0.7 [ + ]
6 4
Atelier 1 : Initiation à Matlab & Simulink
Objectifs :
– Se familiariser avec l’utilisation du logiciel de calcul "MATLAB".
– Introduction à l'outil "SIMULINK" de Matlab.
I Introduction
Matlab est un logiciel de calcul numérique. Ce premier Atelier a pour but de se familiariser avec son
utilisation.
MATLAB (abréviation de " MATrix LABoratory "), est un environnement informatique conçu pour
le calcul matriciel. L'élément de base est une matrice dont la dimension n'a pas à être fixée. Matlab
est un outil puissant qui permet la résolution de nombreux problèmes en beaucoup moins de temps
qu'il n'en faudrait pour les formuler en C ou en Pascal. S'il est parfaitement destiné à l'Automatique
et au Traitement du Signal (traitement numérique des données), sa facilité d'emploi avec des
nombres complexes et ses possibilités d'affichages graphiques en font un outil intéressant pour bien
d'autres types d'applications. De plus, des "Toolboxs" (boîtes à outils) sont disponibles dans de
nombreux domaines (traitement du signal, traitement d'image, automatique, contrôle, logique
floue, ...). Matlab peut être considéré comme un langage de programmation au même titre que C,
Pascal ou Basic.
Il intègre le calcul numérique, la visualisation des résultats, la programmation dans un
environnement ouvert aux développements ultérieurs et il présente la possibilité de créer des
interfaces graphiques afin de fournir à l'utilisateur un espace de travail convivial. Le logiciel
MATLAB est réservé notamment au traitement numérique des signaux, à la modélisation, à la
simulation et à la conception des systèmes numériques complexes. Par contre, sa singularité est
qu’il s’agit d’un langage interprété, c'est-à-dire, que les instructions sont exécutées immédiatement
après avoir été tapées.
II Commandes de MATLAB
Help commande/ toolbox : fournit la syntaxe de la commande et les commandes similaires.
Help fonction : fournit comme aide ce qui a été écrit comme commentaire (précède par %).
Look for commande : affiche toutes les fonctions sous Matlab qui utilise la commande en question.
Dans l'espace de travail fourni par MATLAB, Il n'est pas nécessaire de compiler un programme
avant de l'exécuter.
La réponse est affichée si on ne met pas de point-virgule en fin de ligne. Elle est de plus stockée
dans une variable nommée ans (answer). La plupart des fonctions mathématiques usuelles sont
définies dans Matlab, et ceci sous une forme naturelle (sin, cos, exp, ...). C’est également le cas de
certaines constantes comme ‘pi’ par exemple, « 2* sin (pi/4) ».
II.1 Variables
On peut évidemment indiquer le nom de la variable dans laquelle le résultat doit être stocké
(ce nom doit commencer par une lettre et occuper moins de 19 caractères).
Attention : Matlab distingue les minuscules des majuscules.
• Variable complexe
Matlab travaille indifféremment avec des nombres réels et complexes. Par défaut les variables
i et j sont initialisées à la valeur complexe. Naturellement si vous redéfinissez la variable i ou
j avec une autre valeur elle n'aura plus la même signification.
Commandes Desription
eig permet d’obtenir les valeurs propres et les vecteurs propres d’une matrice
Pour l'analyse des données, on peut utilisé : min, max, mean, std, sum,
On peut avoir des informations sur la taille d'une matrice:
>> size(x)
>> length(x) % longueur
� M1 M2 �
Pour définir une matrice M = �� � par bloc, il faut d’abord définir les matrices M1,
� M3 M 4 ��
M2, M3 et M4 puis écrire:
bleu (défaut) b
vert g
rouge r
cyan c
magenta m
noir k
jaune y
♦ Type de trait
Type de trait symbole
pointillé :
tiret point --
tirets --
♦ Type de Marqeur
Par défaut, Matlab ne met aucun marqueur
plus + +
cercle o
astérix *
point .
croix x
carré s
diamant d
pentagone p
hexagone h
Pour les triangles, on aura un marqueur qui a la forme d'un triangle qui pointe dans la
direction du symbole utilisé.
Exemples (Applications détaillées)
Exemple1:
1. On veut tracer sin(t) et cos(t) sur [0, π] sur la même figure:
t1=linspace(0,pi,30); y1=sin(t1);
t2=linspace(0,pi,20); y2=cos(t2);
(on peut ne pas prendre les mêmes valeurs de t pour les deux courbes)
plot(t1,y1,'r+',t2,y2,':o')
Matlab affiche la courbe de sin(t) en utilisant le marqueur + et la couleur rouge, les points ne
sont pas joints entre eux parce qu'on a pas précisé le type de trait. La courbe cos(t) est tracé à
l'aide de pointillé avec des marqueurs cercle.
III Application
Gréer un fichier .m qui permet de calculer la fonction sinusoïdal.
function y= sinusoide(pas,long, per)
t=[0 :pas :long]
y=sin (2*pi*1/per*t)
plot (y)
xlabel(‘temps’)
ylabel(‘y(t)’)
nom=sprintf(‘fonction sunisoidale de periode%i de longueur%i’,per,long)
IV Introduction à SIMULINK
Voir Annexe 1
Objectifs
– Etude de la réponse indicielle d'un système de premier ordre et celle d'un système de second
ordre.
– Etude de la réponse fréquentielle d'un système du premier ordre et celle du second ordre.
Partie A
I
Etude de la réponse indicielle d'un système de premier ordre
La fonction de transfert d’un système du premier ordre est donnée par :
K
H (s)=
1+ Ts
2. Vérifier que :
• la valeur en régime permanent y (∞) est égale à K.U 0 .
• pour t=T , y (t) atteint 63% de la valeur en régime permanent.
• le temps de réponse à 5% est t r≃3T .
K
H (s)=
1+ Ts
Partie B
� −π ξ �
• Déterminer le dépassement D en % et vérifier que D % = 100 exp � �.
� 1−ξ 2 �
� �
b) Deuxième cas : ξ � 1
2
1. Pour 0 < ξ <
2
Pour les valeurs de ξ = 0.4, 0.2 et 0.1
a. Tracer les diagrammes de Bode.
b. Vérifier que la courbe de Bode d'amplitude présente une résonance. Mesurer la
pulsation de résonance et le facteur de résonance en dB.
c. Vérifier que pour ω >> ω n on a une asymptote de pente -40 dB/décade.
d. Vérifier que pour ω = ωn , la phase de H(i ω ) est de -90°.
Conclusion : vérifier qu'on a une résonance d'autant plus importante que ξ est faible.
e. Tracer le lieu de black. Préciser les points qui correspondent à ω =0, ω r et ω n .
2
2. Pour ξ �
2
Pour les valeurs ξ = 0.707 et 1.2 ,
NB : Voir annexes 2 et 3.
Atelier 3 : Les Correcteurs
Objectifs
– Etude de la stabilité et de la précision statique d'un système.
– Correction d'un système afin d'améliorer ses performances.
Enoncé
On considère un système dont la fonction de transfert est donnée par :
7
H ( p)=
(1+T 1 p)(1+T 2 p)(1+ T 3 p)
avec T 1 =100ms , T 2 =10ms et T 3 =2ms .
On veut converger la sortie y (t) du système vers la consigne y c (t) appliquée à l’entrée.
NB : voir annexe 4.
100
250
1000
1
Vérifier que pour ω = , on a |C0|dB = 3dB et Arg(C0) = 45° .
Td
� 1 �
C ( s ) = Kc �1 + �
� Ti s �
On prend Kc=l et Ti=0.1 s.
� 1 �
4. Etude de rapport du terme �1 + �.
� Ti s �
� 1 �
4.1. Tracer les diagrammes de Bode de C0(s) = �1 +
� T s ��
. pour � variant de 1 à 100
� i �
100
250
1000
1
Vérifier que pour ω = , on a |C0|dB = 3dB et Arg(C0) = 45° .
Td
4.2. Tracer sur la même figure les lieux de Black de T (s) = H (s) et de
� 1 � � 1 �
Tc3 ( s ) = � 1 + � H ( s ) . On précise que Tc3 ( s ) = � 1 + � T ( s ) . Repérer sur les deux
� Ti s � � Ti s �
courbes les points correspondants à � = 1; 10 et 25 rad/s. Indiquer par des flèches le sens de
déplacement de ces points du lieu de Back de T(s) vers celui de Tc3(s).
4.3. Vérifier, à partir de ces points, qu'on a :
�� Tc3 dB = T dB + C0 dB
�
� Arg (Tc3 ) = Arg (T ) + Arg ( C0 )
NB : voir annexe 4.
Atelier 4 : Asservissement de Température d’un Four
Enoncé
La régulation de température d’un four industriel est assurée par l’intermédiaire d’un ensemble
moteur électrique vanne permettant de commander le débit du combustible liquide
injecté dans les brûleurs.
Le schéma global de régulation est le suivant :
Km
, où K m=0.5 et T m=1s .
p( 1+T m ) p
KF
La fonction de transfert du four est décrite par : , où K F =400 et T F =100s
1+T F p
θm ( p ) K
=
U ( p) (1 + T p )2
Justifier votre réponse.
5. On choisit dans une première étape un correcteur Proportionnel (P) : C ( p ) = K .
T ( p)
5.1. Donner la fonction de transfert globale du système : .
Tc ( p )
5.2. Déterminer la condition de stabilité portant sur le gain K à partir du tracé du
diagramme de Bode en boucle ouverte du système :
F ( p) θm ( p ) T ( p)
FTBO = = C ( p) Kq Kc
ε ( p) U ( p) Q ( p)
pour w = 0.1, ...,50 .
5.3. A l’aide du Critère de Routh (Fonction de transfert en boucle fermée), retrouver la
condition de stabilité, gain K , déterminée dans la question 5.2.
5.4. Exprimer en pourcentage l’écart en régime permanant ε ( +∞ ) lorsque le gain K
vaut la moitié de la valeur limite déterminée précédemment (le signal d’entrée Tc ( p )
est un échelon de gain 100 o C ). Tracer dans ce cas l’évolution de T ( p ) en fonction
de Tc ( s ) .
6. On considère un correcteur Proportionnel Dérive (PD) : C ( p ) = K (1 + Td p ) .
6.1. On compense la constante de temps la plus grande, montrer que le système asservi
est un système du second ordre dont on déterminera ses coefficients.
6.2. Calculer le paramètre K de ce correcteur afin d’obtenir un dépassement de
ξ = 0.59 lorsque le signal d’entrée Tc ( p ) est un échelon.
6.3. Donner l’instant de ce premier dépassement.
7. On propose un troisième type de correcteur, Proportionnel Intégral Dérive (PID), de la
K
forme : C ( p ) = (1 + Td p ) , ajuster les paramètres de ce correcteur pour avoir de
Ti s
bonnes performances sur le système.
π
Temps du premier dépassement : TD1 = .
2
wn 1 − ξ
ANNEXES 1
INTRODUCTION A SIMULINK
MATLAB est l’outil de référence pour la simulation numérique, notamment en ce qui
concerne l’automatique. Il offre des possibilités avancées que ce soit en matière
d’identification ou de commande. Il permet, de manière plus générale, de résoudre une grande
diversité de problèmes de simulation, dans des domaines aussi variés que le traitement du
signal.
SIMULINK est un outil qui permet la modélisation et la simulation de systèmes dynamiques
linéaires ou non linéaires. Ces systèmes peuvent être continus ou discrets.
Pour lancer Simulink, il faut cliquer sur l'icône :
� La bibliothèque Sources :
Chaque élément de cette bibliothèque indique le type du signal qu'il génère. Nous allons voir
les blocs suivants :
• Le bloc Constant permet de générer un signal constant.
• Le bloc Step permet de générer un échelon. Dans ce bloc, il y a trois champs à remplir
:
- Step time : l'instant du saut.
- Initial value : la valeur initiale.
- Final value : la valeur finale.
Par exemple pour obtenir l'échelon unitaire, il faut prendre les valeurs suivantes:
- Step time : 0
- Initial value : 0
- Final value : 1
• Le bloc Ramp permet de générer une rampe. Il y a trois champs à remplir:
- Slope : la pente de la droite.
- Start time.
- Initial output.
Pour obtenir une rampe unitaire, il faut pendre les valeurs suivantes:
- Slope: 1
- Start time: 0
- Initial output: 0
• Le bloc Sine Wave permet de générer un signal sinusoïdal. Les quatre champs
Amplitude, Bias, Frequency et Phase permettent de fixer les paramètres du signal. La
formule appliquée est la suivante :
y = Amplitude * sin(Frequency * t + Phase) + Bias
� La bibliothèque Sinks
Les éléments de cette bibliothèque permettent de "visualiser" les signaux obtenus par la
simulation. On citera deux éléments:
• Scope
Ce bloc permet de tracer l'évolution d'une variable d'un modèle Simulink. C'est utile par
exemple pour voir la sortie d'un système après une simulation.
• Display
� La bibliothèque Math
Cette bibliothèque contient des fonctions mathématiques. On cite par exemple le bloc sum,
son symbole est : .
Ce bloc contient un seul champ à remplir. Lorsqu’on le remplit avec + - , on obtient un
comparateur.
Remarque : si on a une fenêtre différente, il faut cliquer sur "solver" qui se trouve dans
la première ligne de la fenêtre.
Il faut préciser les valeurs de :
- Start time : l'instant du début de la simulation.
- Stop time : l'instant final.
- Solver options : pour les tous les TP, on garde toujours les options :
Variable step et ode45(Donnand Prince).
La valeur par défaut de Max step size est auto (Dans ce cas, Matlab fixe tout seul un pas de
simulation maximum). Il est intéressant parfois d'imposer à Matlab un pas de simulation à ne
le pas dépasser.
Remarque : Si on choisit un pas de simulation trop petit, ceci pourrait augmenter
énormément le temps de simulation.
• Ensuite on lance la simulation en cliquant sur l'icône suivant :
• Dans M-FILE
II y a plusieurs méthodes pour définir une fonction de transfert dans M-File de Matlab :
• Avec la version Matlab 7.0. on peut définir directement une fonction de transfert en utilisant
la commande tf et en procédant de la façon suivante (on reprend l'exemple l):
s=tf(‘s’) (pour définir la variable s )
(Puis on écrit directement l'expression de la fonction de transfert)
H=(s^2+s)/(s^3+s^2-s+3)
a. Le temps de réponse à 5%, qu'on note tr, est le temps mis par le système pour que la sortie
y(t) rentre dans la zone de [95 %; 105 %] de la valeur en régime permanent y(�) et n'en
ressort plus. Nous donnons deux exemples ci-dessous :
b. Le temps de montée tm est le temps nécessaire pour passer de 10% à 90% de la valeur en
régime permanent.
c. Si la réponse présente des oscillations amorties (avec une amplitude qui décroît),
on peut aussi définir
• tpic : l'instant du premier dépassement.
y (t pic ) − y (∞)
• Le dépassement D en % : D% = ×100
y (∞ )
ANNEXE 4
Yc(s) Y(s)
H(s)
+
Yc(s) Y(s)
H1(s) H2(s)
+
• Pour étudier la stabilité du système asservi (de la boucle fermée), on peut tracer le
lieu de Black de la FTBO T(s). On étudie la position du lieu de Black de T(s) par
rapport au point de coordonnées (-180°; 0 dB) qu'on appelle le point critique :
Le système asservi doit être stable. Dans la pratique, on ne se contente pas d'avoir un système
stable mais on veut avoir aussi des marges de sécurité. Le lieu de Black doit donc passer loin
du point critique. On définit la marge de phase M� = 180° + Arg(T(i ω 0)) où ( ω 0 est la
pulsation pour laquelle |T|dB = 0dB (le point où le lieu de Black coupe l’axe des abscisses).
Exemple :
M�
T dB
Point critique
Arg(T)
-180 ° -120 °
Point correspondant à �0
M� = 180° + Arg(T(i ω 0))=180° + (-120° ) = 60°. On impose dans la pratique d’avoir une
marge de phase comprise entre 45° et 60°.
• L'erreur statique:
L'erreur �(t) est l’écart entre la consigne yc(t) et la sortie y(t): s(t) = yc (t)- y(t).
L'erreur statique est Ferreur en régime permanent: �(�). On a le résultat suivant: Lorsque
la consigne yc(t) est un échelon a �(t) :
a
• Si T(s) ne présente pas d'intégration alors �(�)= avec K0=lims�0 T(s).
1+ K0
• Si T(s) présente une intégration alors s(�) ==0 (l’erreur est nulle).
Exemples :
1 1
1) T(s) = T ( s ) = . Il y a une intégration (T(s) contient le terme ) donc s(�)=0.
s(s + 2) s
1
2) T ( s ) = . Il n'y a pas d'intégration dans T(s), on obtient que K0 = 0.5 donc
(s + 2)
a
S (∞) = = 0.66 a .
1.5
• On peut faire dans Matlab le produit de deux FT. Par exemple, on peut définir d'abord les FT
: Cs et Hs puis écrire: T1=Cs * Hs
• Pour tracer les lieux de Black de H1(s) et H2(s) sur la même figure, il faut écrire:
nichols(Hsl,Hs2)
• Dans Matlab, la fonction logarithme décimal est : log10.
Soit y(t) la réponse indicielle du système H(s) c.à.d. la sortie qu'on obtient lorsque l'entrée u(t)
est l'échelon unité:
On trouve que y(t) = 7 -7,94e-t/T1 + 0.97 e-t/T2 – 0,035 e-t/T3 . Ainsi y(�) = 7.
Les trois termes e--t/T1 =e-10t, e-t/T2 =e-100t et e-t/T 3 =e-500t tendent vers 0.
Mais le premier terme tend moins vite vers zéro que les deux derniers. Le pôle -1/T1 est donc
le pôle lent (A cause de ce pôle, le système va mettre plus de temps pour atteindre la valeur
y(�)=7).
Nom du document : Fascicule Régulation SL
Répertoire : D:\ESTI_2011_2012\Proposition TP Régulation
Modèle : C:\Users\hp\AppData\Roaming\Microsoft\Templates\Normal.dotm
Titre : I
Sujet :
Auteur : detente
Mots clés :
Commentaires :
Date de création : 21/09/2012 10:05:00
N° de révision : 11
Dernier enregistr. le : 24/09/2012 12:24:00
Dernier enregistrement par : hp
Temps total d'édition : 15 Minutes
Dernière impression sur : 24/09/2012 12:24:00
Tel qu'à la dernière impression
Nombre de pages : 40
Nombre de mots : 7 508 (approx.)
Nombre de caractères : 41 300 (approx.)