tp 2 - simulation de systèmes mécaniques et ...fabio/eng/documenti/teaching/pdemr... · promeo -...

6
Promeo - Université de Picardie Jules Verne 2015-2016 LPro Automatisme et Robotique Phénomènes Dynamiques Engendrés par les Mouvements du Robot Fabio Morbidi Page 1/6 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.

Upload: vancong

Post on 06-Feb-2018

226 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: TP 2 - Simulation de systèmes mécaniques et ...fabio/Eng/documenti/Teaching/PDEMR... · Promeo - Université de Picardie Jules Verne 2015-2016 LPro Automatisme et Robotique Phénomènes

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

Fabio Morbidi Page 1/6

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.

Page 2: TP 2 - Simulation de systèmes mécaniques et ...fabio/Eng/documenti/Teaching/PDEMR... · Promeo - Université de Picardie Jules Verne 2015-2016 LPro Automatisme et Robotique Phénomènes

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

Fabio Morbidi Page 2/6

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 x1 + (β1 + β2) x1 − β2 x2 + (k1 + k2)x1 − k2 x2 = 0

m2 x2 − β2(x1 − x2)− k2 (x1 − x2) = 0

Figure 1 : Les libraires de Simscape.

Page 3: TP 2 - Simulation de systèmes mécaniques et ...fabio/Eng/documenti/Teaching/PDEMR... · Promeo - Université de Picardie Jules Verne 2015-2016 LPro Automatisme et Robotique Phénomènes

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

Fabio Morbidi Page 3/6

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).

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 β, F = β dx(t)/dt

Frottement visqueux β, τ = β dθ(t)/dt

Résistance R, u = Ri (loi d'Ohm)

Ressort de translation, raideur k, F = -k x(t)

Ressort de torsion, raideur k, τ = -k θ(t)

Capacité C, u = q/C

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.

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

Page 4: TP 2 - Simulation de systèmes mécaniques et ...fabio/Eng/documenti/Teaching/PDEMR... · Promeo - Université de Picardie Jules Verne 2015-2016 LPro Automatisme et Robotique Phénomènes

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

Fabio Morbidi Page 4/6

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

Page 5: TP 2 - Simulation de systèmes mécaniques et ...fabio/Eng/documenti/Teaching/PDEMR... · Promeo - Université de Picardie Jules Verne 2015-2016 LPro Automatisme et Robotique Phénomènes

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

Fabio Morbidi Page 5/6

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 mécaniques (rotor). La résistance d’induit est de 3.9 Ω et son inductance vaut 1.2 × 10-5 H. La force contre-électromotrice est proportionnelle à la vitesse de rotation avec le facteur 7.2 × 10-5 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 à 0.01 g cm2 et 10-8 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

Page 6: TP 2 - Simulation de systèmes mécaniques et ...fabio/Eng/documenti/Teaching/PDEMR... · Promeo - Université de Picardie Jules Verne 2015-2016 LPro Automatisme et Robotique Phénomènes

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

Fabio Morbidi Page 6/6

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 un couple de frottement de 0.02 × 10-3 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.