Ecole Supérieure de Technologie Oujda MCT2 Tps Automatique Année universitaire : 2020/2021 1 Ecole Supérieure de Technologie Oujda MCT2 TP 1 - Initiation à Matlab I. Objectifs - - Etude des commandes de base du logiciel Matlab en réalisant de programmes Matlab ainsi que des schémas en Simulink pour la simulation numérique des systèmes asservis. Exploiter les fonctions du "control Toolbox" de Matlab pour l'analyse des systèmes dynamiques modélisés par des fonctions de transfert. II. Généralités - Définir un scalaire : Pour définir le réel r 2. - Définir un vecteur : 1 T x 1 1 1 Pour définir le vecteur - Définir une matrice : Pour définir la matrice 1 2 3 A 4 5 6 - Opérations sur les matrices : Addition : Soustraction : Multiplication : Inversion : Transposition : 2 Ecole Supérieure de Technologie Oujda - MCT2 N.B : Les opérations sur les matrices s’appliquent aussi sur les vecteurs et les scalaires Etude des matrices : Valeurs propres : Rang : Déterminant : 3 Ecole Supérieure de Technologie Oujda MCT2 - Quelques matrices utiles Matrice identité de dimension n : Matrice des zéros de dimension m × n : Matrice des uns de dimension m × n : - Fonctions sur les polynômes Les polynômes sont définis comme des vecteurs lignes composés des coefficients du polynôme, entrés par ordre décroissant du degré. Par exemple, si on cherche les racines de : 2. 𝑥² + 𝑥 − 4 = 0 : - Traçage des courbes Tracer le vecteur y en fonction du vecteur x : plot(x,y) Tracer x(t), y(t) et z(t) sur le meme graphique : plot(t,x,t,y,t,z) Tracer z (t) en trait pontillé rouge : plot(t,z, 'r--') Tracer A(f) avec échelle log(f) : semilogx(f,A) 4 Ecole Supérieure de Technologie Oujda MCT2 Tacer B(w) avec échelle log(B) :semilogy(w,B) Tracer r(theta) en coordonnées polaires :Polar(theta,r) Tracer y(x) sous forme des barres : bar(x,y) Ajouter une grille : grid Tracer plusieurs graphiques dans la meme fenetre : subplot 5 Ecole Supérieure de Technologie Oujda - MCT2 Fichier Scripts Il est parfois (souvent) souhaitable, pour ne pas avoir à taper plusieurs fois une même séquence d'instructions, de la stocker dans un fichier. Ainsi on pourra réutiliser cette séquence dans une autre session de travail. Un tel fichier est dénommé script. Il suffit d''ouvrir un fichier avec le menu file, new, et de taper la séquence de commande dans ce script ensuite sauvegarder le fichier avec une extension " .m " (nom_fich.m). En tapant le nom du fichier sous Matlab (Workspace), la suite d'instructions s'exécute. III. Utilisation du « Control Toolbox » La boite à outils dédiée à la commande (Control Toolbox) permet de disposer de nombreux outils d’analyse pour l’automatique. - Définition du système par sa fonction de transfert s 1 2 2s 1 Soit le système d écrit par : G( s) 2. s ² 2s 1 ( s 1)² Où s désigne la variable de Laplace. A l’aide du Matlab, on peut définir : >>F=tf([2 1],[1 2 1]) (numérateur et dénominateur de la fonction de transfert) ou >>F=zpk([-1/2],[-1 -1],2) (zéros, pôles et facteur de gain de la fonction de transfert) 6 Ecole Supérieure de Technologie Oujda - MCT2 Pour constituer un systeme à l’aide de différents sous-systémes, on peut effectuer differentes operations. Soit G1 et G2 les représentations des deux systèmes. Les combinaisons de base sont : >>G1*G2 ou >>series(G1,G2) G1 en série avec G2 >>G1+G2 ou >>parallel(G1,G2) G1 en parallèle avec G2 >>feedback (G1,G2) G1 boucle par G2 7 Ecole Supérieure de Technologie Oujda MCT2 On peut obtenir diverses informations sur le système : >>pole(G) donne les pôles du système >>step(G) trace la réponse indicielle >>impulse(G) trace la réponse impulsionnelle >>bode(G) trace le diagramme de Bode >>nyquist(G) trace le diagramme de Nyquist >>nichols(G) trace le diagramme de Black-Nichols >>rlocus(G) trace le lieu d’Evans >>rlocfind(G) donne les valeurs des pôles et du gain correspondant sur le lieu d’Evans 8 Ecole Supérieure de Technologie Oujda MCT2 >>damp(G) donne les pôles, ainsi que la pulsation propre et l’amortissement associent à chaque pole. >>pzmap(G) place les pôles et les zéros dans le plan complexe Exercice_1: (Application pour un MCC) La fonction de transfert reliant la vitesse de rotation du rotor à la tension appliquée à l’induit d’un moteur à courant continu s’écrit : Avec : : Gain statique du système : Constante de temps électromécanique : Constante de temps électrique 𝑅: Resistance de l’induit du moteur 𝐿 ∶ Son inductance ; 𝑓 ∶ Le coefficient de frottement visqueux 𝐽: Le moment d’inertie du rotor 𝐾𝑒𝑚 : Le rapport couple-courant 1- Dans un script nommé ‘calcul_MCC’ : Définir les diverses constantes, on prend : Définir les différentes opérations détaillées ci-dessous pour calculer le gain K et les constantes de temps électrique 𝜏𝑒𝑙 et électromécanique 𝜏𝑒𝑚 du MCC. 9 Ecole Supérieure de Technologie Oujda MCT2 2- Définir la fonction de transfert G 3- Calculer les pôles de cette fonction de transfert. Vérifier que ces pôles valent −1/τel et−1/τem . 4- Créer une figure et la diviser en deux sous-tracés (avec la fonction subplot). Dans le premier, tracer la réponse indicielle du MCC. Dans la seconde sous-figure, tracer le la réponse impulsionnelle du MCC. IV. Utilisation du Simunlik SIMULINK permet de réaliser une simulation grâce à une fenêtre graphique où l'on réalise un schéma bloc. On dispose d'un certain nombre de bibliothèques de SIMULINK (Continuous, Discrete, Sources, Sinks, etc.) ainsi que la possibilité d'utiliser des variables définies sous Matlab. Il est également possible de retourner des résultats numériques sous Matlab. Pour accéder à la fenêtre de commande de Simulink, il faut lancer Matlab et taper Simulink dans la fenêtre de travail de Matlab ou cliquer sur l’icône - . Exemple Ouvrir un nouveau fichier sous Simulink. Prendre un générateur d'échelon sous la rubrique "Sources", une fonction de transfert sous la rubrique "Continuous" et un scope dans la bibliothèque "Sinks". Ensuite relier les différents éléments avec la souris. Le schéma, une fois terminé, doit correspondre à celui de la figure ci-dessous. Modifier les paramètres du bloc "Transfert Fcn" de manière à définir les coefficients du numérateur et dénominateur de la fonction : 2s 1 G ( s) s² 2s 1 De manière à visualiser le signal d'entrée sur la même figure, utiliser un multiplexeur en 10 Ecole Supérieure de Technologie Oujda MCT2 sélectionnant l'objet "Mux" de la bibliothèque "Signals&Systems" et relier le signal d'entrée et de sortie de la fonction de transfert. Relier enfin la sortie du multiplexeur au Scope. Le schéma doit correspondre à celui de la figure ci-dessous. Pour réaliser un système bouclé, introduire le comparateur en sélectionnant l'objet "Sum" de la bibliothèque "Math". Par défaut, l'objet sélectionné est un sommateur. Il faut donc modifier ses paramètres pour le transformer en comparateur. Exercice_2: On considère le schéma bloc ci-dessous dont la fonction de transfert est définie comme 10 suit : G ( p) p² 2 p 10 + G(p) E S 10 1- A l’aide de Simulink, réaliser le schéma bloc ci-dessus 2- Sur une même figure, tracer la consigne et la réponse indicielle du système. 11 Ecole Supérieure de Technologie Oujda MCT2 TP 2 – Analyse temporelle d’un système dynamique du 1er ordre /2ème ordre I. Objectif Analyser dans le domaine temporel les réponses de systèmes du 1er et 2ème ordre à des entrées différentes et déterminer leurs performances. II. Etude d’un système du 1er ordre 2.1. Etude théorique Soit le circuit RC donné par la figure ci-dessous, avec R= 50 Ω et C=63 μF (les conditions initiales sont nulles). 1- Etablir l’équation différentielle qui régit le fonctionnement de ce circuit. 2- Donner la fonction de transfert de ce système. 3- Calculer la constante de temps et le gain statique correspondant au système. 4- Déterminer la réponse du système à l’application d’un échelon d’amplitude 𝐸0 . Esquisser cette réponse et calculer le temps de montée et le temps de réponse. 5- Tracer la réponse du système lorsque nous appliquons une impulsion 𝐸0 . 𝛿(𝑡)comme entrée du système. 2.2. Analyse sous Matlab Écrire un fichier Matlab permettant de : 1- Calculer la fonction de transfert du circuit RC donné par Fig.1. 2- Tracer sa réponse à une impulsion unité. 3- Tracer sa réponse indicielle à un échelon unité. 4- Retrouver graphiquement la constante de temps à 63% de la réponse indicielle. 5- Calculer le temps de montée et le temps de réponse. 12 Ecole Supérieure de Technologie Oujda MCT2 6- Faites varier la constante de temps (𝜏 = 0.0016, 𝜏 = 0.0032, 𝜏 = 0.0064. ) du système et tracer les réponses indicielles correspondantes dans la même figure. Faite vos conclusions sur l’influence de la constante de temps sur les allures obtenues ; III. Etude d’un système du 2ème ordre 3.1. Rappel La fonction de transfert d’un système du 2ème ordre est donnée par : T ( p) p² n k 2 n p 1 (1) Avec : - 𝑘 est le gain statique du système - 𝜔𝑛 est la pulsation naturelle en (rad/s) - est le coefficient d’amortissement 3.2. Etude théorique Soit le circuit RLC série alimenté par une source de tension continue 𝑣1 (𝑡) avec R = 20Ω, L = 3mH et C = 5μF (les conditions initiales sont nulles). 1- Déterminer la fonction de transfert de ce système 2- Mettre l’équation trouvée sous la forme de l’équation (1), et définir chaque terme 3- (𝑘, 𝜔𝑛 , ) en fonction des éléments constitutifs du circuit RLC. 4- Donner les réponses du système à un échelon unitaire, à une rampe de pente a=2 et à une impulsion unité. 3.3. Analyse sous Matlab 1- Déterminer la fonction de transfert du circuit RLC. 2- Tracer sa réponse à une impulsion unité ; 3- Tracer sa réponse indicielle à un échelon unitaire ; - Déterminer et afficher les performances du circuit (𝑡𝑟 , 𝜏, 𝑡𝑚 , 𝑡𝑝 , 𝐷, ) et indiquer les sur la figure correspondante. 13 Ecole Supérieure de Technologie Oujda - MCT2 Pour qu’elle valeur de R a-t-on 1 (amortissement critique) ; Pour R= 0, 20, 60 Ω, tracer dans une même figure les trois réponses du système à un échelon unitaire et indiquer la valeur de pour chaque courbe. 4- Tracer la réponse du système à une rampe pour R = 60. - Trouver l’erreur de trainage du système. 14