Vous êtes sur la page 1sur 27

Modélisation Causale et Acausale

Marc Dérumaux
Professeur de SI et d'informatique
PCSI – PSI, Lycée St Louis

Michaël Trovalet
Professeur de SI et d'informatique
PCSI – PT, Lycée Raspail

Séminaire mécatronique 2017 - EMINES


Plan de la séance

Mettre en œuvre les simulations basiques vues ce matin sur


Scilab

Réaliser des modèles multiphysiques plus élaborés (asservis)


dans les champs :

De la thermique

De la mécatronique

Découvrir d’autres logiciels de modélisation acausale


(Openmodelica, Matlab/Simscape)

Séminaire mécatronique 2017 - EMINES


Cas élémentaires


Cas d’une résistance électrique.

Cas d’un système masse-ressort-amortisseur.

Cas d’un amortisseur non linéaire (quadratique).

Ces exemples ont été vus ce matin d’un point de vue


théorique

Point sur l’installation : Compilateur + Scilab + SIMM

Séminaire mécatronique 2017 - EMINES


Résistance électrique
Lancer Scilab, puis Application > Xcos

Dans le navigateur de palettes,


développer la palette SIMM > électrique >
composants basiques > passifs.

Tracer le schéma ci-contre :

Séminaire mécatronique 2017 - EMINES


Équations de la résistance
Pin positive p
p.v Equations :
p.i
p.v – n.v = R * p.i
p.i + n.i =0

Pin négative n
n.v 2 équations
n.i 4 inconnues

Dans Firefox, chercher « modelica resistor »

https://svn.modelica.org/projects/Modelica/tags/V1_5/Model
ica/help/Modelica_Electrical_Analog_Basic.html
Séminaire mécatronique 2017 - EMINES
p.v – n.v = R * p.i
p.i + n.i =0
Équations de la résistance

Séminaire mécatronique 2017 - EMINES


Résistance électrique
Ajouter un bloc utilitaire > analyse >
IREP_TEMP

Lancer la simulation.

Elle s’exécute mais ne trace rien pour le


moment.

Enlever la masse pour voir si la simulation


est toujours possible...
Séminaire mécatronique 2017 - EMINES
Équations de la résistance
Enlever la masse et relancer la simulation :

Il manque des équations…


Mais le message d’erreur est peu explicite
malheureusement...
Séminaire mécatronique 2017 - EMINES
Équations de la résistance
Ajouter des capteurs : Électrique > mesure
Et des scopes : Utilitaire > Visualisation

Sans surprise, la tension est de 1V et le courant 1A !


Séminaire mécatronique 2017 - EMINES
Système masse ressort :
Tracer le schéma suivant :

n.f=k*(p.s-n.s)
p.f=n.f
Sur le site
svn.modelica.org,
retrouver les « spring » et p.f-n.f=m*der(der(p.s))
« mass ». n.s=p.s

Séminaire mécatronique 2017 - EMINES


Système masse ressort amortisseur :
Compléter le schéma :

Séminaire mécatronique 2017 - EMINES


Modèle causal :

d2 Z k f dZ
(t )=g− Z (t)− (t)
dt
2
m m dt

Séminaire mécatronique 2017 - EMINES


Modèle utilisateur pour un amortisseur NL
Système masse ressort
amortisseur :

Et si on veut utiliser un
amortisseur non linéaire
(quadratique par
exemple) non disponible
dans la palette ?

Séminaire mécatronique 2017 - EMINES


Modèle utilisateur pour un amortisseur NL
Bloc « modèle utilisateur » :
(palettte SIMM>utilitaire>analyse)

Ce bloc permet d’utiliser son propre code modelica :



Définir les connecteurs

Définir les équations de comportement (les avez-vous
trouvées?)

Séminaire mécatronique 2017 - EMINES


Modèle utilisateur pour un amortisseur NL
(palettte SIMM>utilitaire>analyse)

Séminaire mécatronique 2017 - EMINES


Modèle utilisateur pour un amortisseur NL
Real s_rel "relative displacement";
Real v_rel "relative speed";
Real f "force";

equation
// Renseigner ici votre fonction
// Les noms des variables de flux et potentiel associées à
chaque connecteur sont définies dans la documentation.
// Exemple : der(flange.phi) pour la dérivée de la position
angulaire
s_rel=n.s-p.s;
v_rel=der(s_rel);
f=p.f;
f=n.f;
???????????? // équation de comportement...
Séminaire mécatronique 2017 - EMINES
Modèle utilisateur pour un amortisseur NL
Terminer le schéma.

Simuler !

Séminaire mécatronique 2017 - EMINES


Modèle utilisateur pour un amortisseur NL
Real s_rel "relative displacement";
Real v_rel "relative speed";
Real f "force";

equation
// Renseigner ici votre fonction
// Les noms des variables de flux et potentiel associées à
chaque connecteur sont définies dans la documentation.
// Exemple : der(flange.phi) pour la dérivée de la position
angulaire
s_rel=n.s-p.s;
v_rel=der(s_rel);
f=p.f;
f=n.f;
f= k*v_rel *abs(v_rel) ;
Séminaire mécatronique 2017 - EMINES
Asservissement de température

Séminaire mécatronique 2017 - EMINES


Asservissement de température

Séminaire mécatronique 2017 - EMINES


Asservissement de température

Séminaire mécatronique 2017 - EMINES


Asservissement de température

Séminaire mécatronique 2017 - EMINES


Cas des systèmes mécaniques
Modèle de la cordeuse de raquette :

Implanter le modèle dans Scilab.

Séminaire mécatronique 2017 - EMINES


Cas des systèmes asservis

Valeurs numériques :
Correcteur : Kp=1 V/N
Moteur : laisser les valeurs par défaut
Réducteur : 1/50
Poulie courroie : rayon poulie de 1cm
Corde : 10 000 N/m
Rampe de 200 N en 0.5s
Séminaire mécatronique 2017 - EMINES
Simulation acausale sur OpenModelica
www.openmodelica.org

Séminaire mécatronique 2017 - EMINES


Simulation acausale sur Matlab
fr.mathworks.com/products/simscape.html

Séminaire mécatronique 2017 - EMINES


Conclusions
Facile à installer et mettre en œuvre avec les élèves.

Libre donc disponible sur les ordinateurs personnels des


étudiants.

Outil maintenu par une communauté active.

Tous les sujets de concours écrits et les oraux s’appuient sur


Scilab (voir présentation de demain!)

Séminaire mécatronique 2017 - EMINES

Vous aimerez peut-être aussi