Académique Documents
Professionnel Documents
Culture Documents
L3 EEA - L3 IE – L3 EIA
UNIVERSITE DE CAEN
TRAVAUX PRATIQUES
AUTOMATIQUE.
NOM : GROUPE :
MATLAB / SIMULINK
Matlab® est un logiciel de calcul scientifique général. Comme d'autres produits (Scilab, MatrixX),
c'est un logiciel de calcul NUMERIQUE. Il propose notamment la résolution numérique d'un grand
nombre de problèmes mathématiques classiques, du plus grand intérêt pour les ingénieurs et les
chercheurs. Bien plus qu'une super calculatrice, Matlab® permet de développer de façon rapide des
programmes de calcul scientifique pouvant présenter des interfaces homme-machine très conviviale
avec des possibilités graphiques intéressantes. Il n'est donc pas dédié à un domaine ou application
technique particulière. Parmi ses utilisations, on peut citer:
• Développement d'algorithmes
Matlab® présente 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 :
« TOOLBOXS ».Ces boîtes à outils permettent de traiter de problèmes particuliers des sciences de
l'ingénieur:
• etc.…
2
T. P. AUTOMATIQUE. T.P. N°1
Par exemple, les boîtes à outils Control System toolbox et Mu analysis and synthesis toolbox
traitent de la conception de lois de commande. La puissance de Matlab est d'offrir tous les éléments
nécessaires à la construction rapide d'un programme de CAO par ses utilisateurs. De ce point de
vue-là, c'est un logiciel très ouvert.
Matlab est un langage interprété, dérivé du langage C, avec lequel il est possible de modifier un
programme pour en voir immédiatement les effets, sans avoir à recompiler comme en C. Comme la
plupart des algorithmes mathématiques avancés et de bas niveau sont déjà développés pour vous, le
code nécessaire pour construire un modèle dans MATLAB est beaucoup plus court que le code C ou
C++ correspondant. Ceci rend le code MATLAB facile à écrire et à faire évoluer au cours du temps.
Deux types de fonctions sont présentes sous Matlab: celles qui sont compilées (écrites en langage C)
et celles écrites dans le langage MATLAB qui peuvent être reprises, modifiées par l'utilisateur (d'où
une grande flexibilité). MATLAB étant programmée en langage C, il peut utiliser des routines en C
ou être appelé à partir d'un programme de langage C.
3
T. P. AUTOMATIQUE. T.P. N°1
ACCES A MATLAB
Matlab est une application Windows. En cliquant deux fois sur l'icône Matlab, s'ouvre alors la
fenêtre principale. Cette fenêtre est divisée en plusieurs parties comme le montre la figure ci-
dessous :
Aide
ou
Détails des variables du
workspace
Fenêtre de travail :
Workspace
Répertoire de travail
ou
Historique des commandes
Il y a deux types d’aide sur Matlab 7. La première correspond à une aide générale très intéressante
mais qui est assez lente pour obtenir un renseignement sur une simple fonction. La deuxième est
une aide en ligne qui est très précieuse si l’on veut éviter de consulter en permanence l’aide
générale. Matlab est structuré en sous-répertoires de fonctions élémentaires. La liste des répertoires
est obtenue en tapant help.
4
T. P. AUTOMATIQUE. T.P. N°1
matlab\datafun matlab\elmat
Data analysis and Fourier transform functions. - Elementary matrices and matrix manipulation.
matlab\elfun- Elementary math functions. matlab\general- General purpose commands.
matlab\funfun matlab\color
-Function functions - nonlinear numerical methods. - Color control and lighting model functions.
matlab\graphics- General purpose graphics functions. matlab\iofun- Low-level file I/O functions.
matlab\lang matlab\ops
- Language constructs and debugging. - Operators and special characters.
matlab\matfun matlab\demos
- Matrix functions - numerical linear algebra. - The MATLAB Expo and other demonstrations.
matlab\plotxy- Two dimensional graphics. matlab\polyfun- Polynomial and interpolation functions.
matlab\sparfun- Sparse matrix functions. matlab\specfun- Specialized math functions.
matlab\specmat- Specialized matrices. matlab\strfun- Character string functions.
matlab\plotxyz- Three dimensional graphics. matlab\sounds- Sound processing functions.
matlab\dde- DDE Toolbox.
Pour obtenir le contenu d'un répertoire, il suffit de taper help <nom_répertoire> : help elmat
Pour obtenir des renseignements sur une fonction particulière, par exemple zeros qui est contenue
dans le bloc elmat, il suffit de taper :
» help zeros
ZEROS All zeros.
ZEROS(N) is an N-by-N matrix of zeros.
ZEROS(M,N) or ZEROS([M,N]) is an M-by-N matrix of zeros.
ZEROS(SIZE(A)) is the same size as A and all zeros.
Attention : Les noms de fonction MATLAB dans l’aide sont en majuscules mais il faut les
écrire en minuscules.
I. UTILISATION ELEMENTAIRE
Dans une première approche, on peut utiliser les fonctions de Matlab de manière séquentielle pour
résoudre un problème.
Exemple : zeros(5,2) créera une matrice de 5 lignes et deux colonnes remplies de zéros. Les
5
T. P. AUTOMATIQUE. T.P. N°1
éléments de cette matrice sont logés dans une variable provisoire appelée ans (answer), mais cette
variable sera de nouveau utilisée par la fonction suivante.
Un résultat presque identique est obtenu en utilisant : yz=zeros(5,2) mais dans ce cas, le résultat est
logé dans une variable dont le nom est yz et qui est maintenue en mémoire par Matlab jusqu'à ce
que:
La liste des variables en mémoire est obtenue par les commandes who (simple) ou whos (détaillée).
Résolution directe :
1. Saisir la matrice A en écrivant A=[3 2 ;-1 1]; Les crochets délimitent la matrice, les éléments
sont entrés ligne par ligne, chaque ligne étant séparée par un ;. Le ";" après le "]" permet de
supprimer l'affichage du résultat à l'écran.
Résolution graphique :
Pour prendre contact avec les représentations graphiques de Matlab, nous allons chercher la solution
y = −1.5 ⋅ x + 0.5
du système en visualisant l'intersection des deux droites :
y = x + 5
Connaissant déjà la solution, nous choisissons un domaine de variation de x = [-3, 3].
6
T. P. AUTOMATIQUE. T.P. N°1
• Afficher le 5ième élément de x. Afficher une partie de x (5ième au 8ième élément). Afficher le
nombre situé sur la première ligne, deuxième colonne de A.
• Calculer pour chaque équation respectivement les vecteurs y1 et y2.
Matlab possède de nombreuses fonctions permettant d’obtenir de manière graphique des résultats.
Les tracés se font dans des figures qui sont référencées par un nombre ( 1, 2, 3, ….). Il est possible
de créer une figure graphique à l’aide de la commande figure (x), x étant le n° de la figure. Dans le
cas où l’on ne précise pas le n° de la figure, le n° sera égal à x+1, x étant le n° de la dernière figure
créée.
Dans une figure il est possible de placer différents graphiques. Chaque graphique s’appelle un
« axe ».
La fonction graphique de base est plot(x,y), cette fonction créée une figure graphique ainsi qu’un
axe où sera représenté y en fonction de x. La figure 2 donne un exemple de tracé où l’on a tracé de
courbes (plot(t,y1,t,y2)). Afin de rendre utilisable ce résultat graphique,
7
T. P. AUTOMATIQUE. T.P. N°1
Matlab utilise pour les systèmes LTI (Linéaire et Invariant dans le Temps) une représentation objet.
Cette représentation est commune pour tous les types de représentation (fonction de transfert, état,
zéros-pôles-gain,...). Ici, nous ne verrons que la représentation par fonction de transfert.
p+2
La fonction de transfert G1 ( p ) = sera mise en mémoire grâce à l’instruction :
3p + 6 p + 1
2
8
T. P. AUTOMATIQUE. T.P. N°1
L’objet système sys1 est une structure comme le montre la réponse du logiciel à l’instruction
« get(sys1 ) ».
>>get(sys1)
num: {[0 1 2]}
den: {[3 6 1]}
Variable: 's'
Ts: 0
Delay: 0
InputDelay: 0
OutputDelay: 0
InputName: {''}
OutputName: {''}
InputGroup: {0x2 cell}
OutputGroup: {0x2 cell}
Notes: {}
UserData: []
Les différents champs fournissent tous les renseignements utiles pour caractériser le système en
question.
Le paramètre Ts = 0 précise qu‘il s’agit d’un système continu, le champ Delay renseigne sur la
valeur d’un retard pur éventuel. Pour obtenir la valeur du retard de l’objet sys, il faut saisir :
« sys1.InputDelay » (analogie avec le langage C).
A noter que les champs num et den correspondent à des cellules (ceil en langage Matlab), aussi
pour obtenir la valeur du dénominateur de sys, il faut taper : « sys1.den{1} ». Ce qui correspond à
demander la valeur de la n°1 cellule du champ ‘den’ de la structure ‘sys’. On peut obtenir le vecteur
contenant les éléments du dénominateur en utilisant l’opération de vectorisation : « sys1.den{:} ».
La manière d’obtenir les caractéristiques d’un objet système est tout simplement de taper son nom
dans le workspace :
>> sys1
Transfer function:
s+2
---------------
3 s^2 + 6 s + 1
9
T. P. AUTOMATIQUE. T.P. N°1
En parallèle :
sys1
>>sys_para=sys1 + sys2;
Σ
Dans les deux cas, vérifier le résultat.
sys2
En boucle fermée :
Pour calculer la fonction de transfert en boucle fermée, il existe la fonction feedback qui calcule la
fonction de transfert en boucle fermée du système présenté ci-dessous. Par défaut le bouclage est
une contre réaction (soustracteur) mais si l’on veut faire de la réaction, il suffit de placer le terme +1
après les systèmes à boucler (ex : « SYS = FEEDBACK(SYS1,SYS2,+1) ») :
+ Σ sys1
-
sys2
Si la fonction de transfert possède un retard, il n’est pas possible d’utiliser la fonction feedback pour
calculer le transfert en boucle fermée car le dénominateur n’est plus un polynôme à coefficients
constants.
4. Représentation temporelle
A partir d’une fonction de transfert, Matlab peut calculer la réponse temporelle d’une fonction de
transfert à une entrée. La réponse impulsionnelle et la réponse indicielle sont déjà programmées
dans des fonctions. Le résultat de ce calcul (vecteurs contenant le temps et la réponse du système)
peut être placé dans des variables de retour ou par défaut directement tracé dans une figure. De
même si l’on ne précise pas le vecteur temps, la fonction le déterminera automatiquement.
10
T. P. AUTOMATIQUE. T.P. N°1
En cliquant sur le tracé avec le bouton droit, il est possible de modifier les propriétés du graphe et
surtout d’obtenir des renseignements sur les temps de réponse ou dépassement du tracé.
Tracer les différentes réponses fréquentielles des systèmes précédemment étudiés. Retrouver les
degrés relatifs, le gain statique, la pulsation de coupure à -3dB sur chaque réponses.
11
T. P. AUTOMATIQUE. T.P. N°1
Matlab est aussi un langage de programmation qui dispose de plusieurs instructions de saut
conditionnel (if, elseif, else, end) et de boucle du type : for, while.
EPS=1 ;
for i=1 :1000
EPS=EPS/2
if (1+EPS)<=1 EPS=EPS*2
break
end
end
Dans l’exemple précédent, si l’on veut recommencer avec un nombre d'itérations de 2000, il faut
réécrire la série d’instructions pour obtenir le résultat. Pour éviter ce genre de problème, il est
possible d’enregistrer une série d’instructions dans un fichier « nom_fic.m » et de vérifier qu’il ne
porte pas un nom identique à une fonction MATLAB puis exécuter ce fichier.
Dans le menu Fichier, ouvrir un nouveau fichier .m. Dans ce fichier, retaper l’exemple précédent,
sauvegarder le fichier et exécuter le sous Matlab en écrivant le nom du fichier sous le workspace.
Attention : un fichier Matlab (extension .m) ne dois jamais porter le même nom qu’une variable du
workspace ou un nom déjà existant dans un autre répertoire.
Une fois ce TP terminé, sauvegarder les différentes variables que vous avez utilisées avec la
commande save workspace as dans le menu file.
Ces différentes variables vous resserviront dans le T.P. n°2. N'oublier pas de noter le nom de
votre sauvegarde dans ce cahier pour ne pas l'oublier.
12
TP AUTOMATIQUE TP N°2
13
TP AUTOMATIQUE TP N°2
I. PRESENTATION DU SIMULATEUR
Pour réaliser le schéma de la figure 2 , il faut réunir ses éléments dans la fenêtre graphique
correspondante au fichier courant. Pour cela, il faut ouvrir une bibliothèque de simulink
(Continuous, Discrete, Sources, Sinks, etc.), choisir l'élément intéressant dans cette bibliothèque
en cliquant dessus avec la souris et en maintenant la souris cliquée, faire glisser l’élément ainsi
sélectionné vers votre fenêtre graphique (NE JAMAIS FAIRE LA MANIPULATION
INVERSE).
Une fois les éléments essentiels présents, il suffit de les lier entre eux avec la souris, c'est-à-dire
tracer des connections entre la sortie du premier bloc et l'entrée du deuxième bloc.
N’oublier pas de sauvegarder le schéma dans votre répertoire de travail, il sera ainsi possible d'aller
le rechercher en cas de fausse manipulation.
Ceux-ci peuvent être définis en cliquant deux fois sur l'élément considéré. La manière dont Matlab
les exige est indiquée en commentaire dans la boite d'entrée qui s'ouvre à cet effet. On définit ainsi
les paramètres des fonctions de transfert, les signaux appliqués, les échelles par défaut des graphes
des signaux observés. On peut utiliser aussi comme paramètres des variables préalablement définies
dans le workspace (l'espace de travail) de Matlab.
Une fois le schéma de simulation réalisé, on effectue la simulation en choisissant dans le menu
"Simulation" les paramètres de celle-ci : instant de début, instant de fin, etc.. Ces paramètres sont
utilisés par l'algorithme de simulation qui est un algorithme d'intégration numérique. Il est possible
de choisir son algorithme de simulation mais sauf cas particulier, on utilisera "ode45 Dormand-
2. EXEMPLE N°1
De manière à retrouver les variables que vous avez définies dans le TP. n°1, charger votre fichier de
sauvegarde (extension ".mat") réalisée à la fin du TP en tapant load <nom du fichier>.
14
TP AUTOMATIQUE TP N°2
Ouvrir ensuite un nouveau fichier sous Simulink. Prendre un générateur d'échelon sous la rubrique
"Sources", une fonction de transfert sous la rubrique "Continuous" et un scope dans la bibliothèque
"Sinks". Ensuite relier les différents éléments avec la souris. Le schéma, une fois terminé, doit
correspondre à celui de la figure 2 donnée ci-dessous.
Il est possible de manipuler aussi des blocs contenant un objet système. Ce bloc est présent dans le
répertoire "Control System toolbox". Il suffit d’indiquer le nom du système mémorisé dans le
workspace de Matlab. Remplacer le bloc "Transfert Fcn" par le bloc "LTI System" de la
bibliothèque "Control System toolbox".
Modifier les paramètres du bloc " LTI System " de manière à utiliser le système sys2. Ajuster les
paramètres de la simulation pour obtenir une réponse indicielle complète. Vérifier les valeurs de la
sortie en régime permanent et la constante de temps (vous pouvez utiliser les icônes de la figure
graphique pour effectuer un zoom par exemple).
Vous pouvez configurez votre scope de plusieurs manières. Dans la capture d’écran suivante, nous
avons un scope avec 4 courbes distinctes. Pour obtenir ce résultat, vous devez cliquer sur le
deuxième icône.
15
TP AUTOMATIQUE TP N°2
Icône de configuration
Dans l’onglet » Data history », il est possible de limiter le nombre de points mémorisés ce qui limite
de fait le nombre de points affichés (sauvegarde de la mémoire RAM). Par défaut, vous êtes limité à
5000 points.
Il est possible d’importer les données affichées en sélectionnant « Save data to workspace ». Une
fois sauvegardé dans le workspace de Matlab, il va être possible d’utiliser ces données sous forme
d’une figure Matlab avec tous les avantages sur la présentation et la sauvegarde des résultats.
16
TP AUTOMATIQUE TP N°2
La difficulté réside dans le format de la sauvegarde, il s’agit d’une structure avec le temps en
champs distinct. Voici des exemples de ligne de commande permettant de récupérer les données
sous forme vectorielle :
>> sortie=y.signals(2).values(:,1).
n° de l’entrée du scope dans le cas où l’une des entrées est multiplexée, il faut préciser
le n° de l’entrée du multiplexeur branché au scope sinon
y.signals(2).values
Reprendre le schéma précédent, en utilisant un scope à 2 entrées. Bancher la sortie et l’entrée du
système. Sauvegarder les données sous le workspace de Matlab sous la variable essai1. Représenter
sous une seule figure Matlab les données sauvegardées en mettant en forme les figures pour qu’elles
soient utilisables dans un Compte Rendu de T.P. (unité des abscisses : secondes, unité des
ordonnées : Volts, titre : réponse indicielle, quadrillage visible). Utiliser pour cela la fonction
« subplot() »
4. EXEMPLE N°3
K
On désire étudier le système de fonction de transfert G(p) = bouclé par un gain proportionnel
1+ τ p
noté A. K est le gain statique du système et τ sa constante de temps (on prendra K = 1 et τ = 1 sec).
Reprendre le système sys3 du TP 1 qui correspond à cette fonction de transfert. La fonction de
transfert du système bouclé est notée F(p).
Afin de visualiser l'effet du bouclage dans le domaine temporel (avec Simulink), tracer sur le même
graphe la réponse indicielle de F(p) et celle de AG(p). Le système étant très rapide, il sera peut
être nécessaire de modifier la précision de l’algorithme de simulation notamment le Min Step
Size et le Max Step Size.
17
TP AUTOMATIQUE TP N°2
Pour mettre en évidence les effets du gain A, refaire ces manipulations en augmentant ou en
diminuant sensiblement sa valeur. Comment évoluent les constantes de temps associées aux deux
systèmes lorsque A devient très grand ou très petit ?
Déterminer les deux constantes de temps et les gains statiques de chaque réponse.
Tracer la réponse fréquentielle (Bode) de la boucle ouverte et de la boucle fermée. Peut-on retrouver
la constante de temps et gain statique des deux systèmes ?
Justifier par le calcul les différences existant entre la réponse boucle ouverte et boucle fermée en
terme de temps de réponse et de gain statique. Retrouve-t-on l’effet du gain sur ces grandeurs ?
18
TP AUTOMATIQUE L3 EEA – L3 IE – L3 EIA TP N°3
L’objet de ce TP est de montrer la démarche suivie pour modéliser un procédé. La méthodologie qui
va être utilisée est celle que l’on retrouve généralement dans l’industrie. Bien que le modèle obtenu
soit assez peu satisfaisant, cette méthode, relativement sommaire, a le mérite de donner un modèle
expérimental utilisable pour la commande.
I. RAPPEL.
Cette notion est principalement utilisée pour les processus ayant un retard pur important. Si on
examine la réponse indicielle (figure 1) d’un processus sans intégrateur, on peut distinguer trois
phases :
• un temps de retard : T',
• un temps de décollement : T'',
• un temps de montée : TA.
y(t)
T' T''
θ
La somme des temps de retard et de décollement est notée θ. Ce retard θ correspond en fait au délai
nécessaire pour qu’une commande ait une action significative sur la sortie. On appelle réglabilité le
rapport TA/θ. En pratique, le processus sera d’autant plus facile à régler que ce rapport sera
important (retard pur petit).
On considère un système comme ayant un coefficient de réglabilité élevé lorsque le rapport TA/θ est
19
TP AUTOMATIQUE L3 EEA – L3 IE – L3 EIA TP N°3
supérieur à 10. Toute action sur l’entrée provoque presque immédiatement une action sur la sortie et
les procédés correspondants sont en général faciles à asservir.
On place souvent dans cette catégorie les processus ayant un rapport TA/θ inférieur à 4 (limite tirée
de l’expérience industrielle). Si TA/θ est faible, il faut attendre un temps élevé (comparativement au
temps de montée du procédé) pour qu’une entrée commence à agir sur la sortie. Si l’on cherche à
augmenter la précision par les méthodes usuelles comme l’accroissement du gain ou l’intervention
d’une action intégrale, on a de grandes chances de déstabiliser le procédé.
De tels procédés ne peuvent pas, en général, être régulés correctement par de simples régulateur de
type P.I.D. et ils nécessitent des commandes plus adaptées telles que la correction avec Prédicteur
de Smith ou une correction numérique (niveau BAC+4 et +5).
Ce cas correspond en général à 4 < TA/θ < 10, ces valeurs tirées de l’expérience sont fournies à titre
indicatif et doivent être relevées si l’on élève les exigences de précision sur le processus.
Les méthodes présentées dans ce qui va suivre, donnent une représentation très
approximative du procédé à modéliser. Ces approches ont été couramment utilisées dans
l’industrie par le passé car elles ne nécessitent pas l’utilisation d’un calculateur.
Malheureusement, l’utilisation de ces méthodes persiste à cause de leur simplicité d’utilisation
malgré l’apparition de méthodes beaucoup plus performantes.
La caractéristique statique d'un système (si elle existe) est obtenue en appliquant un signal de
commande constant à l'entrée du système. Ce système atteindra alors asymptotiquement une valeur
finale constante en sortie. En imposant différentes valeurs pour la commande, le tracé du signal de
sortie en régime permanent en fonction de l'entrée représente la caractéristique statique du procédé.
A noter que si le système possède un temps de réponse relativement long, l’obtention de cette
caractéristique peut prendre un certain temps.
20
TP AUTOMATIQUE L3 EEA – L3 IE – L3 EIA TP N°3
II.2. Identification des systèmes du premier ordre à partir de leur réponse indicielle.
Le cas des systèmes du premier ordre est le plus simple car ces fonctions de transfert sont définies à
l’aide de deux paramètres K et τ. Comme ces systèmes présentent la particularité d’avoir une
tangente verticale à l’origine, il est très facile d’identifier un premier ordre. Le gain statique
correspond à la variation de la sortie divisée par la variation de l’entrée (en régime permanent). La
constante de temps se détermine à partir du temps de réponse à 5% ou lorsque la réponse indicielle a
atteint 63% du régime permanent (voir TD). Dans le cas de systèmes plus complexes que le premier
ordre pur, il est obligatoire d’utiliser une méthode d’identification plus adaptée.
II.3 Identification des systèmes d’ordre quelconque à partir de leur réponse indicielle : modèle
de BROÏDA.
Cette méthode considère que le système étudié est un premier ordre avec retard ce qui est très
restrictif. Bien sur lorsque le système est d’ordre élevé, le résultat ne sera pas très bon.
Si l'on recherche un modèle du 1er ordre avec retard pur, alors on cherche un modèle de la forme :
e ( )
− θp
G(p) = K ⋅
(1 + τ p )
θ est le retard pur du modèle, τ la constante de temps. On détermine les temps t1 et t2 tels que:
y(t)
∆y 0,4 ∆y
0,28 ∆y
En utilisant t1, t2, 0,4 ∆y et 0,28 ∆y, un calcul simple permet d’établir les relations suivantes :
θ = 2,8 t1 − 1,8 t 2
τ = 5, 5 (t 2 − t1 )
21
TP AUTOMATIQUE L3 EEA – L3 IE – L3 EIA TP N°3
II.4. Identification des systèmes d’ordre quelconque à partir de la réponse indicielle : Modèle
de STREJC.
Si la réponse ne présente pas de dépassement, le système est donc apériodique. Dans ce cas, il est
possible de modéliser le système sous la forme d’un modèle de STREJC. Ce modèle va donner un
modèle ayant la structure suivante :
e ( )
− θp
G(p) = K
(1 + τ p )n
θ est le retard pur du système, τ la constante de temps, n l’ordre du système. Pour identifier ces trois
paramètres, on trace sur la réponse indicielle, la tangente au point d’inflexion. Ensuite comme sur la
figure ci-dessous, on évalue deux paramètres : TA et TU.
y(t)
Pour ce type de modèle, on considère que la réglabilité du système ne doit pas être trop faible. A
partir de TU et TA, on identifie les paramètres θ, τ et n’ de la fonction de transfert, à l’aide du
nomogramme 1 (page suivante).
Le rapport Tu/Ta détermine le point de l’axe vertical de gauche du nomogramme. Ta donne le point
sur l’axe vertical de droite du nomogramme. Tracer une droite reliant ces deux points. A
l’intersection de cette droite et de l’axe central, on lit τ (secondes). A l’intersection de la droite et de
l’axe de gauche, on lit n’ sur l’axe de gauche (échelle droite de l’axe) .
Si (n') n’est pas un nombre entier, poser n ' = n + ε avec n entier (0<ε<1) et écrire θ = ε τ .
Dans le cas où le rapport Tu/Ta est grand (présence d’un retard pur important), la fonction de
transfert va posséder un ordre élevé. Afin de réduire l’ordre de la fonction de transfert, il est
possible de poser :
Tu = Tu’+θap
Avec θap le retard apparent de la réponse. Refaire la procédure initiale avec Tu’. Au final, le retard
du système sera égal à
θfinal=θ+θap
22
TP AUTOMATIQUE L3 EEA – L3 IE – L3 EIA TP N°3
Tu/Ta n’ τ Ta
Nomogramme 1
23
TP AUTOMATIQUE L3 EEA – L3 IE – L3 EIA TP N°3
Déterminer par les méthodes de Broïda et de Strejc les fonctions de transfert qui sont à l'origine de
la réponse indicielle donnée figure (une méthode à appliquer par figure).
Amplitude
Temps en secondes
Amplitude
Temps en secondes
Figure 4 : Réponse indicielle à caractériser avec les méthodes Strejc et Broïda
24
TP AUTOMATIQUE L3 EEA – L3 IE – L3 EIA TP N°3
En utilisant les relations établies en T.D. sur le second ordre, identifier le système dont la réponse
indicielle est donnée ci-dessous.
Réponse indicielle
45
40
35
30
Sortie en Volts
25
20
15
10
-5
0 1 2 3 4 5 6 7 8 9 10
Temps en Secondes
A partir du fichier "proc_1.mdl" présent dans votre répertoire de travail, réaliser avec SIMULINK,
un schéma permettant de relever la caractéristique statique point par point du procédé à identifier.
Relever la caractéristique statique en envoyant une commande constante sur le procédé.
Déterminer la plage de linéarité du système. Quelle est la valeur de la sortie Y0 si U0=5V ? Le
couple (U0, Y0) est-il un point de fonctionnement acceptable au vu de la plage de linéarité ? Si non,
en proposer un autre ? Justifier votre réponse ?
Déterminer le gain statique du modèle autour du point de fonctionnement.
Toujours avec "proc_1.mdl", réaliser une réponse indicielle autour du point de fonctionnement
choisi (l’amplitude est à déterminer en fonction de la caractéristique statique).
25
TP AUTOMATIQUE L3 EEA – L3 IE – L3 EIA TP N°3
La réponse indicielle peut être tracée dans une fenêtre graphique MATLAB, ce qui permet de faire
toutes les manipulations nécessaire sans imprimer la courbe.
Sauvegarder la réponse complète après avoir fait un zoom adéquat. Identifier la fonction de transfert
de ce procédé en utilisant la méthode adaptée à la réponse.
Une fois le modèle établi, vérifier sur le même graphique la similitude entre les réponses indicielles
du procédé et du modèle. Pour cela, il suffit d’appliquer le signal d’entrée « petit signal » sur le
procédé et sur le modèle et de tracer sur le même graphe la réponse indicielle du système avec celle
du modèle identifié. Cette validation devra figurer dans votre compte rendu.
Identifier ensuite les procédés présents dans les fichiers "proc_2.mdl", "proc_3.mdl" ,
"proc_4.mdl" en adoptant la même démarche que précédemment.
26
TP AUTOMATIQUE L3 EEA – L3 IE – L3 EIA TP N°4
BOUCLE OUVERTE
VS
BOUCLE FERMEE
Travail préparatoire : Donner le gain statique (K) et la constante de temps (τ) du système.
L'objectif est de comparer, tout d'abord, le comportement du système en boucle ouverte et ensuite
celui du système en boucle fermée corrigé par un correcteur proportionnel A. On prendra A=2 pour
les questions suivantes. En boucle ouverte, on a donc le schéma-bloc suivant :
Y*(p) Y(p)
K A
K
A G(p)=
1+ τ p
Figure 1
νu(p) νy(p)
Y*(p) U(p) + + +
C(p) G(p) Y(p)
+
Figure 2
27
TP AUTOMATIQUE L3 EEA – L3 IE – L3 EIA TP N°4
Travail préparatoire : Etablir l’expression littérale de Y(p) en fonction de Y*(p), νu(p) et νy(p).
Donner les constantes de temps et les gains statiques des différentes fonctions de transfert. Ecrire le
schéma bloc précédent sous la forme suivante :
Y*(p)
νy(p)
νu(p)
Figure 3
On reprend maintenant le même système mais cette fois-ci bouclé avec un correcteur proportionnel
de gain A, C(p) = A.
νu(p) νy(p)
U(p) + +
Y*(p) C(p) G(p) Y(p)
+
-
Figure 4
Travail préparatoire : Etablir l’expression littérale de Y(p) en fonction de Y*(p), νu(p) et νy(p).
Donner les constantes de temps et les gains statiques des différentes fonctions de transfert. Ecrire le
schéma bloc précédent sous la forme suivante :
Y*(p)
νy(p)
νu(p)
Figure 5
28
TP AUTOMATIQUE L3 EEA – L3 IE – L3 EIA TP N°4
Travail pratique : Tracer les diagrammes de Bode reliant les signaux Y*(p), νu(p) et νy(p) à Y(p),
en superposant le diagramme en boucle ouverte et en boucle fermée pour chaque fonction de
transfert.
c) D'après ces courbes, l'influence d'une excitation sinusoïdale Y*(p) ou d’une perturbation
sera-t-elle toujours la même sur la sortie lorsque la pulsation de l'excitation change ?
Justifier.
Travail pratique : l'objectif est d'étudier le comportement de y(t) lorsque y*(t), νu(t) et νy(t) sont
des signaux échelons ou sinusoïdaux. Réaliser avec simulink et dans la même fenêtre, le système en
boucle ouverte (figure 2) et en boucle fermée (figure 4). Relier la sortie de ces deux systèmes à un
scope pour les comparer.
a) Excitation échelon : successivement pour chaque entrée (y*(t), νu(t) et νy(t)), prendre un
échelon unitaire comme signal d'excitation. Pour chaque essai, on comparera les résultats
obtenus (erreur de position : y * ( t → ∞ ) − y ( t → ∞ ) et temps de réponse à 5%) en boucle
ouverte et en boucle fermée. Retrouver ces résultats par le calcul (théorème de la valeur
finale).
b) Excitation sinusoïdale : successivement pour chaque entrée (y*(t), νu(t) et νy(t)), prendre un
signal sinusoïdal de pulsation 20 rad/s et d'amplitude unitaire. Pour chaque essai, on
comparera l'amplitude de la sortie en boucle ouverte et en boucle fermée. Pourquoi y a-t-il
des variations d'amplitude entre chaque entrée en boucle fermée ?
c) Excitation sinusoïdale bis : Sans imprimer les réponses, refaire les mêmes essais avec un
signal sinusoïdal de pulsation 1 rad/s et d'amplitude unitaire. Justifier la différence de
comportement de la sortie avec l'excitation précédente (20 rad/s) ?
29
TP AUTOMATIQUE L3 EEA – L3 IE – L3 EIA TP N°4
1 1
G ( p) = et C ( p ) = .
p + 2 × 0.3 ×10 p + 100
2 p
Sachant que G(p) représente le système à asservir et C(p) le correcteur, représenter les différents
diagrammes de Bode des trois fonctions de sensibilité S(p), G(p) S(p) et T(p) de la boucle fermée
(retour unitaire).
On considère que le système étudié est soumis à une perturbation d'entrée et une perturbation de
sortie. On définit la pulsation d'atténuation à – 6 dB pour une fonction de sensibilité comme étant la
pulsation pour laquelle l'effet de la perturbation est atténué d'un facteur 2 ou de 6dB.
A partir de ces indications et compte tenu des diagrammes de Bode obtenus, répondez aux questions
suivantes en utilisant uniquement les trois réponses fréquentielles précédentes :
a) Donner la bande de pulsations d'atténuation pour les fonctions de sensibilité S(p) et T(p).
b) Quelle va être l'amplitude en sortie d'une perturbation de sortie sinusoïdale de pulsation
ωs = 100 rad/s et 0,1 rad/s ?
c) Une perturbation de sortie de type échelon peut-elle être rejetée ?
d) Le système bouclé peut-il répondre à un échelon de consigne sans erreur de position ?
e) Le système devant suivre une consigne sinusoïdale, donner la pulsation maximale pour
laquelle la sortie a la même amplitude que la consigne.
f) Une perturbation d'entrée de type échelon peut-elle être rejetée ?
g) Quelle va être l'amplitude en sortie d'une perturbation d'entrée sinusoïdale de pulsation
ωs = 100 rad/s et 0,1 rad/s ?
V. CONCLUSION
Après cette étude, quels sont les avantages de la boucle fermée sur la boucle ouverte ?
30
TP AUTOMATIQUE L3 EEA – L3 IE – L3 EIA TP N°5
1. RAPPELS ET DEFINITIONS :
La limite de stabilité en boucle fermée est caractérisée par la valeur -1 (point critique) de la fonction
de transfert en boucle ouverte en régime harmonique. Cette valeur correspond à un module de 1 (0
dB) et une phase de -180°. On définit :
• La marge de gain ∆G : pour une phase de -180°, c'est la valeur du coefficient (noté ∆G) par
lequel il faut multiplier le module pour que celui-ci soit égal à 1. On l'exprime généralement en
dB (20*log((∆G)) et c'est sous cette forme qu'on le mesure dans le cas des diagrammes de Bode
et de Black-Nichols. Une autre définition donne : ∆G est égale à l'inverse du gain de L(jω) pour
la pulsation à laquelle le déphasage est de -180° (où L(jω) = C(jω) G(jω)) :
1
∆G = min
i L ( jω
i,−180 )
• La marge de module ∆Μ est la distance minimale entre le point critique et le lieu du système. Ce
critère de stabilité est plus global que la marge de gain. L'expression de cette marge est donnée
par :
∆M = ( -1- L ( jω) ) = 1 + L ( jω )
min min
−1
On peut remarquer que : ∆M = 1 + L ( jω) min = S−1 ( jω) = S ( jω) max
min
• La marge de phase ∆φ : pour un module égal à 1 (ω = ω0dB), c'est la valeur qu'il faut retrancher à
la phase pour qu'elle soit égale à -180°. Dans le cas où il existerait plusieurs fréquences de
croisement, l'expression de la marge de phase est : ∆Φ = min ∆Φϕi ω0dB
i i
• La marge de retard ∆R qui correspond au plus grand retard additionnel que peut supporter le
∆Φ
système sans entraîner la déstabilisation du système en boucle fermée : ∆R = .
ω0dB
Dans le cas où il existe plusieurs fréquences de croisement, l'expression de la marge de retard est
min ∆Φ ϕi ω0dB
: ∆R =
i i .
ω0dB
i
31
TP AUTOMATIQUE L3 EEA – L3 IE – L3 EIA TP N°5
Im[L(jω)]
1
∆G
ω=∞
Re[L(jω)]
∆M ∆Φ
ω 0dB ; L( j ω 0dB) = 1
i i
2. TRAVAIL PREPARATOIRE
2.2 – Afin de faciliter les calculs, on considère que G(p) possède un pôle triple en –1. Dans ces
conditions, calculer les marges de gain et de phase ainsi que les pulsations associées à ces marges.
Si ce système est bouclé avec un gain proportionnel, quel doit être la valeur de ce gain pour avoir
une marge de phase de 45°. Justifier la réponse par le calcul et graphiquement.
Calculer la valeur du gain limite Klim qui amène le système à la limite de stabilité. Dans ce cas,
quelle est la valeur de la pulsation de l’oscillation de sortie (en rad/s) ?
3. TRAVAIL PRATIQUE
3.1 - Sous Matlab, en créant l'objet système G, tracer les diagrammes de Bode, Nyquist et Black-
Nichols de G(p). Retrouver les marges de gain et de phase sur chaque diagramme et comparer les
valeurs avec celles déterminées lors du travail préparatoire.
32
TP AUTOMATIQUE L3 EEA – L3 IE – L3 EIA TP N°5
Dans ce schéma, les blocs "retard variable" (Transport Delay) et gain ont été introduits de manière à
vérifier la valeur des marges de gain et de retard.
Avec un gain unitaire, trouver expérimentalement la valeur du retard au-delà de laquelle le système
bouclé devient instable. Comparer cette valeur avec la marge de retard ∆R calculée précédemment.
Mesurer la pulsation d'oscillation de la sortie lorsque le système est en limite de stabilité.
Avec un retard nul, retrouver, en simulation, la valeur du gain au-delà duquel le système bouclé
devient instable. Comparer cette valeur avec la marge de gain ∆G calculée précédemment. Mesurer
la pulsation d'oscillation de la sortie lorsque le système est en limite de stabilité. Est-ce la même ?
Expliquer.
L'objectif est de faire l'étude de la stabilité concernant un système électrique constitué par la mise en
série des systèmes du 1er ordre et du 2nd ordre identifiés lors du TP identification.
En reprenant les fonctions de transfert identifiées, construire sous Matlab l'objet système
correspondant à la mise en série des deux systèmes. Recommencer le travail demandé lors du
paragraphe 3.1 avec ce nouveau système (sans la mesure de la pulsation d'oscillation).
Après avoir relié la sortie du système du 1er ordre à l'entrée du système du 2nd ordre, connecter la
l'entrée du 1er ordre au boîtier d'extension de la carte en utilisant la voie 2 bipolaire et la sortie du 2nd
ordre à une entrée analogique. Charger le fichier "proc_3.mdl". Le modifier de manière à reproduire
le schéma de la figure 2. Vérifier que le bloc "Envoi d'une tension bipolaire sur la voie 2" soit
configuré de manière à générer une tension de 0 Volt en fin de simulation.
Vérifier expérimentalement les résultats obtenus en simulation avec vos modèles. Les résultats sont-
ils différents ? Expliquer.
33
TP AUTOMATIQUE L3 EEA – L3 IE – L3 EIA TP N°5
L'objectif est de mettre en évidence le compromis performance – stabilité sur le système du 3ème
ordre en simulation. Reprendre les fonctions de transfert identifiées. Choisir quelques valeurs
adéquates de gain et à l'aide de la réponse indicielle du système en boucle fermée et des tracés
fréquentiels (Bode, Nyquist et Black-Nichols), illustrer ce compromis. Pour cela, évaluer, dans
chaque cas, les performances ainsi que les marges de stabilité correspondantes.
34
TP AUTOMATIQUE L3 EEA – L3 IE – L3 EIA TP N°6
Une configuration générale de système bouclé avec un retour unitaire est la suivante :
νu(p) νy(p)
U(p) Y(p)
Y*(p) C(p) + G(p) +
+
+ w(p)
Le problème est de choisir le correcteur C(p) et de régler ses paramètres pour que l'asservissement
fonctionne correctement c'est-à-dire faire suivre le mieux possible la sortie du système y(t) vers le
signal de référence y*(t) malgré la présence de perturbations qui agissent sur le système. νu(t) et
νy(t) représentent les perturbations qui agissent respectivement à l'entrée et à la sortie du système.
w(t) représente du bruit de mesure. De plus, la commande u(t) doit être admissible pour le système
(problème de saturation des actionneurs par exemple).
Ce réglage est effectué de manière à respecter des spécifications imposées par un cahier des charges.
Ainsi, il peut être demandé d'avoir :
Pour cela, l'automaticien a, à sa disposition, plusieurs types de correcteur possédant chacun des
avantages et des inconvénients. Rappelons rapidement l’effet des différents types disponibles de
correcteur pour une régulation continue :
35
TP AUTOMATIQUE L3 EEA – L3 IE – L3 EIA TP N°6
En pratique, il n’est pas possible de réaliser un dérivateur idéal (signaux à énergie infinie).
On implante donc un module de dérivée filtrée. Le réglage de la constante de filtrage Td/N
permet de limiter le gain donné aux hautes fréquences. Le coefficient N correspond au gain
donné au module de dérivée filtrée. En d’autres termes, le bruit de mesure ou les
changements de consigne seront amplifiés au plus par N.
Sauf cas particulier, ce type de correcteur est utilisé avec des procédés comportant un
intégrateur. Il améliore les performances en dynamique. Mal choisi, il est inefficace mais
rarement déstabilisant.
1 T p
• Correcteur Proportionnel, Intégral et Dérivé (PID) : C(p) = K p 1 + + d .
Ti p 1 + Td p
N
Il regroupe les avantages et les inconvénients des correcteurs précédents.
Sous cette forme, il s'agit de la forme fondamentale, standard ou mixte du PID.
ε u y(t)
y*(t)
Il existe plusieurs structures de P.I.D. Si ces structures ne modifient pas la position des pôles en
36
TP AUTOMATIQUE L3 EEA – L3 IE – L3 EIA TP N°6
boucle fermée, elles agissent sur l’ordre du numérateur de la fonction de transfert du système en
boucle fermée (cf. cours).
III. APPLICATIONS.
III.1. Correction PI
0.5
Le premier système à asservir est le suivant : G1 (p) =
( p + 1)( 0.5 p + 1)
Travail préparatoire :
a) Pour répondre aux spécifications du cahier des charges, quelle(s) action(s) le correcteur doit-il
contenir ? Justifier la réponse.
b) Etablir l'expression de l'erreur de position et montrer que le correcteur PI permet d'annuler cette
erreur.
c) Avec ce type de correcteur, est-ce que le système bouclé est adapté pour rejeter une éventuelle
perturbation de type échelon en sortie et en entrée ? Pour chaque cas, justifier la réponse.
d) Par la méthode du lieu des racines, montrer que si l’on utilise un correcteur PI, la diminution du
temps de montée est limitée et montrer que cela entraîne obligatoirement une augmentation du
dépassement. Que faut-il faire pour éliminer cet inconvénient ?
e) Compte tenu du cahier des charges, quel est le contour (en dB) que doit tangenter le diagramme
de Black de la fonction de transfert en boucle ouverte ? Quelle est la valeur du coefficient
d'amortissement ξ associé ?
Rappel : La valeur du 1er dépassement et le facteur de résonance sont donnés respectivement par les
1
relations suivantes : D% = 100 e − πξ / 1−ξ et Q =
2
.
2 ξ 1 − ξ2
Travail expérimental : en utilisant les différents abaques, synthétiser un correcteur qui répond aux
spécifications. Justifier les valeurs des paramètres de C(p) par une analyse fréquentielle rigoureuse.
Vérifier le comportement temporel du système corrigé en utilisant le fichier boucle_fermee.mdl.
37
TP AUTOMATIQUE L3 EEA – L3 IE – L3 EIA TP N°6
III.2. Correction PD
4
Le deuxième système à asservir est le suivant : G 2 (p) = .
p
p ( p + 1) + 1
3
Travail préparatoire :
Avec ce type de correction, est-ce que le système bouclé est adapté pour rejeter une éventuelle
perturbation de type échelon en sortie et en entrée ? Pour chaque cas, justifier la réponse.
Travail expérimental :
b) En déduire la valeur des paramètres suivants : marges de gain et de phase, résonance en boucle
fermée. Pour chacun de ces paramètres, déterminer approximativement la pulsation associée.
c) Expliquer en quoi il est nécessaire de faire une correction de type avance de phase.
a) Asservir le système G1(p) avec un PID standard ou mixte de manière à obtenir un temps de
réponse minimal avec les marges de stabilité spécifiées par le cahier des charges.
b) Comparer les performances du système bouclé pour différentes structure de PID (forme parallèle,
série, actions dérivée ou proportionnelle et dérivée appliquées sur le signal de sortie).
38
TP AUTOMATIQUE L3 EEA – L3 IE – L3 EIA TP N°7 & 8
On cherche à asservir le système thermique présent dans la salle de TP. Ce système est constitué
d’un tube de PVC conduisant un flux ascendant d’air chaud. L’air est chauffé à la base du tube par
une résistance chauffante qui est elle-même alimentée par une tension délivrée par le micro-
ordinateur. La température est mesurée par un thermocouple situé à l’extrémité supérieur du tube.
La tension délivrée par le capteur de température est comprise dans un domaine de 0 à 10 Volts.
Le cahier des charges spécifie que l’asservissement devra remplir les conditions suivantes :
Remarques
2 - Le compte rendu doit être précis et concis, il doit notamment faire apparaître clairement les
justificatifs qui ont conduisent aux choix des paramètres du modèle et du correcteur proposés.
39