Vous êtes sur la page 1sur 6

Promeo - Université de Picardie Jules Verne 2015-2016

LPro Automatisme et Robotique Phénomènes Dynamiques Engendrés


par les Mouvements du Robot

TP 2 - Simulation de systèmes mécaniques


et électromécaniques avec Simscape
Durée: 3h + 1h pour le compte rendu

Simscape est une extension de Matlab/Simulink pour modéliser des systèmes physiques dans
les domaines électriques, électroniques, hydrauliques, mécaniques et thermiques.
Contrairement à Simulink, basé sur la notion de fonction de transfert ou des entrées-sorties
d’un système, les composants de Simscape sont décrits par les relations mathématiques qui
relient ses grandeurs physiques.

Un système qui utilise des connections physiques (comme le couple ou la vitesse pour un
moteur électrique) peut être directement relié à un modèle Simulink pour le contrôle de ces
signaux physiques.

Simscape dispose d’un langage qui permet de créer des composants personnalisés selon les
besoins de l’utilisateur dans son propre domaine physique. Ce langage est basé sur la
programmation textuelle orientée objets de Matlab. Ces composants peuvent être créés à
partir des programmes des composants déjà présents dans la Foundation Library.

Grâce à ce langage orienté objets, Simscape permet la création de nouveaux composants et


domaines que l’on peut utiliser dans l’environnement Simulink. Simscape permet aussi de
créer des systèmes "multi-domaines" (comme un moteur à courant continu avec sa partie
électrique d’induit et mécanique sur lequel on peut insérer des couples d’inertie, des
frottements et on peut faire des mesures de vitesse, couple, etc.).

Ce deuxième TP est consacré aux outils Simscape dans les domaines de la mécanique et de
l’électromécanique. Nous avons vu lors de la dernière séance que on peut démarrer Simscape
à partir du prompt de Matlab avec la commande:

>> simscape

Nous obtenons ainsi une fenêtre dans laquelle nous pouvons accéder facilement aux
différentes librairies de Simscape. Dans ce TP, nous allons utiliser exclusivement les trois
librairies suivantes:

1. Foundation Library
2. SimElectronics
3. Utilities

Un compte rendu avec les méthodes proposées ainsi que les résultats intermédiaires est à
rendre à la fin de la séance par chaque étudiant. Il est à noter que du simple code n’est pas un
compte rendu: commentez vos fonctions et motivez vos choix dans votre rapport final.

Attention: Sélectionner la version à 64 bits au démarrage de Windows.

Fabio Morbidi Page 1/6


Promeo - Université de Picardie Jules Verne 2015-2016
LPro Automatisme et Robotique Phénomènes Dynamiques Engendrés
par les Mouvements du Robot

Figure 1 : Les libraires de Simscape.

Exercice 1 : Double système masse-ressort-amortisseur [6 pts]


Considérons le système mécanique montré dans la Fig. 2, formé de deux masses, deux
ressorts de translation et deux amortisseurs. Il s'agit du modèle simplifié de la suspension
passive d'une voiture, où m1 = 10 kg représente la masse de la structure de support de la
suspension et m2 = 500 kg la masse du châssis du véhicule. Les positions x1 et x2 et les
vitesses x˙ 1 et x˙ 2 des deux masses m1 et m2 sont initialisées aux valeurs x1(0) = 0 m et x2(0)
= -0.5 m, et x˙ 1(0) = 10 m/s et x˙ 2(0) = 10 m/s, respectivement. La masse m1 est reliée à un
support fixe par un ressort de translation de constante de raideur k1  2000 N/m et par un
amortisseur avec coefficient d'amortissement β1 = 500 Ns/m. La deuxième masse m2 est reliée
à la masse mobile m1 par un ressort de translation k2 = k1 et par un amortisseur β2 = β1.
1) Créer un modèle Simscape de ce système mécanique, en utilisant les blocs masse, ressort
et amortisseur de la librairie Mechanical/Translational Elements de
Foundation Library. Mésurer la position et la vitesse linéaires des deux masses avec
un Ideal Translational Motion Sensor. Simuler le comportement du système et
sauvegarder les résultats dans le workspace de Matlab pour les visualiser ensuite avec la
fonction plot. Utiliser un bloc PS-Simulin Converter dans la librairie Utilities
pour convertir le signal physique d'entrée en un signal de sortie Simulink non dimensionnel.
Nous remarquons que nous n’appliquons aucune force, ni à m1, ni à m2: seules les conditions
initiales des vitesses permettent le mouvement de ce système mécanique qui revient à sa
position initiale selon sa dynamique.

2) La programmation du modèle mécanique consideré consiste à résoudre les équations


différentielles couplées suivantes :

m1 ẍ1 + (β1 + β2 ) ẋ1 − β2 ẋ2 + (k1 + k2 ) x1 − k2 x2 = 0


m2 ẍ2 − β2 (ẋ1 − ẋ2 ) − k2 (x1 − x2 ) = 0

Fabio Morbidi Page 2/6


Promeo - Université de Picardie Jules Verne 2015-2016
LPro Automatisme et Robotique Phénomènes Dynamiques Engendrés
par les Mouvements du Robot

Les dérivées de x1 et x2 sont initialisées aux mêmes valeurs initiales des vitesses du système
mécanique. La résolution des deux équations différentielles peut se faire dans un schéma
Simulink "classique" en utilisant le bloc de l’intégrateur "1/s". Visualiser la position et la
vitesse linéaires des deux masses avec des oscilloscopes et sauvegarder les résultats dans le
workspace de Matlab. Comparer les résultats avec ceux obtenus dans la partie 1).

Figure 2 : Double système masse-ressort-amortisseur.

Exercice 2 : Analogie électro-mécanique [6 pts]


Le tableau suivant récapitule les équivalences principales entre les signaux (composants)
mécaniques et électriques.

Mécanique (translation) Mécanique (rotation) Électrique


Position x(t) Position θ(t) Charge électrique q(t)
Vitesse v(t) = dx(t)/dt Vitesse ω(t) = dθ(t)/dt Courant i(t) = dq(t)/dt
Masse m, F = m d2x(t)/dt2 Inertie J, τ = J d2θ(t)/dt2 Inductance L, u = L di(t)/dt
Frottement visqueux β, Frottement visqueux β, Résistance R, u = Ri
F = β dx(t)/dt τ = β dθ(t)/dt (loi d'Ohm)
Ressort de translation, Ressort de torsion, Capacité C, u = q/C
raideur k, F = -k x(t) raideur k, τ = -k θ(t)

On se propose d’utiliser et de vérifier l’analogie électro-mécanique pour les deux systèmes


montrés dans la Fig. 3 ci-après.

Fabio Morbidi Page 3/6


Promeo - Université de Picardie Jules Verne 2015-2016
LPro Automatisme et Robotique Phénomènes Dynamiques Engendrés
par les Mouvements du Robot

Figure 3 : Circuit RL (à gauche) et système mécanique rotationnel (à droite).

Dans le tableau suivant, nous présentons les équations qui régissent les deux systèmes
équivalents: électrique (circuit RL) et mécanique (frottement visqueux + inertie).

Circuit électrique Système mécanique


L di(t)/dt + Ri(t) = Ve J dω(t)/dt + β ω(t) = τ

1) Simuler les deux systèmes dans lesquels nous utilisons une inertie J = 0.01 kg m2
équivalente à une inductance L = 0.01 H. De même qu’un frottement visqueux β = 100
Nms/rad équivalent à une résistance électrique R = 100 Ω. On applique un échelon de couple
au système mécanique par la source Ideal Torque Source. Vérifier que les réponses
des deux systèmes sont identiques

2) Modifier le système mécanique réalisé dans le point 1) en ajoutant un ressort de torsion de


coefficient de rappel k = 10 Nm/rad. Visualiser les positions et vitesses angulaires avec deux
oscilloscopes.

3) [Mouvement mixte] Partez du système mécanique réalisé dans le point 2) et utilisez le bloc
Wheel and Axle (de rayon r égal à 0.05 m) pour passer d’un mouvement de rotation à
un mouvement de translation. Divisez la vitesse de rotation par 5 par le bloc Gear Box
(ou boîte à vitesse) de la Foundation Library/Mechanical/Mechanisms.
Si le système mécanique de rotation est soumis à un échelon de couple de 1000 Nm,
visualiser l'évolution temporelle des positions/vitesses de rotation et de translation, et leur
rapport. Autour de quelles valeurs vont se stabiliser les vitesses de translation et de rotation ?

Exercice 3 :Moteur à courant continu [4 pts]

1. Moteur à vide
Le bloc du moteur à courant continu (DC Motor) appartient à la bibliothèque Actuators
& Drivers de la librairie SimElectronics.

Dans le schéma suivant, nous appliquons à l’induit un échelon de tension de 12 V via le sous
système S→V qui permet de passer d’une valeur d’un signal Simulink à une tension en volts
(valeur physique de Simscape).
Voir les blocs dans: Foundation Libray/Electrical/Electrical Sensors

Fabio Morbidi Page 4/6


Promeo - Université de Picardie Jules Verne 2015-2016
LPro Automatisme et Robotique Phénomènes Dynamiques Engendrés
par les Mouvements du Robot

Nous pouvons constater la différence de la forme entre les ports d’un sous-système
uniquement Simulink et celui de Simscape.

En double-cliquant sur le bloc DC Motor, nous obtenons la boite de dialogue dans laquelle
nous pouvons spécifier les paramètres électriques de l’induit (stator) et les paramètres
-5
mécaniques (rotor). La résistance d’induit est de 3.9 Ω et son inductance vaut 1.2 × 10 H.
La force contre-électromotrice est proportionnelle à la vitesse de rotation avec le facteur
-5
7.2 × 10 V/(tr/mn). D'autre part, les paramètres mécaniques sont spécifiés dans l’onglet
Mechanical. Dans cet onglet, on peut spécifier l’inertie du rotor, son amortissement ainsi
que sa vitesse initiale de rotation en tr/mn. L’inertie et l’amortissement sont par défaut égaux
-8
à 0.01 g cm2 et 10 Nms/rad. La vitesse de rotation initiale est de 0 tr/mn.

Utiliser les commandes suivantes pour tracer les courbes de la tension et du courant d’induit
du moteur dans le même graphique avec deux axes différents des ordonnées:
% Lecture du fichier texte .mat
load DC_Motor.mat
% Trace de la tension et du courant d'induit
plotyy(x(1,:),x(2,:),x(1,:),x(3,:))
title('Tension et courant d''induit'), grid
figure
plotyy(x(1,:),x(4,:),x(1,:),x(5,:))
title('Vitesse en rad/s et position angulaire en rad'), grid

Fabio Morbidi Page 5/6


Promeo - Université de Picardie Jules Verne 2015-2016
LPro Automatisme et Robotique Phénomènes Dynamiques Engendrés
par les Mouvements du Robot

2. Ajout de moments d’inertie et couple de frottement


On ajoute maintenant sur l’arbre moteur (rotor), un moment d’inertie J de valeur 10 g cm2 et
-3
un couple de frottement de 0.02 × 10 Nm. On peut ainsi simuler le comportement d'un
moteur qui actionne l'articulation d'un bras robotique. Avec l’ajout du frottement et de
l’inertie, le régime permanent est obtenu en un temps plus long que précédemment dans le cas
d’un moteur à vide, et la valeur, en régime permanent, du courant d’induit est plus élevée.
En particulier, le courant d’induit diminue vers la valeur statique 0.25 A selon une dynamique
du 1er ordre.

Visualiser la position angulaire et la vitesse de rotation du moteur et vérifier que la dynamique


du signal vitesse est plus longue que pour le moteur à vide.

Exercice 4 : Étude de la plateforme de Stewart [4 pts]

Lancer la démo "mech_stewart_vis" à partir du prompt de Matlab.

1) Décrire la structure mécanique du système. En particulier, identifer le type et le nombre de


liaisons utilisées dans le système.
2) Déterminer le graphe des liaisons du système.
3) Écrire le torseur cinématique de caque liaison (en O).
4) Combien de degrés de liberté (DDL) a l'anneau rouge dans la partie supérieure de la
plateforme ?
5) Changer la trajectoire desirée de la plateforme et analyser en simulation le comportement
résultant.
6) Varier les trois gains positifs du régulateur PID (proportionnel, intégrateur, dérivateur), et
étudier leur effet sur le comportement de la plateforme.

Référence:
M. Mokhtari, N. Martaj, "Electronique Appliquée, Electromécanique sous Simscape &
SimPowerSystems (Matlab/Simulink)", Springer, 2012.

Fabio Morbidi Page 6/6

Vous aimerez peut-être aussi