30 0 3MB
République Algérienne Démocratique Et Populaire Ministère De L’enseignement Supérieure Et De La Recherche Scientifique
Université DR Moulay Tahar Saïda Faculté des sciences et technologie Département d'électronique
Mémoire de Fin d’Etudes Pour l’obtention d’un diplôme de :
Master en électronique instrumentation Thème :
Commande et contrôle du bras manipulateur du ROB3.
Présenté par : Dahmani Fatima Zohra Damou Ahlem
Membre des jurys : Mr Mostephai Lotfi Mr Bouhamedi Merzoug Mr Berber Redouane
Président Examinateur Encadreur
Année Universitaire 2018/2019
Résumé : Notre projet consiste à faire l’étude et la conception de la commande électrique des moteurs du ROB3 présent dans l’université DR Moulay Tahar Saida, et implémenter une commande en position sur microcontrôleur (Arduino Méga). Une carte de puissance à base du driver L298N est réalisée, des boutons poussoirs et un module joystique sont ajoutés pour faire bouger le bras manipulateur automatiquement ou manuellement afin d’atteindre une position définit initialement ou choisi par l’utilisateur. Les étapes de mise en œuvre de notre système ainsi que l’évaluation des résultats sont présentées montrent l’importance de l’application développée dans notre laboratoire avec les moyens du bord.
Abstract: Our project is to study and design the electrical control of the ROB3 motors present in DR Moulay Tahar Saida University, and to implement a control in position on a microcontroller (Arduino Mega). A power card based on the driver L298N is made, push buttons and a joystick module are added to move the manipulator arm automatically or manually to reach a position initially defined or chosen by the user. The stages of implementation of our system as well as the evaluation of the results are presented show the importance of the application developed in our laboratory with the means of the edge. :ملخص الموجودة في جامعة الدكتورROB3 يهدف مشروعنا إلى دراسة وتصميم التحكم الكهربائي لمحركات ( و تم إنشاء بطاقة الطاقةArduino Mega). ولتطبيق التحكم تم وضعه على متحكم دقيق،طاهر موالي بسعيدة و إضافة أزرار الضغط ووحدة التحكم الذراعي لتحريك ذراع الروبوت، L298N التي تعتمد على قائد التشغيل .تلقائيًا أو يدويًا للوصول إلى وضع تم تحديده في البداية أو اختياره من قِبل المستخدم تقييم النتائج و مراحل تنفيذ نظامنا و مشروعنا يظهران أهمية التطبيق الذي تم تطويره في مختبرنا باستخدام الوسائل الموجودة و الحاضرة
REMERCIEMENTS Avant tout nous remercions dieu qui nous a éclairé notre route et qui nous a donnés la fois et le courage de persister et de continuer en dépit de n’importe quel obstacle. Nous tonnons à remercier notre encadreur « Dr. BERBER REDOUANE » pour son encadrement, Sa patience et ses conseils afin d’aboutir a ce travail. Nous remercions tous les enseignants du département de ʺ l’ELECTRONIQUEʺ du centre universitaire Dr Moulay Tahar. Nous remercions Monsieur Bouhamedi Merzouge pour sa disponibilité et ses, conseils concernant la méthodologie du mémoire. Nous remercions également tous les membres du jury.
Dahmani, Damou.
Dédicace Il est naturel que ma pensée la plus forte aille vers ma mère, à qui je dois la vie et une part essentielle de ma personnalité. Qu'elle sache que l'amour qu'elle me donne continue à m'animer et me permet d'envisager l'avenir comme un défi.
Ce travail est dédié au père décédé, qui m'a toujours motivé dans mes études. Comment je vous souhaite à mes côtés en ce jour, parce que je sais que si vous étiez ici pour être satisfait de moi, que Dieu ait pitié de vous, âme précieuse. Je ne saurais oublier de remercier toutes les personnes qui me sont chères, en particulier mes frères et sœurs. Pour leur soutien et leur amitié.
A mes chères sœurs Fatiha, Sihem, Kheira, Karima, pour leurs encouragements permanents, et leur soutien moral,
A mes chers frères, AL Habib, Fathi, pour leur appui et leur encouragement,
À mon petit amoureux Mouffak Mohammed je t'aime
À ma sœur Ahlem et à mon partenaire dans cette note et à mon amie Nebia.
Dahmani Fatima Zohra.
Dédicace Je dédie ce travail à mes chers parents qui ont soif de succès et qui m’ont encouragé en particulier ma mère, la meilleure amie, ainsi que l’encadreur « Dr. BERBER REDOUANE », mon amie «Dahmani Fatima Zohra »Sa famille respectable et mon amie «Souihe Rabia».
Damou Ahlem.
SOMMAIRE
Remerciements ......................................................................................................................... dédicace ..................................................................................................................................... Résumé ...................................................................................................................................... Introduction générale .............................................................................................................. Chapitre I: Généralités sur les robots et description du ROB3 ....................................... 2 I.1. Introduction : .........................................................................................................2 I.2. La robotique :.........................................................................................................2 I.3. Le robot : ...............................................................................................................2 I.4. L’histoire de la robotique :....................................................................................2 I.5. Catégories de robots ..............................................................................................7 I.5.1. Robots mobiles (à roues) : ......................................................................... 7 I.5.2. Robots volants : .......................................................................................... 7 I.5.3. Robots sous-marins : .................................................................................. 8 I.5.4.Robots humanoïdes : ................................................................................... 8 I.5.5. Robots anthropomorphes :........................................................................ 8 I.5.6. robot programmable : ............................................................................... 9 I.5.7. robot intelligent .......................................................................................... 9 I.5.8. Robots manipulateurs : ...........................................................................10 I.6. Différents usages des robots : .............................................................................10 I.7. Présentation du ROB3 :......................................................................................11 I.8. Espace du travail du manipulateur ROB3 : ......................................................11 I.9. Propriétés du ROB3 : .........................................................................................12 I.9.1. Propriétés électriques : ............................................................................12 I.9.2. Propriétés mécaniques : ..........................................................................12 I.01. Les actionneurs (les moteurs) : ........................................................................13 I.10. Les capteurs (des potentiomètres): ...................................................................14
I.12. Conclusion : ........................................................................................................15 Chapitre II : SOFTWARE.......................................................................................18 II.1. Introduction : ......................................................................................................18 II.2. Présentation de l’Arduino: ................................................................................18 II.3. Définition de module Arduino Méga 2560 : .....................................................19 II.4. La partie software (Logiciel Arduino): .........................................................19 II.5. Structure du programme: ...............................................................................21 II.6. la Partie Hardware ..........................................................................................21 II.6.1. La carte Arduino Méga 2560 : ..............................................................21 II.6.2. Synthèse des caractéristiques : ..............................................................22 II.6.3. Alimentation : .........................................................................................23 II.6.4. Entrées et sorties numériques : .............................................................23 II.7. Présentation générale de Proteus (ISIS et ARES): .....................................25 II.8. L’éditeur de schéma ISIS : .............................................................................25 II.8.1. Interface utilisateur : ..............................................................................26 II.8.2. Etapes de la saisie de schéma : ............................................................27 II.9. ARES : ................................................................................................................27 II.10. Procédure de création d'une carte électronique (circuit PCB): .............28 II.11. Le placement des composants : ...................................................................29 II.11.a. Placement automatique : .....................................................................29 II.11.b. Placement Manuel :..............................................................................29 II.12. Le routage :......................................................................................................29 II.12.a. Routage manuel : ..................................................................................29 II.12.b. Routage automatique : .........................................................................30 II.13. Conclusion : .....................................................................................................30 Chapitre III :Commande et Contrôle d'un Bras Manipulateur de robot ............34 III.1. Introduction : ...................................................................................................32 III.2. Présentation de projet : ....................................................................................32
III.3. Le Driver L298 : ................................................................................................33 III.3.1. Description L298xx (H-Bridge Motor Driver): .................................33 III.3.2. Les Pins: .................................................................................................35 III.3.3. Les Avantages du L298N ......................................................................36 II.3.4. Principe de fonctionnement du pilote (Command du L298N): .........36 III.4. Le Câblage : .......................................................................................................38 III.5. Programmation : (Code / Programme avec Arduino IDE) ..........................39 III.6. Type de commande : .........................................................................................39 III.6.1. Régulateur PID : ...................................................................................39 III.6.2. Le signal de commande PWM(MLI) : ................................................40 III.7. Simulation de 2 moteurs DC commandés par Arduino Uno : ....................40 III.8. Notre Carte de Commande en Puissance : .....................................................41 III.9. Schéma global de la carte de commande (pour les 6 moteurs): ...................42 III.10. Le circuit imprimé de la carte de commande en puissance (PCB): ...........43 III.11. Equipement de commande : ..........................................................................43 III.12. Le Joystick : .....................................................................................................44 III.13. Les boutons poussoir : ....................................................................................44 III.14. Description de fonctionnement de notre montage : .....................................45 III.13. Conclusion : .....................................................................................................49 Conclusion générale ................................................................................................................. Bibliographie ............................................................................................................................
Liste des figures Figure 1.1: Robot Unimate. .............................................................................................3 Figure 2: Chaîne de production robotisée
...............................................................3
Figure 3 : Robot Puma. ...................................................................................................3 Figure 4: Premier robots mobiles. ..................................................................................4 Figure 5 : Essor de la robotique .....................................................................................5 Figure 6 : (Spirit & Opportunity). .................................................................................5
Figure 7: les Robot d’Asimo et Aibo…………………………………………..6 Figure 8: Kengoro robot. ................................................................................................6 Figure 9. Robot mobile à roues. ......................................................................................7 Figure 10 : Robot volant. ................................................................................................8 Figure 11: Robot sous-marin (exp : ULISSE et SAAB) ..............................................8 Figure 12. Robot humanoïde ASIMO
.....................................................................9
Figure 13. Robots anthropomorphes de HONDA. .......................................................9 Figure 14. Robots programmables. ................................................................................9 Figure 15 : Robots intelligents. (exemple : robot Sophia). ........................................10 Figure 16 : Robot manipulateur. ..................................................................................10 Figure 17: Photo du ROB3 dans le laboratoire illustrant les 6 moteurs. .................11 Figure 18: Zone active de travail du ROB3. ................................................................11 Figure 19: Les dimensions du robot ROB3. ................................................................13 Figure 20: Architecture d'un MCC à aimant permanent avec engrenages. ............14 Figure 21: moteur CC avec engrenage et un capteur potentiométriques. ...............15 Figure 22 : Vue d’ensemble et interface du logiciel Arduino ...................................19 Figure 23 : Message d'Erreur. ......................................................................................21
Figure 24: Composent de la carte Arduino Mega 2560. ........................................22 Figure 25 : Interface utilisateur ISIS. .......................................................................26 Figure 26: Organisation de la boite à outils ISIS. ...................................................27 Figure 27 : Organigramme des Etapes de la saisie de schéma. ...........................28 Figure 28 : Fenêtre principale ARES ........................................................................29 Figure 29: Fenêtre de placement automatique. .......................................................30 Figure 30: Fenêtre de routage automatique. ...........................................................31 Figure 31 : Schéma simplifié montrant la conception de notre projet pour la commande et le contrôle de position des bras ROB3. ................................................34 Figure 32 : Circuit d’un pont en H. ..............................................................................35 Figure 33: (a) Circuit intégré du L298 (b) sont schémas interne. ............................36 Figure 34: Module a base de circuit L298 ...................................................................37 Figure 35: datasheet de L298. ......................................................................................37 Figure 36 : Le câblage de moteur à courant continu avec Arduino Mega 2560. .....40 Figure 37 : Code / Programme avec Arduino IDE . ...................................................41 Figure 38. La modulation de largeur d'impulsions PWM. ........................................42 Figure 39 : Schéma électronique de la carte de commande de 2 moteurs connecté à arduino Uno. ...................................................................................................................43 Figure 40 : Schéma électronique de la carte de commande. ......................................44 Figure 41: (a) schéma de circuit d’alimentation stabilisé, (b) régulateur LM7805. ..........................................................................................................................................45 Figure 42. PCB de la carte de puissance avec (A) et sans (B) composant. ...............45 Figure 43: (a) gravure sur la carte de cuivre et (b) le produit final de la carte . .....45 Figure 44: Joystick . .......................................................................................................46
Liste des tableaux
Tableau 1 :les angles limite de rotation du ROB3 prélevée sur les capteurs Potentiométriques de position .......................................................................................13 Tableau 2:Barre d’Action. ..........................................................................................20 Tableau 3:les caractéristiques de l’Arduino Méga 2560. ...........................................23 Tableau 4:Principe de fonctionnement du pilote (Command du L298N). ...............39
Introduction générale Le développement de la science et de la technologie est
vaste dans les différents
domaines et disciplines, le monde de l’électronique et de la robotique font partie de notre monde. La robotique est devenue une discipline extrêmement populaire. Alliant un grand intérêt
pédagogique
et
industriel,
elle
demande
beaucoup
de
créativité
et
de
connaissances pluridisciplinaires. Un robot est constitué en général d’un système mécanique articulé et de la partie électronique permettant sa commande. Il peut aussi intégrer une variété de capteurs, selon les tâches à réaliser. La programmation du système de commande exige des connaissances en informatique, automatique, en traitement temps-réel et même en des domaines avancés tels que la vision artificielle, l’intelligence artificielle, etc. Le sujet traité dans ce manuscrit concerne principalement des études théoriques (mécaniques, capteurs) sur le bras manipulateur de ROB3, et une étude pratique pour la réalisation des cartes
de commande et de contrôle, et la manière de programmé le
microcontrôleur ATMEGA 2560. Ce travail est divisé en trois chapitres : Dans le premier chapitre, nous commençant par une généralité sur les robots ont illustrons les catégories et les différents usages, suivi par une description (mécanique, électrique) du bras manipulateur ROB3. Le deuxième chapitre présente la partie software utilisée dans notre projet et enfin le dernier chapitre englobe la réalisation de la carte de commande en puissance des moteurs de ROB3 et l’unité de commande et de contrôle de mouvement de ces bras manipulateur, un programme de régulation PID est utiliser afin de mieux commander le déplacement de ces bras manipulateurs.
Chapitre I : Généralités sur les robots et descriptions du ROB3 Chapitre 1: Etude de la Conversions analog ique-numérique
I.1. Introduction : L’utilisation des systèmes robotiques apparait aujourd’hui dans plusieurs domaines d’entre eux la médecine, la défense, la recherche scientifique etc.… Les robots sont utilisés de manière privilégiée pour des missions où les objectifs sont quantifiables et clairement définis. Ils sont destinés à faciliter les tâches et à amplifier le rendement. Dans ce premier chapitre, on va donner un aperçu sur les robots, plus précisément sur le robot manipulateur ROB3 utiliser dans notre projet.
I.2. La robotique : La robotique est une science ou l’ensemble de technique permet la conception et la construction des machines automatiques ou plus simplement de robot. Sa pratique réunie des savoir-faire techniques et des connaissances scientifiques des domaines de l'électronique, de l'informatique et de la mécanique. [1]
I.3. Le robot : Un robot est une machine polyvalente capable de manipuler des objets ou d’exécuter des opérations selon un programme fixe, modifiable ou adaptable. [1]
I.4. L’histoire de la robotique : • 1920-1941 : Apparition du mot robot et robotique : L'origine du mot robot provient de la langue tchèque dans laquelle sont ancêtre "rabota" signifie travail forcé. Il a été introduit, en 1920, par l’écrivain tchèque Karel Capek dans la pièce de théâtre Rossums Universel Robots. Le terme robotique a été employé pour la première fois par Asimov en 1941. [2]
• 1961 : Unimation, le 1er robot industriel : Descendant direct des télémanipulateurs développés pour les besoins du nucléaire. Il est vendu à partir de 1961 par la société américaine Unimation (devenu Stäubli Unimation), créée par George Devol et Joseph Engelberger. Il est utilisé pour la première fois sur les lignes d'assemblage de General Motors. Ce robot, grâce à son bras articulé de 1,5 tonne, était capable de manipuler des pièces de fonderie pesant 150 kg. [2]
2
Chapitre I : Généralités sur les robots et descriptions du ROB3 En 1966, l’entreprise Unimation continue de développer des robots et élaborent notamment des robots permettant de faire d’autres tâches, comme des robots de manipulation matérielle ou encore des robots conçus pour la soudure ou pour d’autres applications de ce genre. [3]
Figure 1.1: Robot Unimate. En 1972 : 1ere chaîne de production robotisée : Nissan ouvre la première chaîne de production complètement robotisée, Selon une étude de l’IFR, 2142 millions de robots ont été fabriqués entre les années 60 et la fin 2010, Les analystes estiment qu’aujourd’hui, de 1 à 1,3 million de robots travaillent pour nous dans les usines dans le monde. En 1978 un nouveau robot est conçu par Unimation Inc avec l’aide de General Motors. Ensemble ils conçurent le robot PUMA 500. Le robot PUMA (Programmable Universel Machine for Assembly) a été conçu par Vic Schienman et fut financé par General Motors. [2]
Figure 2: Chaîne de production robotisée.
Figure 3 : Robot Puma.
3
Chapitre I : Généralités sur les robots et descriptions du ROB3
• 1970-1980 : Premiers robots mobiles : -
1960-64: Ouverture des laboratoires d'Intelligence Artificielle au M.I.T., Stanford Research Institute (SRI), Sanford Université, Université of Edinburgh.
-
Fin des années 60: Mise en place de "Shakey" premier robot mobile Intégrant perception, planification et exécution.
-
1970 : Sandford Cart
-
1977 : premier robot mobile français HILARE au LAAS (CNRS Toulouse). [4]
Figure 4: Premier robots mobiles.
1980-1990 : l’intelligence Artificielle : L’intelligence artificielle et l’apprentissage automatique pour une vaste gamme d’applications – de la reconnaissance faciale à la détection des maladies dans les imageries médicales jusqu’aux compétitions mondiales dans des jeux tels que les échecs et Go. Les nations investissent d’ores et déjà d’énormes montants d’argent dans le secteur, qui doit être au cœur de l’avancée de la technologie et qui sera déterminant dans la croissance économique du monde entier. [5]
• 1990-2000: Essor de la robotique mobile : 1992 : Mise en place de la compétition annuelle AAAI sur la robotique mobile. 1995 : Mise en place de la RoboCup (lien vidéo). 1997 : premier robot mobile extraplanétaire sur Mars. 1999 : Lancement d’Aibo. [4]
4
Chapitre I : Généralités sur les robots et descriptions du ROB3
Figure 5 : Essor de la robotique. . •
Depuis 2000 : Exploration : -
2003 : Projet "Mars Exploration Rover" (Spirit & Opportunity).
-
2009 : projet "Mars Science Laboratory" succédant au projet Rover, envoi prévu de Curiosity fin 2011. [4]
Figure 6 : (Spirit & Opportunity).
• Depuis 2000 : Démocratisation des robots: robots. -
2000 : Lancement d'Asimo
-
Diversification des compétitions de robotique.
-
Utilisation de drones en situation réelle (Irak...).
-
2006 : le projet Aibo n'est plus assez rentable, fin de la production.2009: robot Nao
-
utilisé à la RobocupSoccer. [4]
5
Chapitre I : Généralités sur les robots et descriptions du ROB3
Figure 7: les Robot d’Asimo et Aibo. •
Entre 2010 et 2019 : Cette période est riche invention et on ne peut pas mentionner tous en raison des
différents domaines et le nombre important, il y avait des inventions et un développement de nombreux types de robots et dans différent domaine, les plus récents sont des robots humanoïde basée sur l’intelligence artificielle telle que le robot kenshiro et kengoto, ce derniers est développer par l’université de Tokyo, capable de transpirer quand il fait du sport un moyen pour refroidir ces circuits. [6]
Figure 8: Kengoro robot.
6
Chapitre I : Généralités sur les robots et descriptions du ROB3
I.5. Catégories de robots : Les robots peuvent êtres classés en plusieurs catégories qu’on va énumérer avec des photos illustratives.
I.5.1. Robots mobiles (à roues) : Ce sont des robots capables de se déplacer dans leur environnement. Celui-ci est à déterminer: aquatique, aérien, sur sol plat, accidenté, sable, pelouse,... Les robots mobiles sur terrain plat en intérieur sont les plus faciles à créer pour un débutant. Il y a moyen de réaliser de petites machines très simples jusque des robots d'une grande complexité capables de se
déplacer
sans
risque
dans
des
environnements complexes. [7] Figure 9. Robot mobile à roues.
I.5.2. Robots volants : Les robots volants peuvent prêter main forte quand il s’agit de réaliser des tâches risquées et répétitives par exemple dans l’industrie, pour inspecter des parois ou des conduites. Ils ont aussi révolutionné le monde du cinéma et de la production vidéo en général, puisque utilisé en tant que drones les robots volants équipés de caméras peuvent capturer des plans à couper le souffle quasiment impossible à réaliser par un caméraman tenant sa caméra. Grace à la robotique la caméra peut pénétrer dans des endroits lointains difficiles d’accès, d’aller tout en haut puis de redescendre, et surtout en faisant des rotations dans tout les sens possibles, permettant même des prises et des conceptions en 3D après dans le montage. [7]
7
Chapitre I : Généralités sur les robots et descriptions du ROB3
Figure 10 : Robot volant.
I.5.3. Robots sous-marins : Les robots sous-marins (aussi appelés drones sous marins) sont des véhicules qui sont capables de fonctionner sous l'eau sans un occupant humain. Ils peuvent être contrôlées par un opérateur humain directement ou être autonome et fonctionner indépendamment de commandes humaines. [7]
Figure 11: Robot sous-marin (exp : ULISSE et SAAB).
I.5.4.Robots humanoïdes : Ces robots ont la morphologie se rapprochant le plus de l'humain en tout ou en une partie : Deux bras, un tronc, des jambes et une tête. C'est aujourd'hui les robots les plus complexes à concevoir, ils nécessitent des connaissances variées et très pointues. (Figure I.11) [7]
I.5.5. Robots anthropomorphes : Ce sont les bras les plus complexes à mettre en œuvre allant de 5 à 7 degrés de liberté voir plus. Ils sont extrêmement répandus dans l'industrie. Des modèles pour le grand public fleurissent un peu partout à des prix abordables (figure I.13) [7]
8
Chapitre I : Généralités sur les robots et descriptions du ROB3
Figure 12. Robot humanoïde ASIMO
Figure 13. Robots anthropomorphes de HONDA.
I.5.6. robot programmable : Ils répètent les mouvements qu’on leur a appris ou programmés sans informations sur l’environnement ou la tâche effectuée. On peut aussi faire la distinction entre robots «Playback» qui reproduit la tâche apprise et robots à commande numérique qui peuvent être programmés hors-ligne. [8]
Figure 14. Robots programmables.
I.5.7. robot intelligent On trouve actuellement des robots de seconde génération qui sont capables d’acquérir et d’utiliser certaines informations sur leur environnement (systèmes de vision, détecteurs de proximité, capteurs d’efforts, ...), Les robots de troisième génération sont capables de comprendre un langage oral proche du langage naturel et de se débrouiller de façon autonome dans un environnement complexe grâce
à
l’utilisation de l’intelligence artificielle. [9]
9
Chapitre I : Généralités sur les robots et descriptions du ROB3
Figure 15 : Robots intelligents. (Exemple : robot Sophia).
I.5.8. Robots manipulateurs : Ce sont des robots plus complexes, tels que les bras industriels que nous connaissons tous. Ceci dit le niveau de complexité varie fortement en fonction du nombre de degré de liberté du robot.
Figure 16 : Robot manipulateur.
I.6. Différents usages des robots : L'utilisation du robot est l'un des domaines les plus importants dans lesquels il est utilisé presque par tous et on les trouve beaucoup plus dans le domaine industriel, médicale, militaire, exploration spatiale et aussi dans le domaine publique domestique, loisirs et recherche.
10
Chapitre I : Généralités sur les robots et descriptions du ROB3
I.7. Présentation du ROB3 : Le ROB3 est un robot de haute qualité de formation, particulièrement conçu pour l'usage dans toutes les sphères d'éducation et de formation de robotique. Le bras articulé de ROB3 a cinq axes et une pince, qui sont actionnées par les moteurs à courant continue (M1/M2, M2/M3, M3/M4, M4/M5, M5/M6). La position absolue de tous les axes est déterminée par les capteurs de position rotatoires potentiométriques. [10]
Figure 17: Photo du ROB3 dans le laboratoire illustrant les 6 moteurs.
I.8. Espace du travail du manipulateur ROB3 : La figure si dessous représente la zone active du ROB3 c'est-à-dire l’espace de travail dont tous les points sont accessibles par la pince du robot. Tout point hors de cet espace est considérer hors de portée du robot. [10]
Figure 18: Zone active de travail du ROB3.
11
Chapitre I : Généralités sur les robots et descriptions du ROB3
I.9. Propriétés du ROB3 : Elle est basé sur deux grand partie, la partie électrique et la partie mécanique.
I.9.1. Propriétés électriques : ˗
Tension d’alimentation
˗
Un système de contrôle intégré qui peut être programmé directement à travers un clavier «l’unité TEACHBOX».
˗
Introduction d’une séquence d’instructions pour faire bouger le bras vers des positions désirées.
˗
Commande des moteurs par un pilote (ex L298)
˗
Un programme de commande à base d’un microcontrôleur.
9V 3 A
I.9.2. Propriétés mécaniques : ˗
Structure en aluminium
˗
Chaque axe (bras) est lié a un moteur DC.
˗
Chaque moteur est associe a un : •
engrenages afin d’augmenter le couple
•
capteur potentiomètrique pour déterminer les positions absolues de l’axe correspondant.
12
Chapitre I : Généralités sur les robots et descriptions du ROB3 Les articulations
Limite angulaire en DEG
Limite de tension en Volt
Axe 1 : la base
13.02 – 158.38
0.18 - 2.20
Axe 2 : l’épaule
23.23 – 137.60
0.32 - 2.07
Axe 3 : le coude
106.28 – 137.60
1.48 - 1.91
Axe 4 : le poignet
0 – 268.15
0 – 3.72
Axe 5 : orientation
79.53 – 360
0 – 1.1
Outil : la pince
0 - 8.2 cm
0 - 2.5
Tableau 1 : les angles limite de rotation du ROB3 prélevée sur les capteurs Potentiométriques de position.
La Figure I.19 montre les différentes longueurs des tiges selon 2 angles différents .
vue de haut
vue de face
Figure 19: Les dimensions du robot ROB3.
I.01. Les actionneurs (les moteurs) : Chaque bras du ROB3 est muni d’un petit moteur à courant continu pour le faire déplacée. Pour la pince, un moteur est adapté pour l’ouvrir ou la fermer. Les six moteurs utilisés sont des moteurs à aimants permanents. Ils fonctionnent avec une tension de 9V générée par une alimentation continue stabilisée et un courant max de 3A. Un moteur électrique à courant continu est le muscle du bras de robot, qui est un dispositif électromécanique servant à convertir de l’énergie électrique d’entrée en énergie mécanique. Classiquement, un moteur à courant continu est constitué d'un stator fixe et d'un rotor mobile. Le courant continu arrive par les cosses à l'extérieur de la carcasse sur des balais souples. Le collecteur est la partie du rotor qui touche les balais. Le rotor est constitué, quand à lui, de plusieurs bobines, toujours en nombres impairs, reliées au collecteur. Lorsque l'une des 13
Chapitre I : Généralités sur les robots et descriptions du ROB3 bobines reçoit le courant continu, elle crée un champ magnétique, mais la carcasse du stator abrite aussi deux aimants de pôles opposés. Le champ magnétique créé attire les pôles des aimants, créant par cela une rotation de l'axe du moteur. Ces moteurs qui présentent une très faibles inertie mécanique, sont commandés par un ensemble électronique comportant une alimentation de puissance avec une électronique de commande réalisant un asservissement.
Figure 20: Architecture d'un MCC à aimant permanent avec engrenages.
I.10. Les capteurs (des potentiomètres): Plusieurs technologies de construction des capteurs existent. On rencontre dans ce contexte des capteurs incrémentaux et potentiométriques. Pour notre plateforme, des capteurs de position potentiométriques sont utilisés pour l'asservissement de position (Figure.21). Chaque potentiomètre est couplé a chaque axe de robot ROB3. Donc le potentiomètre tourne en même temps que l'axe de sortie. La résistance à la borne du potentiomètre varie donc en fonction de la position de l'axe et elle est en rapport avec la durée du signal de commande.
Figure 21: moteur CC avec engrenage et un capteur potentiométriques.
14
Chapitre I : Généralités sur les robots et descriptions du ROB3
I.12. Conclusion : Dans le cadre de ce chapitre, on a pu présenter des généralités sur les robots et décrire les différents éléments constitutifs de notre bras manipulateur ROB3. Le robot qu’on cherche a implémenté à cinq articulations plus une pince. Dans la suite, on va réaliser une carte électronique avec un programme arduino pour commander ces articulations Un essai expérimental nous a permis de délimiter l'espace du travail ainsi que les résolutions maximales et minimales de chaque moteur qui constitue une étape importante servant par la suite d’imposer les trajectoires de mouvement des différentes articulations.
15
Chapitre II : SOFTWARE
II.1. Introduction : Le microcontrôleur joue le rôle d’une unité de traitement et de commande dans la majorité des applications électronique, automatiques, notamment les robots. L’autonomie de ces robots s’assure par la bonne connaissance et compréhension de ces instruments. C’est pourquoi nous essayons dans ce chapitre de donner une description software et hardware de L’Arduino Mega 2560 et présenté une brève explication sur les bases de la programmation avec le langage Arduino. Nous présentons aussi le software utilisé le long de notre travail : Le logiciel PROTEUS 8.6, composé de ces deux parties dont l’une est pour la réalisation et la simulation de montage électronique, l’autre partie pour le dessin du circuit imprime de notre montage (circuit PCB).
II.2. Présentation de l’Arduino: L’univers Arduino repose sur deux piliers, le premier s'agit de la carte électronique programmable (Hardware), composée de plusieurs composants semi-conducteurs, de circuits intégrés et des périphériques, le deuxième s’agit de l’interface de programmation (Software), qui possède un langage de programmation très spécifique, basé sur les langages C et C++, adapté aux possibilités de la carte. L’Arduino est une plateforme de contrôle, elle est constituée de deux choses : Le logiciel (Software): gratuit et open source, développé en Java, dont la simplicité d'utilisation relève du savoir cliquer sur la souris. Partie Hardware (Le matériel): cartes électroniques dont les schémas sont en libre circulation sur internet. Le système Arduino permet à l’utilisateur de réaliser un grand nombre de projets puisque l'étendue de l'utilisation de l'Arduino est gigantesque. Voici quelques exemples: Contrôler les appareils domestiques. Fabriquer son propre robot. Faire un jeu de lumières. Communiquer avec l'ordinateur. Télécommander un appareil mobile. etc.… 18
Chapitre II : SOFTWARE
II.3. Définition de module Arduino Méga 2560 : Comme tout projet dans le domaine électronique; l’utilisation d’un microcontrôleur est inévitable, nous utiliserons Arduino Méga 2560 qui est un freeware (matériel libre) qui peut être programmé pour analyser où produire des signaux électriques et exécuter des commandes, son interface facile et son langage de programmation simple en font un des microcontrôleurs les plus utilisés dans le monde, que ce soit par les débutants où par les utilisateurs plus expérimentés.
II.4. La partie software (Logiciel Arduino): Pour commander Arduino Méga 2560 sur PC on installe le logiciel du même nom Arduino (version 1.8.5 dans notre cas) qui est une application Java et qui a l’interface montré dans la figure si dessous. [11]
Figure 22 : Vue d’ensemble et interface du logiciel Arduino Le logiciel Arduino a pour fonctions principales : De pouvoir écrire et compiler des programmes pour la carte Arduino. De se connecter avec la carte Arduino pour y transférer les programmes. L’interface du logiciel contient une BARRE DE MENU comme tous les logiciel, Un MONITEUR SERIE pour afficher sur l’ordinateur les états des variables, des résultats de calculs ou de conversions analogique-numérique. Un EDITEUR (l’espace de travail) pour écrire le code (programme), le logiciel obéit à quelques notions pour pouvoir bien 19
Chapitre II : SOFTWARE structurer le programme à fin de le compiler et éviter les erreurs de syntaxe et autres. Une ZONE DE MESSAGES qui affiche l'état des actions en cours. Et une CONSOLE TEXTE qui affiche les messages concernant le résultat de la compilation du programme. Cet espace de développement intégré (EDI) dédié au langage Arduino et à la programmation des cartes Arduino comporte aussi : Une BARRE DE BOUTONS qui donne l’accès direct aux fonctions essentielles du logiciel tel que : Bouton Vérifié (Compiler): il permet de vérifier le programme pour trouver d’éventuelles erreurs. Cette procédure prend un certain temps d'exécution et lorsque elle est terminée, elle affiche un message de type « Binary sketch size: » Bouton Upload (Téléverser): ce bouton permet de compiler et téléverser le programme sur la carte Arduino. Bouton New (Nouveau): ce bouton permet d’ouvrir une nouvelle fenêtre de programmation. Bouton Open (Ouvrir) : il fait apparaître un menu qui permet d'ouvrir un programme qui figure dans le dossier de travail ou des exemples de programme intégrés au logiciel. Bouton Save (Sauvegarder) : il permet de sauvegarder le programme.
Bouton Serial Monitor (Moniteur sériel): ce bouton fait apparaître le moniteur série. Tableau 2:Barre d’Action. Une BARRE DES ERREURS: pour afficher les erreurs faites au cours du programme, comme l’oubli d’un point-virgule, le manque d’une accolade ou toute autre erreur dans les instructions. Un exemple de ce genre s’affiche en cas d’erreurs :
Figure 23 : Message d'Erreur.
20
Chapitre II : SOFTWARE
II.5. Structure du programme: Le programme comporte trois phases consécutives : II.5.a. La Définition des constantes et des variables : Cette partie est optionnelle uniquement pour la déclaration des variables et des constantes chaque entrée et sortie est définie et déclarée, en lui donnant un nom arbitraire et en lui affectant le numéro de l’entrée ou celui de la sortie voulue, sans oublier de préciser le type de la variable. II.5.B. Configuration des entrées/sorties : Les instructions viennent après le void setup (), après avoir ouvert une accolade, on peut manipuler les broches de la carte en les configurant comme étant des entrées ou des sorties, selon les besoins. Les entrées analogiques pour les capteurs par exemple, ne sont soumises à aucune configuration, car la carte possède 16 entrées analogiques qui ne font que cela. II.5.C. Programmation des interactions et comportements : Celles-ci viennent après le void loop (), c’est la partie principale, ou on rédige les instructions et les opérations comme la lecture des données, les boucles, les affectations,...etc. Chacune d’elle doit obligatoirement finir par un point-virgule. II.5.D. Les commentaires : Comme chaque IDE, des commentaires peuvent être ajoutés au programme. Dans la configuration des entrées/sorties, les commentaires doivent être écrits après un slash « / » ou une étoile « * » ou les deux, tandis que sur une ligne de code, on les écrit après deux slash « // ». [11]
II.6. la Partie Hardware II.6.1. La carte Arduino Méga 2560 : La carte Arduino Méga 2560 est une carte à microcontrôleur basée sur un ATMega 2560 (figure II.3). Ce microcontrôleur (photo à droite) a 256 Ko de mémoire FLASH pour stocker le programme (dont 8Ko également utilisés par le boot loader). L'ATMéga 2560 a également 8 ko de mémoire SRAM (volatile) et 4Ko d'EEPROM (non volatile - mémoire qui peut être lue à l'aide de la librairie EEPROM). Pour info; le boot loader est un programme préprogrammé une fois pour toute dans l'ATMéga et qui permet la communication entre l'ATMéga et le logiciel Arduino via le port USB, notamment lors de chaque programmation de la carte. [12]
21
Chapitre II : SOFTWARE
Figure 24: Composant de la carte Arduino Mega 2560.
II.6.2. Synthèse des caractéristiques : Microcontrôleur
ATmega2560
Tension de fonctionnement
5V
Tension d'alimentation (recommandée)
7-12V
Tension d'alimentation (limites)
6-20V
Broches E/S numériques
54 (dont 14 disposent d'une sortie PWM)
Broches d'entrées analogiques
16 (utilisables en broches E/S numériques)
Intensité maxi disponible par broche E/S (5V)
40 mA (ATTENTION : 200mA cumulé pour l'ensemble des broches E/S)
Intensité maxi disponible pour la sortie 3.3V
50 mA
Intensité maxi disponible pour la sortie 5V
Fonction de l'alimentation utilisée - 500 mA max si port USB utilisé seul
Mémoire Programme Flash
256 KB dont 8 KB sont utilisés par le boot loader
Mémoire SRAM (mémoire volatile)
8 KB
Mémoire EEPROM (mémoire non volatile)
4 KB
Vitesse d'horloge
16 MHz
Tableau 3:les caractéristiques de l’Arduino Méga 2560. 22
Chapitre II : SOFTWARE
II.6.3. Alimentation : La carte Arduino Méga 2560 peut-être alimentée soit via la connexion USB (qui fournit 5V jusqu'à 500mA) ou à l'aide d'une alimentation externe. La source d'alimentation est sélectionnée automatiquement par la carte. L'alimentation externe (non-USB) peut être soit : Un Adapteur secteur (qui fournit typiquement de 3V à 12V sous 500mA) connecté en branchant une prise 2.1mm positif au centre dans le connecteur jack de la carte Ou bien des piles. Les fils en provenance d'un bloc de piles ou d'accumulateurs peuvent être insérés dans les connecteurs des broches de la carte appelées GND (masse ou 0V) et Vin (Tension positive en entrée) du connecteur d'alimentation. La carte peut fonctionner avec une alimentation externe de 6 à 20 volts. Les broches d'alimentation sont les suivantes :
5V : la tension régulée utilisée pour faire fonctionner le microcontrôleur et les autres
composants de la carte (pour info : les circuits électroniques numériques nécessitent une tension d'alimentation parfaitement stable dite "tension régulée" obtenue à l'aide d'un composant appelé un régulateur et qui est intégré à la carte Arduino). Le 5V régulé fourni par cette broche peut donc provenir soit de la tension d'alimentation VIN via le régulateur de la carte, ou bien de la connexion USB (qui fournit du 5V régulé) ou de tout autre source d'alimentation régulée.
3V3 : une alimentation de 3.3V fournie par le circuit intégré FTDI (circuit intégré
faisant l'adaptation du signal entre le port USB de votre ordinateur et le port série de l'ATMega) de la carte est disponible: ceci est intéressant pour certains circuits externes nécessitant cette tension au lieu du 5V). L'intensité maximale disponible sur cette broche est de 50mA.
II.6.4. Entrées et sorties numériques : Chacune des 54 broches numériques de la carte Méga peut être utilisée ou configuré soit comme une entrée numérique, soit comme une sortie numérique, en utilisant les instructions pinMode (), digitalWrite () et digitalRead () du langage Arduino. Ces 54 broches fonctionnent en 5V.
Chaque broche peut fournir ou recevoir un
maximum de 40mA d'intensité et dispose d'une résistance interne de "rappel au plus" (pull-up)
23
Chapitre II : SOFTWARE (déconnectée par défaut) de 20-50 KΩ. Cette résistance interne s'active sur une broche en entrée à l'aide de l'instruction digitalWrite (broche, HIGH). De plus, certaines broches ont des fonctions spécialisées : Communication Série : Les broches 0 (Rx) et 1 (Tx) qui présente le port Série Serial numéro 1 sont connectées aux broches correspondantes du circuit intégré ATmega8U2 programmé en convertisseur USB-vers-SERIE DE LA CARTE, composant qui assure l'interface entre les niveaux TTL et le port USB de l'ordinateur. Les broches : 19 (Rx) et 18 (Tx) représente le port Série Serial 2, les broches : 17 (Rx) et 16 (Tx) représente le port Serie Serial 3 et les broches 15 (Rx) et 14 (Tx) représente le port Serie Serial 4. Ces broches sont utilisées pour recevoir (Rx) et transmettre (Tx) les données séries de niveau TTL. Interruptions Externes: Broches 2 (interrupt 0), 3 (interrupt 1), 18 (interrupt 5), 19 (interrupt 4), 20 (interrupt 3), et 21 (interrupt 2). Ces broches peuvent être configurées pour déclencher une interruption sur une valeur basse, sur un front montant ou descendant, ou sur un changement de valeur. Voir l'instruction attachInterrupt () pour plus de détails. Impulsion PWM (largeur d'impulsion modulée): Broches 0 à 13; fournissent une impulsion PWM 8-bits à l'aide de l'instruction analogWrite (). SPI (Interface Série Périphérique): Broches 50 (MISO), 51 (MOSI), 52 (SCK), 53 (SS); ces broches supportent la communication SPI (Interface Série Périphérique) disponible avec la librairie pour communication SPI. Les broches SPI sont également connectées sur le connecteur ICSP qui est mécaniquement compatible avec les cartes Uno, Duemilanove et Diecimila. I2C: Broches 20 (SDA) et 21 (SCL); supportent les communications de protocole I2C (ou interface TWI) (Two Wire Interface - Interface "2 fils"), disponible en utilisant la librairie Wire/I2C. Noter que ces broches n'ont pas le même emplacement que sur les cartes Uno, Duemilanove ou Diecimila. LED : il a une LED incluse dans la carte connectée à la broche 13. Lorsque la broche est au niveau HAUT, la LED est allumée, lorsque la broche est au niveau BAS, la LED est éteinte.
24
Chapitre II : SOFTWARE
II.7. Présentation générale de Proteus (ISIS et ARES): •
Proteus
est
une
suite
logicielle
destinée à l'électronique. Développé par la société Labcenter Electronics, les logiciels
incluent
dans
Proteus
permettent la CAO dans le domaine électronique. Deux logiciels principaux composent cette suite logicielle: ISIS, ARES, PROSPICE et VSM. Cette suite logicielle est très connue dans le domaine de l'électronique. De nombreuses entreprises et organismes de formation (incluant lycée et université) utilisent cette suite logicielle. Outre la popularité de l'outil, Proteus possède d'autres avantages ˗
Pack contenant des logiciels facile et rapide à comprendre et utiliser
˗
Le support technique est performant
˗
L'outil de création de prototype virtuel permet de réduire les coûts matériel et logiciel lors de la conception d'un projet. [12]
II.8. L’éditeur de schéma ISIS : Isis est un éditeur de schémas qui intègre un simulateur analogique, logique ou mixte. Toutes les opérations se passent dans cet environnement, aussi bien la configuration des différentes sources que le placement des sondes et le tracé des courbes. [10]
Figure 25 : Interface utilisateur ISIS.
25
Chapitre II : SOFTWARE
II.8.1. Interface utilisateur : II.8.1.a. Fenêtre d’ensemble : Le cadre en bleu délimite l’espace de travail tel qu’il a été défini par la commande ‘Définir taille des feuilles’ du menu ‘système’. Le cadre en vert délimite la zone de travail, c’est à dire la partie du schéma visible dans la fenêtre principale. Vous pouvez déplacer cette zone de travail en pointant la souris sur la zone désirée de la fenêtre d’ensemble et en effectuant un clic gauche. Vous pouvez redéfinir la zone de travail dans la fenêtre d’ensemble en appuyant sur la touche majuscule ‘shift‘ du clavier, associée au déplacement de la souris en maintenant appuyé le bouton gauche.
II.8.1.b. Fenêtre d’édition : C’est dans cette fenêtre que vous éditerez votre circuit. Elle ne représente que la partie du circuit qui est définie par le cadre vert dans la fenêtre d’ensemble. Vous pouvez redéfinir la zone travail à l’aide de la fenêtre d’ensemble ou en utilisant la commande ‘Zoom’ du menu ‘Affichage’.
II.8.1.c. La boite à outils : Elle est composée d’un ensemble d’icônes dont les fonctions seront détaillées ultérieurement et d’un sélecteur d’objet utilisé pour choisir les boîtiers, le style des pastilles, des traces, des traversées, etc.…
II.8.1.d. Coordonnées du curseur : Les coordonnées déterminent la position du curseur par rapport à l’origine qui par défaut se trouve au centre de la fenêtre d’édition.
II.8.1.e. Organisation de la boite à outils
Figure 26: Organisation de la boite à outils ISIS. 26
Chapitre II : SOFTWARE
II.8.2. Etapes de la saisie de schéma :
Vous disposez du schéma de principe Définir les caractéristiques du projet et /ou schéma Vous disposez du schéma de principe Les composants sont-ils disponibles dans les bibliothèques ?
Créer les composants
Sélectionner les composants Placer les composants
Sélectionner et placer les terminaisons Interconnecter les composants Annoter le schéma Générer la liste du matériel Imprimer les résultats
Figure 27 : Organigramme des Etapes de la saisie de schéma.
II.9. ARES : Le logiciel ARES est un outil d'édition et de routage qui complètement parfaitement ISIS. Un schéma électrique réalisé sur ISIS peut alors être importé facilement sur ARES pour réaliser le PCB (Printed Circuit Board) de la carte électronique. Cette fonctionnalité permet de réaliser très rapidement des circuits de faible complexité en plaçant les composants et traçant les pistes directement dans ARES. Une fois les connections établies il est possible d'effectuer un routage automatique des pistes. Dans ce logiciel vous pouvez également créer de nouveaux boîtiers et les placer dans une bibliothèque. Couplé avec ISIS vous avez un système complet qui vous permet 27
Chapitre II : SOFTWARE d’effectuer avec un seul schéma toutes les étapes de la conception de cartes. L'aspect Général de ARES et très approchant de celui de ISIS. Il est composé d’une Une barre de menu, une fenêtre principale dans laquelle vous allez créer votre routage mais aussi vos nouveaux composants. Une fenêtre d'aperçu en haut à droite et une palette en dessous et un sélecteur de boîtiers. Un sélecteur de surface active (face ou pile) en bas à gauche qui permet le choix de type de piste a utilisé. Les sélections, les zooms, les copies se font à l'identique de ISIS. [13]
Figure 28 : Fenêtre principale ARES
II.10. Procédure de création d'une carte électronique (circuit PCB): La première chose à faire avant de commencer un routage est de définir une carte aux dimensions de projet. Il est fortement conseillé de réaliser, si possible, le projet sur des formats standards (Demi Europe 100x80, Europe 100x160). Pour cela placer en mode graphique et sélectionner "Board Edge" dans le sélecteur de surfaces. Sélectionner l’icône rectangle et dessiner un rectangle correspondant au contour de la carte. [10]
28
Chapitre II : SOFTWARE
II.11. Le placement des composants : Il existe deux méthodes :
II.11.a. Placement automatique : Après avoir défini une carte vous pouvez placer les composants en mode automatique. Outils « Placement automatique » La fenêtre ci-contre apparaît. Vous pouvez choisir les composants à placer. Après validation les composants sont positionnés sur la carte. [13]
Figure 29: Fenêtre de placement automatique.
II.11.b. Placement Manuel : On peut rarement se contenter d’un placement automatique. En raison d’exigences dues au projet il est très souvent nécessaire de placer des composants à des endroits précis. Dans ce cas vous sélectionnez le composant dans la fenêtre de sélecteur. Vous orientez votre sélection au moyen des icônes appropriés. Vous cliquez dans la fenêtre de placement et sans relâcher le bouton de la souris vous déplacez votre fantôme de composant.
II.12. Le routage : II.12.a. Routage manuel : Comme pour le placement automatique il est très rare qu’un routage automatique convienne sans modifications. Il est donc très utile de pouvoir modifier ou créer des pistes manuellement. Choisissez l’icône pistes puis sélectionnez un guide (en vert). Par des clics successifs dessinez votre piste en partant d’une extrémité du guide. Le tracé se termine lorsque vous atteignez l’autre extrémité. 29
Chapitre II : SOFTWARE
II.12.b. Routage automatique : Le routage automatique se lance dans le menu Outils “Routeur automatique” dans la fenêtre de configuration vous pouvez choisir de router tout le chevelu, ou une partie. Vous pouvez également déterminer les isolations à respecter.
Figure 30: Fenêtre de routage automatique.
II.13. Conclusion : Au cours de ce chapitre on a présenté les différents softwares (arduino et proteus) utilisés dans notre projet, notamment la partie hardware de la carte Arduino utilisée ainsi que programmation avec le logiciel Arduino. On a évoqué aussi, les étapes à suivre pour créer et simuler le fonctionnement d’un schéma électronique dans le simulateur ISIS et faire la conception et la réalisation de sont circuit PCB avec ARES. .
30
Conclusio n.
Chapitre III : Commande et Contrôle du Bras manipulateur ROB3
III.1. Introduction : Dans le présent chapitre, nous présentons la raison et le but de notre projet, le choix des composant et plan de la carte de commande. Cette réalisation consiste à créer une carte de commande en puissance à base d′un driver L298 commandé par la carte Arduino Méga 2560, pour lancer de déplacement des bras manipulateur de ROB3. Un programme est créé pour faire marcher l’ensemble des équipements reliés dans ce système.
III.2. Présentation de projet : Vu la nécessité des équipement pédagogique pour sollicite l’apprentissage des étudiant à la programmation et à la commande des machines robotisés, et faire des TPs de l’électronique, instrumentation et de l’automatique, et Vu la disponibilité du bras manipulateur ROB3 qui a été mis a l’écart pour des années a cause d’une panne dans le circuit de commande des moteurs (effacement de programme ROM), la naissance de l’idée de notre projet est apparu afin de contrôler et commander le déplacement exact des bras manipulateur pour atteindre avec précision la position souhaité ainsi de faire diffèrent étude sur la régulation et la stabilité de système asservi et apprendre l’application de déférent cours en électronique. Un schéma bloc est établi pour décrire l’ensemble de matérielle et équipement utilisés dans notre projet.
Figure 31 : Schéma simplifié montrant la conception de notre projet pour la commande et le contrôle de position du bras ROB3. 32
Chapitre III : Commande et Contrôle du Bras manipulateur ROB3
Ordinateur : pour l’écriture du programme de commande et le téléverser dans la carte Arduino Méga 2560 branchée sur le port USB afin de voir l’exécution réel.
Arduino Méga 2560 : l’interface qui permet la lecture et l’écriture sur des ports branchées avec la carte de puissance pour la mise en marche et le contrôle du bras manipulateur ROB3. Carte de puissance (commande) : circuit électronique basé sur le driver L298 qui permet le control de l’alimentation et le sens des moteurs de ROB3 Joystick : outil utilisé pour sélectionner le bras à contrôlé et choisir le niveau de commande. ROB3 : Le bras manipulateur que nous voulons commander et contrôler ces mouvements. Alimentation : une source de tension continue et régulé.
III.3. Le Driver L298 : III.3.1. Description L298xx (H-Bridge Motor Driver): Le Pont H, est une structure électronique servant à contrôler la polarité aux bornes d’un dipôle. Il est composé de quatre éléments de commutation généralement disposés schématiquement en une forme de H d’où il porte le nom. Les commutateurs peuvent être des relais, des transistors, ou autres éléments de commutation en fonction de l’application visée.
Figure 32 : Circuit d’un pont en H.
33
Chapitre III : Commande et Contrôle du Bras manipulateur ROB3
Ce circuit qui est un double Pont-H, très populaire et moin couteux, Il peut contrôler deux moteur a courant continu ou un moteur pas-à-pas 4 fils 2 phases. Il est conçu pour supporter des tensions plus élevées (6 a 30 volt), des courants importants (environ 2A) tout en proposant une commande logique TTL (basse tension, courant faibles, idéal donc pour un microcontrôleur). [14] Les deux types de moteurs peuvent êtres contrôlés en vitesse constante et aussi bien en vitesse variable qu'en direction. Toutes les sorties en puissance sont déjà protégées par des diodes anti-retour (selon la version et le modèle choisi). Il peut aussi piloter des charges inductives comme des relais et des bobines ou pour contrôler la luminosité de certains projets utilisant des LED par exemple.
(a)
(b)
Figure 33: (a) Circuit intégré L298 (b) sont schéma interne.
De plus, ce pilote L298xx peut se trouvé en module prêt à l'emploi, il inclut des diodes pour protéger le circuit, des résistances de rappel et un dissipateur de chaleur en cas de forte charge. Ce module est extrêmement utile, il Offre un bon moyen de piloter et contrôler des robots et un ensemble mécanisé
34
Chapitre III : Commande et Contrôle du Bras manipulateur ROB3
Figure 34: Module a base de circuit L298
III.3.2. Les Pins:
Figure 35: datasheet de L298. Vss- Alimentation de la logique de commande (5v). Vs- Alimentation de puissance des moteurs. GND-doit être raccorder à la masse, le GND doit etre commun entre le pilote et l’arduino OUTPUT 1, OUTPUT 2-broche à raccorder à la charge (le moteur dans notre cas). INPUT1, INPUT2 - Broche de commande du Pont-H. où se raccorde à l’Arduino. ENABLE A - commande l’activation du premier Pont-H, permet d'envoyer la tension sur les sorties du moteur via OUTPUT1. idem pour le ENABLE B (OUTPUT2) Si ENABL A = GND, le pont-H est déconnecté et le moteur ne fonctionne pas. Si ENABL A = Vss, le pont -H est connecté aux sorties et le moteur fonctionne dans CURRENT SENSING A et CURRENT SENSING B-permet de faire une mesure du courant dans le circuit de puissance. A placer impérativement sur GND si cette fonctionnalité n’est pas utilisée.
35
Chapitre III : Commande et Contrôle du Bras manipulateur ROB3
III.3.3. Les Avantages du L298N Supporte une tension de puissance jusqu'à 36 volts maximum. Un courant de service de 2A. Compatible TTL (peut donc être commandé directement avec Arduino). Dispose d’un dispositif de mesure du courant (sens or/sens pins). A raccorder à la masse si on ne l’utilise pas. Le seul inconvénient avec ce circuit de puissance c'est qu'il ne contient pas de protection incorporé, donc il va falloir qu'on lui ajoute des diodes rapides entre le L298 et les bobines du moteur, ces diodes l’vont récupérer le courant et ainsi assurer la protection de notre étage de puissance.
II.3.4. Principe de fonctionnement du pilote (Command du L298N): Le L298N est un double pont en H, c'est à dire qu'il permet de faire tourner les moteurs dans un sens ou dans l'autre sans avoir à modifier les branchements, grâce à sa forme de H, d'où il tient son nom et qui lui permet de faire passer le courant soit dans un sens ou dans l'autre. Les ports ENA et ENB permettent de gérer l’amplitude de la tension délivrée au moteur, grâce à un signal PWM. Les ports In1, In2 pour le moteur A et In3, In4 pour le moteur B, permettent de contrôler le pont en H et par conséquent le sens de rotation des moteurs. Comme expliqué sur le tableau suivant :
36
Chapitre III : Commande et Contrôle du Bras manipulateur ROB3
Moteur A
Arrêt (moteur libre)
Sens +
Sens –
Arrêt (moteur freiné)
Moteur B
In1
In3
LOW
HIGH
LOW
HIGH
In2
In4
LOW
LOW
HIGH
HIGH
Tableau 4:Principe de fonctionnement du pilote (Command du L298N).
De plus, le pont en H permet d’effectuer un freinage magnétique s’il est capable d’an ticiper la puissance générée. Cette opération s’effectue en actionnant soit les deux commutateurs supérieurs ou inférieurs en même temps, ce qui court–circuit les bornes du moteur et le fait par conséquent freiner. Mieux encore, il est possible avec un peu d'électronique et un contrôleur perfectionné d'effectuer un freinage régénératif. Dans le cas d'une alimentation à batterie, l'énergie est renvoyée aux batteries plutôt que dissipée dans les commutateurs du pont. [15]
37
Chapitre III : Commande et Contrôle du Bras manipulateur ROB3
III.4. Le Câblage : Visualisation du montage sur Fritzing :
Figure 36 : Le câblage de moteur à courant continu avec Arduino Méga 2560.
- Brancher le moteur en 1 et 2 (positif en 1 et ground en 2). - Brancher le 7 (ENA moteur 1) après avoir retiré le cavalier au PIN 10 de l'Arduino. Attention de bien le brancher sur une broche PWM possédant le symbole ~ devant le chiffre de la broche. - Brancher le 8 (IN1) sur la PIN 22 de l'Arduino. - Brancher le 9 (IN1) sur la PIN 23 de l'Arduino. - Brancher le 4 (alimentation) au positif de la pile / batterie. - Brancher le 5 (Ground) au Ground de l'Arduino. - Brancher le Ground de la pile / batterie au Ground de l'Arduino.
38
Chapitre III : Commande et Contrôle du Bras manipulateur ROB3
III.5. Programmation : (Code / Programme avec Arduino IDE) Le programme suivant permet de mettre en mouvement le moteur connecté au pilote L298 commandé par l’arduino méga 2560 en passant par le port série. Par l’intermédiaire du moniteur série, On envoie un entier entre 0 et 255 pour actionner le moteur en PWM, et pour le sens la valeur 0 signifie sens droit et la valeur 1 sens gauche.
Figure 37 : Code / Programme avec Arduino IDE.
III.6. Type de commande : III.6.1. Régulateur PID : Le régulateur PID, également appelé débogueur PID (Proportionnel, Intégral, Drivé) (ou en anglais : Integrated Relative Control) est un système de contrôle ou un processus en boucle fermée permettant d’améliorer les performances de fonctionnement d’un asservissement. C'est le régulateur le plus utilisé dans l'industrie où les propriétés de correction s'appliquent à plusieurs quantités physiques. [16] Pour contrôler correctement le déplacement du bras manipulateur ROB3, ou en général les moteurs, il est souvent nécessaire d’appliquer la régulation asservie PID pour que le ROB3 répond exactement à la demande La recherche des valeurs ou des "paramètres" approprie, permet l’optimisation du contrôleur PID, ce qui réduit l'écart par rapport au point de contrôle et fournit une réponse rapide aux changements de point de contrôle ou de perturbation, avec un minimum de sauts.
39
Chapitre III : Commande et Contrôle du Bras manipulateur ROB3
III.6.2. Le signal de commande PWM(MLI) : La modulation de largeur d'impulsions (MLI) ; en anglais : Pulse Width Modulation, soit ( PWM), est une technique couramment utilisée pour synthétiser des signaux pseudo analogiques à l'aide de circuits à fonctionnement tout ou rien, ou plus généralement à états discrets. Le principe général est que la tension de sortie correspondant à la hauteur du signal pendant un temps déterminé, l’idée est d’emettre un signal pendant une fraction plus ou moins importante d’un cycle (période). La variation de la largeur d’impulsion va entraîner une diminution de la valeur moyenne de la tension de sortie qui commande le circuit L298. Elle contiendra la valeur du temps d’émission et elle sera transmise par la fonction analogWrite (PIN, Valeur) au pin destiné à la PWM de la carte arduino méga 2560. [17]
TENSION DE SORTIE = (DUREE ON / DUREE OFF) X TENSION MAXI
Figure 38. La modulation de largeur d'impulsions PWM.
III.7. Simulation de 2 moteurs DC commandés par Arduino Uno : Afin de voir le fonctionnement et le déroulement du programme de commande des deux moteurs DC, nous avons utilisé arduino Uno pour le contrôle du circuit L298, le schéma suivant illustre le montage et le raccordement des composants. 40
Chapitre III : Commande et Contrôle du Bras manipulateur ROB3
Figure 39 : Schéma électronique de la carte de commande de 2 moteurs connecté à arduino Uno.
III.8. Notre Carte de Commande en Puissance : Le microcontrôleur (arduino) a des limitations de courant; ils ne peuvent donc pas alimenter un élément à haute puissance tel qu'un moteur. Le H-Bridge résout le problème en fournissant une alimentation différente pour conduire les moteurs. C’est pour ca est utilisé L298. La réalisation de cette carte de commande permet la commande des 6 moteurs du Rob3, sa structure englobe les 3 modules de L298 protégé par des diodes roue libre, une alimentation régulé réguler a base du circuit 7805, qui permet d’alimentées les portes logique des pilotes par la tension +5. Une tension d’alimentation stabilisée 9v 3A pour alimenter les moteurs, est offerte par une source externe.
41
Chapitre III : Commande et Contrôle du Bras manipulateur ROB3
III.9. Schéma global de la carte de commande (pour les 6 moteurs): Nous utilisons le logiciel Proteus, un schéma électrique est établi et simulé pour voir le fonctionnement de circuit de commande et voir les différents signaux de sortie.
Figure 40 : Schéma électronique de la carte de commande. Les huit (08) diodes connecté à chaque pilote L298N ce sont des diodes roue libre ou des diodes de protection, qui réduisent le temps de commutation et permettent de faire passer un courant important pour compenser le courant inverse qui se produira par clic sur le moteur. Les résistances (sensA; sensB) dans chaque L298N, permet de limiter l'intensité de ce courant aux moteurs généralement sont faible, dans notre montage ils sont égales a 1 Ω. Pour notre montage, comme dit précédemment, on a besoin de tension stabilisée de 5v donc on a utilisée le régulateur LM7805 et pour faire la protection contre les courts-circuits ou les surintensités de courant on a ajouter un fusible qui est posé directement après l'alimentation. Suivie d’un groupe RESISTANCE-LED de contrôle qui confirme la mise sous tension du circuit. Des condensateurs sont ajoutés afin d’assurer le filtrage de la tension stabilisé.
42
Chapitre III : Commande et Contrôle du Bras manipulateur ROB3
(a)
(b)
Figure 41: (a) schéma de circuit d’alimentation stabilisé, (b) régulateur LM7805.
III.10. Le circuit imprimé de la carte de commande en puissance (PCB):
(A)
(B)
Figure 42. PCB de la carte de puissance avec (A) et sans (B) composant. Grâce a Ares du logiciel proteus, on a pu effectuer le dessin du circuit imprimé de notre carte de puissance, pour imprimer ensuit, la version miroir de PCB sans composants (seulement les pistes) et faire suivre la procédure de réalisation du PCB dans le laboratoire (gravure, perçage, nettoyage, soudure). Le résultat obtenu est présenté dans la figure suivante :
(a)
(b)
Figure 43: (a) gravure sur la carte de cuivre et (b) le produit final de la carte.
III.11. Equipement de commande : Pour permettre à l’utilisateur de contrôler le déplacement manuellement, nous avons ajouté quelque composant tel que le joystick et les boutons poussoirs. 43
Chapitre III : Commande et Contrôle du Bras manipulateur ROB3
III.12. Le Joystick : Le module joystick est idéal pour diriger un robot, il permet de le contrôler avec une seule main (et même un seul pouce) et de laisser les autre libre pour autre taches. Il est surtouts retrouvé sur les consoles de jeux. Il est composé de deux potentiomètres et au moins un interrupteur. Le type de potentiomètre permet de définir la résolution et l’échelle de l’axe. Le potentiomètre sollicité correspond à l’axe actif. Donc, il existe deux axes, l’axe-X et l’axes-Y.
Figure 44: Joystick . Il se câble simplement en reliant les bornes : GND: la masse VCC: la tension d’entrée c’est une alimentation positive (5V ou 3.3V) VRx : indique la tension sur l’axe vertical. VRy : idem pour l’axe horizontal SW: pour le bouton poussoir, lors de l’appui, cette sortie est reliée à la masse (GND). Lorsque le joystick est centré, il indique approximativement la moitié de la tension d’entrée. L’Arduino convertit en une valeur comprise entre 0 et 1023
Ce dispositif permet de nombreuses possibilités : L’Axe X : sélection d’un moteur Joystick
L’Axe Y : commande sa direction et sa vitesse. Boutton : l’appui, permet d’enregistrer la position actuelle des bras
III.13. Les boutons poussoir : Un bouton poussoir est un dispositif de commande de passage de courant électrique, il permet de faire une liaison électrique momentanée le temps que l'on appuie dessus, ou sur certains modèles inversés, d'ouvrir temporairement le contact électrique. 44
Chapitre III : Commande et Contrôle du Bras manipulateur ROB3
III.14. Description du fonctionnement de notre montage : La mise en marche de l’ensemble des équipements connectés, comme présenté dans la figure schémas bloc (II.5), offre initialement le contrôle manuel du ROB3, l’utilisateur pourra commander et Controller le déplacement du bras grâce aux dispositifs (joystick et boutons poussoirs) associe au montage présenté précédemment. Pour observer les différents valeurs : délivré par les capteurs, les valeurs de PWM généré et les valeurs de sens, la régulation PID, il suffi de voir le moniteur série dans le logiciel arduino. La variation dans l’axe X du joystick, permet de choisir le moteur ou la partie du bras a commander, et la variation dans l’axe Y permet de définir simultanément le sens du moteur choisi précédemment et l’amplitude de la vitesse de déplacement de ce dernier. C'est-à-dire, l’écart dans le sens positif par rapport au centre défini le sens droit et le pourcentage de l’écart défini la vitesse de déplacement du bras. Trois (3) bouton sont utilisés dans notre montage permettant à l’utilisateur de commander le ROB3 via arduino, ils sont choisis comme suite : Le 1er bouton (A) pour aller directement a la position référencé déclaré dans le programme, cette référence peut être changée par celle enregistré par le bouton du joystick Le 2eme bouton (B) pour passer a l’état initial (dans notre cas, le centre du bras) déclaré aussi dans le programme. Le 3eme bouton (C) a une double fonction, il pour annuler et arrêter les moteurs a n’importe quelle moment, et il permet de passer en mode répétition de geste en boucle s’il est amorçais a partir du mode manuelle.
Le programme de commande, de régulation et de contrôle est écrit dans le logiciel arduino et téléverser dans l’arduino méga 2560 via le port série USB pour être exécuté par ce dernier. Le programme et ses explications est présentées sous forme d’organigramme tel que :
45
Chapitre III : Commande et Contrôle du Bras manipulateur ROB3
L’organigramme de notre programme de commande :
Début -
déclarer les ports (sens et vitesse) de moteurs. déclarer la plage de fonctionnement (minimum et maximum de chaque potentiomètre). déclarer deux références (initialisation, référence). Déclarer les paramètres de réglage.
Détermination de deux types de commande Manuelle, Automatique
Oui
No
No
Mode Auto
Mode Manuelle
Lecture d’état des boutons A, B, C.
1
2
3
Déplacer les bras vers de position init déclarée précédemment
Déplacer le bras vers de position réf déclarée précédemment
Mouvement en boucle entre les deux positions (init, réf).
Oui
˗ ˗ ˗
Lecture d’état du bouton D. Lecture des positions du jostique X, Y. Lecture des positions des 6 potentiomètres.
Oui if A
Oui Passer ou moteur suivant
if X>0
Oui
No
No
if B if X0 No
Sens=0 sens gouache Vitesse= abs (y.cte)
if Y