Vous êtes sur la page 1sur 16

Modlisation multiphysique et architecture

Modlisation de diffrentes motorisations


Cet article a pour objectif de prsenter les diffrentes motorisations et leurs commandes proposes dans le
module SIMM sous Scilab. Nous montrerons galement comment raliser son propre bloc de modlisation acausale
en utilisant le langage Modelica.

Modlisation sous Scilab de diffrentes motorisations


Moteur courant continu parfait
a) Modlisation
Le bloc DC_Motor disponible dans la palette Composants/Actionneurs de SIMM permet de simuler p
le comportement d'un moteur courant continu sans frottement. Les paramtres demands r
lorsque l'on clique sur le bloc sont : R rsistance du moteur (Ohm), L inductance (H), k constante
de couple ou de fcem (Nm), J inertie du rotor (kg.m 2). n
En notant p et n les connecteurs de gauche du bloc (avec v p potentiel lectrique, i p courant
lectrique) et r celui de droite (avec l'angle de rotation du moteur et C le couple disponible en sortie), les
quations qui caractrisent le moteur sont :
di
v p v n =Ri+L +k , i=i p =i n , kiC=J
dt
b) Commande idale
Pour faire varier la vitesse, il faut imposer une diffrence de potentiels entre les bornes p et p
n. La commande idale consiste utiliser un bloc de variateur de tension (palette n
Electrique/Sources/MEAS_SignalVoltage).
Les bornes p et n sont relies aux bornes p et n du moteur et on impose au niveau de la borne com
com un signal quelconque (constant, sinusodal...). La tension aux bornes du moteur sera alors
continue.
c) Commande par hacheur
Pour tre plus proche de la commande relle d'un MCC, on peut utiliser les diffrents drivers disponibles pour ce
type de moteur (palette Composants/Practionneurs) : Q1driver (hacheur 1 quadrant), Q2driver (hacheur 2
quadrants), Q4driver (hacheur 4 quadrants).

ps p
ns
com n
Les connecteurs ps et ns sont relis aux connecteurs p et n d'une source de tension (alimentation) tandis que les
connecteurs p et n sont relis aux bornes du moteur. Le signal de commande de fermeture des interrupteurs du
hacheur est envoy sur le connecteur com. On utilise un bloc PWM pour gnrer un signal priodique de
frquence constante et de rapport cyclique variable.
Le modle utilis dans chaque hacheur est le modle thorique avec diodes et interrupteurs idaux.
Les figures suivantes montrent les modles complets de pilotage de MCC avec chacun des hacheurs dtaills.
Pour obtenir des rsultats pertinents au niveau de la tension du moteur, il faut utiliser un pas de calcul petit (le
PWM est une frquence de 500 Hz). La simulation utilise ici utilise un pas de 15000 pour une dure de
simulation de 0.1s (on ne voit que le dbut du rgime transitoire sur la vitesse moteur).

1/16
Modlisation multiphysique et architecture

Figure 1: Pilotage d'un MCC avec hacheur 1 quadrant

Figure 2: Pilotage d'un MCC avec hacheur 2 quadrants

Figure 3: Pilotage d'un MCC avec hacheur 4 quadrants

2/16
Modlisation multiphysique et architecture

d) Ajout de frottements
Le bloc propos ici est valable pour tous les moteurs. Il consiste ajouter des frottements visqueux et des
frottements secs (selon la loi de Coulomb) : Mcanique/Rotation 1D/Basique/RotationalFriction.
Le modle utilis dans le bloc est le suivant : C= f v +Cr avec C la diffrence de couple entre le
connecteur gauche et le connecteur droit). Dans l'quation mcanique du MCC, ce sera ce couple qui
sera utilis.
Le couple Cr vaut Cr0 lorsque la vitesse est positive et C r0 lorsqu'elle est ngative.

Figure 4: Modlisation d'un MCC avec frottements

Figure 5: Vitesse du moteur en rad/s pour diffrentes valeurs de coefficient


visqueux

Il est possible de mettre un couple de frottement sec nul, par contre on ne peut pas mettre un coefficient de
frottement visqueux nul pour des raisons de convergence numrique. Il faut dans ces conditions prendre un
coefficient trs petit !

3/16
Modlisation multiphysique et architecture

Remarque :un autre bloc est disponible mais il est plus complexe utiliser.

Servo-moteur
a)Modlisation
Un servo-moteur n'est autre qu'un moteur courant continu asservi en position. Il contient en plus du MCC un
rducteur de rapport de rduction et un capteur qui donne une image de la position angulaire du moteur ou
en sortie de rducteur. Un asservissement de type proportionnel est gnralement inclus dans le servo-moteur.
Ainsi les quations simplifies du servo-moteur sont les suivantes :
u=R i+k m , ki C =J m , r =m , u=K p ( cr ) .

Lorsqu'on achte un servo-moteur, les fabricants indiquent gnralement :
les dimensions
les performances de vitesses : 0.16 sec pour 60 6V, 0.21 s pour 60 4.8 V
les performances de couple : 4.6 kg.cm 4.8 V, 5.7 kg.cm 6V
En se donnant une allure souhaite du rgime transitoire (sans dpassement), les valeurs de R ,k, Kp et
peuvent tre choisis pour respecter les performances annonces par le constructeur.
Ainsi le bloc servo-moteur disponible sous SIMM permet de simuler le comportement d'un servomoteur dont on
donne les caractristiques obtenues dans la documentation du servomoteur.
Le connecteur d'entre correspond l'angle dsir en degr ( 0 180 en gnral) et le connecteur
de sortie est la rotation du servomoteur.
Les paramtres demands sont :
la tension d'alimentation en Volt, le couple nominal donn dans la documentation sous la tension U en N.m, le
tempsT que met le moteur atteindre un angle donn en sous la tension U, l'angle atteint en une dure T.

Figure 6: Paramtres de rglage d'un servomoteur

4/16
Modlisation multiphysique et architecture

Figure 7: Simulation d'un servomoteur et quivalence avec le modle dtaill du servomoteur

Moteur synchrone
a)Modle

Un modle parfait de moteur synchrone est disponible dans la palette SIMM/Composants/Actionneurs


PermanentMagnetSynchronousMotor (Moteur synchrone aimants permanents) ou
WoundedRotorSynchronousMotor (moteur synchrone rotor bobin). Ces deux modles sont identiques la
diffrence prs que le moteur aimants permanents possde un flux magntique constant s alors que le flux
dans le cas d'un rotor bobin ce flux dpend du courant impos l'extrieur du bloc et peut donc tre variable.

Nous nous intressons au cas du moteur synchrone aimants permanents. On retrouve


gauche 3 connecteurs qui correspondent aux 3 fils de chaque phase du moteur. En sortie un
connecteur de type rotation 1D est dfini et permet d'avoir accs la position angulaire et au
couple.

On note l'angle de rotation du moteur et v a ,v b ,v c les potentiels aux bornes de chaque


phase ainsi que ia , ib , ic les courants circulant dans chaque phase.
Le montage lectrique qui correspond au modle implant dans le bloc est le suivant avec n nud central.
b
R

L e = p
L R
n a

R
c

D'un point de vue lectrique, le champ magntique tourne d'un angle e fonction du nombre de paires de ples
p de l'aimant, ainsi e =p .
En notant n le nud central du montage toile, les quations lectriques qui caractrisent le modle du moteur
synchrone sont :

5/16
Modlisation multiphysique et architecture

d a
v av n =Ria + avec a =L ia +M ( ib +i c) + s cos e
dt

v b v n =Rib +
d b
dt ( )
avec b =L i b +M ( i a +i c ) + s cos e
2
3

v cv n =Ric +
d c
dt ( )
avec c =Li c+M ( ia +ib ) + s cos e +
2
3
et ia +i b +i c=0
o L et R sont les inductances et rsistances d'une phase et M l'inductance mutuelle entre les phases (on a
gnralement M =L cos ( 120 ) )

D'un point de vue mcanique, l'quation qui relie l'angle du rotor au couple magntique est la suivante :
J = p s sin ( e ) ia +sin e2 i b +sin e +2 ic f v +Cs avec C le couple disponible en sortie, f coefficient
( ( ) 3 ( ) ) 3 s v

de frottement visqueux et J inertie du rotor.

b)Pilotage par onduleur


Boucle ouverte + simul de dcrochage avec le bloc tout fait et avec ce qu'il y a dedans
Pour valider le modle de moteur synchrone, on impose sur les trois phases des tensions sinusodales dcales de
120 d'amplitude donne 12 V avec une petite frquence pour viter le dcrochage du moteur f=1Hz. Les valeurs
Les paramtres du moteur sont les suivants

Figure 8: Schma-bloc du pilotage en boucle ouverte du moteur synchrone


On trace la vitesse angulaire du rotor et la tension aux bornes de chaque phase moteur.
On constate que la vitesse du rotor aprs un rgime transitoire est de rad/s ce qui correspond la frquence

6/16
Modlisation multiphysique et architecture

des tensions imposes en entre.

Figure 9: Rsultats de simulation pour des tensions d'entre de frquence 1 Hz

Il est intressant de faire varier la frquence des tensions d'entre pour visualiser le dcrochage du moteur. A
partir d'une certaine frquence, le vitesse en rgime permanent n'est plus constante ce qui n'est pas physique (il
n'y a pas de frottement sec).

Figure 10: Courbes de vitesse du rotor pour des frquences de 10,11 et 12 Hz

7/16
Modlisation multiphysique et architecture

La gnration des trois sinus dphass de frquence et d'amplitude donnes est disponible dans un bloc Onduleur
parfait (SIMM/Composants/Practionneurs/IdealInverter). Ce bloc demande en entre l'amplitude de la tension
de commande ainsi que l'volution de l'angle lectrique au cours du temps. On peut donner en paramtre un
dphasage initial entre le champ magntique et le rotor d'angle nul initialement.

Figure 11: Schma-bloc du pilotage en boucle ouverte par onduleur parfait


c) Autopilotage par onduleur et capteur de position

Pour que le moteur tourne une vitesse impose, on mesure prcisment l'angle du rotor et on en dduit l'angle
lectrique de consigne ncessaire puis on l'envoie en entre du bloc onduleur.
Pour voir l'influence de l'autopilotage, on modifie l'inertie du moteur J=0.00001 kg.m 2 et le frottement visqueux
fv=0.0001 Nm.s.

Figure 12: Schma-bloc du moteur synchrone autopilot

8/16
Modlisation multiphysique et architecture

Figure 13: Evolution des grandeurs pour un fonctionnement autopilot

On constate la variation automatique de frquence des sinusodes pendant le rgime transitoire. On remarque
que la courbe de vitesse de la machine syncrone autopilote ressemble celle d'un moteur courant continu.

d)BLDC
On garde le mme moteur mais on change la commande qui est cette fois-ci discrte. Des capteurs effet hall
permettent de dterminer quand le champ magntique sur une phase est positif ou ngatif et renvoie donc 1 ou
0.
A partir de ces trois informations binaires, on reconstruit 6 phases de fonctionnement de l'onduleur qui imposera
les potentiels la tension de consigne ou zro ou le courant 0.
On a donc :
Etat 1 : Va=U, Vb=0, ic=0
Etat 2 : Va=U, ib=0, Vc=0
Etat 3 : ia=0, Vb=U, Vc=0
Etat 4 : Va=0, Vb=U, ic=0
Etat 5 : Va=0, ib=0, Vc=U
Etat 6 : ia=0, Vb=0, Vc=U

9/16
Modlisation multiphysique et architecture

Ca

Cb

Cc

Va

Vb

Vc

A FINIR

Modlisation multiphysique en Modelica sous Scilab

La librairie SIMM offre diffrents blocs spcifiques des domaines multiphysiques varis. Cependant, un
utilisateur peut vouloir dvelopper son propre comportement multiphysique. Un nouveau bloc a t implant
dans SIMM et permet de dfinir tout type de comportement dans Scilab. Il est ncessaire pour bien comprendre
son utilisation de connatre les connecteurs physiques utiliss dans SIMM et galement la syntaxe basique de
Modelica.

Connecteurs physiques
Les blocs sous SIMM possdent des connecteurs gauche et droite qui reprsentent une connexion physique
possible. Chaque connecteur fait transiter des grandeurs de type flux ou de type potentiel. Lorsque deux blocs
sont relis, il faut s'assurer que les connecteurs sont de mme type.
Le tableau suivant liste les symboles utiliss dans SIMM ainsi que les noms des grandeurs physiques qui transitent
dans chaque connecteur.

Symboles Type de connecteur Raccourcis pour les types Grandeurs accessibles dans le
connecteur not c
Electrique El+, El- c.v : potentiel en V
c.i : courant en A
Hydraulique Hy+, Hy- c.p pression en Pa
c.q dbit en m3/s
Araulique Ae+, Ae- c.p pression en Pa
c.q dbit m3/s"
c.h taux d'humidit en %

10/16
Modlisation multiphysique et architecture

Rotation 1D Ro+, Ro- c.phi angle en rad


c.tau couple en Nm
Translation 1D Tr+, Tr- c.f force en N
c.s position en m

Mcanique plane Pl+, Pl- c.f force 2D en N


c.t couple en Nm
c.r_0 position absolue en m
c.phi angle en rad

Thermique Th+, Th- c.T temprature en Kelvin


c.Q_flow flux thermique en W

Signaux Si+ (Si-) c.signal (sans unit)

Les connecteurs peuvent tre pleins ou vides. Ceci permet de fixer une convention pour les quations utiliss
dans les blocs.

Exemple : bloc alimentation

On note p le connecteur de gauche et n le connecteur de droite. Le bloc demande le paramtre correspondant


la tension constante d'alimentation U.
Les quations qui sont utilises dans le bloc sont les suivantes : p.v-n.v=U et p.i=n.i
Il y a donc bien une convention qui indique que le potentiel positif est le p.
De la mme manire pour la rsistance : p.v-n.v=R*p.i et p.i=n.i

Bloc pour dfinir un modle personnel

Le bloc de la palette SIMM/Utilitaires/Analyse est appel SIMMUserModel

En cliquant sur le bloc, on accde la premire fentre de paramtrage.

La premire entre correspond aux noms des connecteurs que l'on souhaite utiliser en entre (connecteurs de
gauche du bloc). Les noms doivent tre donns sous forme de chanes de caractres spares par des virgules :
"u" ;"p"
Il faut ensuite spcifier le type de connecteur correspondant chaque entre. Scilab mettra automatiquement la
bonne forme et bonne couleur du connecteur une fois la gnration ralise. Les noms des types sont choisir
parmi ceux rappels dans le tableau du paragraphe prcdent et doivent tre renseigns sous forme de chanes

11/16
Modlisation multiphysique et architecture

de caractres spares par des virgules. Exemple : "Si+" pour un connecteur de type signal plein (triangle bleu
plein), "El-" pour un connecteur de type lectrique vide.
Il est possible galement d'utiliser les connecteurs gnriques de Scilab, c'est dire le triangle
noir pour reprsenter des grandeurs de type symbolique (type explicite "E"), ou le carr noir
pour reprsenter des grandeurs basiques relles Modelica (type implicite "I").
Les deux entres suivantes permettent de dfinir les noms et les types des grandeurs de sortie
(du ct droit du bloc) en suivant le mme principe que pour les grandeurs de gauche.

Il est ensuite possible de dfinir des paramtres constants passs dans la fonction et qui seront utiliss (ou non)
dans le modle de la fonction. Si le champ est laiss vide, aucun paramtre constant ne sera utilis.

Pour terminer il faut renseigner le nom souhait pour la fonction. Il ne peut pas y avoir plusieurs fonctions qui
portent le mme nom !

La deuxime fentre de paramtrage demande de renseigner les


valeurs des paramtres constants.

La dernire fentre comporte le corps de la fonction dfinir par


l'utilisateur.

La partie orange est gnre automatiquement partir des variables et types dfinis prcdemment. Il ne faut
pas la modifier car elle est automatiquement crase et regnre chaque fois.
On retrouve la dfinition des paramtres constants en langage Modelica, la dfinition des variables d'entre et de
sortie avec le type et le nom de chaque variable. Une aide est propose aprs chaque ligne de dclaration de
variable pour savoir comment utiliser les variables dans la fonction Modelica. Cet aspect sera dcrit dans le
paragraphe suivant.
La zone bleue est utilise pour dfinir des variables internes utilises dans la fonction. Cette zone reste si on
modifie des lments dans les fentres de paramtrage sauf si on modifie le nom de la fonction.
La zone verte permet de dfinir la fonction Modelica et n'est pas efface si les paramtres de dfinition sont

12/16
Modlisation multiphysique et architecture

changs.

Elments de langage Modelica


a) Exemple de modle simple
La dclinaison de Modelica utilise dans Scilab n'est pas la version la plus actuelle de Modelica. Les lments
syntaxiques sont relativement restreints.
Quelques rgles doivent tre respectes :
Chaque ligne d'instruction doit tre termine par un point-virgule. Les commentaires commencent pas //.
En utilisant les variables gnres automatiquement et rappeles en entte de fonction, on peut relier les
connecteurs entre eux.
Exemple de fonction : rsistance chauffante. Quand la rsistance est parcourue par un courant, les pertes par
effet Joule sont vacues sous forme de chaleur. Ce modle est dj prsent dans la palette SIMM
(Electrique/Composants basiques/Passif/MEAB_HeatingResistor).
Le paramtrage retenu est le suivant :

La relation lectrique est U=R.i avec U la tension aux bornes de la rsistance et la rsistance volue linairement
en fonction de la temprature T : R=R_ref*(1 + alpha*(T T_ref)).
L'entte de la fonction gnre est la suivante :

On retrouve donc la temprature en utilisant la variable heat.T et la tension aux bornes de la rsistance sera
par convention obtenue par la relation U=p.v-n.v.
On introduit donc deux variables internes pour simplifier les critures : U et R
Real U ;
Real R ;
On peut alors dfinir le corps de la fonction en faisant attention bien terminer chaque ligne par un point-
virgule :

13/16
Modlisation multiphysique et architecture

U=p.v-n.v ;
R=R_ref*(1+alpha*(heat.T-T_ref)) ;
U=R*p.i ;
Le modle ainsi dfini n'est pas complet et si on lance une simulation avec ce modle, le compilateur Modelica
indiquera qu'il y a trop d'inconnues par rapport au nombre d'quations. En effet, il faut dfinir la manire dont
transitent les flux l'intrieur du bloc. Le flux lectrique en entre est gal au flux lectrique en sortie. Le flux
thermique est gal (au signe prs par convention) la puissance lectrique perdue par effet Joule.
On ajoute donc les quations suivantes :
p.i=n.i ;
heat.Q_flow=-U*p.i ;
On a donc le modle complet suivant

On teste le modle ainsi dfini en plaant la rsistance chauffante dans un circuit lectrique et on relve la
temprature de la pice chauffe.

Remarque : lorsque le modle n'est pas satisfaisant physiquement, le compilateur indique qu'il manque des
quations ou des variables. Il faut alors bien rflchir aux quations de potentiels et de flux utiliser.
Pour simplifier galement la rsolution et limiter le temps de calcul, il est pertinent d'inverser des relations de
manire avoir des comportements explicites si possible.

14/16
Modlisation multiphysique et architecture

b) Syntaxes supplmentaires

Il est possible d'utiliser diffrents mots cls Modelica pour dfinir des quations.
Instruction conditionnelle
Pour qu'une variable var prenne deux valeurs diffrentes v1 ou v2 en fonction d'une condition donne, on utilise
la syntaxe :
var=if condition then v1 else v2 ;
Plusieurs conditions if peuvent tre imbriques.
Les conditions logiques utilisent les mots cls and, or <,<=,>,>=. On ne peut pas faire d'galit ou de test de
valeurs diffrentes.

Fonctions particulires
Pour accder la valeur du piquet de temps prcdent d'une variable a, on utilise la fonction pre(a) ;

Le temps courant de simulation est accessible par le mot cl : time. Cette variable est incrmente du pas de
temps chaque pas de calcul.
Pour rinitialiser cette valeur un instant T0, on peut utiliser l'instruction
when time > T0 + period then
reinit( T0, time );
end when;

Les fonctions mathmatiques utilises dans Scilab sont disponibles dans Modelica : sin, cos, tan, asin, acos, atan,
exp, sqrt, puissance (symbole ^), log (pour ln),...

La drive d'une grandeur relle est calcule numriquement par l'instruction : der(var) ;

Constantes, valeurs particulires


Des constants sont dfinies et accessibles dans une fonction depuis le module Coselica. On tape directement :
Coselica.Constants.pi ; par exemple ou Coselica.Constants.eps ; pour exp(1), Coselica.Constants.small pour un
nombre trs petit non nul, Coselica.Constants.inf pour un nombre trs grand (infini).

Pour dfinir une valeur initiale une variable interne, on utilise l'instruction :
Real mavar(start=10) ;

Pour fixer une valeur une variable, on utilise l'instruction :


Real mavar(start=10,fixed=true) ;

15/16
Modlisation multiphysique et architecture

Un vecteur ou une matrice est dfini par l'instruction suivante :


//Vecteur de dimension 3
Real vec[3] ;
//Matrice de dimension 2x2
Real mat[2,2] ;
On accde une valeur par le nom de la variable et l'indice souhait (qui commence 1).
mavar=2*vec[1]+mat[1,2];

Pour faire une boucle finie, on utilise l'instruction :


for i in 1:10 loop
// instruction
end for ;

16/16