P. 1
TP Automatique

TP Automatique

|Views: 1,969|Likes:

More info:

Published by: Ahmed Chahine Zorgane on Apr 06, 2012
Droits d'auteur :Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as PDF, TXT or read online from Scribd
See more
See less

06/16/2013

pdf

text

original

TP AUTOMATIQUE Parcours S.I.

L3 EEA - L3 IE – L3 EIA
UNIVERSITE DE CAEN
TRAVAUX PRATIQUES
AUTOMATIQUE.
Liste des travaux pratiques :
1 : Utilisation d'un logiciel de calcul matriciel et de simulation en
automatique.
2 : Utilisation d'un logiciel graphique de simulation de systèmes physiques
SIMULINK / MATLAB.
3 : Identification des systèmes.
4 : Boucle ouverte VS Boucle fermée.
5 : Etude de la stabilité d'une boucle fermée.
6 : Correction PI, PD, PID.
7 & 8 : Asservissement d'un système thermique.

NOM : GROUPE :

TP AUTOMATIQUE L3 EEA – L3 IE – L3 EIA TP N°1


2

Utilisation d'un logiciel de calcul matriciel
et de simulation en automatique :
MATLAB 6.5
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:
• Mathématique et calcul numérique
• Développement d'algorithmes
• Modélisation, simulation et prototypage de systèmes
• Analyse des données, exploration et visualisation
• Graphisme scientifique et engineering
• Développement d'applications notamment interface graphique.
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 :
"TOOLBOX".Ces boîtes à outils permettent de traiter de problèmes particuliers des sciences de
l'ingénieur:
• Simulink pour la simulation des systèmes
• Control System toolbox pour la modélisation, l'analyse et la commande "classique" des
systèmes dynamiques linéaires stationnaires
• Mu analysis and synthesis toolbox pour modélisation, l'analyse et la commande
"avancée" des systèmes dynamiques linéaires stationnaires
• Identification toolbox pour l'identification des systèmes dynamiques linéaires
stationnaires
• etc.…

TP AUTOMATIQUE L3 EEA – L3 IE – L3 EIA TP N°1


3
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, c'est un logiciel très ouvert. Sa limitation est de ne pas en offrir un "tout fait" pour un
utilisateur peu expert qui voudrait résoudre un problème de CAO simple sans avoir à faire de
développements.
Dans le contexte de l'Automatique, MATLAB (MATrix LABoratory) offre un environnement de
simulation et de prototypage. Le langage technique puissant est à la fois concis et descriptif,
permettant de modéliser des systèmes complexes avec des petites parties de code facile à
comprendre. La vaste bibliothèque de fonctions, disponibles comme faisant partie du noyau
MATLAB ou par l'intermédiaire de Boîtes à Outils orientées objet, permettent de construire
rapidement des simulations et des modèles pour un grand nombre de types d'applications. Les outils
de modélisation vont des solveurs d'équations différentielles dans MATLAB aux fonctions
spécialisées des Boîtes à Outils pour les statistiques et l'apprentissage et la modélisation de réseaux
de neurones. Des fonctions intégrées d'animation et des graphiques rapides à charger permettent de
visualiser le comportement d'un modèle pour de l'analyse, des tests, du déboguage, des présentations
de résultats.
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.
Là où MATLAB offre un environnement de programmation familier, Simulink et Stateflow
fournissent un environnement de conception graphique pour modéliser et simuler des systèmes
complexes de contrôle, de Traitement du Signal et des systèmes contrôlés par la logique. Bâtis à
partir de MATLAB, ces produits peuvent appeler n'importe quelle fonction MATLAB y compris
des routines écrites par l'utilisateur, permettant de combiner le meilleur des 2 approches. Même les
fonctions des Boîtes à Outils peuvent être imbriquées dans des schémas blocs Simulink. Le nombre
de fonctions disponibles dans les différentes bibliothèques étant très grand, nous nous limiterons ici
à une description sommaire des TP.
TP AUTOMATIQUE L3 EEA – L3 IE – L3 EIA TP N°1


4
ACCES A MATLAB
Matlab est, ici, 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 SUR MATLAB
Il y a deux types d’aide sur Matlab 6.5. 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.
Fenêtre de travail :
Workspace
Répertoire de travail
ou
Historique des commandes
Aide
ou
Détails des variables du
workspace
TP AUTOMATIQUE L3 EEA – L3 IE – L3 EIA TP N°1


5
matlab\datafun
Data analysis and Fourier transform functions.
matlab\elmat
- Elementary matrices and matrix manipulation.
matlab\elfun- Elementary math functions. matlab\general- General purpose commands.
matlab\funfun
-Function functions - nonlinear numerical methods.
matlab\color
- Color control and lighting model functions.
matlab\graphics- General purpose graphics functions. matlab\iofun- Low-level file I/O functions.
matlab\lang
- Language constructs and debugging.
matlab\matfun
- Matrix functions - numerical linear algebra.
matlab\ops
- Operators and special characters.
matlab\demos
- 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.
L’instruction « lookfor zeros » permet d’obtenir la liste d’instruction qui on un rapport avec la
fonction zeros.
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
é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.

TP AUTOMATIQUE L3 EEA – L3 IE – L3 EIA TP N°1


6
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:
• Matlab soit fermé.
• Ce nom de variable soit utilisé pour stocker une autre valeur.
• La variable soit effacée par l'instruction clear yz (utiliser help).
La liste des variables en mémoire est obtenue par les commandes who (simple) ou whos (détaillée).

Résolution d'un système d'équations linéaires.
Cherchons à résoudre le système :
3x 2 y 1
x y 5
+ = ¦
´
− + =
¹

Sous la forme matricielle :
(
¸
(

¸

=
(
¸
(

¸


(
¸
(

¸

− 5
1
y
x
1 1
2 3
A X = B
La solution de ce problème est obtenue en calculant
1
X A B

= .
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.

2. De la même manière, saisir la matrice B et calculer la solution du problème en utilisant
l'instruction inv (help inv). Chercher la même solution en utilisant l'une des divisions '/' ou '\'
(help slash). Quelle est la différence entre les deux ?

Résolution graphique :
Pour prendre contact avec les représentations graphiques de Matlab, nous allons chercher la solution
du système en visualisant l'intersection des deux droites :
y 1.5 x 0.5
y x 5
= − ⋅ + ¦
´
= +
¹

Connaissant déjà la solution, nous choisissons un domaine de variation de x = [-3, 3].

Saisir " x=[-3:0.2:3];". On crée ainsi un vecteur tel que :
• Son premier élément est -3.
• Les éléments suivants sont obtenus par incrémentation de 0.2.
• Le dernier élément est le dernier nombre obtenu ≤ 3.
En utilisant l’aide et la fonction linspace, recréer la variable x.
TP AUTOMATIQUE L3 EEA – L3 IE – L3 EIA TP N°1


7
Calculer pour chaque équation respectivement les vecteurs y1 et y2. Avec la fonction plot,
représenter les deux courbes sur le même graphique. Utiliser les possibilités d'annotation graphique
pour personnaliser votre graphe (title, grid,...).

Rechercher les coordonnées du point d'intersection avec :
1. ginput.
2. En changeant les échelles du graphe : axis.
3. En utilisant le zoom graphique.

II. UTILISATION LIEE A L'AUTOMATIQUE
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.
1. Saisie des fonctions de transfert
La fonction de transfert ( )
1
2
p 2
G p
3p 6p 1
+
=
+ +
sera mise en mémoire grâce à l’instruction :

sys1 = tf([1 2],[3 6 1]);
Le premier vecteur contient les coefficients du numérateur dans l’ordre des puissances décroissantes
de p. Le deuxième contient les coefficients du dénominateur dans l’ordre des puissances
décroissantes de p.
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
ioDelay: 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.
TP AUTOMATIQUE L3 EEA – L3 IE – L3 EIA TP N°1


8

Le paramètre Ts = 0 précise qu‘il s’agit d’un système continu, le champ ioDelay renseigne sur la
valeur d’un retard pur éventuel. Pour obtenir la valeur du retard de l’objet sys, il faut saisir :
"sys1.ioDelay" (analogie avec les structures du langage C).
A noter que les champs num et den correspondent à des cellules (cell 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 ‘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{:}". Il
est possible de récupérer le numérateur et le dénominateur d’une fonction de transfert à l’aide de la
fonction "tfdata".
2. affichage des fonctions de transfert
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

Entrer les fonctions de transfert suivantes et sauvegarder le numérateur et le dénominateur de
chaque système dans des variables indépendantes. Vérifier leurs propriétés à l’aide des instructions
précédentes.
2 3 4
2
0.5 1 2.5
G ; G ; G
0.05p 1 p 1
p 0.5p 1
= = =
+ +
+ +

3. Opération sur les fonctions de transfert
Il est possible d’assembler 2 fonctions de transfert entre elles :
En série :

>>sys_serie = sys1 * sys2;
En parallèle :
>>sys_para=sys1 + sys2;

Dans les deux cas, vérifier le résultat.
sys1 sys2
sys1
sys2
Σ
TP AUTOMATIQUE L3 EEA – L3 IE – L3 EIA TP N°1


9

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. La variable sign définit le
type de bouclage (contre réaction : - par défaut sinon + pour une réaction) :



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.
• La réponse impulsionnelle (e(t) = δ(t)) à l’aide de la fonction >>impulse(sys1);
• La réponse indicielle (e(t) = u(t)) à l’aide de la fonction >>step(sys1);.
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 la réponse impulsionnelle et indicielle de sys2 et déterminer de manière graphique la valeur
de la sortie en régime permanent et la valeur de la constante de temps. Vérifier ces valeurs avec
celles attendues.
Tracer ces deux réponses pour sys4. Mesurer la pseudo période obtenue pour la réponse indicielle et
vérifier qu’elle correspond bien à celle attendue.
5. Représentation fréquentielle - régime harmonique.
La représentation harmonique du système est obtenue en appliquant un signal sinusoïdal à l’entrée
du système pour toutes les fréquences et en posant p=jw.
Une fonction de transfert est alors complètement décrite par son module et sa phase. Matlab calcule
la réponse en fréquence d’une fonction de transfert et se sert de cette réponse pour tracer les
diverses représentations utilisées en automatique.
sys2
Σ
sys1
-
+
TP AUTOMATIQUE L3 EEA – L3 IE – L3 EIA TP N°1


10
A noter qu'en anglais, frequency signifie la pulsation en rad/s (ce n'est pas la fréquence en Hertz) et
qu’il est conseillé d’utiliser la fonction "ngrid".
Diagramme de Bode :
Le diagramme de Bode représente le module en dB et la phase en degrés en fonction du logarithme
de la pulsation.
Utiliser la fonction Bode pour tracer le diagramme de sys2. Mesurer le gain statique (module de G
2

pour w→ 0), la pulsation de coupure w
c
à -3 dB, la pente de la courbe de gain lorsque w >> w
c
.
Comparer les résultats aux valeurs théoriques. Faire le même travail pour sys4.
Diagramme de Nyquist :
La représentation de Nyquist représente la fonction de transfert dans l’espace complexe, ce lieu est
paramétré avec la pulsation.
Utiliser la fonction nyquist pour tracer le diagramme de sys2. Mesurer le gain statique (module de
G
2
pour w→0). Faire le même travail pour sys4.
Diagramme de Black-Nichols :
Cette représentation est plus simplement appelée représentation de Black. Rappelons que l’on porte
la phase en degré en abscisse et le module en dB en ordonnée. Ce lieu est paramétré en pulsation.
Utiliser la fonction nichols pour tracer le diagramme de sys2. Mesurer le gain statique (module de
G
2
pour w → 0), la pulsation de coupure w
c
à -3 dB. Comparer les résultats aux valeurs théoriques.
Faire le même travail pour sys4.
III. PROGRAMMATION ET FUNCTIONS M-FILE.
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.

Exemple : Que représente EPS dans la suite d’instructions suivantes?

EPS=1 ;
for i=1 :1000
EPS=EPS/2
if (1+EPS)<=1 EPS=EPS*2
break
TP AUTOMATIQUE L3 EEA – L3 IE – L3 EIA TP N°1


11
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.
Utilisation des M-File :
A l’aide d’une M-File, étudier les différents tracés fréquentiels et temporels des fonctions de
transfert suivantes :
( ) ( )
( )
2
0
2 2
0 0
1 1 j 1 j 4
, , ,
j 1 j 4 1 j
j j 2 j
ω
+ ωτ + ω τ
ω + ω τ + ωτ
ω ω + ξω ω +ω

Pour le système du deuxième ordre avec intégrateur, le facteur d’amortissement est égal à 0.1 et la
pulsation propre est de 10 rd/s.
Pour les autres systèmes, on prendra les valeurs suivantes : 1s τ = .
Déterminer le système possédant la plus grande bande passante et le temps de réponse à 5 % le plus
petit.
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.
NOM DE LA SAUVEGARDE : .mat

TP AUTOMATIQUE L3 EEA – L3 IE – L3 EIA TP N°2


12

Utilisation d'un logiciel graphique de
simulation de systèmes physiques :
SIMULINK / MATLAB

Matlab (voir TP 1) est un logiciel très
performant pour le calcul numérique
et la visualisation. Ce logiciel permet,
entre autre, de calculer les réponses de
fonctions de transfert représentant des
systèmes physiques. Afin d'améliorer
encore plus la convivialité de
certaines simulations, une Toolbox
particulière à été créée : SIMULINK.
Celle-ci permet de réaliser une
simulation grâce à une fenêtre
graphique où l'on réalise un schéma-
bloc. On dispose d'un certain nombre
de bibliothèques de SIMULINK
(Continuous, Discrete, Sources,
Sinks, etc.) ainsi que la possibilité
d'utiliser des variables définies sous
Matlab. Il est également possible de
retourner des résultats numériques
sous Matlab.
Pour accéder à la fenêtre de
commande de Simulink, il faut lancer
Matlab et taper simulink dans la
fenêtre de travail de Matlab ou cliquer
sur l'icône . Celle-ci est
représentée sur la figure ci-contre.













TP AUTOMATIQUE L3 EEA – L3 IE – L3 EIA TP N°2


13
I. PRESENTATION DU SIMULATEUR
1. Réalisation d'un schéma de simulation
Une fois la commande de Simulink ouverte, il est possible d'ouvrir un fichier où de déclarer un
nouveau sous la rubrique "File". Les fichiers simulink possèdent l'extension ".mdl".
Pour réaliser un schéma, 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 connexions entre la sortie du premier bloc et l'entrée du deuxième bloc, toujours en
maintenant la souris cliquée.
Sauvegarder de temps en temps le schéma dans votre répertoire de travail, il sera ainsi possible
d'aller le rechercher en cas de fausse manipulation.
2. Définition des paramètres des éléments.
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.
3. Réalisation d'une simulation
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-
Prince". Ensuite, lancer la simulation en cliquant sur l'icône .
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>.
TP AUTOMATIQUE L3 EEA – L3 IE – L3 EIA TP N°2


14
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 ci-dessous.

Modifier les paramètres du bloc "Transfert Fcn" de manière à utiliser le système sys2 à partir des
champs de l'objet 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).
De manière à visualiser le signal d'entrée sur la même figure, utiliser un multiplexeur en
sélectionnant l'objet "Mux" de la bibliothèque "Signals&Systems" et relier le signal d'entrée et de
sortie de la fonction de transfert. Relier enfin la sortie du multiplexeur au Scope.
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". Vérifier le fonctionnement.
De manière à visualiser les signaux sous Matlab, ajouter le bloc "To Workspace" dans le schéma.
Pour récupérer le temps de simulation, utiliser le bloc "Clock" puis tracer sous Matlab la réponse
du système en fonction du temps. On peut aussi utiliser l'option "Workspace I/O" dans les
paramètres de simulation de Simulink.
3. EXEMPLE N° 2
Pour réaliser un système bouclé, introduire le comparateur en sélectionnant l'objet "Sum" de la
bibliothèque "Math". Par défaut, l'objet sélectionné est un sommateur. Il faut donc modifier ses
paramètres pour le transformer en comparateur.
TP AUTOMATIQUE L3 EEA – L3 IE – L3 EIA TP N°2


15





1 - Reproduire le système bouclé de la figure précédente.
2 – Introduire un gain proportionnel en sélectionnant l'objet "gain" de la bibliothèque "Math" avant
la fonction de transfert dans la chaîne directe. Modifier les paramètres du bloc "fonction de
transfert" afin de définir la fonction de transfert suivante :
3 2
10
sys5
p 6p 11p 6
=
+ + +

Rechercher approximativement le gain limite au-delà duquel la sortie du système bouclé diverge.
4. EXEMPLE N°3
On désire étudier le système de fonction de transfert
K
G(p)
1 p
=
+ τ
bouclé par un gain proportionnel
noté A. K est le gain statique du système et τ ττ τ sa constante de temps (on prendra K = 1 et τ = 1 sec).
Déclarez l'objet système correspondant noté sys3. La fonction de transfert du système bouclé est
notée F(p).







3.1. Modification du comportement : analyses fréquentielle et temporelle.
Afin de voir les effets du bouclage sur la bande passante du système, déterminer, sous Matlab, la
fonction de transfert en boucle fermée à partir des paramètres de la fonction de transfert en boucle
ouverte.
Ensuite, sur la même fenêtre graphique, tracer le diagramme de Bode des 2 fonctions de transfert
(boucle ouverte et boucle fermée). Quel est l’effet du bouclage ? Justifier votre réponse en
comparant les paramètres des deux fonctions de transfert.

G(p)
Y*(p)
+
Y(p)
U(p)
-
+
G(p)
Y*(p)
+
Y(p)
A
U(p) ε(p)
TP AUTOMATIQUE L3 EEA – L3 IE – L3 EIA TP N°2


16
Déterminer la bande passante à –3db et le gain statique de ces deux fonctions de transfert et vérifier
que le produit bande passante*gain statique reste constant.
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 et le
Max Step Size. Déterminer les deux constantes de temps et les gains statiques de chaque réponse.
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 ?

TP AUTOMATIQUE L3 EEA – L3 IE – L3 EIA TP N°3


17

Identification des systèmes.
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 simple utilisable pour la commande.
I. RAPPEL.
I.1. Notion de réglabilité.
Cette notion est principalement utilisée pour les processus ayant un retard pur important. Si on
examine la réponse indicielle 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 : T
A
.

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 T
A
/θ. En pratique, le processus sera d’autant plus facile à régler que ce rapport sera
important (retard pur petit).
I.2. Système à réglabilité élevée.
On considère un système comme ayant un coefficient de réglabilité élevé lorsque le rapport T
A


est
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.
θ
T' T''
y(t)
TP AUTOMATIQUE L3 EEA – L3 IE – L3 EIA TP N°3


18
I.3. Système à faible réglabilité.
On place souvent dans cette catégorie les processus ayant un rapport T
A
/θ inférieur à 4 (limite tirée
de l’expérience industrielle). Si T
A
/θ 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égulateurs 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).
I.4. Système à réglabilité moyenne.
Ce cas correspond en général à 4 < T
A
/θ < 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.
II. MODELISATION EN BOUCLE OUVERTE.
La première étape d’un asservissement commence par une identification du procédé.
L’identification a pour objet de déterminer un modèle du procédé. Ce modèle sera utilisé ensuite
pour déterminer la loi de commande la plus adaptée.
II.1. Caractéristique statique.
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.
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).
TP AUTOMATIQUE L3 EEA – L3 IE – L3 EIA TP N°3


19
Dans le cas de système plus complexe que le premier ordre pur, il est obligatoire d’utiliser une
méthode d’identification plus adaptée.
II.3 Identification des systèmes du premier ordre avec retard : modèle de BROÏDA.
Si l'on recherche un modèle du 1
er
ordre avec retard pur, alors on cherche un modèle de la forme :
( )
p
e
G(p) K
1 p
−θ
=
+ τ

θ est le retard pur du modèle, τ la constante de temps. On détermine les temps t
1
et t
2
tels que:

En utilisant t
1
, t
2
, 0,4 ∆y et 0,28 ∆y, un calcul simple permet d’établir les relations suivantes :
1 2
2 1
2, 8t 1, 8t
5, 5(t t )
θ = −
τ = −

D’où l’expression de G(p) avec les paramètres ainsi déterminés.
II.4. Identification des systèmes d’ordre quelconque à partir de la réponse indicielle.
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, tout comme
celui de Broïda, bien qu’étant une représentation très approximative du procédé à modéliser ont été
couramment utilisés dans l’industrie car ils ne nécessitent pas l’utilisation d’un calculateur.
Aujourd’hui, ces modèles tendent à disparaître car ils sont remplacés par des méthodes
d’identification paramétriques beaucoup plus précise (niveau BAC+5).
Modèle de STREJC.
On cherche un modèle de la forme :
( )
p
n
e
G(p) K
1 p
− θ
=
+ τ

∆y 0,4 ∆y
y(t)
0,28 ∆y
TP AUTOMATIQUE L3 EEA – L3 IE – L3 EIA TP N°3


20
θ 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 : T
A
et T
U
.

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 T
U
et T
A
, on identifie les paramètres θ, τ et n’ de la fonction de transfert, à l’aide du
nomogramme 1 (figure suivante).
A noter que si le rapport T
u
/T
a
est trop faible, il possible de considérer τ δ + = θ ' T et ensuite de
travailler avec T'.
Si (n') n’est pas un nombre entier, poser n ' n = + ε avec n entier (0<ε<1) et écrire θ = ε τ . Si l’on
travaille avec T
u
’ alors T
R
= θ + ετ.
y(t)
TP AUTOMATIQUE L3 EEA – L3 IE – L3 EIA TP N°3


21

Nomogramme 1
TP AUTOMATIQUE L3 EEA – L3 IE – L3 EIA TP N°3


22
III. TRAVAIL PREPARATOIRE OBLIGATOIRE
Déterminer par les méthodes de Broïda et de Strejc les fonctions de transfert qui sont à l'origine de
ces réponses indicielles (une méthode à appliquer par figure et amplitude de l'échelon : 2 Volts).



Temps en seconde
Amplitude
Temps en seconde
Amplitude
TP AUTOMATIQUE L3 EEA – L3 IE – L3 EIA TP N°3


23

Lorsque la réponse indicielle présente un dépassement, les précédentes méthodes ne peuvent pas
être utilisées. Dans ce cas, on considère la réponse indicielle comme étant celle d'un système du 2
nd

ordre caractérisé par un coefficient d'amortissement ξ et une pulsation propre ω
0
. Les relations
donnant la valeur de ces paramètres en fonction des caractéristiques de la réponse indicielle ont été
établies en cours. En utilisant ces relations, identifier le système dont la réponse indicielle est
donnée ci-dessous.

IV. TRAVAIL PRATIQUE
IV.1 - Caractéristique statique

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 Y
0
si U
0
=5V ? Le couple (U
0
, Y
0
)
est-il un point de fonctionnement acceptable ? Si non, en proposer un autre. Justifier votre réponse ?
Déterminer le gain statique du modèle autour du point de fonctionnement.
Temps en seconde
Amplitude
TP AUTOMATIQUE L3 EEA – L3 IE – L3 EIA TP N°3


24

IV.2 - Identification par les méthodes de Broïda et Strejc
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).
La réponse indicielle peut être tracée dans une fenêtre graphique et stockée dans une variable
MATLAB en sélectionnant le bloc "To Workspace" du répertoire "Sinks"). Ainsi, elle pourra être
utilisée pour valider les modèles obtenus.
Après avoir fait un zoom adéquat, sauvegarder la réponse complète. Identifier la fonction de
transfert de ce procédé. Pour cela, on commencera par mesurer le gain statique et ensuite la (les)
constante(s) de temps du système.
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 (utiliser "transport delay" du bloc "continuous" pour le retard si besoin).
Pour cela, il suffit d’appliquer le signal d’entrée sur le procédé et sur le modèle et de tracer les deux
sorties sur le même graphe la réponse indicielle du système avec celle du modèle identifié. Tracer
également sur une autre figure le signal d'erreur.
Pourquoi la valeur du régime permanent du modèle est-elle différente de celle du procédé
correspondant ? Modifier le schéma du modèle de manière à obtenir le même régime permanent.
Identifier ensuite les procédés présents dans les fichiers "proc_2.mdl" en adoptant la même
démarche que précédemment.

IV.3 Identification d'un système électrique
On dispose d'un boîtier contenant trois systèmes électriques :
• un intégrateur
• un système du 1
er
ordre de fonction de transfert : ( )
( )
1
K
G p
1+ p
=
τ

• un système du 2
nd
ordre de fonction de transfert : ( )
2
n
2
2 2
n n
K
G p
p +2 p+
ω
=
ξω ω


On s'intéresse à l'identification des systèmes réels G
1
(p) et G
2
(p). Des blocs, utilisables dans
l'environnement Simulink et permettant de dialoguer avec les convertisseurs de la carte
d'acquisition, ont été développés.
TP AUTOMATIQUE L3 EEA – L3 IE – L3 EIA TP N°3


25
Connecter le procédé électrique sur le boîtier d'extension de la carte en utilisant la voie 2 bipolaire
et charger le fichier "proc_3.mdl". 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.
Pour chacun des systèmes, autour d'un point de fonctionnement nul, appliquer à l'instant t = 5 sec un
échelon de 1 Volt. En déduire la fonction de transfert des deux systèmes.
Tracer ensuite le diagramme de Bode pour chacun des systèmes et retrouver, à partir de ces réponses
fréquentielles les paramètres des deux modèles.
TP AUTOMATIQUE L3 EEA – L3 IE – L3 EIA TP N°4


26

BOUCLE OUVERTE
VS
BOUCLE FERMEE
Pendant ce T.P., on se propose d’étudier le comportement d’un système vis-à-vis de différentes
excitations en boucle ouverte et en boucle fermée. Pour le travail préparatoire, il est demandé
d'établir les expressions littérales avant de donner les valeurs numériques des différents
paramètres.
Considérons le système reliant la sortie y(t) à une sortie désirée y*(t). Ce système est du premier
ordre et a pour fonction de transfert :
( ) G p
p
=
⋅ +
3
0 5 1 .

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 :
A
1+ p τ
G(p)=
Y(p)
K
Y*(p)

Figure 1
Travail préparatoire : Donner le gain statique et la constante de temps de L(p) "système +
correcteur" en boucle ouverte.
I. SYSTEME EN BOUCLE OUVERTE
Deux signaux sont susceptibles d'affecter le fonctionnement du système : ν
u
(p) représentant un
signal de perturbation sur la commande U(p) et ν
y
(p) le signal de perturbation sur la sortie Y(p).






Figure 2
A
K
G(p)
Y(p)
Y
*
(p)
C(p)
U(p)
ν
u
(p) ν
y
(p)
+
+
+ +
TP AUTOMATIQUE L3 EEA – L3 IE – L3 EIA TP N°4


27
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 :


Figure 3
II. SYSTEME EN BOUCLE FERMEE
On reprend maintenant le même système mais cette fois-ci bouclé avec un correcteur proportionnel
de gain A, C(p) = A.









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 :


Figure 5

Donner le nom de chacune de ces fonctions de transfert ?
Y*(p)
ν
y
(p)
ν
u
(p)
Y*(p)
ν
y
(p)
ν
u
(p)
G(p) Y(p)
Y
*
(p)
C(p)
+
-
U(p)
+
ν
u
(p) ν
y
(p)
+
TP AUTOMATIQUE L3 EEA – L3 IE – L3 EIA TP N°4


28
III. COMPARAISON BOUCLE OUVERTE - BOUCLE FERMEE
III.1. Bande passante
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.
a) Quel est l'effet du bouclage sur le diagramme de Bode de la fonction de transfert
Y(p)/Y*(p)?

b) Quel est l'effet du bouclage sur le rejet de perturbation (statique et dynamique) ?.

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.

III.2. Performances en poursuite et en régulation
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) ?
TP AUTOMATIQUE L3 EEA – L3 IE – L3 EIA TP N°4


29
IV. ANALYSE DES PERFORMANCES D'UN SYSTEME BOUCLE
Sous Matlab, créer les fonctions de transferts suivantes :
( )
2
1
G p
p 2 0.3 10p 100
=
+ × × +
et ( )
1
C p
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) Quel 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.
f) Une perturbation d'entrée de type échelon peut-elle être rejetée ?
g) Quel 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 ?


TP AUTOMATIQUE L3 EEA – L3 IE – L3 EIA TP N°5


30

ANALYSE D'UNE BOUCLE FERMEE
STABILITE - PERFORMANCES
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ω)) :
( )
i
i, 180
1
G min
L j

| |
|
∆ =
|
ω
\ ¹

• 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 :
( ) ( ) ( )
min min
M -1- L j 1 L j ∆ = ω = + ω
On peut remarquer que : ( ) ( ) ( )
1
1
min max
min
M 1 L j S j S j


∆ = + ω = ω = ω
• 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 :
i 0dB
i
i
min
ϕ
| |
∆Φ = ∆Φ ω
|
\ ¹

• 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 :
0dB
R
∆Φ
∆ =
ω
.
Dans le cas où il existe plusieurs fréquences de croisement, l'expression de la marge de retard est
:
i 0dB
i
i
0dB
i
min
R
ϕ
| |
∆Φ ω
|
\ ¹
∆ =
ω
.
TP AUTOMATIQUE L3 EEA – L3 IE – L3 EIA TP N°5


31

Figure 1 : Lieu de Nyquist (hodographe) d'une fonction de transfert en boucle ouverte
avec ses marges de stabilité.
2. TRAVAIL PREPARATOIRE
2.1 - Soit la fonction de transfert suivante :
1.98
G(p)
(p 0.9) (p 1) (p 1.1)
=
+ + +

Tracer les 3 diagrammes asymptotiques de G(p) (Bode, Nyquist et Black-Nichols).
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 K
lim
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.
En déduire la marge de retard et déterminer la marge de module.
Re[L(jω)]
Im[L(jω)]
∆Φ
1
G ∆

∆M
ω = ∞
0dB 0dB
i i
; L( j ) 1 ω ω =
TP AUTOMATIQUE L3 EEA – L3 IE – L3 EIA TP N°5


32
Illustration des marges de stabilité :
Réaliser sous Simulink le schéma suivant

Figure 2 : système bouclé à réaliser
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.
3.2 – Application sur le procédé électrique
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 1
er
ordre et du 2
nd
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 1
er
ordre à l'entrée du système du 2
nd
ordre, connecter la
l'entrée du 1
er
ordre au boîtier d'extension de la carte en utilisant la voie 2 bipolaire et la sortie du 2
nd

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.
TP AUTOMATIQUE L3 EEA – L3 IE – L3 EIA TP N°5


33
3.3 – Compromis performances - stabilité
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.

TP AUTOMATIQUE L3 EEA – L3 IE – L3 EIA TP N°6


34

CORRECTION PI, PD, PID
I. RAPPEL SUR L'OBJECTIF D'UN ASSERVISSEMENT.
Une configuration générale de système bouclé avec un retour unitaire est la suivante :





Figure 1 : système en boucle fermée
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ésente 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 :

• une bonne précision statique (régime permanent)
• un faible temps de réponse et dépassement limité
• un bon rejet des perturbations, problème de régulation
• un bon suivi de trajectoire, problème de poursuite
• une bonne stabilité
• une bonne robustesse (garantir le bon fonctionnement sur le procédé réel)
• etc.

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 :
G(p)
Y(p)
Y
*
(p)
C(p)
+
-
U(p)
+
ν
u
(p) ν
y
(p)
+
+
w(p)
TP AUTOMATIQUE L3 EEA – L3 IE – L3 EIA TP N°6


35
II. CARACTERISTIQUES PRINCIPALES DES CORRECTEURS P, PI, PD, PID.
• Correcteur Proportionnel (P): ( ) C p K
p
= .
L’augmentation de K
p
améliore la précision statique et peut aussi améliorer les performances
en dynamique mais un gain trop important peut déstabiliser un système.
• Correcteur Proportionnel et Intégral (PI) : ( )
p
i
1
C p K 1
T p
| |
= +
|
\ ¹

Il supprime l’erreur de position en régime permanent mais diminue les marges de robustesse
car il s’agit d’une action à retard de phase. Il peut déstabiliser le système s'il est mal choisi.
• Correcteur Proportionnel et Dérivé (PD) :
d
p
d
T p
C(p) K 1
T
1 p
N
| |
|
= +
|
|
+
|
\ ¹
.
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 T
d
/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.
• Correcteur Proportionnel, Intégral et Dérivé (PID) :
d
p
d
i
T p 1
C(p) K 1
T
T p
1 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.


Figure 2 : exemple de structure de correcteur PID
y(t)
u
y
*
(t)
ε
TP AUTOMATIQUE L3 EEA – L3 IE – L3 EIA TP N°6


36
Il existe plusieurs structures de P.I.D. Si ces structures ne modifient pas la position des pôles en
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
Le premier système à asservir est le suivant :
( )( )
1
0.5
G (p)
p 1 0.5p 1
=
+ +

Le cahier des charges précise pour le système en boucle fermée :
• L'erreur de position doit être nulle en régime permanent.
• Le dépassement de sa réponse indicielle doit être de 25% au maximum.
• Les marges de stabilité doivent être suffisantes (∆M>-6dB, ∆Φ>40°).
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 1
er
dépassement et le facteur de résonance sont donnés respectivement par les
relations suivantes :
2
/ 1
%
D 100 e
−πξ −ξ
= et
2
1
Q
2 1
=
ξ −ξ
.
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.

TP AUTOMATIQUE L3 EEA – L3 IE – L3 EIA TP N°6


37
III.2. Correction PD
Le deuxième système à asservir est le suivant :
( )
2
4
G (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 :
a) Tracer les différents tracés fréquentiels pour le système G
2
(p).
b) En déduire la valeurs 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.
d) Est-il utile de tracer la réponse indicielle de ce système en boucle fermée ?
e) On doit effectuer la conception du système bouclé avec un correcteur de type proportionnel et
dérivé et à retour unitaire de façon à vérifier les conditions imposées suivantes :
• L'erreur de position doit être nulle en régime permanent.
• Le premier dépassement de sa réponse indicielle ne doit pas dépasser 20%.
• Les marges de stabilité doivent être suffisantes (∆M>-6dB, ∆Φ>40°).
Déterminer les paramètres du correcteur à avance de phase permettant de répondre aux
spécifications. Calculer les marges de stabilité du système corrigé.
f) Vérifier le comportement temporel du système corrigé en utilisant le fichier boucle_fermee.mdl.
et déterminer le temps de réponse à 5%.

III.3. Correction PID
a) Asservir le système G
1
(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.

TP AUTOMATIQUE L3 EEA – L3 IE – L3 EIA TP N°7 & 8


38

Asservissement d'un système thermique.

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 :
La sortie ne doit pas présenter d’erreur de position.
Les marges de gain et de phase doivent avoir des valeurs correctes.
Le dépassement, suite à une consigne de type échelon, doit être inférieur à 10 %.
Le temps de réponse doit être le plus rapide possible.
La mise au point de l’asservissement se fera sous l’environnement Matlab. Il est indispensable de
tester la boucle fermée en simulation avant de l'appliquer sur le système réel.
Remarques
1 - Le fichier aero.mdl contient les blocs de base permettant de connecter le PC au système.
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.

TP AUTOMATIQUE L3 EEA – L3 IE – L3 EIA

TP N° 1

Utilisation d'un logiciel de calcul matriciel et de simulation en automatique :

MATLAB 6.5
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: • • • • • • Mathématique et calcul numérique Développement d'algorithmes Modélisation, simulation et prototypage de systèmes Analyse des données, exploration et visualisation Graphisme scientifique et engineering Développement d'applications notamment interface graphique.

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 : "TOOLBOX".Ces boîtes à outils permettent de traiter de problèmes particuliers des sciences de l'ingénieur: • • • • • Simulink pour la simulation des systèmes Control System toolbox pour la modélisation, l'analyse et la commande "classique" des systèmes dynamiques linéaires stationnaires Mu analysis and synthesis toolbox pour modélisation, l'analyse et la commande "avancée" des systèmes dynamiques linéaires stationnaires Identification toolbox pour l'identification des systèmes dynamiques linéaires stationnaires etc.…

2

TP AUTOMATIQUE L3 EEA – L3 IE – L3 EIA

TP 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, c'est un logiciel très ouvert. Sa limitation est de ne pas en offrir un "tout fait" pour un utilisateur peu expert qui voudrait résoudre un problème de CAO simple sans avoir à faire de développements. Dans le contexte de l'Automatique, MATLAB (MATrix LABoratory) offre un environnement de simulation et de prototypage. Le langage technique puissant est à la fois concis et descriptif, permettant de modéliser des systèmes complexes avec des petites parties de code facile à comprendre. La vaste bibliothèque de fonctions, disponibles comme faisant partie du noyau MATLAB ou par l'intermédiaire de Boîtes à Outils orientées objet, permettent de construire rapidement des simulations et des modèles pour un grand nombre de types d'applications. Les outils de modélisation vont des solveurs d'équations différentielles dans MATLAB aux fonctions spécialisées des Boîtes à Outils pour les statistiques et l'apprentissage et la modélisation de réseaux de neurones. Des fonctions intégrées d'animation et des graphiques rapides à charger permettent de visualiser le comportement d'un modèle pour de l'analyse, des tests, du déboguage, des présentations de résultats. 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. Là où MATLAB offre un environnement de programmation familier, Simulink et Stateflow fournissent un environnement de conception graphique pour modéliser et simuler des systèmes complexes de contrôle, de Traitement du Signal et des systèmes contrôlés par la logique. Bâtis à partir de MATLAB, ces produits peuvent appeler n'importe quelle fonction MATLAB y compris des routines écrites par l'utilisateur, permettant de combiner le meilleur des 2 approches. Même les fonctions des Boîtes à Outils peuvent être imbriquées dans des schémas blocs Simulink. Le nombre de fonctions disponibles dans les différentes bibliothèques étant très grand, nous nous limiterons ici à une description sommaire des TP.

3

Cette fenêtre est divisée en plusieurs parties comme le montre la figure cidessous : Aide ou Détails des variables du workspace Fenêtre de travail : Workspace Répertoire de travail ou Historique des commandes AIDE SUR MATLAB Il y a deux types d’aide sur Matlab 6. une application Windows. 4 .5. Matlab est structuré en sous-répertoires de fonctions élémentaires. 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. s'ouvre alors la fenêtre principale. En cliquant deux fois sur l'icône Matlab. 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.TP AUTOMATIQUE L3 EEA – L3 IE – L3 EIA ACCES A MATLAB TP N° 1 Matlab est. La liste des répertoires est obtenue en tapant help. ici.

matlab\ops . Exemple : zeros(5. matlab\sounds.Three dimensional graphics. I. matlab\elfun. L’instruction « lookfor zeros » permet d’obtenir la liste d’instruction qui on un rapport avec la fonction zeros. Les éléments de cette matrice sont logés dans une variable provisoire appelée ans (answer). matlab\matfun .Sparse matrix functions.Operators and special characters. matlab\sparfun.Elementary math functions.Sound processing functions. matlab\strfun. matlab\demos .2) créera une matrice de 5 lignes et deux colonnes remplies de zéros.DDE Toolbox.Specialized math functions.General purpose graphics functions. ZEROS(M. 5 .N) or ZEROS([M.Low-level file I/O functions. matlab\general.nonlinear numerical methods.Specialized matrices.numerical linear algebra. matlab\elmat TP N° 1 . UTILISATION ELEMENTAIRE Dans une première approche. il suffit de taper help <nom_répertoire> : help elmat Pour obtenir des renseignements sur une fonction particulière.N]) is an M-by-N matrix of zeros.Character string functions. matlab\polyfun.Matrix functions .Polynomial and interpolation functions.The MATLAB Expo and other demonstrations. matlab\specfun.TP AUTOMATIQUE L3 EEA – L3 IE – L3 EIA matlab\datafun Data analysis and Fourier transform functions. ZEROS(SIZE(A)) is the same size as A and all zeros. il suffit de taper : » help zeros ZEROS All zeros.Language constructs and debugging. matlab\funfun -Function functions . mais cette variable sera de nouveau utilisée par la fonction suivante.Elementary matrices and matrix manipulation. matlab\color .General purpose commands. Pour obtenir le contenu d'un répertoire.Two dimensional graphics. matlab\graphics. par exemple zeros qui est contenue dans le bloc elmat. matlab\plotxy. matlab\lang . matlab\iofun. matlab\plotxyz. matlab\specmat. matlab\dde. ZEROS(N) is an N-by-N matrix of zeros. on peut utiliser les fonctions de Matlab de manière séquentielle pour résoudre un problème.Color control and lighting model functions.

Quelle est la différence entre les deux ? Résolution graphique : Pour prendre contact avec les représentations graphiques de Matlab. Chercher la même solution en utilisant l'une des divisions '/' ou '\' (help slash). • La variable soit effacée par l'instruction clear yz (utiliser help). nous choisissons un domaine de variation de x = [-3. La liste des variables en mémoire est obtenue par les commandes who (simple) ou whos (détaillée). 6 .-1 1]. Saisir " x=[-3:0.". En utilisant l’aide et la fonction linspace. les éléments sont entrés ligne par ligne.  3x + 2 y =1 Cherchons à résoudre le système :  − x + y = 5 Sous la forme matricielle :  3 2  x  1 − 1 1  ⋅  y  = 5       AX=B −1 La solution de ce problème est obtenue en calculant X = A B . 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: • Matlab soit fermé. saisir la matrice B et calculer la solution du problème en utilisant l'instruction inv (help inv).TP AUTOMATIQUE L3 EEA – L3 IE – L3 EIA TP N° 1 Un résultat presque identique est obtenu en utilisant : yz=zeros(5. • Les éléments suivants sont obtenus par incrémentation de 0. • Ce nom de variable soit utilisé pour stocker une autre valeur.5 ⋅ x + 0. • Le dernier élément est le dernier nombre obtenu ≤ 3. chaque ligne étant séparée par un ". Saisir la matrice A en écrivant A=[3 2 .5 du système en visualisant l'intersection des deux droites :  y = x + 5 Connaissant déjà la solution.2) mais dans ce cas. Le ".".2:3]. 3]. Les crochets délimitent la matrice. De la même manière. On crée ainsi un vecteur tel que : • Son premier élément est -3. Résolution d'un système d'équations linéaires.2. nous allons chercher la solution  y = −1. 2. Résolution directe : 1. recréer la variable x." après le "]" permet de supprimer l'affichage du résultat à l'écran.

Rechercher les coordonnées du point d'intersection avec : 1. En changeant les échelles du graphe : axis. Avec la fonction plot.). UTILISATION LIEE A L'AUTOMATIQUE Matlab utilise pour les systèmes LTI (Linéaire et Invariant dans le Temps) une représentation objet. II. En utilisant le zoom graphique. grid. nous ne verrons que la représentation par fonction de transfert. Saisie des fonctions de transfert La fonction de transfert G1 ( p ) = p+2 3p + 6 p + 1 2 sera mise en mémoire grâce à l’instruction : sys1 = tf([1 2]. ginput. état. 2. représenter les deux courbes sur le même graphique.TP AUTOMATIQUE L3 EEA – L3 IE – L3 EIA TP N° 1 Calculer pour chaque équation respectivement les vecteurs y1 et y2. >>get(sys1) num: {[0 1 2]} den: {[3 6 1]} Variable: 's' Ts: 0 ioDelay: 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. zéros-pôles-gain.. 1... Cette représentation est commune pour tous les types de représentation (fonction de transfert.. Ici.[3 6 1])... 3.). Utiliser les possibilités d'annotation graphique pour personnaliser votre graphe (title. 7 . L’objet système sys1 est une structure comme le montre la réponse du logiciel à l’instruction "get(sys1). Le deuxième contient les coefficients du dénominateur dans l’ordre des puissances décroissantes de p. Le premier vecteur contient les coefficients du numérateur dans l’ordre des puissances décroissantes de p.

G2 = 0. Opération sur les fonctions de transfert Il est possible d’assembler 2 fonctions de transfert entre elles : En série : sys1 sys2 >>sys_serie = sys1 * sys2. p +1 G4 = 2. 2. A noter que les champs num et den correspondent à des cellules (cell en langage Matlab). vérifier le résultat.5 p + 1 2 3.5 .den{1}". On peut obtenir le vecteur contenant les éléments du dénominateur en utilisant l’opération de vectorisation : "sys1. Ce qui correspond à demander la valeur de la ‘1’ cellule du champ ‘den’ de la structure ‘sys’. affichage des fonctions de transfert 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 Entrer les fonctions de transfert suivantes et sauvegarder le numérateur et le dénominateur de chaque système dans des variables indépendantes. 0. Il est possible de récupérer le numérateur et le dénominateur d’une fonction de transfert à l’aide de la fonction "tfdata". sys2 8 . En parallèle : >>sys_para=sys1 + sys2.TP AUTOMATIQUE L3 EEA – L3 IE – L3 EIA TP N° 1 Le paramètre Ts = 0 précise qu‘il s’agit d’un système continu. il faut saisir : "sys1. sys1 Σ Dans les deux cas.05 p + 1 G3 = 1 .5 p + 0. le champ ioDelay renseigne sur la valeur d’un retard pur éventuel. aussi pour obtenir la valeur du dénominateur de sys.den{:}".ioDelay" (analogie avec les structures du langage C). Pour obtenir la valeur du retard de l’objet sys. il faut taper : "sys1. Vérifier leurs propriétés à l’aide des instructions précédentes.

. • La réponse impulsionnelle (e(t) = δ(t)) à l’aide de la fonction >>impulse(sys1). 9 . 5. il existe la fonction feedback qui calcule la fonction de transfert en boucle fermée du système présenté ci-dessous. 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é. La variable sign définit le type de bouclage (contre réaction : . Une fonction de transfert est alors complètement décrite par son module et sa phase. La réponse impulsionnelle et la réponse indicielle sont déjà programmées dans des fonctions. Tracer la réponse impulsionnelle et indicielle de sys2 et déterminer de manière graphique la valeur de la sortie en régime permanent et la valeur de la constante de temps. la fonction le déterminera automatiquement.régime harmonique. Vérifier ces valeurs avec celles attendues. • La réponse indicielle (e(t) = u(t)) à l’aide de la fonction >>step(sys1). En cliquant sur le tracé avec le bouton droit. Matlab calcule la réponse en fréquence d’une fonction de transfert et se sert de cette réponse pour tracer les diverses représentations utilisées en automatique. Tracer ces deux réponses pour sys4. Matlab peut calculer la réponse temporelle d’une fonction de transfert à une entrée.TP AUTOMATIQUE L3 EEA – L3 IE – L3 EIA TP N° 1 En boucle fermée : Pour calculer la fonction de transfert en boucle fermée.par défaut sinon + pour une réaction) : + Σ 4. La représentation harmonique du système est obtenue en appliquant un signal sinusoïdal à l’entrée du système pour toutes les fréquences et en posant p=jw. Mesurer la pseudo période obtenue pour la réponse indicielle et vérifier qu’elle correspond bien à celle attendue. De même si l’on ne précise pas le vecteur temps. Représentation temporelle sys1 sys2 A partir d’une fonction de transfert. Représentation fréquentielle . 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.

Comparer les résultats aux valeurs théoriques. Faire le même travail pour sys4. Faire le même travail pour sys4. la pulsation de coupure wc à -3 dB. Matlab est aussi un langage de programmation qui dispose de plusieurs instructions de saut conditionnel (if. while. for i=1 :1000 EPS=EPS/2 if (1+EPS)<=1 EPS=EPS*2 break 10 . elseif. la pulsation de coupure wc à -3 dB. Utiliser la fonction nichols pour tracer le diagramme de sys2. Rappelons que l’on porte la phase en degré en abscisse et le module en dB en ordonnée. Diagramme de Black-Nichols : Cette représentation est plus simplement appelée représentation de Black. Utiliser la fonction nyquist pour tracer le diagramme de sys2. Faire le même travail pour sys4. frequency signifie la pulsation en rad/s (ce n'est pas la fréquence en Hertz) et qu’il est conseillé d’utiliser la fonction "ngrid". Utiliser la fonction Bode pour tracer le diagramme de sys2. Mesurer le gain statique (module de G2 pour w→0). Diagramme de Nyquist : La représentation de Nyquist représente la fonction de transfert dans l’espace complexe. Exemple : Que représente EPS dans la suite d’instructions suivantes? EPS=1 . ce lieu est paramétré avec la pulsation. else. end) et de boucle du type : for. la pente de la courbe de gain lorsque w >> wc. Ce lieu est paramétré en pulsation. Mesurer le gain statique (module de G2 pour w→ 0).TP AUTOMATIQUE L3 EEA – L3 IE – L3 EIA TP N° 1 A noter qu'en anglais. Comparer les résultats aux valeurs théoriques. III. Diagramme de Bode : Le diagramme de Bode représente le module en dB et la phase en degrés en fonction du logarithme de la pulsation. PROGRAMMATION ET FUNCTIONS M-FILE. Mesurer le gain statique (module de G2 pour w → 0).

Dans ce fichier. si l’on veut recommencer avec un nombre d'itérations de 2000. on prendra les valeurs suivantes : τ = 1s .P. Dans le menu Fichier. sauvegarder les différentes variables que vous avez utilisées avec la commande save workspace as dans le menu file. n°2. sauvegarder le fichier et exécuter le sous Matlab en écrivant le nom du fichier sous le workspace.1 et la pulsation propre est de 10 rd/s.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.m. . Une fois ce TP terminé. puis exécuter ce fichier. il est possible d’enregistrer une série d’instructions dans un fichier "nom_fic. étudier les différents tracés fréquentiels et temporels des fonctions de transfert suivantes : 1 1+ jωτ 1+ jω 4τ . Pour les autres systèmes. il faut réécrire la série d’instructions pour obtenir le résultat. le facteur d’amortissement est égal à 0. Pour éviter ce genre de problème. NOM DE LA SAUVEGARDE : . jω 1+ jω4τ 1+ jωτ 2 jω ( jω) + 2ξω0 ( jω) +ω0 2 ( 2 ω0 ) Pour le système du deuxième ordre avec intégrateur. Utilisation des M-File : A l’aide d’une M-File. .m" et de vérifier qu’il ne porte pas un nom identique à une fonction MATLAB. retaper l’exemple précédent. Ces différentes variables vous resserviront dans le T. Attention : un fichier Matlab (extension . N'oublier pas de noter le nom de votre sauvegarde dans ce cahier pour ne pas l'oublier.mat 11 .TP AUTOMATIQUE L3 EEA – L3 IE – L3 EIA TP N° 1 end end Dans l’exemple précédent. ouvrir un nouveau fichier . Déterminer le système possédant la plus grande bande passante et le temps de réponse à 5 % le plus petit.

etc. (Continuous. de calculer les réponses de fonctions de transfert représentant des systèmes physiques. Celle-ci permet grâce de à réaliser une une simulation fenêtre graphique où l'on réalise un schémabloc. Afin d'améliorer encore plus la convivialité de certaines simulations. Ce logiciel permet. il faut lancer Matlab et taper simulink dans la fenêtre de travail de Matlab ou cliquer sur l'icône . une Toolbox particulière à été créée : SIMULINK. Discrete. Celle-ci est représentée sur la figure ci-contre. Pour accéder à la fenêtre de commande de Simulink.) ainsi que la possibilité d'utiliser des variables définies sous Matlab.TP AUTOMATIQUE L3 EEA – L3 IE – L3 EIA TP N° 2 Utilisation d'un logiciel graphique de simulation de systèmes physiques : SIMULINK / MATLAB Matlab (voir TP 1) est un logiciel très performant pour le calcul numérique et la visualisation. Sinks. Il est également possible de retourner des résultats numériques sous Matlab. 12 . entre autre. On dispose d'un certain nombre de bibliothèques de SIMULINK Sources.

Réalisation d'une simulation 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. les signaux appliqués. Une fois les éléments essentiels présents. Réalisation d'un schéma de simulation Une fois la commande de Simulink ouverte. Sauvegarder de temps en temps le schéma dans votre répertoire de travail. Ces paramètres sont utilisés par l'algorithme de simulation qui est un algorithme d'intégration numérique. La manière dont Matlab les exige est indiquée en commentaire dans la boite d'entrée qui s'ouvre à cet effet. il sera ainsi possible d'aller le rechercher en cas de fausse manipulation.mat") réalisée à la fin du TP en tapant load <nom du fichier>. On peut utiliser aussi comme paramètres des variables préalablement définies dans le workspace (l'espace de travail) de Matlab. toujours en maintenant la souris cliquée. c'est-à-dire tracer des connexions entre la sortie du premier bloc et l'entrée du deuxième bloc. EXEMPLE N°1 . PRESENTATION DU SIMULATEUR 1.). il faut réunir ses éléments dans la fenêtre graphique correspondante au fichier courant. il faut ouvrir une bibliothèque de simulink (Continuous. faire glisser l’élément ainsi sélectionné vers votre fenêtre graphique (NE JAMAIS FAIRE LA MANIPULATION INVERSE). Pour réaliser un schéma.mdl". Définition des paramètres des éléments. les échelles par défaut des graphes des signaux observés. instant de fin. Pour cela. 13 . De manière à retrouver les variables que vous avez définies dans le TP. choisir l'élément intéressant dans cette bibliothèque en cliquant dessus avec la souris et en maintenant la souris cliquée. Les fichiers simulink possèdent l'extension ". Il est possible de choisir son algorithme de simulation mais sauf cas particulier. 3. 2. On définit ainsi les paramètres des fonctions de transfert. Sinks. n°1. Discrete. etc. il suffit de les lier entre eux avec la souris. etc. on utilisera "ode45 Dormand- Prince". Sources. Ensuite. lancer la simulation en cliquant sur l'icône 2..TP AUTOMATIQUE L3 EEA – L3 IE – L3 EIA TP N° 2 I. charger votre fichier de sauvegarde (extension ". Ceux-ci peuvent être définis en cliquant deux fois sur l'élément considéré. il est possible d'ouvrir un fichier où de déclarer un nouveau sous la rubrique "File".

Modifier les paramètres du bloc "Transfert Fcn" de manière à utiliser le système sys2 à partir des champs de l'objet système sys2. Relier enfin la sortie du multiplexeur au Scope. Il suffit d’indiquer le nom du système mémorisé dans le workspace de Matlab. 3. ajouter le bloc "To Workspace" dans le schéma. Ensuite relier les différents éléments avec la souris. une fonction de transfert sous la rubrique "Continuous" et un scope dans la bibliothèque "Sinks". De manière à visualiser le signal d'entrée sur la même figure. Il faut donc modifier ses paramètres pour le transformer en comparateur. utiliser un multiplexeur en sélectionnant l'objet "Mux" de la bibliothèque "Signals&Systems" et relier le signal d'entrée et de sortie de la fonction de transfert.TP AUTOMATIQUE L3 EEA – L3 IE – L3 EIA TP N° 2 Ouvrir ensuite un nouveau fichier sous Simulink. Ce bloc est présent dans le répertoire "Control System toolbox". De manière à visualiser les signaux sous Matlab. Ajuster les paramètres de la simulation pour obtenir une réponse indicielle complète. Pour récupérer le temps de simulation. une fois terminé. Prendre un générateur d'échelon sous la rubrique "Sources". EXEMPLE N° 2 Pour réaliser un système bouclé. utiliser le bloc "Clock" puis tracer sous Matlab la réponse du système en fonction du temps. Le schéma. On peut aussi utiliser l'option "Workspace I/O" dans les paramètres de simulation de Simulink. introduire le comparateur en sélectionnant l'objet "Sum" de la bibliothèque "Math". 14 . l'objet sélectionné est un sommateur. Il est possible de manipuler aussi des blocs contenant un objet système. 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). doit correspondre à celui de la figure ci-dessous. Remplacer le bloc "Transfert Fcn" par le bloc "LTI System" de la bibliothèque "Control System toolbox". Vérifier le fonctionnement. Par défaut.

Reproduire le système bouclé de la figure précédente. la fonction de transfert en boucle fermée à partir des paramètres de la fonction de transfert en boucle ouverte. EXEMPLE N°3 On désire étudier le système de fonction de transfert G(p) = K bouclé par un gain proportionnel 1+ τ p noté A. 2 – Introduire un gain proportionnel en sélectionnant l'objet "gain" de la bibliothèque "Math" avant la fonction de transfert dans la chaîne directe.1. La fonction de transfert du système bouclé est notée F(p). déterminer. Modifier les paramètres du bloc "fonction de transfert" afin de définir la fonction de transfert suivante : sys5 = 10 p + 6 p + 11p + 6 3 2 Rechercher approximativement le gain limite au-delà duquel la sortie du système bouclé diverge. Quel est l’effet du bouclage ? Justifier votre réponse en comparant les paramètres des deux fonctions de transfert. Déclarez l'objet système correspondant noté sys3. Afin de voir les effets du bouclage sur la bande passante du système. tracer le diagramme de Bode des 2 fonctions de transfert (boucle ouverte et boucle fermée). Ensuite. K est le gain statique du système et τ sa constante de temps (on prendra K = 1 et τ = 1 sec). sous Matlab.TP AUTOMATIQUE L3 EEA – L3 IE – L3 EIA TP N° 2 Y*(p) + - U(p) G(p) + Y(p) 1 . Modification du comportement : analyses fréquentielle et temporelle. 4. 15 . Y*(p) ε(p) U(p) A G(p) + Y(p) 3. sur la même fenêtre graphique.

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). il sera peut être nécessaire de modifier la précision de l’algorithme de simulation notamment le Min et le Max Step Size. Le système étant très rapide. Déterminer les deux constantes de temps et les gains statiques de chaque réponse. refaire ces manipulations en augmentant ou en diminuant sensiblement sa valeur.TP AUTOMATIQUE L3 EEA – L3 IE – L3 EIA TP N° 2 Déterminer la bande passante à –3db et le gain statique de ces deux fonctions de transfert et vérifier que le produit bande passante*gain statique reste constant. Pour mettre en évidence les effets du gain A. Comment évoluent les constantes de temps associées aux deux systèmes lorsque A devient très grand ou très petit ? 16 .

• un temps de décollement : T''. • un temps de montée : TA. Ce retard θ correspond en fait au délai nécessaire pour qu’une commande ait une action significative sur la sortie. 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. y(t) T' T'' θ La somme des temps de retard et de décollement est notée θ. L’objet de ce TP est de montrer la démarche suivie pour modéliser un procédé. on peut distinguer trois phases : • un temps de retard : T'. I. Cette notion est principalement utilisée pour les processus ayant un retard pur important. La méthodologie qui va être utilisée est celle que l’on retrouve généralement dans l’industrie. I. Si on examine la réponse indicielle d’un processus sans intégrateur. Système à réglabilité élevée. 17 .TP AUTOMATIQUE L3 EEA – L3 IE – L3 EIA TP N° 3 Identification des systèmes. RAPPEL. relativement sommaire. Notion de réglabilité. cette méthode. I. le processus sera d’autant plus facile à régler que ce rapport sera important (retard pur petit). On appelle réglabilité le rapport TA/θ. a le mérite de donner un modèle expérimental simple utilisable pour la commande. En pratique. On considère un système comme ayant un coefficient de réglabilité élevé lorsque le rapport TA/θ est supérieur à 10.1.2. Bien que le modèle obtenu soit assez peu satisfaisant.

Ce modèle sera utilisé ensuite pour déterminer la loi de commande la plus adaptée. 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. 18 .TP AUTOMATIQUE L3 EEA – L3 IE – L3 EIA I. sont fournies à titre indicatif et doivent être relevées si l’on élève les exigences de précision sur le processus. MODELISATION EN BOUCLE OUVERTE.3. en général. être régulés correctement par de simples régulateurs de type P. A noter que si le système possède un temps de réponse relativement long.2. il est très facile d’identifier un premier ordre. II. Comme ces systèmes présentent la particularité d’avoir une tangente verticale à l’origine. 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é. Système à réglabilité moyenne.D. La première étape d’un asservissement commence par une identification du procédé. Ce système atteindra alors asymptotiquement une valeur finale constante en sortie. 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 τ. De tels procédés ne peuvent pas. Système à faible réglabilité. Le gain statique correspond à la variation de la sortie divisée par la variation de l’entrée (en régime permanent). 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. L’identification a pour objet de déterminer un modèle du procédé.I. Ces valeurs. Identification des systèmes du premier ordre à partir de leur réponse indicielle. l’obtention de cette caractéristique peut prendre un certain temps. 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.4. TP N° 3 On place souvent dans cette catégorie les processus ayant un rapport TA/θ inférieur à 4 (limite tirée de l’expérience industrielle). En imposant différentes valeurs pour la commande. II. on a de grandes chances de déstabiliser le procédé. 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). II. Ce cas correspond en général à 4 < TA/θ < 10. tirées de l’expérience. 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). Caractéristique statique. Si TA/θ est faible. I.1.

II.4. 5 (t 2 − t1 ) D’où l’expression de G(p) avec les paramètres ainsi déterminés.3 Identification des systèmes du premier ordre avec retard : modèle de BROÏDA. le système est donc apériodique. alors on cherche un modèle de la forme : G(p) = K e −θ p (1 + τ p ) θ est le retard pur du modèle. Ce modèle. Aujourd’hui. il est possible de modéliser le système sous la forme d’un modèle de STREJC. t2. τ la constante de temps. II.8 t 2 τ = 5.TP AUTOMATIQUE L3 EEA – L3 IE – L3 EIA TP N° 3 Dans le cas de système plus complexe que le premier ordre pur. Modèle de STREJC. On cherche un modèle de la forme : G(p) = K e− θ p (1 + τ p )n 19 . bien qu’étant une représentation très approximative du procédé à modéliser ont été couramment utilisés dans l’industrie car ils ne nécessitent pas l’utilisation d’un calculateur. Identification des systèmes d’ordre quelconque à partir de la réponse indicielle. tout comme celui de Broïda.8 t1 − 1. On détermine les temps t1 et t2 tels que: y(t) ∆y 0. il est obligatoire d’utiliser une méthode d’identification plus adaptée.4 ∆y et 0. Dans ce cas. Si la réponse ne présente pas de dépassement.28 ∆y. un calcul simple permet d’établir les relations suivantes : θ = 2. ces modèles tendent à disparaître car ils sont remplacés par des méthodes d’identification paramétriques beaucoup plus précise (niveau BAC+5).4 ∆y 0. Si l'on recherche un modèle du 1er ordre avec retard pur.28 ∆y En utilisant t1. 0.

on identifie les paramètres θ. 20 . on trace. on considère que la réglabilité du système ne doit pas être trop faible. il possible de considérer θ = T ' + δ τ et ensuite de travailler avec T'. n l’ordre du système. y(t) Pour ce type de modèle. on évalue deux paramètres : TA et TU. τ la constante de temps. Ensuite comme sur la figure ci-dessous. Si (n') n’est pas un nombre entier. Pour identifier ces trois paramètres. poser n ' = n + ε avec n entier (0<ε<1) et écrire θ = ε τ . A partir de TU et TA. Si l’on travaille avec Tu’ alors TR = θ + ετ. la tangente au point d’inflexion. à l’aide du nomogramme 1 (figure suivante). sur la réponse indicielle.TP AUTOMATIQUE L3 EEA – L3 IE – L3 EIA TP N° 3 θ est le retard pur du système. A noter que si le rapport Tu/Ta est trop faible. τ et n’ de la fonction de transfert.

TP AUTOMATIQUE L3 EEA – L3 IE – L3 EIA TP N° 3 Nomogramme 1 21 .

TP AUTOMATIQUE L3 EEA – L3 IE – L3 EIA III. TRAVAIL PREPARATOIRE OBLIGATOIRE TP N° 3 Déterminer par les méthodes de Broïda et de Strejc les fonctions de transfert qui sont à l'origine de ces réponses indicielles (une méthode à appliquer par figure et amplitude de l'échelon : 2 Volts). Amplitude Temps en seconde Amplitude Temps en seconde 22 .

1 . on considère la réponse indicielle comme étant celle d'un système du 2nd ordre caractérisé par un coefficient d'amortissement ξ et une pulsation propre ω0.Caractéristique statique A partir du fichier "proc_1. en proposer un autre. un schéma permettant de relever la caractéristique statique point par point du procédé à identifier.mdl" présent dans votre répertoire de travail. Quelle est la valeur de la sortie Y0 si U0=5V ? Le couple (U0. Relever la caractéristique statique en envoyant une commande constante sur le procédé. les précédentes méthodes ne peuvent pas être utilisées. 23 .TP AUTOMATIQUE L3 EEA – L3 IE – L3 EIA TP N° 3 Lorsque la réponse indicielle présente un dépassement. Justifier votre réponse ? Déterminer le gain statique du modèle autour du point de fonctionnement. Déterminer la plage de linéarité du système. identifier le système dont la réponse indicielle est donnée ci-dessous. Y0) est-il un point de fonctionnement acceptable ? Si non. Amplitude Temps en seconde IV. Dans ce cas. réaliser avec SIMULINK. TRAVAIL PRATIQUE IV. Les relations donnant la valeur de ces paramètres en fonction des caractéristiques de la réponse indicielle ont été établies en cours. En utilisant ces relations.

il suffit d’appliquer le signal d’entrée sur le procédé et sur le modèle et de tracer les deux sorties sur le même graphe la réponse indicielle du système avec celle du modèle identifié. réaliser une réponse indicielle autour du point de fonctionnement choisi (l’amplitude est à déterminer en fonction de la caractéristique statique). Identifier la fonction de transfert de ce procédé. Pourquoi la valeur du régime permanent du modèle est-elle différente de celle du procédé correspondant ? Modifier le schéma du modèle de manière à obtenir le même régime permanent. Des blocs. IV. utilisables dans l'environnement Simulink et permettant de dialoguer avec les convertisseurs de la carte d'acquisition.TP AUTOMATIQUE L3 EEA – L3 IE – L3 EIA TP N° 3 IV. Une fois le modèle établi.Identification par les méthodes de Broïda et Strejc Toujours avec "proc_1. Ainsi. ont été développés. Tracer également sur une autre figure le signal d'erreur. on commencera par mesurer le gain statique et ensuite la (les) constante(s) de temps du système. Identifier ensuite les procédés présents dans les fichiers "proc_2. Pour cela. La réponse indicielle peut être tracée dans une fenêtre graphique et stockée dans une variable MATLAB en sélectionnant le bloc "To Workspace" du répertoire "Sinks"). elle pourra être utilisée pour valider les modèles obtenus. vérifier sur le même graphique la similitude entre les réponses indicielles du procédé et du modèle (utiliser "transport delay" du bloc "continuous" pour le retard si besoin). sauvegarder la réponse complète.2 .mdl".mdl" en adoptant la même démarche que précédemment. Pour cela. 24 .3 Identification d'un système électrique On dispose d'un boîtier contenant trois systèmes électriques : • • • un intégrateur un système du 1er ordre de fonction de transfert : G1 ( p ) = K (1+τ p ) K ω2 n p 2 +2ξωn p+ω2 n un système du 2nd ordre de fonction de transfert : G 2 ( p ) = On s'intéresse à l'identification des systèmes réels G1(p) et G2(p). Après avoir fait un zoom adéquat.

mdl". Pour chacun des systèmes.TP AUTOMATIQUE L3 EEA – L3 IE – L3 EIA TP N° 3 Connecter le procédé électrique sur le boîtier d'extension de la carte en utilisant la voie 2 bipolaire et charger le fichier "proc_3. appliquer à l'instant t = 5 sec un échelon de 1 Volt. 25 . Tracer ensuite le diagramme de Bode pour chacun des systèmes et retrouver. En déduire la fonction de transfert des deux systèmes. 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. autour d'un point de fonctionnement nul. à partir de ces réponses fréquentielles les paramètres des deux modèles.

on se propose d’étudier le comportement d’un système vis-à-vis de différentes excitations en boucle ouverte et en boucle fermée. il est demandé d'établir les expressions littérales avant de donner les valeurs numériques des différents paramètres.5 ⋅ p + 1 Travail préparatoire : Donner le gain statique (K) et la constante de temps (τ) du système..P. νu(p) Y*(p) C(p) + Figure 2 26 U(p) + G(p) + νy(p) + Y(p) . I. L'objectif est de comparer. on a donc le schéma-bloc suivant : Y*(p) K A G(p)= 1+ τ p K A Y(p) Figure 1 Travail préparatoire : Donner le gain statique et la constante de temps de L(p) "système + correcteur" en boucle ouverte. Considérons le système reliant la sortie y(t) à une sortie désirée y*(t). le comportement du système en boucle ouverte et ensuite celui du système en boucle fermée corrigé par un correcteur proportionnel A.TP AUTOMATIQUE L3 EEA – L3 IE – L3 EIA TP N° 4 BOUCLE OUVERTE VS BOUCLE FERMEE Pendant ce T. SYSTEME EN BOUCLE OUVERTE Deux signaux sont susceptibles d'affecter le fonctionnement du système : νu(p) représentant un signal de perturbation sur la commande U(p) et νy(p) le signal de perturbation sur la sortie Y(p). Ce système est du premier ordre et a pour fonction de transfert : G( p) = 3 0. tout d'abord. On prendra A=2 pour les questions suivantes. Pour le travail préparatoire. En boucle ouverte.

SYSTEME EN BOUCLE FERMEE On reprend maintenant le même système mais cette fois-ci bouclé avec un correcteur proportionnel de gain A. Ecrire le schéma bloc précédent sous la forme suivante : Y*(p) νy(p) νu(p) Figure 3 II. νu(p) et νy(p). Donner les constantes de temps et les gains statiques des différentes fonctions de transfert.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). Ecrire le schéma bloc précédent sous la forme suivante : Y*(p) νy(p) νu(p) Figure 5 Donner le nom de chacune de ces fonctions de transfert ? 27 . C(p) = A. νu(p) U(p) + C(p) + + G(p) Y(p) νy(p) Y*(p) Figure 4 Travail préparatoire : Etablir l’expression littérale de Y(p) en fonction de Y*(p). Donner les constantes de temps et les gains statiques des différentes fonctions de transfert. νu(p) et νy(p).

Réaliser avec simulink et dans la même fenêtre. en superposant le diagramme en boucle ouverte et en boucle fermée pour chaque fonction de transfert. Justifier la différence de comportement de la sortie avec l'excitation précédente (20 rad/s) ? 28 . Pour chaque essai. Relier la sortie de ces deux systèmes à un scope pour les comparer. le système en boucle ouverte (figure 2) et en boucle fermée (figure 4). 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. νu(t) et νy(t)).1. Bande passante Travail pratique : Tracer les diagrammes de Bode reliant les signaux Y*(p). III. 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. prendre un échelon unitaire comme signal d'excitation. prendre un signal sinusoïdal de pulsation 20 rad/s et d'amplitude unitaire. a) Quel est l'effet du bouclage sur le diagramme de Bode de la fonction de transfert Y(p)/Y*(p)? b) Quel est l'effet du bouclage sur le rejet de perturbation (statique et dynamique) ?. Retrouver ces résultats par le calcul (théorème de la valeur finale). a) Excitation échelon : successivement pour chaque entrée (y*(t). νu(t) et νy(t) sont des signaux échelons ou sinusoïdaux. b) Excitation sinusoïdale : successivement pour chaque entrée (y*(t). νu(p) et νy(p) à Y(p).TP AUTOMATIQUE L3 EEA – L3 IE – L3 EIA TP N° 4 III.2. νu(t) et νy(t)). c) D'après ces courbes.BOUCLE FERMEE III. COMPARAISON BOUCLE OUVERTE . on comparera l'amplitude de la sortie en boucle ouverte et en boucle fermée. refaire les mêmes essais avec un signal sinusoïdal de pulsation 1 rad/s et d'amplitude unitaire. Pour chaque essai. Performances en poursuite et en régulation Travail pratique : l'objectif est d'étudier le comportement de y(t) lorsque y*(t). 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.

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). ANALYSE DES PERFORMANCES D'UN SYSTEME BOUCLE Sous Matlab. b) Quel va être l'amplitude en sortie d'une perturbation de sortie sinusoïdale de pulsation ωs = 100 rad/s et 0. 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).TP AUTOMATIQUE L3 EEA – L3 IE – L3 EIA TP N° 4 IV. f) Une perturbation d'entrée de type échelon peut-elle être rejetée ? g) Quel va être l'amplitude en sortie d'une perturbation d'entrée sinusoïdale de pulsation ωs = 100 rad/s et 0. 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. créer les fonctions de transferts suivantes : G ( p) = 1 p + 2 × 0. quels sont les avantages de la boucle fermée sur la boucle ouverte ? 29 .3 ×10 p + 100 2 et C ( p ) = 1 . On considère que le système étudié est soumis à une perturbation d'entrée et une perturbation de sortie. A partir de ces indications et compte tenu des diagrammes de Bode obtenus. CONCLUSION Après cette étude. p Sachant que G(p) représente le système à asservir et C(p) le correcteur.1 rad/s ? V.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.

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 = . Cette valeur correspond à un module de 1 (0 dB) et une phase de -180°. 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. −180 )      • La marge de module ∆Μ est la distance minimale entre le point critique et le lieu du système. : ∆R = ω0dB i 30 . c'est la valeur qu'il faut retrancher à la phase pour qu'elle soit égale à -180°.TP AUTOMATIQUE L3 EEA – L3 IE – L3 EIA TP N° 5 ANALYSE D'UNE BOUCLE FERMEE STABILITE . Ce critère de stabilité est plus global que la marge de gain. 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.L ( jω) ) On peut remarquer que : min = 1 + L ( jω ) min ∆M = 1 + L ( jω) min = S−1 ( jω) min = S ( jω) max −1 • La marge de phase ∆φ : pour un module égal à 1 (ω = ω0dB). 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. c'est la valeur du coefficient (noté ∆G) par lequel il faut multiplier le module pour que celui-ci soit égal à 1. ω0dB Dans le cas où il existe plusieurs fréquences de croisement. Dans le cas où il existerait plusieurs fréquences de croisement. L'expression de cette marge est donnée par : ∆M = ( -1. l'expression de la marge de retard est   min ∆Φ ϕi  ω0dB  i  i . On définit : • La marge de gain ∆G : pour une phase de -180°.PERFORMANCES 1.

Soit la fonction de transfert suivante : G(p) = 1. Si ce système est bouclé avec un gain proportionnel. tracer les diagrammes de Bode. 2.98 (p + 0. Nyquist et BlackNichols de G(p).2 – Afin de faciliter les calculs.1 . calculer les marges de gain et de phase ainsi que les pulsations associées à ces marges. Nyquist et Black-Nichols).1 .9) (p + 1) (p + 1. TRAVAIL PRATIQUE 3. 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. quel doit être la valeur de ce gain pour avoir une marge de phase de 45°. quelle est la valeur de la pulsation de l’oscillation de sortie (en rad/s) ? 3. Dans ce cas. L( j ω 0dB) = 1 i i Figure 1 : Lieu de Nyquist (hodographe) d'une fonction de transfert en boucle ouverte avec ses marges de stabilité. 31 . en créant l'objet système G. Dans ces conditions.TP AUTOMATIQUE L3 EEA – L3 IE – L3 EIA Im[L(jω)] TP N° 5 1 ∆G ω=∞ ∆M ∆Φ Re[L(jω)] ω 0dB . TRAVAIL PREPARATOIRE 2.Sous Matlab.1) Tracer les 3 diagrammes asymptotiques de G(p) (Bode. 2. Justifier la réponse par le calcul et graphiquement. En déduire la marge de retard et déterminer la marge de module. Calculer la valeur du gain limite Klim qui amène le système à la limite de stabilité. on considère que G(p) possède un pôle triple en –1.

3. la valeur du gain au-delà duquel le système bouclé devient instable. 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. trouver expérimentalement la valeur du retard au-delà de laquelle le système bouclé devient instable.TP AUTOMATIQUE L3 EEA – L3 IE – L3 EIA TP N° 5 Illustration des marges de stabilité : Réaliser sous Simulink le schéma suivant Figure 2 : système bouclé à réaliser Dans ce schéma. Est-ce la même ? Expliquer. 32 . retrouver. Après avoir relié la sortie du système du 1er ordre à l'entrée du système du 2nd ordre. Mesurer la pulsation d'oscillation de la sortie lorsque le système est en limite de stabilité. Comparer cette valeur avec la marge de gain ∆G calculée précédemment. En reprenant les fonctions de transfert identifiées. Avec un retard nul. Le modifier de manière à reproduire le schéma de la figure 2. Mesurer la pulsation d'oscillation de la sortie lorsque le système est en limite de stabilité. Les résultats sontils différents ? Expliquer. Comparer cette valeur avec la marge de retard ∆R calculée précédemment. Avec un gain unitaire. en simulation. Charger le fichier "proc_3.mdl". 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.2 – Application sur le procédé électrique 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.1 avec ce nouveau système (sans la mesure de la pulsation d'oscillation). Recommencer le travail demandé lors du paragraphe 3. construire sous Matlab l'objet système correspondant à la mise en série des deux systèmes. 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. Vérifier expérimentalement les résultats obtenus en simulation avec vos modèles.

les performances ainsi que les marges de stabilité correspondantes.TP AUTOMATIQUE L3 EEA – L3 IE – L3 EIA TP N° 5 3. dans chaque cas. 33 .3 – Compromis performances . 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). Pour cela.stabilité L'objectif est de mettre en évidence le compromis performance – stabilité sur le système du 3ème ordre en simulation. illustrer ce compromis. évaluer.

la commande u(t) doit être admissible pour le système (problème de saturation des actionneurs par exemple). plusieurs types de correcteur possédant chacun des avantages et des inconvénients. Ainsi. w(p) C(p) νy(p) Y(p) + G(p) + Pour cela. Ce réglage est effectué de manière à respecter des spécifications imposées par un cahier des charges. à sa disposition. PID I. w(t) représente du bruit de mesure. problème de poursuite une bonne stabilité une bonne robustesse (garantir le bon fonctionnement sur le procédé réel) etc. De plus. Une configuration générale de système bouclé avec un retour unitaire est la suivante : νu(p) Y*(p) U(p) + + Figure 1 : système en boucle fermée 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. RAPPEL SUR L'OBJECTIF D'UN ASSERVISSEMENT.TP AUTOMATIQUE L3 EEA – L3 IE – L3 EIA TP N° 6 CORRECTION PI. problème de régulation un bon suivi de trajectoire. il peut être demandé d'avoir : • • • • • • • une bonne précision statique (régime permanent) un faible temps de réponse et dépassement limité un bon rejet des perturbations. l'automaticien a. Rappelons rapidement l’effet des différents types disponibles de correcteur pour une régulation continue : 34 . νu(t) et νy(t) représente les perturbations qui agissent respectivement à l'entrée et à la sortie du système. PD.

Sous cette forme.    T p  • Correcteur Proportionnel et Dérivé (PD) : C(p) = K p 1 + d . Il améliore les performances en dynamique. ce type de correcteur est utilisé avec des procédés comportant un intégrateur. Mal choisi. standard ou mixte du PID. Sauf cas particulier. TP N° 6 L’augmentation de Kp améliore la précision statique et peut aussi améliorer les performances en dynamique mais un gain trop important peut déstabiliser un système. y*(t) ε u y(t) Figure 2 : exemple de structure de correcteur PID 35 . PID. Le réglage de la constante de filtrage Td/N permet de limiter le gain donné aux hautes fréquences. PI. Intégral et Dérivé (PID) : C(p) = K p 1 + .  Ti p 1 + Td p    N   Il regroupe les avantages et les inconvénients des correcteurs précédents. 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. il s'agit de la forme fondamentale. Il peut déstabiliser le système s'il est mal choisi.TP AUTOMATIQUE L3 EEA – L3 IE – L3 EIA II. • Correcteur Proportionnel (P): C( p) = K p . CARACTERISTIQUES PRINCIPALES DES CORRECTEURS P.  1 + Td p    N   En pratique. En d’autres termes. PD.    T p  1 + d • Correcteur Proportionnel. Le coefficient N correspond au gain donné au module de dérivée filtrée.  1  • Correcteur Proportionnel et Intégral (PI) : C ( p ) = K p 1 +   Ti p  Il supprime l’erreur de position en régime permanent mais diminue les marges de robustesse car il s’agit d’une action à retard de phase. il est inefficace mais rarement déstabilisant. le bruit de mesure ou les changements de consigne seront amplifiés au plus par N.

III. Travail préparatoire : a) Pour répondre aux spécifications du cahier des charges.D. 36 . III. quelle(s) action(s) le correcteur doit-il contenir ? Justifier la réponse. Justifier les valeurs des paramètres de C(p) par une analyse fréquentielle rigoureuse.TP AUTOMATIQUE L3 EEA – L3 IE – L3 EIA TP N° 6 Il existe plusieurs structures de P. Correction PI Le premier système à asservir est le suivant : G1 (p) = 0.1. 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. • Les marges de stabilité doivent être suffisantes (∆M>-6dB. Que faut-il faire pour éliminer cet inconvénient ? e) Compte tenu du cahier des charges. elles agissent sur l’ordre du numérateur de la fonction de transfert du système en boucle fermée (cf. montrer que si l’on utilise un correcteur PI. 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 2 1 relations suivantes : D% = 100 e − πξ / 1−ξ et Q = . Si ces structures ne modifient pas la position des pôles en boucle fermée. Vérifier le comportement temporel du système corrigé en utilisant le fichier boucle_fermee. d) Par la méthode du lieu des racines. cours). 2 2 ξ 1− ξ Travail expérimental : en utilisant les différents abaques. b) Etablir l'expression de l'erreur de position et montrer que le correcteur PI permet d'annuler cette erreur. justifier la réponse. c) Avec ce type de correcteur.I.mdl. la diminution du temps de montée est limitée et montrer que cela entraîne obligatoirement une augmentation du dépassement. ∆Φ>40°).5 ( p + 1)( 0. • Le dépassement de sa réponse indicielle doit être de 25% au maximum. synthétiser un correcteur qui répond aux spécifications.5 p + 1) Le cahier des charges précise pour le système en boucle fermée : • L'erreur de position doit être nulle en régime permanent. APPLICATIONS.

mdl. III. 37 . Calculer les marges de stabilité du système corrigé. • Les marges de stabilité doivent être suffisantes (∆M>-6dB. résonance en boucle fermée. 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. actions dérivée ou proportionnelle et dérivée appliquées sur le signal de sortie. déterminer approximativement la pulsation associée. Pour chacun de ces paramètres. f) Vérifier le comportement temporel du système corrigé en utilisant le fichier boucle_fermee. ∆Φ>40°).3. c) Expliquer en quoi il est nécessaire de faire une correction de type avance de phase. série. Correction PID 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. d) Est-il utile de tracer la réponse indicielle de ce système en boucle fermée ? e) On doit effectuer la conception du système bouclé avec un correcteur de type proportionnel et dérivé et à retour unitaire de façon à vérifier les conditions imposées suivantes : • L'erreur de position doit être nulle en régime permanent. Déterminer les paramètres du correcteur à avance de phase permettant de répondre aux spécifications. Travail expérimental : a) Tracer les différents tracés fréquentiels pour le système G2(p). b) Comparer les performances du système bouclé pour différentes structure de PID (forme parallèle. Travail préparatoire : Avec ce type de correction. justifier la réponse. et déterminer le temps de réponse à 5%.2.TP AUTOMATIQUE L3 EEA – L3 IE – L3 EIA III. Correction PD Le deuxième système à asservir est le suivant : G 2 (p) = TP N° 6 4 p  p ( p + 1)  + 1 3  . • Le premier dépassement de sa réponse indicielle ne doit pas dépasser 20%. b) En déduire la valeurs des paramètres suivants : marges de gain et de phase.

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. Le temps de réponse doit être le plus rapide possible. 2 . On cherche à asservir le système thermique présent dans la salle de TP. Le cahier des charges spécifie que l’asservissement devra remplir les conditions suivantes : La sortie ne doit pas présenter d’erreur de position.Le compte rendu doit être précis et concis. 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 microordinateur. Il est indispensable de tester la boucle fermée en simulation avant de l'appliquer sur le système réel. suite à une consigne de type échelon. La mise au point de l’asservissement se fera sous l’environnement Matlab.TP AUTOMATIQUE L3 EEA – L3 IE – L3 EIA TP N° & 8 7 Asservissement d'un système thermique. Remarques 1 . La tension délivrée par le capteur de température est comprise dans un domaine de 0 à 10 Volts.mdl contient les blocs de base permettant de connecter le PC au système. Le dépassement. doit être inférieur à 10 %. 38 . La température est mesurée par un thermocouple situé à l’extrémité supérieur du tube.Le fichier aero. Les marges de gain et de phase doivent avoir des valeurs correctes.

You're Reading a Free Preview

Télécharger
scribd
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->