UNIVERSITE SIDI MOHAMED BEN ABDELAH Ecole Nationale des Sciences Appliquées – F
UNIVERSITE SIDI MOHAMED BEN ABDELAH Ecole Nationale des Sciences Appliquées – Fès- Département Electronique & Informatique Filière Génie Système Embarqué & Informatique Industriel Année Universitaire 2017-2018 TP d’automatique Réaliser par : JERJINI Hamza Mahmoud TOUZANI Ismail Encadrer par : Mr. ALFIDI Sommaire Introduction I. Eléments généraux de programmation en MATLAB II. Manipulation 1 : Prise en main de MATLAB et de la Control Toolbox III. Manipulation 2 : Initiation à MATLAB 1. Partie théorique. 2. Partie pratique. IV. Manipulation 3 : Dynamique d’un système du 1er ordre et du 2ème ordre 1. Dynamique d’un système du 1er ordre. 2. Dynamique d’un système du 2ème ordre. V. Manipulation 4 : Manipulation d’un asservissement et initiation sur Simulink Conclusion Introduction MATLAB est un logiciel de calcul scientifique général. Comme d’autres produits (Scilab, Matrixx), c’est un logiciel de calcul Numérique. Il propose notamment la résolution numérique d’un grand nombre de problèmes mathématiques classiques, du plus grand intérêt pour les ingénieurs et les chercheurs. Bien plus qu’une super calculatrice, Matlab permet de développer de façon rapide des programmes de calcul scientifique pouvant présenter des interfaces homme machine très conviviale avec des possibilités graphiques intéressantes. Il n’est donc pas dédié à un domaine ou application technique particulière. Parmi ses utilisations, on peut citer : Mathématique et calcul numérique Développement d’algorithmes Modélisation, simulation et prototypage de systèmes Analyse des données, exploration et visualisation Graphisme scientifique et engineering Développement d’applications notamment interface graphique Matlab présente donc un ensemble de fonctions générales, fournies dans sa version de base. A cela s’ajoute un certain nombre de groupes de fonctions spécialisées appelées boîtes à outils : TOOLBOX. Ces boîtes à outils permettent de traiter de problèmes des sciences de l’ingénieur : Simulink pour la simulation des systèmes Control System Toolbox pour la modélisation, l’analyse et la commande classique des systèmes dynamiques linéaires stationnaires Mu analysis and synthesis toolbox pour modélisation, l’analyse et la commande avancée des systèmes dynamiques linéaires stationnaires Identification Toolbox pour l’identification des systèmes dynamiques linéaires stationnaires I. Eléments généraux de programmation en MATLAB 1. Saisie et construction de matrices : La saisie des matrices dans MATLAB peut se faire de différentes manières : ou Ou encore : -Pour effectuer la saisie à partie du clavier on utilise l’instruction INPUT. A=input(‘Matrice A=’) produit l’apparition à l’écran du message Matrice A= et attend l’introduction des éléments de A -fprintf (‘Bonjour, soyez les bienvenus’) produit l’affichage de ce message à l’écran -Les : permettent de générer des vecteurs dont les éléments sont consécutifs Si le pas est omis il sera pris égal à 1 -A(2,3) : fait référence à l’élément de la 2eme ligne et 3eme colonne L indice en C et en D est un vecteur, donc il donne accès à des sous éléments en D , on a utiliser les : caractères qui entraine la considération de toute une colonne , celle de la 1ère de A Syntaxe d’une instruction Matlab : Dans le cas ci-dessous, le nom de la variable est omis, ce qui donne automatiquement la création d’une variable portant le nom ans Quand l’instruction se termine par ; (1900/81 ;), l’affichage du résultat est supprimé Pour une instruction trop longue, par exemple celle de S, on utiliser les points de suspension … afin d’indiquer qu’elle se termine sur la ligne suivante Transposé d’une matrice : Le caractère « ‘ » donne le transposé de la matrice -Si Z est une matrice de nombres complexes, alors Z’ donne le conjugué du transposé -Pour obtenir juste le transposé on doit écrire Z.’ ou conj (Z’) -Polynôme caractéristique : -Poly(A) : un vecteur ligne de dimension (n+1) dont les éléments sont les coefficients du polynôme caractéristique det(SI-A) -roots(P) :est un vecteur colonne dont les éléments sont les racines de ce polynôme -roots(poly(A)) :retourne les racines du polynôme caractéristique qui sont les valeurs propres de A Valeurs propres et vecteurs propres : Eig(A) : est un vecteur qui contient les valeurs propres de A Dans la figure , ils sont stockés dans la variable ans -[V,D]=eig(A) : retourne en D les valeurs propres et en V les vecteurs propres Multiplication polynomiale : -a et b sont deux vecteurs dont les éléments sont les coefficients de deux polynômes A(s) et B(s) -conv(a,b) :un vecteur ligne dont les éléments sont les coefficients du polynôme A(s) et B(s) Division polynomiale : [q,r]=deconv(b,a) : déclenche la division polynomiale B(s)/A(s) et retourne dans q les coefficients du polynôme quotient et dans r ceux du reste Décomposition en éléments simples d’une fonction de transfert : [r,p,k]=residue(b,a) : effectue la division et retourne les résidus dans le vecteur r ; les pôles dans P et le terme directe dans k [b,a]=residue[r,p,k] : effectue l’opération inverse et retourne dans b les coefficients de B(s) et dans a ceux de A(s) -Fonctions graphiques : -plot(x,y) : si y et x sont deux vecteurs de même dimension. Cette instruction retourne la représentation graphique de y en fonction de x -plot (x,y,’s1s2’) : donne la courbe y)f(x) s1 et s2 sont deux caractères qui précisent la couleur et le type de ligne choisis ils sont choisis dans la liste suivante : -title(‘texte’) : ajoute la chaine de caractère entre ‘ ‘ au sommet de la représentation graphique en guise de titre -xlabel(‘texte’) :ajoute le texte ‘ ‘ pour la légende de l’axe des x - ylabel(‘texte’) :ajoute le texte ‘ ‘ pour la légende de l’axe des y -grid ou grid on : place les lignes de quadrillage sur la courbe courante -grid off : les supprime -Axis[Xmin Xmax Ymin Ymax] :place la graduation des axes en tenant compte des limites prescrites par Xmin Xmax Ymin Ymax Exemple : Ce qui donne la figure suivante : -Boucle de contrôle : Voici un exemple d’une boucle de contrôle Le résultat est le suivant : Définition d’un système par sa fonction de transfert : Soit le systéme décrit par : G(s)= Ou s désigne la variable de Laplace F=tf( [2 1] ,[1 2 1]) : fonction de transfert définit par son numérateur et son dénominateur F=zpk([-1/2],[-1 -1],2) : fonction de transfert définit par ses zéros , ses pôles et son facteur de gain 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 damp(G) ; donne les pôles, ainsi que la pulsation propre et l’amortissement associés à chaque pôle pzmap(G) : place les pôles et les zéros dans le plan complexe II. Manipulation 1 : Prise en main de MATLAB et de la Control Toolbox : On rappelle ici la modélisation du moteur à courant continu (MCC) dont l’étude va permettre d’illustrer les concepts fondamentaux de la Control Toolbox de Matlab La fonction de transfert reliant la vitesse de rotation du rotor à la tension appliquée à l’induit s’écrit :* K= Tem= Tel= R : la résistance de l’induit du moteur L :son inductance F=le coefficient de frottement visqueux J :le moment d’inertie du rotor Kem :le rapport couple-courant (supposé égal au raport force électromotrice-vitesse de rotation) -Manipulation : -On crée un script qui comporte les différentes opérations détaillées C’est ainsi qu’on va utiliser l’éditeur de Matlab (>>edit) -On définit ensuite les diverses constantes du problème de la façon suivante : Résultat : les valeurs des constantes sont affichées dans le workspace -On définit la fonction de transfert par son numérateur (num) et son dénominateur (denum) F=tf([num],[denum]) -On calcule les pôles de cette fonction grâce à la fonction pole(F) -Avec l’aide de subplot on divise les figures en des sous-tracés Dans le 1 er tracé, on trace la réponse indicielle du MCC à un échelon unitaire de tension Dans le second, on trace le diagramme de Bode du MCC Ce qui donne lieu au programme suivant : Concernant la 2 eme partie du programme, celle qui commence depuis la ligne 22 on suit les instructions suivantes : -On définit Kp=10 comme étant le gain du correcteur proportionnel Et Kw=3000*(2*pi)/60 comme étant le gain de la fonction de transfert du capteur de vitesse -On définit ensuite les fonctions de transfert du systéme en boucle ouverte et en boucle fermée à l’aide de la fonction series(,) qui définit deux représentations des systémes -Sur une meme figure , on trace les réponses indicielles du système en boucle ouverte et en boucle fermée avec la fonction subplot -bode(BO) : permet de tracer le diagramme de Bode -nichols(BO) : permet de tracer le diagramme de Black-Nichols -nyquist(BO) :celui de Nyquist On a utilisé « figure » afin de pouvoir dessiner les diagramme séparement Ce qui donne les figures suivantes : III. Manipulation 2 : Initiation à MATLAB Le but de ce TP est l’initiation aux commandes et fonctions de la bibliothèque automatique uploads/Industriel/ cr-automatique-final 1 .pdf
Documents similaires










-
31
-
0
-
0
Licence et utilisation
Gratuit pour un usage personnel Attribution requise- Détails
- Publié le Jui 06, 2021
- Catégorie Industry / Industr...
- Langue French
- Taille du fichier 2.4283MB