Dans le cadre le l’amélioration de la pédagogie universitaire, on assiste actuellement à la création de nombreux logiciels d’aides à l’enseignement. Dans ce présent travail, on a choisi le domaine de l’Automatique traitant les rôles des pôles et des zéros dans la réponse indicielle en boucle fermée. Cette réponse indicielle joue un rôle important car elle permet de visualiser les performances d’un système, à savoir la rapidité, la précision et la stabilité. Ainsi ce présent travail intitulé « Carte des pôles et zéros interactive » consiste à concevoir un logiciel, avec la connaissance de la fonction de transfert d’un système donné, permettant de placer les pôles et zéros dans le plan complexe. Il permet aussi de générer la forme de la réponse indicielle de ce système. En plus, si l’utilisateur glisse c’est-à-dire déplace les pôles et zéros déjà placés dans le plan complexe à l’aide de la souris, la forme de la réponse indicielle sera modifiée en même temps selon la place de ces pôles et zéros.
THEORIE SUR LE LIEU DES POLES
Pour pouvoir tracer convenablement la réponse indicielle d’une fonction de transfert, il est nécessaire de rappeler quelques notions de base sur le traçage de carte des pôles. Cette carte des pôles joue un rôle très important car la position des pôles renseigne sur la rapidité et la stabilité du système. Ce chapitre va donc parler de la théorie sur le lieu des pôles : Les règles qui le régissent, l’influence des positions des pôles et zéros sur ce lieu et la réponse indicielle.
INFLUENCE DE LA POSITION DES POLES ET DES ZEROS
La position des pôles et zéros dans le plan complexe influence la stabilité et le comportement dynamique du système. Plus un pole se trouve prés de l’origine plus son effet déstabilisant est prononcé. Plus le zéros est à droite des pôles, plus son effet stabilisant est prononcé.
En général, on veut que le système corrigé soit à pôles dominants :
– La réponse impulsionnelle ne doit comporter d’oscillation : il faut introduire un pôle dominant réel.
– La réponse est oscillatoire optimale, c’est-à-dire presque à une seule oscillation, on impose alors deux pôles complexes conjugués dont la position est bien définie sur le lieu.
Dépassement D1
Le dépassement est souvent exprimé en pourcent. Même lorsqu’un système est stable, il arrive que la sortie dépasse la consigne avant de se stabiliser. Son amplitude ne doit pas dépasser de plus de 30% de la valeur finale, 50% étant généralement considéré comme prohibitif et souvent dangereux pour le dispositif. Notons que plus temps de montée tm sera court et plus, généralement, le dépassement sera important.
Le temps de montée d’un système est le temps mis par sa sortie pour passer de 10% de sa valeur finale à 90% de sa valeur finale.
CONCEPTION DU LOGICIEL
Pou avoir la réponse indicielle, il faudrait décomposer en éléments simples la FT du système suivi de la transformation inverse de Laplace. On verra dans ce chapitre les différentes méthodes pour cette décomposition inverse de Laplace. C’est dans ce chapitre aussi qu’on va présenter les organigrammes et le langage que nous utiliserons dans la partie programmation .
CALCUL DE LA REPONSE INDICIELLE
Pour pouvoir tracer convenablement la courbe représentative d’une réponse indicielle d’un système donné, il faudrait tout d’abord connaitre l’équation qui régisse la réponse indicielle de ce système. Il existe d’innombrables méthodes pour avoir cette équation de la réponse indicielle lorsqu’on connait les pôles et zéros du système. Ces méthodes sont classées en deux approches : Approche directe et approche indirecte.
Approche directe
C’est la méthode la plus simple et la plus utilisée lorsque le degré du dénominateur n’est pas élevé. Elle consiste à décomposer en éléments simples l’équation du système suivi de la transformation inverse de Laplace. Apres ces opérations, la réponse indicielle du système apparait. L’inconvénient de cette méthode est que la difficulté de la décomposition en élément simple est en fonction du degré du dénominateur de l’équation: lorsque le degré du dénominateur est élevé la décomposition en élément simple sera complexe surtout dans le domaine de programmation. C’est pour cette raison qu’on fait recours à l’approche indirecte.
Approche indirecte
Cette méthode consiste à reconstruire l’équation différentielle qui régit le système donné. C’est une approche qui ne dépend pas du degré du dénominateur. C’est donc une approche plus générale que l’approche directe. Cette méthode doit passer par le calcul des coefficients du polynôme caractéristique pour avoir l’équation différentielle du système, développer le numérateur et le dénominateur de l’équation du système. Or il y a plusieurs façons pour avoir ces coefficients du polynôme caractéristique comme : développement utilisant les fonctions élémentaires des racines, la méthode de Souriau, … Après analyse et comparaison de ces différentes méthodes, on a choisi l’approche directe parce qu’elle a été la plus simple mais adéquate du fait que le nombre de pôle du système dans le cadre de notre travail est limité à quatre, qui n’est pas élevé.
REPRESENTATION DES POLES ET DES ZEROS DANS LE LOGICIEL
Normalement, les pôles sont représentés par des croix et les zéros par des petits ronds dans la carte des pôles pendant le traçage de celui-ci. Mais pour facilité la programmation et le déplacement des pôles et des zéros, ces derniers sont représenté par des boutons carrés de côté cinq pixels. Et pour les différenciés, les pôles sont colorés en rouge et les zéros en bleu. En plus, si l’utilisateur pointe le curseur à un pôle ou un zéros pendant quelques secondes, une info bulle apparait affichant toutes les caractéristiques de celui-ci : Nom, Partie Réelle, Partie imaginaire et Ordre de multiplicité.
CHOIX DE LANGAGE
Le logiciel est développé avec le langage JAVA. Java est un langage de programmation récent et moderne, totalement orienté objet. Les premières versions datent de 1995, développé par Sun Micro Systems. Mais malgré cela, Java a rapidement intéressé les développeurs pour quatre raisons principales :
– C’est dérivé du C, mais plus « pur » que le C++. On entend par « pur » le fait qu’en Java, on ne peut faire que de la programmation orienté objet contrairement au C++ qui reste un langage hybride, c’est-à-dire autorisant plusieurs styles de programmation.
– Il est doté, en standard, de bibliothèques de classes très riches comprenant la gestion des interfaces graphiques (fenêtres, boites de dialogue, contrôles, menus, graphisme), la programmation multi-threads ou multitâches, la gestion des exceptions, les accès aux fichiers et au réseau … L’utilisation de ces bibliothèques facilitent grandement la tâche du programmeur lors de la construction d’applications complexes ;
– Il est doté, en standard, d’un mécanisme de gestions des erreurs (les exceptions) très utile et très performant. Ce mécanisme, inexistant en C, existe en C++ sous la forme d’une extension au langage beaucoup moins simple à utiliser qu’en Java ;
– Il est multi plates-formes : les programmes tournent sans modification sur tous les environnements où Java existe : Windows, Unix,Linux et Mac;
Java est un langage qui doit être compilé et interprété. Dans une première phase on compile un programme (un ou plusieurs fichiers source .java) en fichiers .class. Le compilateur génère un fichier .class pour chacune des classes définies dans le(s) fichier(s) .java. L’ensemble des fichiers .class est ensuite interprété par la Machine Virtuelle Java ou Java Virtual Machine pour exécuter le programme. Ce principe donne à Java une portabilité maximale. Ce dernier point a permis d’utiliser d’abord Java pour développer des applets, qui sont des applications pouvant être téléchargées via l’Internet et exécutées dans un navigateur sur n’importe quelle plate-forme. Ainsi, une page statique HTML peut s’enrichir de programmes qui lui donneront un comportement dynamique. Dans ce dernier cas, l’ensemble des fichiers .class est utilisé avec un fichier HTML qui fait appel à une des classes. Mais à part cela, on peut faire de nombreuses sortes de programmes avec Java :
– des applications pour appareils mobiles, avec J2ME ;
– et bien d’autres ! J2EE, JMF, J3D pour la 3D…
Java met à la disposition du programmeur le package Swing, extension de l’ancien package AWT, qui offre tous les composants nécessaires à la création des IHM. Les principaux composants (menu, bouton …) sont regroupés dans des classes de ce package (classe JMenu, classe JButton …). La classe Event est utilisée pour la gestion des événements.
Les composants Swing ne sont accessibles que depuis la version 1.2 c’est-à-dire Java 2. La plupart des composants de Swing existe dans le package AWT mais ce dernier présente une contrainte: certaines méthodes d’affichage des composants font directement appel au système d’exploitation, ce qui ne permet pas d’assurer 100% de portabilité au niveau de l’aspect graphique.
C’est pour pallier ce petit défaut que le package Swing a été créé. Pour assurer la portabilité 100%, Un bouton, ou tout autre composant graphique, est dessiné non plus par les fonctions du système d’exploitation, mais par Java lui-même ce qui a un prix en terme de temps d’exécution. Les mécanismes de gestion d’évènements et de positionnement des composants de Swing sont le mêmes que ceux de l’AWT.
Le package Swing est plus riche que l’AWT, plus de composants, plus de méthodes …, ce qui incite désormais le programmeur à utiliser ce nouveau package. Le nom des classes est quasiment identique. Le nom de la plupart des classes Swing est précédé d’un « J ». Vu ces avantages forts du package swing par apport à AWT, on a choisi le package swing pour le développement de l’application.
Pour la décomposition en éléments simples, nous avons deux approches : l’approche directe et l’approche indirecte. Et comme nous ne traitons que les fonctions de transfert qui n’ont que de nombre des pôles inferieur à quatre, on utilisera l’approche directe qui est une méthode simple mais efficace. Pour la partie programmation, on a choisi le langage java avec le package swing parce que Java est totalement orienté objet et il possède une bibliothèque de classes très complètes et un mécanisme de gestions des erreurs : Les exceptions et Multi plates-formes.
|
Table des matières
INTRODUCTION GENERALE
Chapitre I: THEORIE SUR LE LIEU DES POLES
1.1. INTRODUCTION
1.2. REPONSE INDICIELLE
1.3. LIEU DES POLES
1.4. REPRESENTATION DES POLES ET DES ZEROS
1.5 : REGLES POUR TRACER LA CARTE DES POLES ET DES ZEROS
1.6. INFLUENCE DU POSITION DES POLES ET DES ZEROS SUR LE LIEU
Dépassement D1
Temps de pic tp
Temps de réponse à ±5%= tR
1.7. CONCLUSION
Chapitre II: CONCEPTION DU LOGICIEL
2.1. INTRODUCTION
2.2. CALCUL DE LA REPONSE INDICIELLE
2.2.1. Approche directe
2.2.2. Approche indirecte
2.3. ORGANIGRAMMES
2.3.1. Organigramme principal
2.3.2. Organigramme pour l’effet glissé
2.4. REPRESENTATION DES POLES ET DES ZEROS DANS LE LOGICIEL
2.5. CHOIX DE LANGAGE
2.6. CONCLUSION
Chapitre III : PRESENTATION DU LOGICIEL
3.1. INTRODUCTION
3.2. ENTREE DU NOMBRE DE POLES ET DE ZEROS
3.4. LA FENETRE PRINCIPALE
3.5. LES BOITES DE DIALOGUE
3.5.2. Pôles
3.5.3. Zéros
3.5.3. Aides
3.5.5. Fichier
3.6. CONCLUSION
Chapitre IV : RESULTATS
4.1. INTRODUCTION
4.2. DESIGNATION DES FONCTIONS PREDEFINIES DE MATLAB
4.3. TRAÇAGE DE LA CARTE DES POLES SOUS MATLAB
4.4. TRAÇAGE DE LA REPONSE INDICIELLE SOUS MATLAB
4.5. CAPTURES DE QUELQUES COURBES
4.6. Interprétation des résultats
4.7. CONCLUSION
CONCLUSION GENERALE
BIBLIOGRAPHIE
WEBOGRAPHIE
ANNEXES