TP : Asservissement et
Régulation
2019/2020
TP N2 : UTILISATION DU SIMULINK POUR L’ETUDE DES
SYSTEMES LINEAIRES
I. Généralités sur l’outil SIMULINK
Simulink est une autre boîte à outils de Matlab. Il s'agit d'un environnement graphique interactif
pour la simulation des systèmes dynamiques. Simulink est fondé sur l’utilisation de schémas-
blocs ce qui le rend particulièrement convivial et intuitif. Simulink est pleinement intégré à
Matlab, permettant ainsi un accès direct aux nombreux outils de développement algorithmique,
de visualisation et d’analyse de données de Matlab.
Pour ouvrir Simulink, il suffit de cliquer sur l'icône "simulink" présent dans la barre d’outils de
Matlab.
Une nouvelle fenêtre s’ouvre répertoriant les bibliothèques de blocs disponibles.
1 TP : Asservissement et Régulation Imen GUEDDI
TP : Asservissement et
Régulation
2019/2020
On dispose d'un certain nombre de bibliothèques 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 de Simulink vers Matlab en vue d'un traitement
futur.
I.1. Réalisation d'un schéma de simulation
Les fichiers Simulink possèdent l'extension ".mdl". Une fois la fenêtre Simulink ouverte, il est
possible d'ouvrir un fichier existant ".mdl" où d'en définir un nouveau pour créer un schéma-
bloc. Pour cela, on choisit "New Model" dans le menu "File". Une fenêtre de travail vierge
s’ouvre.
Pour réaliser le schéma de la figure ci-dessus "ex_sim1", 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, maintenir le bouton gauche de la souris enfoncée
et faire glisser l’élément ainsi sélectionné vers la fenêtre graphique.
Une fois les éléments essentiels présents, il suffit de les lier entre eux avec la souris c'est-à-dire
tracer des connections entre la sortie du premier bloc et l'entrée du deuxième bloc. N’oublier
pas de sauvegarder le schéma dans votre répertoire de travail avant de l'exécuter.
Les paramètres des éléments utilisés 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 l'ensemble des paramètres de l'objet sélectionné. On peut
utiliser aussi comme paramètres, des variables préalablement définies dans le workspace de
Matlab (c'est le cas pour G1).
I.2. Gestion des paramètres de simulation
Une fois le schéma de simulation est 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 d’intégration numérique (solver) mais, on
utilisera "ode45 Dormand-Prince" à pas variable (Variable-step).
2 TP : Asservissement et Régulation Imen GUEDDI
TP : Asservissement et
Régulation
2019/2020
Une attention particulière doit être portée la valeur maximale du pas d’intégration (Max step
size). Si celui-ci est trop grand, l’approximation de la fonction à simuler est grossière. Dans ce
cas, les résultats obtenus ne peuvent pas être validés.
Ensuite, lancer la simulation en cliquant sur start simulation.
I.3. Gestion des scopes
Comme tout objet Simulink, il est possible de modifier les paramètres du scope. On peut
configurer le scope de plusieurs manières. La figure ci-dessous "scope" montre un scope de
Simulink avec 2 tracés sur le même système d'axe.
3 TP : Asservissement et Régulation Imen GUEDDI
TP : Asservissement et
Régulation
2019/2020
Les graduations horizontale et verticale du scope sont mises à jour par l'appui sur l'icône
"autoscale". En cliquant sur l'icône de configuration, on obtient les paramètres du scope.
L'onglet "Data history" permet de sauvegarder les résultats de la simulation dans une variable
(par défaut ScopeData) dont on peut choisir le type (Structure ou Matrice). Dans l'exemple, la
variable est "y" et le format de cette variable est un tableau (array). On stocke alors le temps et
les données. Cela permet de récupérer les données simulées sous Matlab et de pouvoir les traiter
ultérieurement avec des fonctions Matlab. Il faut noter que si la simulation produit un nombre
de points supérieur à celui autorisé dans la mémoire tampon et indiqué dans le champ "Limit
data Points to last" (par défaut 5000), seuls les derniers points seront disponibles pour tous les
usages notamment les tracés graphiques et l'utilisation de la variable ScopeData.
La variable "y" est donc un tableau orienté en colonnes, la 1ère colonne contient le temps et les
autres colonnes contiennent les valeurs des signaux affichés au scope. Pour chaque signal
représenté correspond une colonne.
Application 1 : Réalisation d’un schéma bloc
1. Réaliser le schéma bloc "ex_sim1" avec G1 = tf(1,[0.5 1]); (les objets Step, Scope et
LTI system se trouvent respectivement dans les bibliothèques Sources, Sinks et Control
System Toolbox).
2. Paramétrer l'échelon de manière à ce qu'il se déclenche à 1 secondes.
3. Sélectionner le système G1 dans le bloc LTI system.
4. Faire une simulation d'une durée de 2 secondes.
5. La courbe a-t-elle la forme attendue ? (Expliquer la différence).
6. Modifier les paramètres de simulation pour obtenir une simulation acceptable.
7. Vérifier les valeurs de la sortie en régime permanent et de la constante de temps.
8. De manière à visualiser l'échelon sur la même figure, utiliser un multiplexeur en
sélectionnant l'objet "Mux" de la bibliothèque "Signals routine". Relier le signal de
l'échelon et de sortie du système au multiplexeur. Relier enfin la sortie du multiplexeur
au Scope. Exécuter la simulation
4 TP : Asservissement et Régulation Imen GUEDDI
TP : Asservissement et
Régulation
2019/2020
Application 2 : Récupération des données Simulink sous Matlab
Reprendre le schéma Simulink de l'application 1 et configurer le scope tel qu'il est indiqué dans
la figure précédente. Représenter sous une seule figure Matlab les données sauvegardées dans
"y" indiquant l'unité des abscisses (seconde) et des ordonnées (Volts). Ajouter un titre (Réponse
indicielle) et un quadrillage.
Cette mise en forme doit systématiquement être réalisée pour que les figures soient exploitables
dans un compte rendu de TP.
Application 3 : Etude d’un système de premier ordre
Refaire les étapes de l’application 1 pour les schémas Simulink suivants :
1. Régler correctement les paramètres de simulation
2. Tester tous les schémas
3. Configurer les scopes de manières à récupérer les données simulées sous Matlab.
Pour tester simplement les schémas, utiliser la fonction de transfert "G1".
a. 1er schéma : Réponse à une entrée en rampe
b. 2er schéma : Réponse à une impulsion de Dirac
c. 3ème schéma : Réponse à une entrée Sinusoïdale
Remarque : selon la rapidité du système ou la fréquence des sinus, il est parfois nécessaire de
modifier la précision de l’algorithme de simulation notamment les paramètres de simulation
"Min Step Size" et "Max Step Size".
5 TP : Asservissement et Régulation Imen GUEDDI
TP : Asservissement et
Régulation
2019/2020
Fonctions temporelles Transformées de Laplae
𝒖(𝒕) = 𝟏 𝟏
𝑼(𝒑) =
𝒑
𝒗(𝒕) = 𝒌𝒕 𝒌
𝑽(𝒑) =
𝒑𝟐
𝒔(𝒕) = 𝒕𝒏 𝒏!
𝑺(𝒑) =
𝒑𝒏+𝟏
𝒔(𝒕) = 𝒆−𝒂𝒕 𝟏
𝑺(𝒑) =
𝒑+𝒂
𝒔(𝒕) = 𝒕 𝒆−𝒂𝒕 𝟏
𝑺(𝒑) =
(𝒑 + 𝒂)𝟐
𝒔(𝒕) = 𝟏 − 𝒆−𝒂𝒕 𝟏
𝑺(𝒑) =
𝒑(𝒑 + 𝒂)
𝒔(𝒕) = 𝒆−𝒂𝒕 − 𝒆−𝒃𝒕 𝒃−𝒂
𝑺(𝒑) =
(𝒑 + 𝒂)(𝒑 + 𝒃)
𝟏 𝒆−𝒂𝒕 𝟏
𝒔(𝒕) = 𝒕 − + 𝑺(𝒑) =
𝒂 𝒂 𝒑𝟐 (𝒑 + 𝒂)
𝒃 𝒂 𝒂𝒃
𝒔(𝒕) = 𝟏 + 𝒆−𝒂𝒕 − 𝒆−𝒃𝒕 𝑺(𝒑) =
𝒂−𝒃 𝒂−𝒃 𝒑(𝒑 + 𝒂)(𝒑 + 𝒃)
𝒔(𝒕) = 𝟏 − 𝒆−𝒂𝒕 − 𝒂𝒕 𝒆−𝒂𝒕 𝒂𝟐
𝑺(𝒑) =
𝒑(𝒑 + 𝒂)𝟐
𝒔(𝒕) = 𝒔𝒊𝒏 𝝎𝒕 𝝎
𝑺(𝒑) =
𝒑𝟐 + 𝝎𝟐
𝒔(𝒕) = 𝒄𝒐𝒔 𝝎𝒕 𝒑
𝑺(𝒑) =
𝒑𝟐 + 𝝎𝟐
𝒔(𝒕) = 𝒆−𝒂𝒕 𝒔𝒊𝒏 𝝎𝒕 𝝎
𝑺(𝒑) =
(𝒑 + 𝒂)𝟐 + 𝝎𝟐
𝒔(𝒕) = 𝒆−𝒂𝒕 𝒄𝒐𝒔 𝝎𝒕 𝒑+𝒂
𝑺(𝒑) =
(𝒑 + 𝒂)𝟐 + 𝝎𝟐
6 TP : Asservissement et Régulation Imen GUEDDI