Explorer les Livres électroniques
Catégories
Explorer les Livres audio
Catégories
Explorer les Magazines
Catégories
Explorer les Documents
Catégories
1. Quelques rappels
Approche causale
Dans l’approche causale, qui est celle utilisée par exemple lors de la modélisation sous forme de schéma-
blocs des systèmes linéaires continus invariants, les liens orientés créent une relation de causalité entre les
blocs : c'est le bloc source qui cause l'exécution du bloc destination.
Approche acausale
La modélisation dite acausale est une forme récente de modélisation des systèmes qui permet la modélisation
d’un système sans anticiper l’orientation des liens entre les composants ou phénomènes physiques.
Il n’y a notamment pas de choix particulier de grandeur échangée entre composants, force ou vitesse par
exemple, ni de notion d’entrée ou de sortie. Cette particularité conduit à une très grande flexibilité des
modèles de composants développés et une réutilisation facilitée des modèles sur de nouveaux projets. Ces
avantages en font un outil prisé en entreprise.
D’un point de vue pédagogique, le modèle acausal est souvent très proche de l’architecture matérielle et
permet de simuler le comportement d’un système complexe sans avoir à écrire la moindre équation car celles-
ci sont implicites.
La modélisation acausale permet de manipuler des blocs représentant des composants physiques (résistance,
moteur, ressort, vanne, etc.). À la différence des blocs causaux qui ont des ports d'entrées/sorties de signaux,
ces blocs sont pourvus de connecteurs. Les liens reliant ces connecteurs représentent la mise en
correspondance de grandeurs physiques.
L’objectif de cette activité de simulation est de montrer les possibilités de Scilab / Xcos pour simuler des
processus multi-physiques par une approche acausale. Ce type de modèles pouvant être rencontré lors des
séances de travaux pratiques ou bien utilisé dans le cadre du TIPE.
Notons enfin que le logiciel Matlab et son complément Simulink, permettent aussi d’élaborer et de simuler
des modèles acausaux. Il est prévu, lors de la préparation aux épreuves orales, une initiation à ce logiciel.
Modèle acausal
La représentation acausale ne privilégie aucune grandeur physique particulière et est basée sur la notion de
composants. Ainsi, dans Scilab / Xcos, le diagramme correspondant au circuit RLC est le suivant :
Il n’est pas nécessaire d’écrire les équations du système car chaque bloc les contient, elles sont implicites. Il
suffit simplement de configurer les paramètres de chaque bloc (R, L, C et U) en double-cliquant dessus.
Un lien entre deux blocs contient dans ce cas à la fois le potentiel et l’intensité. Cette modélisation permet
d’exprimer des relations entre composants sans connaître la grandeur que l’on cherche à calculer. Pour
extraire cette grandeur, on utilisera une instrumentation virtuelle à l’aide des blocs de type capteur.
On peut considérer que l’on entre dans une approche causale à partir du moment où l’on spécifie les
entrées et les sorties du modèle et que l’on exécute une simulation.
Modèle causal
Dans une représentation purement causale, les liens représentent une grandeur physique particulière et le
diagramme est alors une traduction des équations plutôt qu’une représentation des composants.
Dans le cas du circuit RLC, les équations (modèles de connaissances) associées sont alors les suivantes :
d i (t )
uL (t ) = L uR (t ) = R i (t )
dt
d u (t )
i (t ) = C C U(t ) = uR (t ) + uL (t ) + uC (t )
dt
Ces équations sont obtenues, à condition de ne pas faire d’erreur, à partir du théorème de superposition, des
lois de Kirchhoff et de la loi d’Ohm.
On peut alors représenter graphiquement les équations, dans le domaine temporel, par un diagramme de ce
type :
Ces représentations, en plus d’être plus compliquées que le diagramme obtenu avec l’approche acausale
présentent l’inconvénient de faire perdre la signification physique du système étudié.
De plus, ces modèles sont difficiles à faire évoluer. Le simple ajout d’une résistance en parallèle dans notre
circuit implique nécessairement une nouvelle mise en équation et modifie profondément le schéma.
On rappelle les cinq équations qui modélisent, dans son régime linéaire, le moteur à courant continu :
Cette équation correspond au modèle électrique du moteur qui est modélisé par une
d i (t ) résistance en série avec une inductance et une force électromotrice e(t) .
u(t ) = e(t ) + L + R i (t )
dt
(u(t) en V , e(t) en V et i(t) en A )
( cm (t ) en N m & m (t ) en rad s −1 )
Bien que le programme de SII en PSI spécifie que ces équations doivent être fournies aux étudiants lors des
concours, les retours d’expériences d’anciens élèves montrent qu’il est nécessaire de les connaître, en
particulier pour les épreuves orales !
1. En utilisant les blocs spécifiés ci-dessous, traduire dans un diagramme Xcos le schéma ci-dessus.
A noter :
• On peut inverser le sens des blocs : clic droitformat.
Une fois le modèle finalisé, on peut ensuite lancer une simulation et visualiser l’évolution, en fonction du
temps, des grandeurs qui transitent sur chaque lien entre les composants. En choisissant ainsi les entrées et
les sorties du modèle, on définit la causalité du modèle, c’est-à-dire le sens entréesortie.
3. A partir des indications ci-dessous, simuler le comportement du système ainsi modélisé. Justifier
l’allure de la vitesse de rotation du rotor en fonction du temps en la comparant au résultat attendu à
partir de l’équation de dynamique donnée précédemment dans la partie 3.1.
→ Ajouter le bloc de mesure CMRS_GenSensor (sous-palette Mécanique / Rotation
1D / Mesure) et double-cliquer dessus. Choisir la grandeur à visualiser.
5. Simuler, dans les mêmes conditions que précédemment (1s et 200 points), le comportement du
système ainsi modélisé. Observer l’allure de la vitesse de rotation du rotor en fonction du temps et la
comparer au résultat attendu à partir de l’expression de ( p) obtenue à partir de l’équation de
dynamique exprimée dans le domaine de Laplace. On fera l’analogie avec la réponse à un échelon
(amplitude à préciser), d’un modèle usuel du premier ordre.
A noter :
• Dans une étude mécanique, il ne faut pas oublier de mettre un bâti qui est le référentiel galiléen de
l’étude. Ce bâti est implicitement spécifié lorsque l’on impose des couples.
• Le comportement en translation rectiligne (Translation 1D) fonctionne exactement sur le même principe
que ce qui a été réalisé ici pour la rotation.
A noter :
• Pour la source de tension, les connecteurs ont un sens particulier, le connecteur plein (carré bleu)
correspond à la borne positive, le connecteur vide (carré blanc au cadre bleu) à la borne négative.
8. Etudier l’influence de la valeur de l’inductance sur la vitesse angulaire en modifiant sa valeur dans le
bloc correspondant. Conclure sur l’ordre de la fonction de transfert associée au MCC lorsque le terme
lié à l’inductance est négligeable ou pas.
Afin de gagner en efficacité, et de diminuer les temps de développement de nouveau systèmes, les logiciels
de modélisation et simulation multiphysique sont régulièrement enrichit de super-blocs permettant de
modéliser les constituants de la chaine d’énergie couramment utilisés. C’est le cas du moteur à courant
continu pour lequel il existe un bloc unique paramétrable.
9. Dans un nouveau diagramme et en utilisant les indications ci-dessous, simuler (1 s – 200 points) le
comportement du moteur étudié. Afficher l’évolution de la vitesse angulaire en sortie du moteur. Dans
cette activité, on négligera l’influence du frottement sec mais pas celle du frottement visqueux.
10. A l’aide des indications ci-dessous, faire évoluer le diagramme pour permettre d’afficher l’évolution
de la puissance électrique en entrée du moteur et de la puissance mécanique en sortie du moteur.
Calculer le rendement en régime permanent.
Un des grands intérêts de la modélisation acausale est la possibilité offerte de ne spécifier le sens
entrée→sortie des puissances mises en jeu qu’au moment de la simulation. Dans le cas d’une machine à
courant continu, un même modèle peut donc permettre de simuler le comportement d’un moteur ou d’une
génératrice.
11. Utiliser le fichier MCC Génératrice pour observer la tension en sortie du moteur utilisé comme une
génératrice. Dans cette activité, on utilise un monobloc pour le moteur et on néglige les
frottements secs et visqueux.
un couple constant de 100 mN.m est imposé sur l’arbre de sortie du moteur.
On mesurela tension (MEAS_VoltageSensor) aux bornes d’une résistance, de même valeur que la résistance
interne du moteur, mise en série avec le moteur.
Le bilan des actions mécaniques sur la masse La masse m conduit à recenser deux forces :
- le poids P , constante et qui s’exerce toujours dans le même sens ;
- La force de rappel T du ressort, dont la valeur et le sens dépendent de la
position de la masse.
1. Repérer sur ce schéma les liens qui correspondent à z(t), z(t), z(t), k ( L0 + z(t) ) et au poids.
2. Vérifier, à l’aide d’une simulation sur le fichier Masse-ressort - Causal que la solution de l’équation
k
différentielle est de la forme z(t) = A cos( t + ) avec = .
m
A noter :
Un double clic sur un bloc sommateur permet de régler son nombre d’entrées et le signe de ces entrées.
5. Repérer sur le schéma le bâti fixe, le ressort, l’amortisseur, la masse en translation et le poids.
Compte-tenu de la masse de
l’armature (S2) et de son
encombrement, le mécanisme
possède deux degrés de liberté :
- la position du chariot y (t ) ;
- la position angulaire de
l’armature (S2) (t ) qui apparaît
suite à la déformation de
l’armature lors du déplacement.
• Premier modèle
Dans un premier temps, on néglige les frottements dans les différentes liaisons.
1. A l’aide des indications ci-dessous, simuler le comportement du moteur étudié. Afficher l’évolution
de la vitesse angulaire en sortie du moteur. On réalisera une simulation pendant 2s en prenant 2000
points.
Si besoin, se reporter aux questions 9 et 3 de la partie 4.1 Modèle acausale d’une machine à courant continu
→ Utiliser un bloc alimentation variable : MEAS_SignalVoltage (sous-palette
Electrique / sources ) .
→ Lui associer un bloc trapèze MBS_Ramp (sous-palette Signaux / Sources ) et double-
cliquer dessus pour le régler. Associer provisoirement un scope à ce bloc trapèze pour
comprendre et vérifier son réglage.
2. A l’aide des indications ci-dessous, compléter le modèle précédent pour faire apparaitre les
transmetteurs et l’effecteur de la chaîne d’énergie.
3. Lancer une simulation et afficher l’évolution de la vitesse de l’ensemble E. Vérifiez que la vitesse
obtenue est cohérente au regard des exigences du cahier des charges.
A noter :
• Lorsque la simulation ne se termine pas au temps indiqué, c'est bien souvent lorsque le pas de temps est
mal choisi. C’est le cas lorsque la constante de temps du système modélisé est très faible, de l’ordre de
grandeur du pas de temps imposé dans le bloc Time.
Dans ce cas, il ne faut pas hésiter à diminuer le pas de temps en augmentant le nombre de points de la
simulation. Bien entendu, cela augmente le temps de calcul, mais ce n’est pas perceptible entre 2000 et
20 000 points.
4. A l’aide des indications Compléter le modèle précédent afin de prendre en compte le phénomène de
frottements secs.
5. A l’aide de résultats de simulation, régler la tension de commande du moteur afin que la vitesse
maximale du chariot soit celle spécifiée dans le cahier des charges.
• Asservissement en vitesse
La partie précédente a permis de montrer qu’il est nécessaire d’asservir en intensité le moteur pour contrôler
les accélérations. Il est aussi indispensable d’ajouter un contrôle de vitesse pour assurer la loi de consigne
souhaitée. L’asservissement de vitesse se fait en comparant la vitesse de rotation du moteur (capteur sur
l’axe du moteur) à la vitesse de consigne en trapèze.
8. A l’aide des indications ci-dessous, compléter le modèle précédent en insérant une boucle
d’asservissement de la vitesse du moteur. Afficher l’évolution du courant moteur, de la vitesse
angulaire du moteur et de la vitesse linéaire de l’ensemble en translation.
Sur le système réel, le codeur incrémental monté sur l’axe moteur délivre une position
en nombre de tops (informations binaires). Cette information de position est ensuite
dérivée numériquement par différences finies. Le signal obtenu, image de la vitesse
de rotation du moteur, est en général très bruité. Il faut donc adjoindre à cette
mesure un filtre modélisable par un bloc du premier ordre.
→ Pour modéliser cela, utiliser un bloc MBC_FirstOrder (sous-palette Signaux /
Continu ) de gain statique égal à 1 et de constante de temps 1 ms pour filtrer la vitesse
en sortie du moteur.
→ Utiliser de nouveau un bloc correcteur de type proportionnel intégral MBC_PI (sous-
palette Signaux / Continu ). Positionner ce bloc en amont du comparateur de la boucle
de courant réalisée précédemment et régler sa constante de temps à une valeur de
0,025s et son gain proportionnel à 0,15 .
Configurez en entrée une consigne en trapèze de vitesse de translation de l’ensemble
en mouvement assurant le respect du critère du cahier des charges. On utilisera la
aussi un un bloc trapèze MBS_Ramp (sous-palette Signaux / Sources ).
En cas de difficultés à réaliser le modèle ou à le simuler, on pourra utiliser, après l’avoir analysé, le modèle
proposé dans l’onglet Démonstration Xcos ( )
• Synthèse
9. A partir des résultats de simulations obtenus, conclure sur la nécessité d’utiliser ce type de commande
(boucle d'intensité et de vitesse) pour contrôler précisément les mouvements d’un axe linéaire.
ANNEXES
1. Caractéristiques techniques du moteur Maxon
Terminal résistance 4
De nombreuses fonctionnalités sont incluses dans Scilab. En voici une liste non exhaustive :
• opérations mathématiques ;
• fonctions graphiques 2D et 3D ;
• algorithmes de résolution numérique ;
• conception, étude et commande de systèmes ;
• traitement du signal ;
• visualisation, analyse et filtrage des signaux dans les domaines temporel et fréquentiel ;
• modélisation et de simulation de systèmes dynamiques hybrides ;
• modélisation des systèmes mécaniques, des circuits hydrauliques...
Scilab est un outil extrêmement puissant et complet. En CPGE, il est principalement utilisé pour son module
de simulation graphique Xcos.
Le langage de modélisation
utilisé (Modelica) est destiné à
permettre une modélisation
pratique de systèmes complexes,
par exemple, des systèmes
comportant des composantes
mécaniques, électriques,
hydraulique, thermique, ...
La toolbox Coselica de Xcos offre approximativement 200 blocs basiques pour la modélisation et la simulation
de systèmes électriques analogiques, mécaniques et thermodynamiques.
La toolbox SIMM est basée sur la toolbox Coselica dont elle reprend les blocs principaux réorganisés
différemment et ajoute des blocs très utiles ou simplifiés.
On relie les blocs entre eux par des liens qui représentent des liaisons idéales équipotentielles transmettant
une grandeur flux. Une validation des liens entre connecteurs est réalisée lors de la simulation afin de garantir
une modélisation cohérente. Afin d’éviter les erreurs, il faut veiller à connecter des ports de même
domaine physique.
On remarque que certains connecteurs sont vides et d’autres pleins. Il n’y a pas de différences entre eux mais
certains composants étant orientés, on repèrera leur polarité en fonction des connecteurs. Cela dit, on
rappelle que dans une représentation acausale, il n’y a pas de notion d’entrée / sortie.
Des blocs reliés par des liens définissent un ensemble d'équations implicites qui seront utilisées par le logiciel
pour effectuer les calculs lors de la simulation.
La modélisation étant acausale : les différents blocs du processus physique ne sont pas orientés.
Certains blocs possèdent néanmoins une orientation, iI s’agit des blocs permettant de définir :
Exemple : bloc échelon
- les simulations à réaliser (les grandeurs d’entrée
qui sont imposées) ;
Dans le cas des capteurs, l’implantation dépend de la simulation envisagée, c’est-à-dire des grandeurs que
l’on souhaite exploiter. Dans une modélisation acausale, il n’est pas nécessaire de reconstruire le modèle en
fonction de l’expérience que l’on souhaite simuler, il suffit de :
- redéfinir la grandeur que l’on impose,
- placer, sur les bons liens, les capteurs souhaités.
Les liens véhiculent des puissances, il est donc nécessaire de choisir le capteur permettant d’atteindre la
grandeur physique recherchée puis de l’implanter correctement.
Notons enfin que l’on peut récupérer les données issues d’un capteur implanté dans notre modèle en vue de
les traiter et/ou afficher dans un autre logiciel comme Python par exemple.
Pour cela il suffit un bloc CSV_write (sous-palette CPGE / Sorties) auquel il faut associer le block
CBI_RealOutput (sous-palette SIMM / Utilitaires /Routage).