TP1 - Initiation À Simulink [PDF]

  • 0 0 0
  • Gefällt Ihnen dieses papier und der download? Sie können Ihre eigene PDF-Datei in wenigen Minuten kostenlos online veröffentlichen! Anmelden
Datei wird geladen, bitte warten...
Zitiervorschau

Module : Outils informatiques et mathématiques 2

Licence professionnelle STEEL

Enseignant : Damien Guilbert ([email protected])

TP n°1 : Initiation à Simulink 1. Objectif - Présentation de Simulink - Création d’un modèle Simulink - Présentation des librairies Simulink et Simscape - Concevoir des schémas-blocs et simulation de modèles.

2. Présentation de Simulink Simulink est un environnement muni d’une interface graphique pour la modélisation, la simulation et l’analyse des systèmes dynamiques. Étant couplé à Matlab traité dans les séances de TP du module Outils logiciel, les deux environnements sont parfaitement compatibles et les différentes fonctionnalités de ce dernier sont alors directement accessibles. Simulink est basé sur une interface graphique qui permet une construction aisée et conviviale de schémas-blocs, où les blocs représentent des parties d'un système. Un bloc peut représenter un composant physique, un petit système ou une fonction. Une relation entrée/sortie caractérise entièrement un bloc.

Figure 1 : Logo de Simulink.

TP 1 : Initiation à Simulink

3. Création d’un modèle Simulink Tout d’abord, l’environnement Simulink peut être lancé de deux façons dans l’environnement Matlab (voir Figure 2) : -

Soit en cliquant dans la barre d’outils, sur le logo Ou en tapant Simulink dans le Command Window.

Figure 2 : Comment ouvrir Simulink. Ensuite, la fenêtre suivante apparaît :

Figure 3 : Création d’un modèle Simulink. 2

TP 1 : Initiation à Simulink

Pour créer un modèle Simulink, mettre le pointeur de votre souris sur le Blank Model (voir Figure 3), puis cliquer sur Create Model qui apparaît. Enfin, la fenêtre suivante s’ouvre :

Figure 4 : Interface Simulink. Pour ouvrir le navigateur des bibliothèques, cliquer sur Library Browser. L’interface précédente est modifiée pour faire apparaître la liste des librairies (voir Figure 5). Celles-ci sont classées par disciplines (automatique, aérospace, communication, traitement du signal, systèmes embarquées, …) et regroupent un ensemble de blocs fonctionnels liés à une catégorie de fonctions particulières. A la sélection d’une bibliothèque, les blocs qui la composent sont affichés dans la partie droite de la fenêtre. Comme vous pourrez vous en rendre compte, l’interface Simulink est intuitive et facile à utiliser. Le modèle est construit à partir de blocs fonctionnels qui doivent être sélectionnés puis glissés dans l’interface pour les déposer. Les blocs sont ensuite interconnectés par des flèches dessinées à l’aide de la souris (cliquer-maintenir sur une entrée ou une sortie puis relâcher sur une entrée ou une sortie) (voir Figure 6). Chaque bloc peut être édité (réglage de ses paramètres) en double-cliquant dessus. Cette dernière action permet d’ouvrir une fenêtre de dialogue dans laquelle une description du bloc et des champs paramétrables sont donnés (voir exemple en Figure 7). 3

TP 1 : Initiation à Simulink

Figure 5 : Nouvelle interface Simulink avec la liste des librairies.

Recherche de blocs

Sélectionner et glisser le bloc

Figure 6 : Recherche de blocs et construction d’un modèle Simulink. 4

TP 1 : Initiation à Simulink

Figure 7 : Exemple de fenêtre pour paramétrer le bloc Constant. Pour sauvegarder votre modèle, en partant de l’interface (Figure 5), aller dans Save>>Save As. Votre fichier est sauvegardé sous l’extension .slx. Simulink manipule les fichiers (sauvegarde, ouverture, fermeture, création) de façon classique avec les différentes icônes apparaissant dans la barre tout en haut à gauche de l’interface (voir Figure 5). En outre, un modèle existant (par exemple « mon_schema.slx » peut être lancé directement depuis le Command Window de Matlab en tapant son nom sans extension : >>mon_schema Vous pouvez également lancer une simulation de votre modèle Simulink directement depuis un script, en tapant la commande suivante : sim mon_schema Cette commande peut vous être très utile depuis un script car vous pouvez charger les paramètres de votre modèle, puis le simuler, et ensuite sauvegarder et tracer vos résultats.

4. Présentation des librairies Simulink et Simscape Simulink possède de nombreuses bibliothèques riches en blocs, adaptées pour la modélisation de systèmes de différentes natures (électrique, thermique, mécanique, physique, etc…). De plus, l’ajout de toolboxes ou boîtes à outils supplémentaires permet d’enrichir les librairies et les fonctionnalités de Simulink. Nous présenterons dans cette partie seulement les librairies Simulink et Simscape (en particulier la sous-librairie Electrical>>Specialized Power Systems) que vous êtes susceptibles d’utiliser pendant votre cursus universitaire et en industrie.

5

TP 1 : Initiation à Simulink



Librairie Simulink

La librairie Simulink est très souvent employée car elle contient un nombre important de blocs très utiles (calculs mathématiques et matriciels, fonctions de transfert, dérivée, intégrale, opérateurs logiques, correcteur PID, afficheur, scope, génération de signaux, etc…) qui sont répartis dans différentes sous librairies. Quelques-unes sont présentées ci-dessous. -

Sous librairie Sources

Les sources sont des blocs possédant une ou plusieurs sorties et aucune entrée. Ces blocs sont utilisés pour la génération des signaux.

Signal échelon; signal rampe; signal sinusoïdal; valeurs fournies par un fichier; temps. -

Sous librairie Sinks

Les blocs de cette sous-librairie, à l’inverse des sources, ne possèdent qu’une ou plusieurs entrées (sink signifiant lavabo, c’est-à-dire qui collecte le flux d’information). Ils sont utilisés pour l’affichage digital Display et graphique Scope ou la sauvegarde des signaux (vers une variable, un fichier).

Affichage graphique (oscilloscope); sauvegarde vers une variable; sauvegarde vers un fichier. -

Sous librairie Math Operations

Ensemble de blocs réalisant une fonction mathématique appliquée aux signaux entrants. Le (ou les) résultat(s) est (sont) renvoyé(s) sur le (les) point(s) de sortie.

Somme/soustrait deux signaux; multiplie un signal (gain); fournit le module et la phase d’un nombre complexe, applique une fonction standard (puissance, exponentiel, logarithme, etc…). 6

TP 1 : Initiation à Simulink

-

Sous librairie Signal Routing

Ensemble de blocs utiles pour l’aiguillage de signaux ou la connexion de blocs.

Multiplexeur : combine deux entrées ou plus en une seule (vecteur); switch : permet de sélectionner manuellement une entrée; démultiplexeur : sépare une entrée (vecteur) en plusieurs composantes. -

Sous librairie Continuous

Ensemble de blocs utiles pour la modification des signaux (dérivation, intégration, fonction de transfert, décalage temporel, etc…).

Intégration; correcteur PID; fonction de transfert; décalage temporel. -

Sous librairie Logic & Bit Operations

Ensemble de blocs d’opérateurs logiques et binaires.

Comparaison à une constante; comparaison à 0; porte ET entre deux entrées; comparateur entre deux entrées. •

Librairie Simscape>>Electrical>>Specialized Power Systems

La librairie Simscape>>Electrical>>Specialized Power System est très utile pour simuler des circuits électriques, des convertisseurs de puissance (AC/DC, DC-DC, DC/AC), des machines électriques (DC et AC), des réseaux électriques (sources, charges), des sources d’énergie renouvelables (éolien, photovoltaïque), des sources d’énergie alternatives (pile à combustible) et des éléments de stockage de l’énergie (batteries, supercondensateurs). Quelques sous librairies de Specialized Power Systems sont présentées ci-dessous.

7

TP 1 : Initiation à Simulink

-

Sous librairie Electrical Machines

Ensemble de blocs pour simuler des moteurs électriques (moteur à courant continu, moteur asynchrone, moteur synchrone, moteur brushless, etc…).

Moteur à courant continu; moteur asynchrone; moteur synchrone; éolienne avec génératrice asynchrone à double alimentation. -

Sous librairie Passives

Cette sous-librairie contient un bon nombre de blocs très utiles (composants RLC, charges RLC, filtres anti-harmoniques, résistance non-linéaire, transformateur à rapport de transformation variable, etc…).

Résistance non linéaire; branche RLC; filtre triphasé anti-harmonique; transformateur avec rapport de transformation (N=N2/N1) réglable. -

Sous librairie Power Electronics

Cette sous-librairie est tournée vers l’électronique de puissance, des composants (interrupteur idéal, diode, thyristor, MOSFET, IGBT, etc..) aux convertisseurs de puissance (hacheur série/parallèle, redresseur non commandé et commandé, onduleur, etc…).

Diode; thyristor; hacheur série (abaisseur de tension); pont universel (redresseur ou onduleur suivant les composants d’électronique de puissance). 8

TP 1 : Initiation à Simulink

-

Sous librairie Power Grid Elements

Cette sous-librairie contient des blocs pour la modélisation des lignes de transport et de distribution de l’énergie électrique (transformateur, ligne, contacteur, défaut de ligne, etc…).

Contacteur; modèle de ligne triphasée (effet résistif, inductif, capacitif); transformateur électrique. -

Sous librairie Sensors and Measurements

Cette sous-librairie intègre les capteurs les plus courants pour des objectifs de mesure (courant, tension, impédance) et également de blocs pour évaluer la valeur moyenne, efficace (RMS), le taux de distorsion harmonique, analyse de Fourier d’un signal.

Mesure de courant; analyse de Fourier (amplitude, phase) ; mesure d’impédance, mesure valeur efficace, taux de distorsion harmonique. -

Sous librairie Sources

Cette sous-librairie propose plusieurs sources de différente nature (DC ou AC) comme les sources d’alimentation, les batteries, les supercondensateurs, les piles à combustibles, les panneaux photovoltaïques.

Source de tension AC; batterie ; source de tension DC, pile à combustible, panneau photovoltaïque, supercondensateur. Enfin, pour simuler vos modèles utilisant cette librairie, vous avez besoin d’utiliser ce bloc Power Gui disponible dans la sous-librairie Specialized Power Systems :

9

TP 1 : Initiation à Simulink

5. Conception et simulation de modèles Nous souhaitons par exemple modéliser une fonction de transfert et simuler sa réponse à un échelon unitaire Step. La fonction de transfert est donnée ci-dessous : 𝐺(𝑝) =

𝑠2

1 +𝑠+2

Pour construire ce modèle Simulink et simuler la réponse de la fonction de transfert à une sollicitation de type échelon unitaire, nous allons avoir besoin des blocs suivants : 1) 2) 3) 4)

d’une source pour simuler l’échelon unitaire; d’un bloc pour représenter la fonction de transfert G(p); d’un bloc Mux pour multiplexer la source et le signal de sortie de la fonction de transfert. et d’un bloc permettant de visualiser graphiquement la réponse (sortie) de la fonction de transfert et le signal de la source.

Le modèle à réaliser est donné ci-dessous :

Figure 8 : Modèle à réaliser. Paramétrons à présent les blocs Step et Transfer Function.

Figure 9 : Paramétrage de la source Step et de Transfer Function.

10

TP 1 : Initiation à Simulink

Une fois le modèle réalisé et les paramètres des blocs réglés, l’intérêt de Simulink consiste à simuler le modèle. Une simulation peut être lancée soit à partir de l’icône dans la barre des tâches tout en haut de l’interface Simulink (voir Figure 5) ou bien en tapant dans le Command Window ou directement depuis un script. Le premier paramètre de simulation (et le seul, dans le cas d’une utilisation simpliste de Simulink) à régler est le temps de simulation. Il peut être spécifié directement dans le champ à gauche de l’icône de lancement d’une simulation (voir Figure 5), il doit être exprimé en seconde. Pour une utilisation avancée, de nombreuses options permettent de configurer de manière très précise les paramètres de simulation. Pour y avoir accès, vous avez deux options, soit avec la commande Ctrl+E ou bien en allant dans l’onglet MODELING puis cliquer sur Model Settings comme montré ci-dessous :

La fenêtre suivante apparaît :

Figure 10 : Interface du Model Settings.

11

TP 1 : Initiation à Simulink

Cette interface donne la possibilité de configurer (entre autres) : -

l’horizon temporel de simulation (en seconde), le solver utilisé (et ses paramètres) pour la résolution numérique des équations différentielles; la gestion des entrées/sorties avec Matlab, les variables sauvegardées; les notifications d’erreurs ou d’alertes sur différents évènements, diagnostic de simulation, etc…

Nous n’entrerons pas plus dans les détails du paramétrage d’une simulation car très complexe et inutile dans le cadre d’une simple initiation à Simulink. Pour simuler notre modèle, nous choisissons un temps de simulation de 15s. Lancer votre simulation puis double-cliquer sur le scope pour faire apparaître les résultats obtenus :

Figure 11 : Visualisation des résultats obtenus. A partir de l’interface du Scope, vous pouvez par exemple récupérer cette figure pour l’ajouter dans un document de traitement de texte en faisant File>>Copy to Clipboard. Vous obtiendrez la figure ci-dessous :

12

TP 1 : Initiation à Simulink

Figure 12 : Figure obtenue. Vous pouvez également à partir de l’interface, choisir le nombre d’entrées de votre Scope en faisant File>>Number of Input Ports. -

Travail à réaliser pour la prise en main de l’environnement Simulink et Simscape

On souhaite réaliser un modèle en utilisant la librairie Simulink pour déterminer différentes informations d’un module de supercondensateur (énergie stockée en joule et watt heure, puissance maximale, énergie utilisable). On rappelle que les supercondensateurs (vus dans le module « stockage de l’énergie électrique ») est un système de stockage de l’énergie, complémentaire aux batteries, car ils offrent une haute densité de puissance, un temps de charge et de décharge très court, et un meilleur rendement de stockage et de restitution de l’énergie. Par leurs avantages, les supercondensateurs peuvent être utilisés dans un bon nombre d’applications embarquées et stationnaires : voiture électrique, tramway, alimentation de secours, etc…). Les équations que nous allons utiliser sont décrites ci-dessous (C représente la capacité du condensateur en Farad (F) et V est la tension du supercondensateur en volt (V) : L’énergie stockée par un supercondensateur en (J) est exprimée par la relation suivante : 1

𝐸𝑠𝑐 = 2 𝐶𝑉 2

(1)

13

TP 1 : Initiation à Simulink

La même énergie exprimée en (Wh) est donnée par (3600 J → 1 Wh) : 𝐸𝑠𝑐 =

1 𝐶𝑉 2 2

(2)

3600

La puissance maximale du supercondensateur est donnée par la relation suivante : 𝑉2

𝑃𝑠𝑐 = 4∗𝐸𝑆𝑅

𝐷𝐶

(3)

Où le terme ESRDC représente la résistance équivalente série du supercondensateur (donnée dans le document technique du supercondensateur). Ec représente l’énergie utilisable qu’on limite à 50% pour optimiser la durée de vie du supercondensateur et son énergie utilisable : 𝐸𝑐 =

2 1 𝑉 ×𝐶(𝑉𝑛𝑜𝑚 − 𝑛𝑜𝑚 ) 2 2

3600

(4)

Le module de supercondensateur que nous allons prendre comme exemple est donné ci-dessous (ce module de supercondensateur est présent dans la salle de TP B005 de l’UFR-ST) :

Figure 13 : Caractéristiques techniques du supercondensateur étudié. 14

TP 1 : Initiation à Simulink

1) A partir des caractéristiques techniques données ci-dessus, fournissez la valeur de la capacité nominale, la tension, la résistance ESR, l’énergie stockée du supercondensateur. 2) Le module du supercondensateur a une masse de 14,2 kg. Déterminez la densité de puissance (W/kg) (la puissance devra être calculée avec l’équation (3)) et la densité d’énergie (Wh/kg) de ce module de supercondensateur. Reportez ces deux valeurs dans le diagramme de Ragone de la Figure 14. Le diagramme de Ragone permet de comparer les systèmes de stockage d’un point de vue de leur densité de puissance (W/kg) et leur densité d’énergie (Wh/kg). Que pouvez-vous en conclure?

Figure 14 : Diagramme de Ragone comparant les batteries lithium-ion (LIB), les supercondensateurs (SC) et une nouvelle technologie hybride, les condensateurs lithium-ion (LIC). 3) Réaliser un modèle Simulink avec les équations (1 à 4) vues précédemment incluant des Display pour déterminer l’énergie stockée en joule et en watt heure, la puissance maximale, l’énergie utilisable du module de supercondensateur. Enfin, nous souhaitons utiliser la librairie Simscape>>Electrical>>Specialized Power Systems pour modéliser un supercondensateur à partir des données techniques du module de supercondensateur étudié (voir Figure 13). Sélectionner le bloc Supercapacitor (voir page 9) et le faire glisser dans un fichier vierge. En double-cliquant sur le bloc Supercapacitor, la fenêtre suivante apparaît :

15

TP 1 : Initiation à Simulink

Figure 15 : Interface du bloc Supercapacitor. A partir de la Figure 13, renseigner les paramètres suivants : capacité nominale, ESR, tension nominale, nombre de cellules de supercondensateur en série. A présent, nous souhaitons simuler la charge d’un supercondensateur en appliquant un courant DC de 50 A. Le modèle à réaliser est donné ci-dessous :

Figure 16 : Modèle pour charger le supercondensateur. Pour votre source d’alimentation, sélectionner Controlled Current Source dans la sous-librairie Specialized Power Systems>>Sources. L’entrée s de ce bloc doit être connectée à une constante où le courant peut être réglé; dans notre cas 50 A. En double-cliquant sur le Controlled Current Source,

16

TP 1 : Initiation à Simulink

vous pouvez choisir la nature du courant DC ou AC. La sortie m du Supercapacitor est un vecteur avec trois signaux définis ci-dessous :

C’est pourquoi, un bloc Demux est utilisé pour extraire ces trois signaux du vecteur et les visualiser avec l’aide du Scope. N’oubliez pas de régler ce dernier pour avoir trois entrées. Vous réglerez votre temps de simulation à 100 s. Lancer votre simulation et visualiser vos résultats qui sont donnés cidessous :

Figure 17 : Résultats obtenus. -

Réaliser un script pour modifier la valeur du courant dans la constante, lancer votre modèle de simulation, et tracer des courbes (identiques à la Figure 17). Vous aurez besoin au préalable d’utiliser le bloc To Workspace (voir page 6) pour sauvegarder vos résultats de simulation dans le Workspace. L’interface de ce bloc est montrée ci-dessous. Vous pouvez y spécifier le nom de la variable que vous mesurez ainsi que le format de sauvegarde (indiquer Array pour sauvegarder sous forme de tableau). Pour sauvegarder le temps, il faudra utiliser le bloc Clock (page 6).

17

TP 1 : Initiation à Simulink

Figure 18 : Interface du bloc To Workspace.

18