See discussions, stats, and author profiles for this publication at: https://www.researchgate.net/publication/382641869 Asservissement des Systèmes Linéaires: Simulations et Travaux Pratiques Par Matlab/Simulink Book · July 2024 CITATIONS READS 0 1,188 1 author: Salim Aissi University of Batna 2 14 PUBLICATIONS 24 CITATIONS SEE PROFILE All content following this page was uploaded by Salim Aissi on 29 July 2024. The user has requested enhancement of the downloaded file. Dr. AISSI SALIM Université Batna2 Asservissement des Systèmes Linéaires: Simulations et Travaux Pratiques Par Matlab/Simulink Edition GANA Tous Droits Réservés Batna - Algerie Tél. 033 25 41 16 0561 27 95 65 Fax. 033 25 30 25 E-mail:[email protected] Ouvrage : Asservissement des Systèmes Linéaires: Simulations et Travaux Pratiques Par Matlab/Simulink Auteur : AISSI Salim Format : 16 x 23 Nombre de pages : 95 p Edition : Dar Gana Edition 2019 N° Interne :006/2020 N° dépôt légal :10-2020 ISBN : 978 -9947 -910 -78 -8 Dédicace Je dédie ce Modest travail à : o A La mémoire de ma Chère Mère que DIEU le Tous Puissant, La Prend dans son grand paradis.. o A La mémoire de mon Cher Père AISSI MESSAOUD que DIEU le Tous Puissant, Le Prend dans son grand paradis.. o o La mémoire de mon Cher Frère Nabil o ma Chère Femme. o mes Chers Enfants : Youcef, Taha, Yacine. o Toute la famille Remerciements Ce document présente l'ensemble des travaux effectués durant mon enseignement du module d'asservissement depuis l'année 2002 au centre universitaire de Bordj Bou Arreridj et par la suite à l'université de HADJ LAKHDAR Batna et l’Université CHAHID MOSTEFA BENBOULAID Batna2. Au début, ce document était rédiger sous forme d’un polycopié destiné aux étudiants du département d’électronique faculté de technologie, université Batna2, par la suite j’ai décidé de l’imprimer sous forme de livre afin d’étaler ses avantages à d’autres utilisateurs. Je tiens à remercier beaucoup ma femme qui ma encouragé et insisté sur l’impression de ce travail sous forme de livre, Je tiens à remercier également tous qui m’ont aidé pour réaliser ce document. Sommaire Sommaire Partie 1 : Prise en main avec Matlab/simulink Introduction générale ...................................................................... (9) Définition de MATLAB .................................................................... (12) Interface graphique de Matlab ......................................................... (12) Programmer sous Matlab ................................................................. (13) Créer un Programme Sous MATLAB ............................................. (16) Commandes courantes de Matlab .................................................... (18) Environnement graphique du Simulink ........................................... (19) Différentes bibliothèques : ............................................................... (20) Construction d’un schéma de Simulink ........................................... (21) Partie 2 : Tp Matlab /Simulink proposés TPN°1 : Instructions Usuelles du Logiciel Matlab ........................... (24) TPN°2 : Instructions polynômes & Graphisme .............................. (25) TPN°3 : Représentation des Systèmes Linéaires à l’aide des équations différentielles ................................................. (26) TPN°4 : Représentation des Systèmes Linéaires à l’aide des Fonctions de Transfert .................................... (27) TP N°5 : Génération Des Différents Signaux d'Entrées Pour Les Systèmes Asservis à Base des Instructions Matlab............ (29) TPN°6 : Réponse d’un Systèmes Linéaires du Premier Ordre........ (30) TP N°7: Analyse Fréquentielle du Système Premier Ordre. ........... (32) TPN°8 : Systèmes Second Ordre Circuit RLC ................................ (33) Sommaire TPN°9 : Systèmes Second Ordre Système mécanique .................... (34) TPN°10 : comparaison entre les Systèmes Second Ordre Système mécanique et électrique .................................................................... (36) TP N11 : Stabilité des Systèmes Asservis ........................................ (37) TPN12 : manipulation du Simulink ................................................. (39) Partie 3 : Solutions des TP Proposés Solution TPN°1 ................................................................................. (42) Solution TPN°2 : ............................................................................... (43) Solution TPN°3 : ............................................................................... (46) Solution TPN°4 : ............................................................................... (52) Solution TPN°5 : ............................................................................... (58) Solution TP N°6:. .............................................................................. (62) Solution TPN°7 : ............................................................................... (68) Solution TPN°8 : .............................................................................. (72) Solution TPN°9 : ............................................................................... (74) Solution TP N°10 : ........................................................................... (76) Solution TPN°11 : ............................................................................ (87) Solution TPN°12 : ............................................................................ (89) Conclusion générale .......................................................................... (93) Bibliographie ..................................................................................... (95) Introduction générale Introduction Générale Tous les systèmes physiques existant que se soit naturels ou industriels doivent être contrôlés et maitrisés pour accomplir leurs tâches d'une manière convenable. Le contrôle de ces systèmes passe par leurs modélisations mathématiques et la connaissance des techniques des commandes. Le but de ce document est de s'initier au logiciel MATLAB/SIMULINK en faisant un tour sur la plupart des fonctionnalités de ce logiciel puissant et performant afin de connaitre les instructions et les techniques nécessaires pour la commande des systèmes. Ce document est destiné aux étudiants Licence en E. E. A. (Electronique électrotechnique, Automatique) concernés par l'étude et la modélisation des systèmes à asservir dans toutes les spécialités. Il traite des travaux pratiques par simulation sous le logiciel MATLAB/ SIMULINK des systèmes asservis continus, en contournant l'ensemble des cours traités dans le module d'asservissement linéaire et continus [2], et en introduisant à chaque TP des commandes Matlab comme outils pour réaliser ses exercices. Ces derniers touchent les thèmes suivants : les systèmes de premier ordre, les réponses des systèmes de deuxièmes ordres, les réponses fréquentielles, le tracé des abaques de Nichols et de Nyquist, et enfin la stabilité et la précision des systèmes continus. Afin de bien, maitriser et comprendre l'ensemble d'asservissement, ce livre est devisé en plusieurs parties : des TP La première est destinée pour un rappel sur l'environnement et l’interfaçage graphique de Matlab et de Simulink en citant l'ensemble des parties importantes, ainsi que les commandes usuelles pour créer et simuler un programme sous Matlab et Simulink. La deuxième partie offre la présentation des TP de simulation en suivant le programme destiné aux licences déjà citées plus haut. Finalement pour atteindre le but de ce document des solutions et explications des TP sont proposées dont leurs scripts sont prêts à être exécuter. 9 Partie 1 : Prise en main avec Matlab Simulink 10 Partie 1 : Prise en main avec Matlab Simulink Partie 1 Prise en Main avec Matlab/Simulink 11 Partie 1 : Prise en main avec Matlab Simulink 1. Definition de MATLAB Le mot MATLAB, c'est l'initiale de (MATrix-LABoratory) en français Laboratoire des matrices. Son environnement est de type visuel orienté pour calcul numérique et matriciel beaucoup plus. Un large public de chercheurs et étudiants exploite la puissance de haute gamme du Matlab. Il est devenu actuellement une nécessité dans le domaine du calcul technique. En effet Matlab possède beaucoup de plateformes pour le calcul numérique et formel ou symbolique, des outils puissants pour le graphisme. La création des programmes à base d'instruction plus performantes et focalisées vers des problèmes bien précis comme : les instructions concernant le contrôle Figure1.1 : fenêtre de lancement [1] des systèmes linéaires non linéaires, discrets, aléatoires, électronique de puissance, logique floue, réseaux de neurones,…etc. Matlab existe en plusieurs versions, portant à chaque fois de nouvelles et puissantes fonctionnalités. La version est affichée au lancement du logiciel comme l’indique la figure 1.1. 2. Interface graphique Matlab L'icône de lancement est donnée L'environnement graphique Matlab est présenté dans la fenêtre de la par : figure 1.2 ou on trouve : la barre de menu : File, Edit, Debug , Parallel, desktop ,…etc la barre d'outil : nouveau ouvrir, lancer Simulink,…etc l'invite de commande " >> " a partir de cet invite en lance les commandes Matlab. 12 Partie 1 : Prise en main avec Matlab Simulink Barre d'outils Invite de commande Icône de lancement Répertoire courant de Simulink Barre de menu Figure 1.2 : fenêtre principale de MATLAB NB. Il faut noter que les commandes en Matlab sont de types textuels, alors la syntaxe doit être respectée pour que les commandes fonctionnent correctement en évitant la génération des messages d'erreurs 3. Programmer sous Matlab Avant de programmer sous Matlab quelques principes sur ce logiciel doivent être connus : a) Matlab est un logiciel qui peut exécuter des instructions ligne par ligne à partir de l'invite ">>", il ne nécessite pas une déclaration des types de variables à priori comme les autre langages (C, Pascal, …) ce qui indique sa facilité. b) Le programme est organisé sous forme de plusieurs instructions regroupées dans un script d'extension .m . Cela donne plus de 13 Partie 1 : Prise en main avec Matlab Simulink rapidité et de convivialité sans déclaration des bibliothèques à priori. Le logiciel Matlab est organisé sous forme de plusieurs Toolbox (boite à outils) destinées à une large plage de disciplines et spécialités scientifiques. Pour connaitre ces Toolbox taper : Help 3.1. L'Aide en Ligne de Matlab >> help Le résultat donne une liste des boites à outils existantes. Chaque boite à outils sélectionnée affiche sur la partie droite son contenue. Comme l’indique la figure 1.3 Liste Boite à outil pour sélection Affichage du contenu de la boite à outils sélectionnée Figure 1.3 : résultat d'une commande help 14 Partie 1 : Prise en main avec Matlab Simulink Chaque boite à outil regroupe un ensemble de commande de même type et exerçant sur un domaine précis. Pour plus d’explication, prenons les deux exemples du tableau 1.1 suivant : Tableau 1.1 Exemple 1: Exemple 2: >> help elfun >> help control "elfun : matlab\elfun Elementary math functions" "control : Control System Toolbox" Cette boite regroupe un ensemble de commandes destinées pour les fonctions mathématique élémentaire, sin exp, cos, log,…etc. Cette boite regroupe l'ensemble de commandes destinées pour le contrôle des systèmes asservis comme : déclaration des fonction de transfert tf, SS, ZPK, Eig, Roots, réponse des systèmes Step, Impluse, Bode, …etc. Le résultat est donné par : Le résultat est donné par : 15 Partie 1 : Prise en main avec Matlab Simulink 3.2. Créer un Programme Sous MATLAB Un programme ou script Matlab comporte plusieurs instructions pour différentes TOOLBOX selon le but souhaité de ce programme. Son extension est *.m Sa création est à partir du menu file --New ----Script (figure 1.4) Les commandes sont écrites ligne par ligne Figure 1.4 : fenêtre éditeur de script Matlab .m Les instructions du script sont exécutée a partir du menu : DEBUG-RUN-->Nom de fichier (exp1_univbat.m) ou F5 Les résultats du programme sont récupérés dans l'espace de travail si il n'y pas d'erreurs les variables résultants du script Matlab sont enregistrés dans le Workspace par leurs noms. Nous pouvons stocker tous les variables d'une session ouverte de l'espace de travail dans un fichier de type *.mat (Exemple 3). 16 Partie 1 : Prise en main avec Matlab Simulink Tableau 1.2 Exemple 3: Les variables utilisés a un moment donné sont identifiés par la commande who ou whos * Pour sauvegarder les variables de l'espace de travail utiliser la commande File----Save Workspace as * Pour récupérer les données pour une éventuelle utilisation, utiliser la commande file----import Data 17 Partie 1 : Prise en main avec Matlab Simulink 3.3 Commandes courantes de Matlab Comme tout langage de programmation, Matlab possède des instructions de plusieurs types, citons quelques unes dans les tableaux 1.3 et 1.4. [6, 7]. Tableau 1.3 : fonctions graphiques plot(t,f,’Cp’) title(‘titre du graphe’) xlabel(‘texte’) ylabel(‘texte’) gtext(‘texte’) grid Figure(num) hold on close all Trace un graphe « f »en fonction de « t » avec la couleur « c » et le symbole « p ». C peut prendre : y (jaune), m (magenta), c (cyan), r (rouge), g (vert), b (bleu) P peut être : + (plus), * (étoile), o (cercle). Donne un titre du graphe tracé Affiche un texte sur l’axe des ‘X’ Affiche un texte sur l’axe des ‘Y’ Création d’un texte dans la zone ou on clique sur la souris Active ou désactive la grille d'une figure Création d'une nouvelle figure de numéro (num). Trace d’autres graphes sur une même figure sans effacer les précédents, hold off annule cette instruction superposition s). ferme toutes les figures Tableau 1.4 : programmation, (if - else) et de boucle (for, while), Instructions d’interruption, Z= input(' chaine de aractère'') disp(‘chaine de caractère') pause For j=1 : n … end break if condition 1 … elseif cond2 … else … end % texte Donne une valeur à Z à partir du clavier affiche chaine de caractère dans l'écran . Bloque l'exécution d'un programme jusqu'à un nouveau appuie du clavier Exécute des instructions de la boucle avec répétition de j = 1 jusqu' à j =n Stop l'exécution d’une boucle de type for ou while sans condition. Exécuter les Instructions conditionnellement selon la condition1 ou la condition2. Utilisée pour les commentaires le texte après « le % » est considéré comme un commentaire ou une explication 18 Partie 1 : Prise en main avec Matlab Simulink 4. Environnement graphique du Simulink 1. Simulink est un sous logiciel du Matlab ou bien son co-équipier si le mot peut être dit, qui présente un outil très fort pour la création des simulations et systèmes en exploitant son environnement graphique interactif 2. Simulink par ses différentes versions progressives avec Matlab, est fondé sur l’utilisation de schémas-blocs et boites à outil dans différents domaines, 3. L'appuie sur le bouton de lancement de Simulink génère la fenêtre de la figure 1.5 : Elle contient aussi une barre de menu, une barre d'outils, un volet concernant une recherche par mots clés. La fenêtre Simulink est devisée en deux parties ; la première affiche la bibliothèque du Simulink et la deuxième affiche les blocs de chaque élément sélectionné Volet de recherche Liste des boites à outil Boite outil sélectionnée Figure1.5 : fenêtre principale du Simulink 19 Partie 1 : Prise en main avec Matlab Simulink 4.1 Différentes Bibliothèques de Simulink : L'outil Simulink possède plusieurs blocs, pour notre cas nous utilisons la boite Continuous, Discret, math opération, source, Sinks, le bloc port et Subsystems, ce dernier contient les outils de connexions et les éléments de Mux et Demux . Comme le montre la figure 1.6. Sources Générateurs de signaux Sinks : Outils d'affichage Continuous Math Operations Figure1.6 : Bibliothèques les plus usagées en Simulink 20 Partie 1 : Prise en main avec Matlab Simulink 4.2 Construction d’un Schéma En Simulink Les étapes pour création d'un modèle ou schéma de simulation sont données comme suit : créer un nouveau modèle : dans le menu File, on choisit New Model. Une nouvelle fenêtre « Untitled.mdl » s'affiche. Ouvrir les bibliothèques de blocs voulus en cliquant sur leurs icônes (selon l'application à simuler). glisser dans la fenêtre de l'espace travail les blocs dont nous avons besoin pour la création de notre modèle. les liaisons entre les blocs sont réalisées à l'aide de glissement de la souris, (de la sortie vers l'entrée). le changement des paramètres d'un bloc est accompli par un doubleclique, Une fois que la construction des différents blocs de simulation est terminée le fichier correspondant doit être enregistré par File Save, Save as Le fichier sauvegardé possède l’extension .mdl. 4.3 Lancement de simulation Après avoir construire et enregistrer un modèle il faudra lancer la simulation par : Simulation -Configuration Parameters (figure1.7) Pour démarrer une simulation sous Simulink nous devons régler les paramètres concernés comme le pas , le temps, la méthode de simulation, et en fin la tolérance. 21 Partie 1 : Prise en main avec Matlab Simulink Méthode d'intégration : c'est le premier point nécessaire pour avoir une convergence de la structure du schéma de simulation. Il existe plusieurs méthodes de simulations dont la première est Rung-Kutta 4 (ancienne version de Simulink), et dans les nouvelles versions on trouve ODE45, ODE113…, etc. Comme l’indique la figure ci contre. Le choix de la méthode dépend des conditions de la convergence et de la complexité du système à simuler. Type de pas de simulation : Nous choisissons un pas fixe ou variable, si le pas de simulation est variable, alors l'intervalle de pas [Min Max] doit être configuré Temps de début de simulation : Temps de fin de simulation : l'intervalle temps de la simulation calculé en seconde figure 1.7 : paramètres de lancement de la simulation 22 Partie 2 : TP Matlab/Simulink Proposés Partie 2 TP Matlab/Simulink Proposés 23 Partie 2 : TP Matlab/Simulink Proposés TPN°1 : Instructions Usuelles du Logiciel Matlab But du TP : Le but du TP est de se Familiariser avec les instructions de Matlab, ainsi que la manipulation des nombres et opérations sur les matrices. Exercice N°1 : Commencer votre travail en effaçant les variables, en fermant les fenêtres graphiques et en effaçant la fenêtre MATLAB. 4 5 6 Créer la matrice A=[7 8 3] 0 0 2 Calculer le déterminant de A Calculer B AT Calculer C= A -1 Calculer D A B Calculer E 3A Calculer la matrice F contenant les produits terme à terme des coefficients de A et de B Créer la matrice identité de même dimension que A Créer une matrice G de dimension (15x10) ne contenant que des 1 Sauvegarder A, B, C dans un fichier nommé « essai1.mat » Effacer toutes les variables, et vérifier qu’elles sont effacées Restaurer les matrices A, B, C Exercice N°2 : Construction de Matrices. 1 2 3 Soit F2=[4 5 6] 0 9 1 24 Partie 2 : TP Matlab/Simulink Proposés Vérifier G = [F2, zeros(3, 3); ones(3), eye(3)]. Quelle est la taille de G. Remplacer la dernière colonne de G par le vecteur [7, 8, 9, 10, 5 ,7] puis extraire la matrice correspondant aux lignes 2 et 4, et aux colonnes 2 et 6. Comparer W = F2 *F2 ; M = F2.*F2; N = F2^3 ; T = F2.^3; I = exp(F2) ; J = sqrt(F2). TPN°2 : Instructions polynômes & Graphisme. But du TP : Maitriser les outils nécessaires pour le traitement des polynômes et les graphismes sous Matlab Exercice 1 : Calculs sur les polynômes. Consulter l’aide en ligne sur poly, Roots, Conv, Deconv, Polyder, Polyval, Poly. Entrer les polynômes p = 10x5 − 2x2 + 10x et q = x2 + 4. Construire un polynôme S(x) possédant les racines (-1), (-5), (-6) Calculer les racines de p et q. Calculer p’ Calculer le produit p*q Calculer le quotient et le reste de p par q. Calculer les valeurs de p en 0 et -1. Tracer la courbe d’équation y = p(x) sur [−10, 10]. Exercice 2 : Représentation Graphique. Obtenir la représentation graphique de la fonction f1 définie par f1(t)= sin(t)exp(-2t). 25 Partie 2 : TP Matlab/Simulink Proposés Créer un vecteur de type ligne t avec un pas de 0.01. En utilisant la commande « PLOT », tracer f1 dans une fenêtre ‘figure(1)’ Annoter les axes en indiquant l’abscisse x en (temps) et l’ordonnée y en (Volts). Donner un titre à cette courbe. La courbe doit être de couleur rouge et marquée « étoile ». Dans une même fenêtre ; figure(2) ; tracer les courbes d’équations f1(t)= sin(t)*exp(-2t) en bleu f2(t)= -sin(t)*exp(-2t) en vert, f3(t) = exp(-2t) en rouge et f4(t) = -exp(-2t) en cyan sur L'intervalle t= [−1, 1]. En utilisant la commande « SUBPLOT » tracer f1 , f2 et f3 dans une même (figure(3)) TPN°3 : Représentation des Systèmes Dynamiques Linéaires à l’aide des équations différentielles But du TP : Dans ce TP, le but est de connaitre la résolution d'une équation différentielle du premier ordre, représentant le modèle mathématique d'un système asservis de type linéaire continu. Les exemples prisent sont le circuit (R-C) et le circuit (R-L). Travail de Préparation : 1) Donner les équations différentielles qui régissent les circuits électriques R-C, R-L pour une alimentation d’entrée Ve=E 26 Partie 2 : TP Matlab/Simulink Proposés 2) Donner les réponses temporelles des circuits (a), (b), (c), (d) définies comme suit : a) R1-C (entrée =E, la sortie Vs=S1=VC) b) R1-C (entrée =E, la sortie Vs=S2=VR1) c) R2-L (entrée =E, la sortie Vs=S3=VL) d) R2-L (entrée =E, la sortie Vs=S4=VR2) Programmation du Travail de Préparation.(utiliser plot) En se basant sur les réponses temporelles ou les solutions des équations différentielles de premier ordre des circuits R-C et R-L : 1. Tracer sous Matlab la réponse Vc1(t) du circuit (R1-C) , pour R1=1000kΩ, C=0.9µF. 2. Tracer sous Matlab la réponse VR1(t) du circuit (R1-C) , pour R1=1000kΩ, C=0.9µF. 3. Tracer sous Matlab la réponse VL(t) du circuit (R2-L) , pour R2=100Ω, L=70H. 4. Tracer sous Matlab la réponse I L (t) du circuit (R2-L) , pour R2=100Ω, L=70mH. TPN°4 : Représentation des Systèmes Dynamiques Linéaires à l’aide des Fonctions de Transfert But du TP : Maitriser la représentation des systèmes asservis de type linéaire continus à partir de leurs modèles mathématiques, passage entre les différentes représentations (fonction de transfert, modèle d’état, etc.…). 27 Partie 2 : TP Matlab/Simulink Proposés Exercice N°1 : Introduction des Fonctions de Transfert Sous MATLAB L’introduction de fonctions de transfert s’effectue sous plusieurs formes polynomiales, forme ZPK (zéros, pôles, gain), forme d’état. Prenons quelques types de systèmes asservis, deuxième et troisième ordre pour s’entrainer sur la déclaration de ces systèmes. 𝒔+𝟓 𝒔 + 𝟏𝟎 𝒇𝟏 (𝒔) = 𝒔^𝟑 + 𝟖 𝒔^𝟐 + 𝟏𝟕 𝒔 + 𝟏𝟎 , 𝒇𝟐 (𝒔) = 𝟐 𝒔^𝟐 + 𝟑 𝒔 + 𝟏 , 𝒇𝟑 (𝒔) = 4.25 (𝒔 − 𝟐)(𝒔 + 𝟏. 𝟐) (𝒔 + 𝟎. 𝟑)( 𝒔 + 𝟏)(𝒔 + 𝟓) 1) Consulter l’aide en ligne sur les commandes Tf, ZPK, TF2SS, TF2ZP 2) Créer un fichier de commande tp3ex1.m pour les commandes MATLAB de l’exercice N°1 3) Introduire 𝐟𝟏 (𝐬) et 𝐟𝟐 (𝐬) sous MATLAB 4) Donner les pôles de ces deux systèmes 5) Introduire le système 𝐟3 (𝐬) en utilisant la commande ZPK 6) Passer de la représentation fonction de transfert de 𝐟𝟏 (𝐬) et 𝐟𝟐 (𝐬) vers la forme ZPK connue par la forme d’Evans 𝐇(𝐬) = (𝐬−𝐙(𝟏))(𝐬−𝐙(𝟐))...(𝐬−𝐙(𝐧)) 𝐊 (𝐬−𝐏(𝟏))(𝐬−𝐏(𝟐))...(𝐬−𝐏(𝐧))). 7) Passer de la représentation fonction de transfert de f1 (s) et f2 (s) vers la forme d’état Ẋ = AX + Bu, y = CX + Du. 8) Passer de la représentation ZPK de f3 (s) vers la forme Ẋ = AX + Bu, y = CX + Du. 9) Enregistrer l’espace de travail de cet exercice dans tp3ex1.mat 28 Partie 2 : TP Matlab/Simulink Proposés Exercice N°2 : Construction de Schémas Fonctionnels Soit le schéma fonctionnel donné par la figure ci-dessous 1. Consulter l’aide en ligne sur les commandes Series, Parallel, feedback 2. Créer un fichier de commande tp3ex2.m pour les commandes MATLAB de l’exercice N°2 3. Donner la fonction de transfert en boucle ouverte 4. Donner la fonction de transfert en boucle fermée (Y(s)/U(s)) 5. Vérifier le résultat analytiquement. 6. Calculer les pôles de la fonction de transfert en boucle fermée 7. Passer de cette fonction de transfert aux différentes formes (ZPK, SS ) du système en BF 8. Enregistrer l’espace de travail de cet exercice dans tp3ex2.mat TPN°5 : Génération Des Différents Signaux d'Entrées Pour Les Systèmes Asservis à Base des Instructions Matlab But du TP : Savoir programmer un signal d'entrée sous Matlab comme le signal carré, signal triangulaire, signal dent de scie en utilisant les outils de programmation de Matlab (for, if-else,…etc), Zeros, ones. Cela permet à l'étudiant de connaitre et de manipuler les étapes complètes pour générer un signal Périodique,…etc. 29 Partie 2 : TP Matlab/Simulink Proposés Travail demandé : En utilisant des scripts Matlab, tracer sous MATLAB les fonctions ou les réponses suivantes 1. Echelon Unitaire 2. Signal sinusoïdal périodique. 3. Signal carré périodique. 4. Signal périodique triangulaire. 5. Signal marche d’escalier. 6. Proposer d'autres signaux périodiques 7. Comparer les résultats de vos programmes avec les instructions Matlab comme rectwin, triang TPN°6 : Réponse d’Un Systèmes Linéaires Continu du Premier Ordre Buts du TP : Le but souhaité de ce TP est l’étude générale des systèmes du premier ordre excités par des entrées sous formes d’impulsions et des échelons afin d’avoir des réponses impulsionelles et indicielles. Voir l'influence d'un pôle dominant sur la réponse d'un système. L'exemple pris est toujours celui des deux circuits électriques RC et RL. 30 Partie 2 : TP Matlab/Simulink Proposés Exercice N°1 Soit les deux circuits électriques suivants : I2 R1 VE VR2 R2 I1 C VC VE L VL V E 1. Donner les équations différentielles qui régissent les deux circuits électriques. 2. Donner les valeurs de R1, C, R2, L pour que l’équation différentielle soit 0.5 dy(t) dt + y(t) = 15u(t) avec u(t) est l’entrée et y(t) est la sortie. 3. Résoudre ces équations et donner Vc(t), VL(t), I2(t). 4. Pour t=[0 :1.5s] tracer sous Matlab ces équations en utilisant la commande PLOT Vc(s) V (s) E E 5. Donner les fonctions de transferts h1 (s) = V (s) , h2 (s) = VL (s) , VR2 (s) I2 (s) E E h3 (s) = V (s) , h4 (s) = V (s) 6. Introduire ces fonctions de transfert sous Matlab 7. Théoriquement calculer le gain statique, la constante de temps de ces systèmes. Exercice N°2 : Utiliser l’aide en ligne sur les commandes IMPULSE, STEP 1. 2. 3. 4. Tracer la réponse impulsionelle de h1 (s), h2 (s), h3 (s), h4 (s). Tracer la réponse indicielle de h1 (s), h2 (s), h3 (s), h4 (s). Expliquer physiquement les réponses temporelles trouvées. Comparer ces résultats avec la question N°5 de l’exercice N°1 31 Partie 2 : TP Matlab/Simulink Proposés Exercice N°3 : Utiliser l’aide en ligne sur les commandes LSIM. 1. Tracer la réponse suite à une rampe r(t)=2*t du système h1 (s) 2. Tracer la réponse suite à une entrée u(t)=sin(4*t+pi/4) du système h1 (s) 3. Tracer et comparer les réponses indicielles des deux systèmes h5 (s) = 10 100 s^2 + 526 s + 82 et h6 (s) = 10 s + 0.161 . 4. Donner les pôles de h5(s), h6(s), que remarquez-vous ? TP N°7 : Analyse Fréquentielle d'un Système asservis du Premier Ordre. Buts du TP : La maitrise de la réponse fréquentielle en se basant sur le diagramme de Bode. Savoir lire le de diagramme de l'amplitude en Décibel, et déduire tirer des valeurs du signal de sortie à partir de sa fréquence, son gain Gdb, sa phase en degré. Travail de préparation : Donner la réponse temporelle du système de premier ordre y ( p) k suite à une entrée Echelon, et à une entrée u ( p) 1 p sinusoïdale u(t)=Am sin(t+) [2]. H ( p) Travail Sous Matlab Soit le système linéaire donné par : 0,5 dy y (t ) u (t ) dt 1. Tracer l'entrée sinusoïdale u(t)=2sin(4t+pi/4) pour t=[0: 4*pi] 32 Partie 2 : TP Matlab/Simulink Proposés 2. Dans le même graphe tracer la réponse du système ci-dessus pour cette entrée sinusoïdale ; (utiliser la commande "hold on" pour tracer les deux courbes). 3. En utilisant la commande BODE, tracer le diagramme de Bode de ce système. 4. Tracer le lieu de Nyquist de ce système 5. Tracer l'abaque de Nichols de ce système 6. Tracer le lieu des racines en utilisant la commande "rlocus" 7. en utilisant le tracé de Bode déduire pour la pulsation =4rad/s le gain en décibel et la phase de la sortie. 8. à partir des ces données est ce qu’on peut déduire la réponse y(t) pour cette pulsation =4rad/s? Commandes Utiles Plot, Lsim; Bode;hold on; Nyquist ;Nichols; rlocus… TPN°8 : Systèmes Asservis du Second Ordre Application au Circuit RLC But du TP : Maitriser la modélisation des systèmes asservis linéaires continus de deuxième ordre, "étude du cas d'un circuit RLC", étudier la solution de leurs équations différentielles et tracer leurs réponses temporelles. Exercice 1 Nous considérons un système électrique RLC série, donné par la figure ci-dessous 1 R L C ue t 33 us t Partie 2 : TP Matlab/Simulink Proposés Ecrire les équations différentielles régissant la dynamique de ce système du 2ième ordre Déduire de ces équations la fonction de transfert en sa forme canonique. Donner la réponse temporelle de cette transformée inverse. 𝑇𝐿−1 [ n (𝑃2 +2 2 n 𝑃+ n 2 ] Exercice 2 (programmation) Pour des valeurs R-L-C données nous proposons un système H2(p) donné par H 2 ( p) 72 ( p 6 p 36) 2 1. Calculer , n , 2. 3. Tracer la réponse indicielle de ce système. Calculer graphiquement le dépassement D en %. 4. Calculer analytiquement le dépassement D en %. K et déduire le type du système. TPN°9 : Systèmes Asservis du Second Ordre, Système mécanique : Masse-ressort But du TP : Maitriser la modélisation des systèmes asservis linéaires continus du deuxième ordre, "étude du cas d'un système mécanique ", étudier la solution de leurs k f équations différentielles, tracer leurs réponses temporelles. M Exercice 1 Considérons le système mécanique illustré z par la figure ci-contre. 34 F Partie 2 : TP Matlab/Simulink Proposés Avec "M" est une masse, maintenue à un mur par un amortisseur de coefficient de frottement visqueux "f" et un ressort d’amortissement de raideur "k" tiré par une force "F" vers le bas. Pour l’entrée U(t) = F(t), Force appliquée à la masse, la Sortie y(t) est la position ou le déplacement de la masse appelée Z(t). Avec n est la pulsation propre, est l’amortissement , K est le gain statique du système. Exprimer ces 3 paramètres en fonction des données du système cidessus.. Donner la fonction de transfert de ce système en le mettant sous la forme canonique n 2 [ ] 2 2 (𝑃 + 2 n 𝑃 + n à quelles conditions le facteur d’amortissement est-il inférieur à 1 Exercice 2 : Répéter les questions de L'EXO 2 du TP N°8 pour H2(P) en donnant des valeurs a "f, M, K" du système mécanique correspondants. 35 Partie 2 : TP Matlab/Simulink Proposés TPN°10 : Comparaison entre les Systèmes Second Ordre Système mécanique et électrique But du TP : Comparer les résultats physiques de deux systèmes de second ordre de même fonction de transfert, tracé et comparaison des diagrammes de Bode, de Nyquist et de Nichols, pour différentes valeur de facteur d'amortissement. Systèmes Physiques à Etudier Considérons deux système physiques ; circuit électrique RLC série donné par la figure 1, système Mécanique Masse-Ressort (figure2):. R L k C ue t us t f M F z Figure 1 Figure 2 EXERCICE 1 en choisissant à chaque fois des valeurs différentes de R, L, C , et en utilisant les commandes Step, Hold on. 1. Tracer les réponses indicielles dans une même figure ( exp : appelez la fig 9.1) du système RLC pour les coefficients d'amortissements suivant : ξ =0.25, 0.5, 0.707, 1 ,1.5 et n de 5 rad /s 2. Pour le système mécanique refaire la même opération de que (1) en traçant les résultats dans la figure (fig9.2) 3. Comparer les deux courbes des fig9,1 et fig9,2, conclure. 36 Partie 2 : TP Matlab/Simulink Proposés 4. expliquer physiquement les courbes du fig9.1 et fig9.2 EXERCICE 2 1. dans une même figure (fig 9.3), Tracer le diagramme de BODE du circuit RLC pour ξ =0.25, 0.5, 0.707, 1 et 2, que remarquez vous (utiliser Hold on)? 2. calculer la marge de gain et la marge de phase un utilisant "Margin" pour différent ξ. 3. Pour une valeur de ξ =0.707 tracer le lieu de racines (rlocus) 4. Tracer le diagramme de Nyquist, 5. Tracer les abaques de Nichols. TP N°11 : Stabilité des Systèmes Asservis But du TP : Ce TP est très important, il permet à l’étudiant de reconnaître si les systèmes sont stables ou pas. En se basant sur leurs réponses temporelles, et leurs pôles, et de concevoir une boucle fermée. TRAVAIL DE PREPARATION On considère les 2 systèmes suivants : H 1 ( p) p 1 p 2p 3 H 2 ( p) 10 ; 2p 3 2 1. Calculer la fonction de transfert du système H1(p)xH2(p) en boucle fermé avec retour unitaire. 2. Discuter la stabilité de ce système en calculant ces pôles. 3. Utiliser la table de Routh pour vérifier votre résultat. 37 Partie 2 : TP Matlab/Simulink Proposés SIMULATION 1. 2. 3. Vérifier la stabilité de H 1(p) et H2(p). Calculer le système H1(p)xH2(p) en boucle fermé avec retour unitaire via la commande "feedback". Vérifier sa stabilité en utilisant la méthode de Routh [2] et la commande Matlab. 4. H2(p) est un système instable, essayé de le stabiliser en utilisant un correcteur indiqué par le schéma ci-contre. (Utiliser SERIES, FEEDBACK, ROOTS) 5. Proposer le régulateur qui donne un système en boucle fermé avec un gain =2 et une Constante du temps =0.5s 38 Partie 2 : TP Matlab/Simulink Proposés TPN°12 : Manipulation du Simulink But du TP : Maitriser l’utilisation du Simulink en introduisant des systèmes asservis linéaire continus de premier et deuxième ordre, afficher leurs différentes réponses, connaitre les différents blocs de génération de signaux,…etc. Simulation 1. Réaliser les schémas de simulation des figures ci-dessus : 2. Tracer les résultats de ces quatre systèmes dans un même scope 3. de la même manière tracer les réponses d'un système du deuxième ordre pour différentes valeurs de « ksi » et voir le résultat de simulation. 39 Partie 2 : TP Matlab/Simulink Proposés 40 Partie 3 : Solution des TP Proposés Partie 3 Solution des TP Proposés 41 Partie 3 : Solution des TP Proposés Solution TPN°1 : Instructions Usuelles du Logiciel Matlab %Université de Batna2, Faculté de Technologie, Département D'électronique %solution de TPN°1 manipulation des instructions usuelles de Matlab %Destiné aux utilisateurs licence et Master clear all clc A=[4 5 6; 7 8 3;0 0 2] deta=det(A) B=A' C=inv(A) D=A*B E=3*A F=A.*B eye(size(A)) G=ones(15,10) save essai1.mat clear all clc who load essai1.mat F2=[1 2 3;4 5 6;0 9 1] G = [F2, zeros(3, 3); ones(3), eye(3)] size(G) G(:,6)=[7; 8 ;9;10;5;7] H=G([2 4],[2 6]) W = F2 *F2 M = F2.*F2 N = F2^3 T = F2.^3; I = exp(F2) J = sqrt(F2) 42 Partie 3 : Solution des TP Proposés Solution TPN°2 : Instructions polynômes & Graphisme. Solution de l'Exercice 1 : polynômes. %---------------------------------%Calculs sur les polynômes %solution tp N°2 %proposé par Dr Aissi salim %------------------------------------%------------------------------------P=[10 0 0 -2 10 0] q=[1 0 4] poly([-1 -5 -6]) roots(P) roots(q) polyder(P) conv(P,q) deconv(P,q) polyval(P,[0 -1]) x=[-10:0.01:10]; y=10*x.^5 -2*x.^2 + 10*x; plot(x,y) title('TP2 polycopie 2015/2016') grid xlabel('Abscices') ylabel('Ordonnées') 6 1 TP2 polycopie 2015/2016 x 10 Ordonnées 0.5 0 -0.5 -1 -1.5 -10 -8 -6 -4 -2 0 Abscices 43 2 4 6 8 10 Partie 3 : Solution des TP Proposés Solution de l'Exercice 2 : Représentation Graphique. %université de Batna2, faculté de technologie, département d'électronique %solution de TPN°2 manipulation des instructions de graphisme %destiné aux utilisateurs licence et Master clear all clc t=[0:0.01:4*pi]; f1= sin(10*t).*exp(-2.*t) figure(1) plot(t,f1) xlabel('Temps') ylabel('Volts') title('réponse temporelle') t=[-1:0.01:1]; f11= sin(10*t).*exp(-2.*t) f12=-sin(10*t).*exp(-2.*t) f13=exp(-2.*t) f14=-exp(-2.*t) figure(2) plot(t,f11,'b') hold on plot(t,f12,'g') plot(t,f13,'r') plot(t,f14,'c') hold off figure(3) subplot(3,1,1), plot(t,f11) subplot(3,1,2), plot(t,f12) subplot(3,1,3), plot(t,f13) 44 Partie 3 : Solution des TP Proposés réponse temporelle 1 0.8 0.6 Volts 0.4 0.2 0 -0.2 -0.4 0 2 4 6 8 10 12 14 Temps 8 6 4 2 0 -2 -4 -6 -8 -1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1 5 0 -5 -1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1 5 0 -5 -1 10 5 0 -1 45 Partie 3 : Solution des TP Proposés Solution TPN°3 : Représentation des Systèmes Dynamiques Linéaires à l’aide des équations différentielles Exercice N°1 1/ les équations différentielles des circuits R-C et R-L : 1.1 le circuit R-C : E=UR+UC E=R i(t)+UC ; i(t)= C d(UC/dt) E= RC dUC/dt +UC avec : =RC 1.2 le circuit R-L : E=Ri(t)+Ldi(t)/dt E/R=L/R di(t)/dt+i(t) avec =L/R 2/ les réponses temporelle UC(t),IL(t) : E=UR+UC→E=Ri+1/C ∫i(t)dt UC(t)=E-UR=E(1-exp(-t/ )) /Ur=Ri(t)=E .exp (-t/ ) Donc UC(t)=E(1-exp(-t/ )) E=UR+UL→ E=Ri(t)+L di(t)/dt La solution du courant i(t), est la somme des solutions permanente ip(t) et la solution homogène ih(t), alors i(t)= ip(t)+ ih(t) ih(t)=Aexp(-t/), ip(t)=E/R i(t)=E/R+Aexp(-t/) alors :t=0→i(0)=0→A=-E/R i(t)=E/R(1-exp(-t/)) 46 Partie 3 : Solution des TP Proposés 3/ les valeurs Ic(t),UL(t) : E=UR+UC→E=Ri+1/C∫ i(t)dt La solution du courant i(t), est la somme des solutions permanentes ip (t) et la solution homogène ih(t) ih(t)=Aexp(-t/→les conditions initiales à t=0→i(0)=E/R A=E/R donc iC(t)= E/R exp(-t/) IL(t)=E/R(1-exp(-t/))→UL(t)=L di(t)/dt → UL(t)=L d(E/R(1-exp(-t/))/dt Ul(t)=E exp(-t/) Exercice : 02 1/ Vc(t) en fonction du temps : t=0:0.1:10 vc(t)en fonction de temps 10 r=1000*10^3 9 c=0.9*10^-6 8 e=10 7 z=r*c plot(t,vC) vc(t) 6 vC=e*(1-exp(-t/z)) 5 4 grid 3 xlabel('temps') 2 ylabel('vc(t)') 1 title('vc(t)en fonction de temps') 0 0 1 2 47 3 4 5 temps 6 7 8 9 10 Partie 3 : Solution des TP Proposés 2/ Ic(t) en fonction du temps : -5 1.2 Ic(t)en fonction de temps x 10 t=0:0.1:10 1 r=1000*10^3 c=0.9*10^-6 0.8 Ic(t) e=10 z=r*c IC=e/r*exp(-t/z) 0.6 0.4 plot(t,IC,'k') 0.2 grid xlabel('temps') 0 0 ylabel('Ic(t)') title('Ic(t)en temps') fonction 1 2 3 4 5 temps 6 7 8 9 10 de Vl(t)en fonction de temps 10 3/ Vl(t) en fonction du temps : 9 t=0:0.1:10 8 r=100 7 e=10 Vl(t) l=70 6 5 y=l/r 4 Vl=e*exp(-t/y) 3 plot(t,Vl,'g') 2 grid 1 xlabel('temps') 0 0 1 ylabel('Vl(t)') 48 2 3 4 5 temps 6 7 8 9 10 Partie 3 : Solution des TP Proposés title('Vl(t)en fonction de temps') 4/ Il(t) en fonction du temps : Il(t)en fonction de temps 0.1 t=0:0.1:10 0.09 r=100 0.08 e=10 0.07 l=70 0.06 Il(t) y=l/r 0.05 Il=e/r*(1-exp(-t/y)) 0.04 plot(t,Il,'m') 0.03 grid 0.02 xlabel('temps') 0.01 0 ylabel('Il(t)') title('Il(t)en temps') fonction 0 1 2 3 4 5 temps 6 7 8 9 de 4/ tracer les réponses vc(t),Il(t),Ic(t),vl(t) sous MATLAB en utilisant SUBPLOT. t=0:0.001:1 r1=100*10^3 r2=1000 c=0.3*10^-6 e=10 l=20 z=r1*c y=l/r2 Vc=e*(1-exp(-t/z)) Ic=e/r*exp(-t/z) 49 10 Partie 3 : Solution des TP Proposés Vl=e*exp(-t/y) Il=e/r*(1-exp(-t/y)) subplot(4,1,1),plot(t,Vc,'r'); grid xlabel('temps') ylabel('vc(t)') title('Vc(t),Ic(t),Vl(t),Il(t)en fonction du temps') subplot(4,1,2),plot(t,Ic,'k'); grid xlabel('temps') ylabel('Ic(t)') subplot(4,1,3),plot(t,Vl,'b'); grid xlabel('temps') ylabel('Vl(t)') subplot(4,1,4),plot(t,Il,'m'); grid xlabel('temps') ylabel('Il(t)') 50 Partie 3 : Solution des TP Proposés 5/ sous MATLAB introduire les fonctions de transfert S1/E et S2/E. S2/E S1/E r=1000*10^3 r=100 c=0.9*10^-6 l=70 z=r*c y=l/r n1=[1] n2=[y] d1=[z,1] d2=[1,y] s1=Tf(n1,d1) s2=Tf(n2,d2) Transfer function: Transfer function 1 ---------------0.9 s + 1 0.2 --------------s+0.2 51 Partie 3 : Solution des TP Proposés Solution TPN°4 : Représentation des Systèmes Dynamiques Linéaires à l’aide des Fonctions de Transfert Exercise N°1 help tf, help zpk, help tf2ss help tf num1=[1 5 ] den1=[1 8 17 10] num2=[1 10] den2=[2 3 1] f1=tf(num1,den1) f2=tf(num2,den2) roots(den1) roots(den2) Z=[2 -1.2] P=[-0.3 -1 -5] K=[4.25] f3 = ZPK(Z,P,K) [Z1,P1,K1] = TF2ZP(num1,den1) [Z2,P2,K2] = TF2ZP(num2,den2) [A1,B1,C1,D1] = TF2SS(num1,den1) [A2,B2,C2,D2] = TF2SS(num2,den2) [A3,B3,C3,D3] = zp2SS(Z,P,K) save tp3ex1.mat 52 Partie 3 : Solution des TP Proposés Le résultat obtenu après exécution est donnée comme suit : num1 = 1 5 den1 = 1 8 17 10 num2 = 1 10 den2 = 2 3 1 Transfer function: s+5 ----------------------s^3 + 8 s^2 + 17 s + 10 Transfer function: s + 10 --------------2 s^2 + 3 s + 1 ans = -5.0000 -2.0000 -1.0000 ans = -1.0000 -0.5000 Z= 2.0000 -1.2000 P= -0.3000 -1.0000 -5.0000 K= 4.2500 Zero/pole/gain: 4.25 (s-2) (s+1.2) ------------------(s+0.3) (s+1) (s+5) Z1 = -5 P1 = -5.0000 53 Partie 3 : Solution des TP Proposés -2.0000 -1.0000 K1 = 1 Z2 = -10 P2 = -1.0000 -0.5000 K2 = 0.5000 A1 = -8 -17 -10 1 0 0 0 1 0 B1 = 1 0 0 C1 = 0 1 5 D1 = 0 A2 = -1.5000 -0.5000 1.0000 0 B2 = 1 0 C2 = 0.5000 5.0000 D2 = 0 A3 = -0.3000 0 0 1.0000 -6.0000 -2.2361 0 2.2361 0 B3 = 1 0 54 Partie 3 : Solution des TP Proposés 0 C3 = 4.2500 -28.9000 -14.0649 D3 = 0 Exercice N°2 (TP N°4) : Soit le schéma fonctionnel donné par la figure ci-dessous : 1/ Donner la FT en BF (y(s)/u(s)) : n1=[1 1] d1=[1 3 1] f4=tf(n1,d1) n2=[1] d2=[5 1] f5=tf(n2,d2) n3=[1] d3=[1 1] f6=tf(n3,d3) h=series(f5,f4)/(1+(f4*f5*f6)) 55 Partie 3 : Solution des TP Proposés Transfer function: 5 s^5 + 31 s^4 + 66 s^3 + 57 s^2 + 19 s + 2 -----------------------------------------------------------------------------------------25 s^7 + 185 s^6 + 496 s^5 + 602 s^4 + 362 s^3 + 112 s^2 + 17 s + 1 2/ Verifier le résultat analytiquement: H(p)=y(p)/u(p) Y(p)=f5(s)*f4(s)*e(t) e(t)=u(p)-y’(p) Y’(p)=f6(s)*y(p) Y(p)=f5(s)*f4(s)*[u(p)-y’(p)]=f5(s)*f4(s)*[u(p)-f6(s)*y(p)] y(p)=f5(s)*f4(s) / ‘(1+f5(s)*f4(s)*f6(s)) *u(p) D'où 3/ passer de cette fonction de transfert à la forme ZPK du système en BF : n1=[5 26 45 33 10 1] d1=[25 185 496 607 383 136 26 2] f3=tf(n1,d1) [z,p,k]=tf2zp(n1,d1) zpk(f3) n1 = 5 26 45 33 10 1 d1 = 25 185 496 607 383 136 26 2 Transfer function: 5 s^5 + 26 s^4 + 45 s^3 + 33 s^2 + 10 s + 1 ------------------------------------------------------------------25 s^7 + 185 s^6 + 496 s^5 + 607 s^4 + 383 s^3 + 136 s^2 + 26 s + 2 56 Partie 3 : Solution des TP Proposés z= -2.6180 -1.0000 -1.0000 -0.3820 -0.2000 p= -2.6539 -2.6180 -1.0000 -0.2730 + 0.2760i -0.2730 - 0.2760i -0.3820 -0.2000 k= 0.2000 Zero/pole/gain: 0.2 (s+2.618) (s+1)^2 (s+0.382) (s+0.2) -------------------------------------------------------------------(s+2.654) (s+2.618) (s+1) (s+0.382) (s+0.2) (s^2 + 0.5461s + 0.1507) 57 Partie 3 : Solution des TP Proposés Solution TPN°5 : Génération Des Différents Signaux d'Entrées Pour Les Systèmes Asservis à Base des Instructions Matlab Exercice : 01 Tracer sous MATLAB les réponses d’un échelon unitaire, signal sinusoïdal, signal carré, signal triangulaire, signal marche d’escalier. A/ Echelon unitaire : échelon unitaire 2 t=0:0.002:10 1.8 1.6 ech=ones(1,length(t)) grid 1.2 échelon plot(t,ech,'r') 1.4 1 0.8 xlabel('temps') ylabel(' échelon ') 0.6 0.4 0.2 title('échelon unitaire') 0 0 1 2 3 4 5 temps 6 7 8 9 10 B/ Signal sinusoïdal : signal sinusoidale 1 t=0:0.002:10 0.8 r=sin(t) 0.6 grid xlabel('temps') ylabel(' sinusoidal ') title('signal sinusoidal') sinusoidale 0.4 plot(t,r,'g') 0.2 0 -0.2 -0.4 -0.6 -0.8 -1 0 1 58 2 3 4 5 temps 6 7 8 9 10 Partie 3 : Solution des TP Proposés C/ signal quarré t=0:0.01:2 clear all close all TP N° 5 : signal carré de 10 période avec T=4 T=4; 1 N=10; 0.9 t=0:0.001:T; 0.8 t1=[0:0.001:T/2]+(i*T) y1=ones(1,length(t1)); plot(t1,y1) signal carré d'entrée 0.7 for i=0:N-1 0.6 0.5 0.4 0.3 0.2 hold on t4=[0:0.001:0.01]+(i*T); 0.1 0 0 5 y4=[0:0.1:1] plot(t4,y4,'r') hold on t2=[T/2:0.001:T]+(i*T) y2=zeros(1,length(t2)); plot(t2,y2) t3=[T/2:0.001:(T/2)+0.01]+(i*T); y3=[0:0.1:1] plot(t3,y3,'r') end grid xlabel('temps') ylabel('signal carré d''entrée') title('TP N° 5 : signal carré de 10 période avec T=4') 59 10 15 20 temps 25 30 35 40 Partie 3 : Solution des TP Proposés D/ signal marche d’escalier : t=0:0.01:2 y=ones(1,length(t)) hold on plot(t,y) grid t1=t+2 signal marche d'éscalier 6 y1=ones(3,length(t))*2 5.5 hold on 5 plot(t1,y1,'r') 4.5 t2=t1+2 y2=ones(1,length(t2))*4 hold on marche d'éscalier grid 4 3.5 3 plot(t2,y2,'g') 2.5 grid 2 t3=t2+2 y3=ones(1,length(t3))*6 hold on 1.5 1 0 1 plot(t3,y3,'v') grid t11=2:0.001:2.01 y11=(1:0.1:2) plot(t11,y11) grid t12=4:0.001:4.01 y12=(1:0.1:2)*2 plot(t12,y12) 60 2 3 4 temps 5 6 7 8 Partie 3 : Solution des TP Proposés grid t13=6:0.001:6.01 y13=(1:0.1:2)*2+2 plot(t13,y13) grid xlabel('temps') ylabel(' marche d''éscalier ') title('signal marche d''éscalier') E/ signal triangulaire : clear all close all T=4; N=5; t=0:0.001:T; TP N° 5 : signal triangulaire de 6 période avec T=4 2 1.8 plot(t1,y1) hold on hold on t2=[T/2:0.001:T]+(i*T) y2=-t2+((i+1)*T); plot(t2,y2) end grid xlabel('temps') ylabel('signal d''entrée périodique ') title('TP N° 5 : signal triangulaire de 5 période avec T=4') 1.6 signal d'entrée périodique for i=0:N-1 t1=[0:0.001:T/2]+(i*T) y1=t1-(i*T); 1.4 1.2 1 0.8 0.6 0.4 0.2 0 0 61 2 4 6 8 10 temps 12 14 16 18 20 Partie 3 : Solution des TP Proposés F/ Signal Rampe signal rampe 2 1.8 t=0:0.01:2 1.6 1.4 y=t référence 1.2 plot(t,y,'g') 1 0.8 grid 0.6 xlabel(' temps ') 0.4 0.2 ylabel(' référence ') 0 0 0.2 0.4 0.6 title('signal rampe') 0.8 1 temps 1.2 1.4 1.6 1.8 2 Solution TPN°6 : Réponse d’Un Systèmes Linéaires du Premier Ordre Exercice N°1 : (impulse ; step ; lsim) ; Soit le système linéaire caractériser par l’équation temporelle suivante : 0.5 dy/dt+y(t)=15 u(t) 1/les équations différentielles de R-C et R-L Pour le circuit R-C : R.C [dVc(t)/dt]+[Vc(t)]=Ve Pour le circuit R-L : L/R*[dI(t)/dt]+[I(t)]=[VE/R2] 2/ les valeurs de R1*C1=0.5 , pour le circuit L2/R2=0.5 3/ résolution des équations différentielle Vc(t)=E/R1[1-exp(-t/ )] =R1*C1 Il=Ve/R*[1-exp(-t/( L2/R2)] Vl=L2(dIL2)=E(exp(-t/2) 2=L2/R2 62 Partie 3 : Solution des TP Proposés 4/ l’expression des FT du système h1(p), h2(p), h3(p), h4(p): 𝑉𝑐 15 H1(p)=𝑉𝑒 = 1+0.5𝑃 Ic(t)=Cd[vc(t)]/dt=C(p H1(p)) 𝐼𝑐(𝑝) 15𝑃τ1 IL 15 H2(p)= 𝑈𝑒 = 1+0.5𝑃 H3(p)=𝑈𝑒 = 1+0.5𝑃 Il(t)=Ld[Il(t)]/dt=L(p H3(p)) 𝑉𝑙 15τ2 H4(p)=𝑈𝑒 = 1+0.5𝑃 5/Introduction des FT sous matlab n1=[15] d1=[0.5 1] h1=tf(n1,d1) n2=[7.5 0] d2=[0.5 1] h2=tf(n2,d2) n3=[15] d3=[0.5 1] h3=tf(n3,d3) n4=[7.5 0] d4=[0.5 1] h4=tf(n4,d4) 6/ le système h1 et h3 se sont des systèmes de 1er ordre Le gain statique : k=15 La constante de temps: =0.5 63 Partie 3 : Solution des TP Proposés Exercice N°2 : (impulse ; step ; lsim) ; 1/Tracer la réponse impulsionelle : u(t) H(p) y(t) Réponse temporelle y(t)=L-1 h(p) = L-1(k/ ζ (p+1))= k/ *exp(-t/ ) = L-1(15/0.5(p+1/ 0.5))= 15/ 0.5*exp(-t/ 0.5) y(t) = 30*exp(-2*t); on peut utilisé la commande step Impulse Response 30 25 n1=[15] h1=tf(n1,d1) Amplitude 20 d1=[0.5 1] 15 10 impulse(sd1) 5 0 0 0.5 1 1.5 2 2.5 3 3.5 Time (sec) Impulse Response 30 25 20 D2=[0.5 1] H2=tf(N2,D2) Amplitude N2=[15] 15 10 impulse(H2), grid 5 0 0 0.5 1 1.5 Time (sec) 64 2 2.5 3 Partie 3 : Solution des TP Proposés 2/ tracer la réponse indicielle (entrée échelon) : U(t) AK A 𝐾 1 + 𝜏𝑃 t Step Response 30 k=15 25 d1=[0.5 1] h=tf(k,d1) %pour entrée échelon a=2 Amplitude 20 15 10 5 step(h*a), grid 0 0 0.5 1 1.5 Time (sec) La constante du temps : =0.5 Le gain statique : k=15 Y(t)= h(p)*u(t) =k/(1+ p) * A/p = AK *1/P(1+ p) =30 *1/p(1+0.5p)=C1/P+C2/1+0.5P C1=1 C2=-0.5 Y(t)=AK(1-exp(-t/ )) Y(t)=2*15(1/p-0.5/0.5(p+1/0.5)) Y(t)= 30*(1-exp(-2*t)) 65 2 2.5 3 Partie 3 : Solution des TP Proposés Exercice N°3 : ( lsim) ; 1/ tracer la réponse suite a une entrée sinusoïdale u(t)= 2*sin(4*t+pi/4) : Linear Simulation Results 20 15 clf u = 2*sin(4*t+pi/4) Amplitude t = 0:0.01:4; 10 5 0 -5 lsim(h,u,t),grid -10 -15 0 0.5 1 1.5 2 2.5 3 3.5 4 Time (sec) 2/ la réponse indicielle de h2(p)=10/(100p2+526p+82) ; h3(p)=10/p+0.161 h2(p)=10/(100p2+526p+82) Step Response 0.14 0.12 0.1 d2=[100 526 82] Amplitude n2=10 0.08 0.06 h2=tf(n2,d2) 0.04 step(h2),grid 0.02 0 0 5 10 15 20 Time (sec) 66 25 30 35 40 Partie 3 : Solution des TP Proposés h3(p)=10/p+0.161 : Step Response 70 60 n3=10 h3=tf(n3,d3) Amplitude 50 d3=[1 0.161] 40 30 20 step(h3),grid 10 0 0 5 10 15 20 25 30 35 40 Time (sec) Dans ces deux réponses nous remarquons que leurs aspects et valeurs finales, sont presque identiques (malgré h2 est de deuxième ordre et h3 est de premier ordre), cela est traduit par : la présence d'un pôle dominant (p1= -0.1608) dans le système de deuxième ordre qui va éliminer l’effet du deuxième pôle p2= -5.0992 pole(h2) ans = -5.0992 -0.1608 >> pole(h3) ans = -0.1610 67 Partie 3 : Solution des TP Proposés TP N°7 : Analyse Fréquentielle du Système Premier Ordre. 1/Tracer l’entrée sinusoïdale u(t)=2sin(4t+pi/4)pourt=[0 :4*pi] : 2 1.5 1 t=0:0.01:4*pi; 0.5 u=2*sin(4*t+pi/4); -0.5 0 -1 plot(t,u) -1.5 -2 0 2 4 6 8 10 12 14 2/tracer la réponse du système en utilisant la commande Hold : hold on n=[1]; Linear Simulation Results 2 d=[0.5 1]; 1.5 h=tf(n,d) 1 --------0.5 s + 1 1 0.5 Amplitude Transfer function : 0 -0.5 -1 -1.5 -2 0 2 4 6 8 Time (sec) lsim(h) lsim(h,u,t) grid 68 10 12 14 Partie 3 : Solution des TP Proposés 3/diagramme de Bode Bode(h) grid Bode Diagram 0 -5 Magnitude (dB) -10 -15 -20 -25 -30 Phase (deg) -35 0 -45 -90 -1 0 10 1 10 2 10 10 Frequency (rad/sec) 4/tracer le lieu de Nyquist : nyquist(h) grid Nyquist Diagram 0.5 0.4 0.3 0.2 Imaginary Axis 0.1 0 -0.1 -0.2 -0.3 -0.4 -0.5 -1 -0.8 -0.6 -0.4 -0.2 0 Real Axis 69 0.2 0.4 0.6 0.8 1 Partie 3 : Solution des TP Proposés 5/tracer l’abaque de Nichols : nichols(h) grid Nichols Chart 40 0 dB 30 0.25 dB 0.5 dB 20 1 dB Open-Loop Gain (dB) -1 dB 3 dB 10 -3 dB 6 dB 0 -6 dB -10 -12 dB -20 dB -20 -30 -40 dB -40 -360 -315 -270 -225 -180 -135 -90 -45 0 Open-Loop Phase (deg) 6/tracer le lieu de racine en utilisant la commande ‘rlocus’ : rlocus(h) grid Root Locus 0.4 0.999 0.997 0.995 0.988 0.97 0.88 0.3 1 0.2 Imaginary Axis 0.1 8 0 -0.1 1 1 7 6 -7 -6 5 4 3 2 1 1 -0.2 1 -0.3 0.999 -0.4 -8 0.997 -5 0.995 0.988 -4 -3 Real Axis 70 0.97 -2 0.88 -1 0 1 Partie 3 : Solution des TP Proposés 7/déduire le gain et la Bode Diagram 0 System: h Frequency (rad/sec): 3.98 Magnitude (dB): -6.96 phase: -5 Pour w=4 rad/s Magnitude (dB) -10 -15 -20 -25 Magnitude= -7 dB -30 Phase= -63 degrés Phase (deg) -35 0 -45 System: h Frequency (rad/sec): 3.94 Phase (deg): -63 -90 -1 10 0 1 10 10 Frequency (rad/sec) 8/déduire la réponse pour w=4rad/s: -7dB=20 logl0(y/hl) -7/20= logl0(y/hl) 10^(-7/20)=y/2 Y=2*10^(-0.35) = 0.8934 71 2 10 Partie 3 : Solution des TP Proposés Solution TPN°8 : Circuit RLC Exercice 1 Un système fondamentale du second d’ordre est régit ou défini par l’équation différentielle suivante 𝑦̈ + 20 𝑦̇ + 20 𝑦 = 𝑘20 𝑢 La fonction de transfert du système second d’ordre est obtenue à partir de l’équation différentielle en appliquant la transformée de Laplace H(p)= 𝑌(𝑝) 𝑈(𝑝) = 𝑘 2 0 𝑃+20 𝑃+2 0 R L Avec : est le facteur d’amortissement 0 ∶ 𝑙𝑎 𝑝𝑢𝑙𝑠𝑎𝑡𝑖𝑜𝑛 𝑝𝑟𝑜𝑝𝑟𝑒 ue t C us t K : le gain statique U : l’entrée Y : la sortie Pour un circuit RLC après l’application de loi de Kirchhoff nous obtenons l’équation différentielle suivante : 𝑅 1 1 𝑈𝑆̈ + 𝐿 𝑈̇𝑆 + 𝐿𝐶 𝑈𝑠 = 𝐿𝐶 𝑈𝑒 1 1 n t sin 1 2 t TL n e 2 2 p p 2 p 1 2 n n 1 n2 arccos Avec Us la tension de sortie et Ue la tension d’entrée 72 Partie 3 : Solution des TP Proposés Après transformation de Laplace La fonction de transfert est donnée comme suit 𝑈𝑆 H(p)=𝑈𝑒 = 𝑃 2+ 𝑅 𝐿 1 𝐿𝐶 𝑃+ 1 𝐿𝐶 Par comparaison de 8.2 et 7.3 on trouve =1/sqrt(LC) = (𝑅/2)*(sqrt(C/L)) k=1 la condition sur les paramètres RLC pour que le facteur d’amortissement <1 est (R*sqrt(LC))<2*L Exercice 02 Pour un circuit RLC qui a une FT donnée par H 2 ( p ) 72 ( p 6 p 36) 2 sa réponse indicielle est donnée par : réponse à un echelon d'un circuit RLC TP8 2.5 System: sys1 Time (seconds): 1.63 Amplitude: 2 2 Amplitude 1.5 1 0.5 0 0 0.2 0.4 0.6 0.8 1 Time (seconds) 73 1.2 1.4 1.6 1.8 Partie 3 : Solution des TP Proposés Graphiquement le dépassement est calculé à partir de la réponse indicielle, il est donné par 𝑦 𝐷% = 100 ∗ 𝑚𝑎𝑥 −𝑦(∞) 𝑦(∞)−𝑦(0) Graphiquement le dépassement D% est presque 16.5% Analytiquement 𝐷% = 100 ∗ exp( − √1−2 )=16.303% Les valeurs trouvées graphiquement et théoriquement sont presque les mêmes. num1=72 den1=[1 6 36] sys1=tf(num1,den1) step(sys1) %calcul du coefficient d'amortissement Z et de la pulsation naturelle Wn [wn,z]=damp(sys1) %%le dépassement analytiquement D=100*exp((-z(1)*pi)/sqrt(1-z(1).^2)) Solution TPN°9 : Système Masse-Ressort. Exercice 01 Pour un système mécanique masse ressort figée a un mur son équation différentielle est donné comme suit 𝑓 𝑘 𝑘 𝑧̈ + 𝑀 𝑧̇ + 𝑀 𝑧 = 𝑀 𝐹 k Avec Z le déplacement de la masse, M la valeur f M de la masse, f est le coefficient de frottement F visqueux et K la raideur du ressort, z La fonction de transfert est donnée comme suit 74 (9.1) Partie 3 : Solution des TP Proposés 𝑈𝑆 H(p)=𝑈𝑒 = 𝐾/𝑀 𝑃 2+ 𝑓 𝑀 𝑃+ 𝐾 𝑀 . Par comparaison de 9.2 et 8.2 on trouve n=sqrt(K/M) = 𝑓/(2*(sqrt(M*K))) k=1 la condition sur les paramètres K, M, f pour que le facteur d’amortissement <1 est f<(2*sqrt(M*K)) ou M>(f2/(2*k)) Exercice 2 : Pour H 2 ( p) un système Masse-ressort qui a une FT donnée par 72 ( p 6 p 36) 2 En comparant avec 9.1 le gain statique k=2; K/M=36 alors k=36M, f/M=2 =2*.5*6=6 alors f=6M Finalement pour M=10 Kg, on aura f=60 K=360 (ces valeurs sont fictifs) Le programme du système mécanique est de la même façon que celui du circuit RLC. 75 Partie 3 : Solution des TP Proposés Solution des TPN°10 Systèmes Second Ordre Comparaison Système RLC mécanique Exercice N°1 Tracé de la réponse indicielle pour différentes valeur de 𝑘𝑠𝑖 = 0.25,0.5, 0.707, 1 𝑒𝑡 2 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%% %%%tracé des réponses d'un système mécanique pour différentes valeurs de ksi %%%Tp réalisé par la promotion licence contrôle 2013/2014 %%% dans Le circuit RLC, les valeurs de R, L et C sont proposées %%% de manière à avoir des "ksi=R/(2*sqrt(C/L))= 0.25,0.5, 0.707, 1, 2 clear all clc r=2 l=0.05e-3 c=3.125e-6 ksi1=r/(2*sqrt(c/l)) num=1/(l*c) den=[ 1 r/l 1/(l*c)] h=tf(num,den) %%%%%%%%%%%%%%%%%%%%%%% r1=4 l1=0.05e-3 c1=3.125e-6 ksi2=r1/(2*sqrt(c1/l1)) num1=1/(l*c) den1=[ 1 r1/l 1/(l*c)] 76 Partie 3 : Solution des TP Proposés h1=tf(num1,den1) %%%%%%%%%%%%%%%%%%%%%%%%%%%%% r2=5.656 l2=0.05e-3 c2=3.125e-6 ksi3=r2/(2*sqrt(c2/l2)) num2=1/(l*c) den2=[ 1 r2/l 1/(l*c)] h2=tf(num2,den2) %%%%%%%%%%%%%%%%%%%%%%%%%%% r3=8 l3=0.05e-3 c3=3.125e-6 ksi4=r3/(2*sqrt(c3/l3)) num3=1/(l*c) den3=[ 1 r3/l 1/(l*c)] h3=tf(num3,den3) %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% r4=16 l4=0.05e-3 c4=3.125e-6 ksi5=r4/(2*sqrt(c4/l4)) num4=1/(l*c) den4=[ 1 r4/l 1/(l*c)] h4=tf(num4,den4) %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 77 Partie 3 : Solution des TP Proposés clear figure figure(1) title ('Réponse indicielle : système électrique') step(h,'b') hold on step(h1, 'r') step(h2, 'g') step(h3, 'c') step(h4, 'r*') grid %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%% %%%tracé des diagrammes de Bode pour différentes valeurs de ksi %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%% figure(2) grid title ('diagramme de bode : système électrique') bode(h) hold on bode(h1,'r') bode(h2,'g') bode(h3,'o') bode(h4,'m') figure(3) grid title('les valeurs de KSI : système électrique ') plot([ksi1 ksi2 ksi3 ksi4 ksi5],'r') 78 Partie 3 : Solution des TP Proposés Réponse indicielle : système électrique 1.5 System: h2 Time (sec): 5.19e-005 Amplitude: 1.04 Amplitude 1 0.5 0 0 1 2 3 4 -4 Time (sec) x 10 diagramme de bode : système électrique 20 Magnitude (dB) 0 System: h Frequency (rad/sec): 7.61e+004 Magnitude (dB): 6.23 -20 -40 -60 -80 -100 0 Phase (deg) -45 -90 -135 -180 3 10 4 10 5 10 Frequency (rad/sec) 79 6 10 7 10 Partie 3 : Solution des TP Proposés les différentes valeurs de KSI : système électrique 35 30 25 20 15 10 5 0 1 1.5 2 2.5 3 3.5 4 4.5 5 Tracé de la réponse indicielle du système mécanique pour différentes valeurs de = 𝟎. 𝟐𝟓, 𝟎. 𝟓, 𝟎. 𝟕𝟎𝟕, 𝟏 𝒆𝒕 𝟐 Partant par le même principe du circuit électrique étudié précédemment, nous avons fixé la masse et la raideur mais on a changé le coefficient de frottement f pour avoir des réponses similaire au circuit RLC. Les résultats obtenus avec des coefficients visqueux fictifs (les valeurs proposées sont pas pratiques et se sont de type benchmark) %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%% %%%tracer des réponses d'un système mécanique pour différentes valeurs de ksi %%%Tp réalisé par la promotion licence contrôle 2013/2014 %%% La masse et le coefficient de frottement et la raideur sont proposés %%% d'une manière à avoir des "ksi=f/(2*sqrt(k*m))" 0.25,0.5, 0.707, 1, 2 clear all 80 Partie 3 : Solution des TP Proposés clc f=2 m=0.05e-3 k=320000 ksi1=f/(2*sqrt(k*m)) num=k/m den=[ 1 f/m k/m] h=tf(num,den) %%%%%%%%%%%%%%%%%%%%%%% f1=4 m1=0.05e-3 k1=320000 ksi2=f1/(2*sqrt(k1*m1)) num1=k/m den1=[ 1 f1/m1 k1/m1] h1=tf(num1,den1) %%%%%%%%%%%%%%%%%%%%%%%%%%%%% f2=5.656 m2=0.05e-3 k2=320000 ksi3=f2/(2*sqrt(k2*m2)) num2=k2/m2 den2=[ 1 f2/m2 k2/m2] h2=tf(num2,den2) %%%%%%%%%%%%%%%%%%%%%%%%%%% f3=8 m3=0.05e-3 81 Partie 3 : Solution des TP Proposés k3=320000 ksi4=f3/(2*sqrt(k3*m3)) num3=k3/m3 den3=[ 1 f3/m3 k3/m3] h3=tf(num3,den3) %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% f4=16 m4=0.05e-3 k4=320000 ksi5=f4/(2*sqrt(k4*m4)) num4=k4/m4 den4=[ 1 f4/m4 k4/m4] h4=tf(num4,den4) %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% clear figure figure(1) step(h,'b') title('réponse indicielle: système mécanique Masse ressort') hold on step(h1, 'r') step(h2, 'g') step(h3, 'c') step(h4, 'r*') grid %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%% %%%tracé des diagrammes de bode pour différentes valeurs de ksi 82 Partie 3 : Solution des TP Proposés %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%% figure(2) title ('diagramme de Bode : système mécanique') bode(h) hold on bode(h1,'r') bode(h2,'g') bode(h3,'o') bode(h4,'m') grid figure(3) grid title('les valeurs de KSI') plot([ksi1 ksi2 ksi3 ksi4 ksi5],'r') réponse indicielle: système mécanique Masse ressort 1.5 Amplitude 1 0.5 0 0 1 2 Time (sec) 83 3 4 -4 x 10 Partie 3 : Solution des TP Proposés diagramme de bode : système mécanique 20 Magnitude (dB) 0 -20 -40 -60 -80 -100 0 Phase (deg) -45 -90 -135 -180 3 10 4 5 10 10 6 10 7 10 Frequency (rad/sec) On remarque que les valeurs de ξ influent beaucoup sur la réponse temporelle indicielles. A chaque fois que la valeur de ξ baisse le dépassement augmente Prenant l’exemple de ξ =0.25 le dépassement est égale a 43% Pour l’exemple de ξ =0.5 le dépassement est égale a 12.33% Systèmes Electrique figure(4) grid title ('diagramme de nichols : système électrique') nichols(h) hold on nichols(h1,'r') nichols(h2,'g') nichols(h3,'o') 84 Partie 3 : Solution des TP Proposés nichols(h4,'m') figure(5) grid title ('diagramme de nyquist : système électrique') nyquist(h) hold on nyquist(h1,'r') nyquist(h2,'g') nyquist(h3,'o') nyquist(h4,'m') Nichols Chart 20 Open-Loop Gain (dB) 0 -20 -40 -60 -80 -100 -180 -135 -90 -45 Open-Loop Phase (deg) 85 0 45 Partie 3 : Solution des TP Proposés Nyquist Diagram 2.5 2 1.5 Imaginary Axis 1 0.5 0 -0.5 -1 -1.5 -2 -2.5 -1 -0.5 0 0.5 1 1.5 Real Axis On remarque que les réponses des systèmes mécanique et électrique sont identiques mais leurs sens physique sont différents. Ceci est expliqué par la maniére suivante : Deux systèmes qui possèdants les mêmes pôles ont les mêmes dynamiques, mais leurs amplitudes ne reflètent pas les mêmes dimensions. En conclusion l'interprétation physique des réponses sont distinctes : pour le système mécanique la réponse temporelle est une distance z(t), par contre pour le système électrique, la réponse temporelle est la tension du condensateur Vc(t). 86 Partie 3 : Solution des TP Proposés SOLUTION TP N°11 : STABILITE DES SYSTEMES ASSERVIS Le programme proposé est donnée par : %%%%%% TP N°11 stabilité des systèmes linéaires close all clc clear all num1=[1 1] den1=[1 2 3] num2=[10] den2=[2 -3] sys1=tf(num1,den1) sys2=tf(num2,den2) step(sys1) step(sys2) %%%%% retour unitaire des systèmes sys1 et sys2 sys3=feedback(sys1*sys2,1) %%%%%% retour de sys2 sur la chaine de retour sys4=feedback(sys1,sys2) %%%%% la réponse indicielle et l'instruction pole montrent la stabilité des %%%%%% systèmes step(sys3) step(sys4) pole(sys3) pole(sys4) 87 Partie 3 : Solution des TP Proposés %%%%%%%%%%un retour unitaire sur sys2 stabilise le système sys5=feedback(sys2,1) step(sys5) grid title('TP11 : retour unitaire du système2') TP11 : retour unitaire du système2 1.5 Amplitude 1 0.5 0 0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 Time (seconds) 1. L’instruction « pole » donne des pôles à partie réelles négatives, donc le système est stable 2. La réponse indicielle si elle tend vers une valeur finie prouve aussi la stabilité globale du système en boucle fermé. 3. La table de Routh [2] c’est une méthode analytique pour vérification de la stabilité, nous effectuons la table puis nous nous vérifions la première colonne, si elle change de signe, alors le système n’est pas stable, sinon il est stable. 88 Partie 3 : Solution des TP Proposés Solution TPN°12 : manipulation du Simulink les structures proposées dans cette simulation utilisent les blocs source, sinks, continous donnée par la figure suivante les fonctions de transfert sont créées à partir du bloc continous Les signaux sont générés par sources 89 Partie 3 : Solution des TP Proposés L'affichage est donné par le bloc sinks IL faut noter que le bloc Scope doit être configurer d'une manière précise pour que le graphe de simulation donne des résultats clairs. Pour le cas simple, on doit donner le nombre de graphe à afficher, (Number of axes=4). Une autre chose importante c'est que le graphe simulé peut être enregitrer dans l'espace de travail Matlab avec un nom d'une variable si on coche la case "save data to workspace". "Limit data points to last" ce sont les derniers points à afficher après chaque simulation. Le nombre de points dans cette case doit être suffisament grand, pour que le graphe de la simulation soit complet et claire. 90 Partie 3 : Solution des TP Proposés Les résultats de simulation des quatres structure demandés dans le TP sont données par la figure suivante : 91 Partie 3 : Solution des TP Proposés On rappelle que pour pouvoir simuler cette structure on doit régler les paramètres de simulation : 1. L'horizon de simulation ou le temps de simulation 2. Le pas de simulation qui sera soit variable ou fixe 3. La tolerence 4. La méthode de l'intégration 92 Conclusion générale Conclusion Générale Dans ce document nous avons présenté l'essentiel du logiciel Matlab et son logiciel associé Simulink avec une proposition d'un ensemble de TP Matlab destinés aux enseignants ainsi que les étudiants en licence et master nécessitant une connaissance sur des systèmes asservis linéaires continus. Dans les prochaines éditions de ce livre nous allons enrichir son contenu, en ajoutant d’autre type et genre d’exercices qui seront bénéfiques et utiles pour d'autres disciplines, en proposant à chaque fois d'autres TP avec leurs solutions. Vos remarques et questions seront les bienvenues. Contactez nous sur l'e-mail suivant : [email protected] 93 Conclusion générale 94 Bibliographie BIBLIOGRAPHIE [1]. Site éditeur de logiciels Matlab : www.mathworks.com [2]. Cours d'asservissement système linaire et continu Pr. Saidi Lamir Université de Batna2 [3]. Précision des systèmes continus asservis Thierry CHATEAU 24 octobre 2010 [4]. Stabilité Des Systèmes Linéaires Continus t. Chateau, polytech cf [5]. Cours d'automatique Professeur Belkacem OULD BOUAMAMA Ecole Polytechnique de Lille LAGIS UMR CNRS 8146 [6]. Simulation des systèmes continus INSA de LYON 3GI 2005-2006 Lounis Adouane (tp1) [7]. Simulation des systèmes continus INSA de LYON 3GI 2005-2006 Lounis Adouane (tp2) [8]. Support du cours LCS Langage du calcul scientifique (Matlab) Université Abderrahmane MIRA de Bejaia Département ST [9]. tp n°1 travaux pratiques d’automatique au 41 : commande classique des systèmes linéaires, Fournie Guillaume, Dufrene Johann ING 2 – ep [10]. TP1 Régulation AuroFC1U1 Exercice d’application Polythèque’ Clermont-Ferrand : Auro-1 [11]. TP1 : Etude temporelle des systèmes linéaires continus 1/2 TP1 AuroFC1U1 [12]. http://blogmatlab.blogspot.com/search/label/ebooks [13]. polycopies Tps systèmes asservis Université de Caen basse Normandie pour L3 SPI EII [14]. Ecole Nationale Supérieure de Physique de Strasbourg, FIP, 1ère Année Laurent Barbé et Benjamin MAURIN – 2005-2006 95 Edition GANA 126,Lgts Batna Tél. 0561279565 Fax : 033 25 30 25 E.mail : [email protected] 96 View publication stats