TP1 : Présentation du logiciel de simulation MATLAB / Simulink
MATLAB est un logiciel de calcul numérique avec un langage spécifique de programmation.
SIMULINK est une application graphique de MATLAB permettant de simuler des systèmes dynamiques
(systèmes multi variables continus, échantillonnés linéaires ou non linéaires).
La description du système se fait sous forme de schémas blocs et l’évolution des différentes
grandeurs est visible sur des blocs appelés « Scope ». Des blocs décrivant des systèmes complexes peuvent
être crées à partir de la bibliothèque standard de SIMULINK (fig.1).
Des blocs décrivant des systèmes « Génie électriques » ont été créés dans PSB (Power System
Blockset (Simulink/Blocksets & Toolboxes/SimPowerSystems) ) qui peuvent être exploités pour simuler un
système désiré.
La boîte à outils Simulink est un complément extrêmement puissant de MATLAB. Les contributions
de Simulink sont principalement :
1. La construction conviviale de schémas fonctionnels, faite à la souris ;
2. La simulation de systèmes linéaires et surtout non linéaires, ainsi que de systèmes non-stationnaires;
3. La simulation de systèmes mixtes analogiques et numériques.
Fig.1 Librairie de Simulink
Fig.2 Librairie de SimPowerSystems
1
Pour la construction de schémas, le gain de temps se situe au-delà de 10 à 100, car il évite
l’utilisation extrêmement fastidieuse des fonctions MATLAB blkbuildet connect.
Si certains reprochent à MATLAB un certain caractère rébarbatif, Simulink, en plus d’offrir de
nouveaux outils très puissants, y remédie complètement en offrant une interface utilisateur extrêmement
conviviale. Les deux logiciels restent toutefois complètement liés l’un à l’autre, Simulink n’étant du point de
vue hiérarchique qu’une boîte à outils de MATLAB.
L’interface utilisateur de Simulink est l’outil permettant d’introduire directement les schémas
fonctionnels de systèmes dynamiques. Bien que théoriquement son usage ne soit pas indispensable, on peut
dire qu’il est utilisé dans 90% des cas de problèmes à résoudre. On y accède à partir l’espace de travail
MATLAB par la commande : Simulink où en appuyant sur le bouton correspondant de la barre d’outils de
la fenêtre de MATLAB. Une nouvelle fenêtre, appelée Simulink apparaît. Elle n’est en fait qu’une
bibliothèque de blocs fonctionnels standards. La figure 1 montre ces groupes.
Fidélité à la philosophie de MATLAB, Simulink est ouvert et l’utilisateur peut rajouter ses propres
blocs, qu’il peut organiser en une ou plusieurs bibliothèques. Dans ce sens, les possibilités sont quasi
illimitées. Bien que cela ne paraisse pas impératif au premier abord, il se révèle assez tôt indispensable de
bien connaître MATLAB pour utiliser Simulink de manière cohérente et organisée, i.e. professionnellement.
Dans tous les cas, on a intérêt à utiliser Simulink en forte connections avec MATLAB ; il faut savoir que
tous les blocs Simulink peuvent être paramétrés de manière symbolique. Ceci permet de définir les
paramètres dans l’espace de travail MATLAB, soit manuellement, soit en exécutant un fichier de type script.
Dans ce cas, plusieurs fichiers de paramétrisation peuvent être créés et lancés dans MATLAB avant le début
de la simulation.
La documentation desdits fichiers permet de rationaliser et d’organiser le grand nombre de
simulations que l’on peut faire. C’est dans ce genre de situation que les compétences en programmation
(organisation, décomposition et analyse du problème, structuration) de l’utilisateur peuvent s’avérer
déterminantes.
Des boîtes à outils complémentaires (Real Time Workshop, Matlab C Compiler) permettent de
générer le code C du schéma de simulation, ainsi que le code objet pour des processeurs de signaux (par
exemple Texas TMS320C30, système produit par la firme DSPACE). Simulink peut être programmé
relativement simplement en C. Dans ce cas, les performances en termes de temps de calcul seront nettement
meilleures.
La combinaison de Simulink et d’un système d’acquisition en temps réel est possible.
La programmation graphique, i.e. l’introduction directe de schémas fonctionnels, est un bon outil
offert par Simulink. Cependant, les limites de ce genre de programmation sont rapidement atteintes lorsque
le système est relativement complexe, auquel cas il sera plus facile de programmer Simulink ”en texte” de
manière classique, i.e. en créant des fonctions S (S-function), plutôt que d’interconnecter les blocs par de
nombreuses lignes créées à la souris. Les fonctions S ont un format un peu particulier, propre à Simulink,
mais s’écrivent presque aussi simplement que les fonctions MATLAB ; elles consistent à programmer les
équations différentielles du système à simuler.
TP2 : Modélisation et simulation d’un moteur à courant continu
Partie 01 :
But de cette partie: Simulation d’un système dynamique linéaire
1. Schéma de montage
On se propose d’illustrer l’utilisation de Simulink par l’exemple classique d’un moteur à courant
continu à excitation séparée constante exploité en boucle ouverte (figure 1 ).
Fig. 1 – Schéma technologique d’un entraînement DC à
excitation séparée constante. Le frottement est purement
visqueux, proportionnel à la vitesse, de coefficient f
2
On admettra que le système est parfaitement linéaire, en faisant les hypothèses simplificatrices
suivantes, ceci pour simplifier l’exemple et se concentrer sur l’essentiel de cette étude, i.e. le logiciel
MATLAB/Simulink :
– le frottement sur l’arbre moteur est purement visqueux ;
– le moteur à courant continu étant compensé, l’effet de réaction d’induit est négligeable.
Plusieurs démarches sont possibles pour la construction et l’organisation du schéma, de même que
pour la simulation. On propose ici une façon de faire relativement laborieuse par rapport à la simplicité de
l’exemple, calquée sur des problèmes concrets d’une certaine envergure, pour lesquels la méthodologie
employée est déterminante.
2. Schéma – bloc d’un actionnement à courant continu en boucle ouverte
La fig.2 schématise le schéma bloc de l’association MCC à excitation séparée – système mécanique.
L’équation électrique de l’induit :
dia di a
U a Ra .i a La K E .
1
U a Ra .ia K E .
dt dt La (1)
L’équation du couple électromagnétique :
C em K T .i a (2)
De plus, si on peut assimiler l’ensemble formé par le rotor et le système entraîné à un moment
d’inertie J, un coefficient de frottement visqueux f et un couple résistant Cres de sorte que l’on ait :
d d 1
C em J . f .. C res Cem f . Cres
dt dt J (3)
A partir les trois équations (1) – (3), on peut avoir le système d’équations différentielles sous forme
Cauchy (nombre d’équations = nombre d’inconnus):
di a
dt L U a Ra .i a K E .
1
a
K .i f .. C res
d 1 (4)
dt J T a
A partir du système (4), on peut tracer le schéma fonctionnel suivant :
di a Crés
Ua
1 dt 1 ia Cem
1 1 Ω
La s
KT
J s
Gain Int Gain Int
Sum Sum
f
Ra Gain
Gain
KE
Gain
Figure 2
3
3. Construction du schéma bloc
Pour introduire le schéma fonctionnel de la figure 2 dans le Simulink, il faut commencer par appeler
Simulink à partir l’espace de travail de MATLAB.
Figure 3 : Démarrage direct d’un moteur à CC à excitation Séparée
4. Manipulation : Effectuer le démarrage direct du moteur et relever les
caractéristiques suivantes: du courant d’induit, de la vitesse et du couple électromagnétique.
N.B. : - Pour ce TP, utiliser la méthode de résolution à pas variable « ODE45» et prendre le pas
maximal de simulation h=1e-4 ;
- Pour les deux premières parties, on prend le temps t de 0 à 3 s et le couple résistant
0 𝑁. 𝑚 𝑡 ≤ 1 𝑠
𝐶𝑟𝑒𝑠 ={
30 𝑁. 𝑚 1 < 𝑡 ≤ 3
4
Partie 02 : Vérification des résultats obtenus
Le But de cette partie du travail est de vérifier les résultats obtenus précédemment. Dans cette partie,
on utilisera deux bibliothèques (Simulink et PSB (Power system blockset)) pour réaliser le schéma bloc de
la figure 4.
Figure 4 : Démarrage direct d’un moteur à CC à excitation séparée
Les paramètres du moteur sont illustrés sur la figure 5.
Manipulation : Effectuer le démarrage direct du moteur et relever les différentes caractéristiques et
les comparer avec les caractéristiques de la 1ère partie.
5
Partie 03 : Démarrage rhéostatique d’un moteur à courant continu à excitation séparée
Cette partie permet d’analyser l’un des procédés de démarrage d’un moteur à courant continu à
excitation séparée à l’aide de trois résistances en série avec l’induit et successivement shuntées.
Travail demandé dans cette partie :
- Réaliser le schéma bloc de la figure 6 ;
- Effectuer les deux démarrages du moteur avec et sans rhéostat pour le temps ( 0 ≤ t ≤10 s);
- Relever le courant d’induit, le couple et la vitesse. Commenter les résultats ;
- Comparer les deux procèdes de démarrage.
Figure 6 : Démarrage d’un MCC par un rhéostat à trois plots