Vous êtes sur la page 1sur 51

DEPARTEMENT DE PHYSIQUE

FILIERE : SCIENCES DE LA MATIERE PHYSIQUE

PROJET DE FIN D’ETUDES


Intitulé :

Commande d’un bras manipulateur

Présenté par :

SAFAOUI AYMANE

Sous la direction du Professeur : Pr NOUZHA EL MENNAOUI

Soutenue le : 27/06/ 2016 Devant le Jury composé de :

Pr. NOUZHA EL MENNAOUI : PA à la faculté des sciences de rabat

Pr. ARBAOUI ASMAE : PH à la faculté des sciences de rabat

Pr. RAOUI YOUNES : PA à la faculté des sciences de rabat

0
REMERCIEMENTS

Au terme de ce projet, nous tenons à exprimer nos sincères remerciements et gratitudes à tous
ceux qui nous ont aidés à le réaliser et qui ont contribué à l'élaboration de ce mémoire ainsi
qu'à la réussite de cette formidable année universitaire.

Nous tenons à remercier sincèrement M.NOUZHA ELMENNAOUI pour son encadrement ,


son soutien ainsi que pour ses directives qui nous ont permis de mener ce travail à terme de
succés .

Nos remerciements s'adressent également aux membres du jury qui ont eu la gentillesse de
nous accorder leur temps afin de lire et corriger ce travail.

Enfin, nous adressons nos plus sincères remerciements à tous nos proches et amis, qui nous
ont toujours soutenus au cours de la réalisation de ce mémoire pour donner de notre mieux et
pouvoir réaliser un projet qui soit à la hauteur de nos espérance.

1
RESUME :

NOTRE BRAS S IX AXES MULTITACHES EST UTIL IS E POUR


EFFECTUER UNE VAR IET E DE TACHES AVEC UNE PRECIS ION
ACCEPTABLE DANS DES MILIEUX SE NSIBLES ET DANGEREUX,
DES MILIEUX OU L’ETR E HUMAIN NE PEUT PAS TRAVAILLER
OU IL EST EXPOSE A UN DANGER, PAR EXEMP LE DANS LE
CAS D’UN LABORATOIR DE PRODUIT CHIMIQUE OU
BIOMEDICAL OU LE TRAVAIL DOIT ETRE EFFECTUE
DERR IERE UN VITRE IS OLANTE.

2
SOMMAIRE

Introduction Générale .............................................................................................................. 1

I- Chapitre I : Introduction sur la robotique .......................................................... 2


1- Qu’est-ce que la robotique ............................................................................ 2
2- Historique ..................................................................................................... 3
A. Les premiers mécanismes ................................................................. 3
B. L’horlogerie ...................................................................................... 4
C. Les automates .................................................................................. 4
D. La cybernétique ................................................................................. 5
E. L’intelligence artificielle ................................................................... 5
F. Les rovers .......................................................................................... 6
G. Les animats ....................................................................................... 6
3- Les robots industriels .................................................................................... 7
4- Domaines d’utilisation .................................................................................. 7
5- Les robots six axes ...................................................................................... 8
II- Chapitre II : Conception, simulation et impression 3D .................................... 9
1- Introduction................................................................................................... 9
2- Inspiration ..................................................................................................... 9
3- Objectif ........................................................................................................ 9
4- conception ................................................................................................... 10
5- Les contraintes de conception .................................................................... 10
6- Impression 3D du robot .............................................................................. 12
7- Assemblage finale du robot ........................................................................ 16
III- Chapitre III : Matériels choisis .......................................................................... 18
1- Matériels utilisé .......................................................................................... 18
A. Arduino Mega ................................................................................. 18
B. Les servomoteurs ............................................................................ 20
C. Module Bluetooth ........................................................................... 21
D. Alimentation du robot .................................................................... 31
IV- Chapitre IV : La partie commande ................................................................... 34
1. Schéma Synoptique .................................................................................... 34
2. Commande locale ...................................................................................... 33
a. Visual studio ....................................................................... 34
b. Langages supportés par Visual Studio................................ 34
c. Fenêtre concepteur ............................................................ 36
d. Fenêtre code ...................................................................... 38
3. Commande à distance ................................................................................ 41
A. Application Bluetooth .................................................................... 42

Conclusion générale ............................................................................................................... 45

Webographie ........................................................................................................................... 46

3
LISTE DES FIGURES

Figure 1.1 : 2600 avat J.C Roue sumérienne.

Figure 1.2 : 1380 horloge automate de notre Dame de Dijon.

Figure 1.3 : 1738 Canaed digérateur de jacques de Vaucanson.

Figure 1.4 : 1994-2005 Robot serpent.

Figure 1.5 : robot industriel Kawasaki FS-03N.

Figure 2.1 : KUKA.

Figure 2.2 : Les composants d’une Imprimante 3D.

Figure 2.3 : Les pièces sous le logiciel « slicer ».

Figure 2.4 : Les pièces imprimées.

Figure 2.5 : Validation des pièces sur CATIA.

Figure 2.6 : Validation des pièces en réalité.

Figure 3.1: Brochage de la carte ARDUINO.

Figure 3.2: un servomoteur.

Figure 3.3: montage d’un servo sur l’Arduino.

Figure 4.1: Schéma synoptique de notre système.

4
INTRODUCTION

La robotique est un élément essentiel dans nombreux environnements de production


modernes. Comme les usines augmentent leur utilisation de robots, le nombre d'emplois liés à
la robotique (conception et fabrication) est en constante augmentation.

Les robots sont devenus un outil éducatif populaire dans certains collèges et lycées, ainsi
que dans nombreux camps d'été pour les jeunes. Ils peuvent susciter l'intérêt dans la
programmation, l'intelligence artificielle et la robotique chez les étudiants

Un robot 6 axes conçu dans le logiciel Catia V5, produit dans l’imprimante 3D
Replicator4X, et commandé à base d’Arduino.

Ce projet est une utilisation et applications des connaissances acquises dans nos
formations. En commençant par une étude de faisabilité, un design, une conception, et puis la
commande. On a pu utiliser la technologie d’impression 3D pour toucher notre projet, et puis
en utilisant une programmation en langage C, une interface graphique de commande,des
servos moteurs commandés à base d’une carte Arduino, notre robot a pu bouger et faire des
tâches et mouvements simulés sur le logiciel Catia. A part qu’il soit un projet didacticiel, Ce
robot est un prototype multifonctions inspirés des leaders mondiaux (Kuka, ABB, Fanuc..)
capable d’effectuer des tâches de manutention, soudage, ou peinture. Avec un total de six
articulations, ce robot est capable d’effectuer des mouvements proches de celle d’un bras
humain mais d’une précision bien plus importante.

A travers ce rapport nous souhaitons présenter notre bras 6 axes multifonction nommé
EXI6, les étapes de conceptions, l’assemblage des pièces, l’impression et la commande. Ce
projet est un robot didacticiel et un prototype à la fois encadré par M.NOUZHA EL
MENNAOUI.

5
Chapitre I : Introduction sur la robotique
1. QU’EST-CE QUE LA ROBOTIQUE ?

La robotique est la science qui s’intéresse aux robots. En fait, il s’agit d’un domaine
multidisciplinaire: on y trouve des aspects concernant la mécanique, l’informatique,
l’électronique, …

La robotique est devenue en quelques années une science importante qui ne cesse
d’évoluer. Les chercheurs parviennent petit à petit à donner à des machines une intelligence
artificielle. Les robots envahissent littéralement notre vie, on les trouve dans des concours,
dans les films de science-fiction et dans tous les autres domaines déjà cités.

L'origine du mot robot est issue du tchèque "robota" qui signifie travail forcé. Le terme
de robotique est apparu en 1942 dans le cycle universellement connu rédigé par Isaac Asimov
et intitulé "Les robots". Un robot est une machine programmable qui imite des actions d'une
créature intelligente. Isaac Asimov a écrit les 3 lois fondamentales de la robotique. Celles-ci
permettent d’éviter que cette science amène l’apocalypse avec elle :

1ère loi : Un robot ne peut porter atteinte à un être humain ni, en restant passif, laisser cet être
humain exposé au danger.

2ième loi : Un robot doit obéir aux ordres donnés par les êtres humains, sauf si de tels ordres
sont en contradiction avec la première loi.

3ième loi : Un robot doit protéger son existence dans la mesure où cette protection n'est pas
en contradiction avec la première ou la deuxième loi.

Les robots prennent actuellement une place importante dans notre vie, on les trouve dans
toutes les entreprises pour accélérer la production ou pour agir là où l'homme ne peut
travailler cause du danger, à la maison pour aider à la cuisine et aux tâches ménagères, à la
guerre (hé oui, un missile, ça peut être considéré comme un robot), dans les services publics :
hôpitaux, casernes de pompiers, la police, au cours de l’histoire, 3 types différents de robots
sont apparus attestant chacun de nouvelles évolutions :

6
Le premier type de machine que l'on peut appeler robot correspond aux "Automates". Ceux-ci
sont généralement programmés à l'avance et permettent d'effectuer des actions répétitives.
Le second type de robot correspond à ceux qui sont équipés de capteurs (les sens du robot).
On trouve tout type de capteurs (température, photo électronique, à ultrasons pour par
exemple éviter les obstacles et/ou suivre une trajectoire). Ces capteurs vont permettre au robot
une relative adaptation à son environnement afin de prendre en compte des paramètres
aléatoires qui n'auraient pu être envisagés lors de leur programmation initiale. Ces robots sont
Donc bien plus autonomes que les automates.

Enfin le dernier type de robot existant correspond à ceux disposant d'une intelligence dite
"artificielle" et reposant sur des modèles mathématiques complexes tels que les réseaux de
neurones. En plus de capteurs physiques comme leurs prédécesseurs, ces robots peuvent
prendre des décisions beaucoup plus complexes et s'appuient également sur un apprentissage
de leurs erreurs comme peut le faire l'être humain. Bien sûr il faudra attendre encore
longtemps avant que le plus "intelligent" des robots ne soit égal, tant par sa faculté
d'adaptation que par sa prise de décisions, à l'Homme. Mais que nous réserve le futur ?

2. HISTORIQUE :

A. Les premiers mécanismes :

Apparue vers 3500 av. J-C. la roue est considérée comme le premier ouvrage technique
significatif de l’histoire de l’humanité, que ce soit pour les tours de potiers ou pour le
transport.

Figure 1.1 : 2600 avat J.C Roue sumérienne

7
B. L’horlogerie :

Les clepsydres (horloges à eau) furent probablement inventées vers 1600 av. J-C. en
Egypte. De simples bols percés dont l’écoulement régulier permettait une mesure
rudimentaire du temps, elles furent perfectionnées en Grèce quelques siècles avant Jésus
Christ, avant de constituer de véritables automates sophistiqués sous les civilisations chinoises
et arabes du premier millénaire

L’horlogerie est aussi le berceau des premiers automates dont nous avons la trace, le plus
ancien conservé étant le coq automate des Trois Rois de l’horloge astronomique de la
cathédrale Notre-Dame de Strasbourg.[1]

Figure 1.2 : 1380 horloge automate de notre


Dame de Dijon

C. Les automates :

Un des automates les plus surprenants est certainement le canard digérateur de Jacques de
Vaucanson (1738). Capable de boire, manger, cancaner et digérer comme un véritable animal,
il fut malheureusement détruit dans un incendie au milieu du XIXème siècle et il n’en reste
que des photographies

8
Figure 1.3 : 1738 Canaed digérateur de
jacques de Vaucanson

D. La cybernétique :

Les automates autorégulés forment la base de la cybernétique. Ici les automates ne se


contentent pas d’effectuer des mouvements préprogrammés, mais interagissent avec leur
environnement, qui les gouverne. Quelques exemples : Le chien électrique de Hammond et
Miessner (1915) se guide à la lumière, tout comme Philidog, le chien d’Henri Piraux (1928) et
le renard de Ducrocq (1953). [1]

E. L’intelligence artificielle :

Dans la droite ligne de la cybernétique, l’objectif de rendre les machines intelligentes a


mené Alan Turing à définir en 1950 une méthode afin de tester la présence d’une conscience
ou d’une intelligence au sein d’une machine. C’est le test de Turing, discuté de nos jours,
mais certainement fondateur dans le domaine de l’intelligence artificielle, tout comme les
travaux de John McCarthy qui définit le terme d’ « intelligence artificielle » (1956).

En 1963, le programme « General Problem Solver » préfigure l’apparition des systèmes


experts tels que Dendral (1965), programmes ou outils capables de reproduire les capacités
d’analyse et de raisonnement de spécialistes : démonstrations mathématiques, diagnostics, etc.
En 1970, le programme SHRDLU pouvait discuter et raisonner sur les éléments d’un
monde prédéfini, contenant des cubes et des pyramides. L’environnement très simple de ce
programme donna de faux espoirs quant à la faisabilité d’un programme intelligent dans des
situations plus complexes de la réalité.[1]

9
F. Les rovers :

Véhicules destinés à explorer la surface de planètes de façon quasiment autonome,


effectuer des mesures et prélever des échantillons, les rovers (ou astromobiles) furent
développés par les russes dès les années 1960, tel le Lunokhod 1.
La Nasa développa aussi des rovers à partir de 1970 dans le cadre du programme Apollo.
Sojourner explora la planète Mars en 1997 et Curiosity en 2012.

G. Les animats :

Animaux artificiels, ils sont l’objet d’une branche particulière de la cybernétique dont
l’objectif est de copier les mécanismes du vivant. Si le terme animat ne fut définit qu’en 1985
par S.W. Wilson, en revanche les machines inspirées du vivant ont de tous temps stimulé les
artistes et savants.

On attribue par exemple à Archytas de Tarente (IVème siècle av. J-C.) ce qui est
considéré comme le premier robot de l’histoire de l’humanité, bien avant les premières
horloges et automates dont nous avons des traces physiques : un pigeon de bois capable de
voler, propulsé par de la vapeur. Aucun vestige, aucune photo ou représentation fidèle de ce
mécanisme n’existe toutefois.

Léonard de Vinci aurait aussi construit un automate de lion, présenté à la cour de


François Ier en 1515. Une réplique à été reconstituée en 2010 à partir de bribes d’informations

Figure 1.4 : 1994-2005 Robot serpent

10
3. LES ROBOTS INDUSTRIELS :

Un robot industriel est un système polyariticulé à l’image d’un bras humain souvent
composé de 6 degrés de liberté, 3 axes destinés au positionnement et 3 axes à l’orientation
permettant de déplacer et d'orienter un outil (organe effecteur) dans un espace de travail
donné.

On peut distinguer :

 les robots de peinture ou soudure largement utilisés dans l'industrie automobile


 les robots de montage de dimension souvent plus réduite,
 les robots mobiles destinés à l’inspection souvent associés à de l’intelligence artificielle et
capables, dans certains cas, de prendre en compte l’environnement.

Figure 1.5 : robot industriel Kawasaki FS-03N

4. DOMAINES D'UTILISATION :

 Les robots industriels ont d'abord été développés pour intervenir dans les milieux à
risques (nucléaire, forte corrosion...)
 Ils servent aussi beaucoup dans le maniement d'objets lourds.
 Le petit assemblage de précision sur des petites séries.

11
5. LES ROBOTS SIX AXES :
Un robot 6 axes contient principalement 6 articulations, 6 degrés de liberté.

Précisons la notion d'articulation : Une articulation lie deux corps successifs en limitant
le nombre de degré de liberté de l'un par rapport à l'autre. Soit m le nombre de degré de liberté
résultant, encore appelé mobilité de l'articulation. La mobilité d’une articulation est telle que :
0 ≤ m ≤ 6.

Lorsque m = 1 ; ce qui est fréquemment le cas en robotique, l'articulation est dite simple :
soit rotoïde, soit prismatique.

 Articulation rotoïde : Il s'agit d'une articulation de type pivot, notée R, réduisant le


mouvement entre deux corps à une rotation autour d'un axe qui leur est commun. La
situation relative entre les deux corps est donnée par l'angle autour de cet axe

Symbole de l'articulation rotoïde

 Articulation prismatique : Il s'agit d'une articulation de type glissière, notée P, réduisant


le mouvement entre deux corps à une translation le long d'un axe commun. La situation
relative entre les deux corps est mesurée par la distance le long de cet axe

Symbole de l'articulation prismatique

Remarque : Une articulation complexe, avec une mobilité supérieure à 1, peut toujours se
ramener à une combinaison d'articulations prismatique ou rotoïde. Par exemple, une rotule est
obtenue avec trois articulations rotoïdes dont les axes sont concourants.

12
Chapitre II : Conception, simulation et impression 3D
1- INTRODUCTION :

A travers ce chapitre nous souhaitons vous parler un peu, dans un premier temps, de
notre inspiration, de détailler un peu notre objectif derrière ce projet, présenter les étapes de
conceptions, l’assemblage des pièces, l’impression en 3D, et finalement l’assemblage du
robot.

2- INSPIRATION :

EXI6 est un robot inspiré des leaders mondiaux dans le domaine de la robotique qui ont
marqué l’histoire. Parmi ces robots on trouve : Kuka, ABB, Fanuc, YASKAWA, Stäubli ...

Figure 2.1 : KUKA

3- OBJECTIF :

Ce projet est une utilisation et applications des connaissances acquises dans nos formations.
En commençant par une étude de faisabilité, un design, une conception, et puis la commande.
On a pu utiliser la technologie d’impression 3D pour toucher notre projet, et puis en utilisant
une programmation en langage C#, une interface graphique de commande, des servos moteurs
commandés et une carte Arduino, notre robot a pu faire des tâches et mouvements simulé sur

13
le logiciel Catia. A part qu’il soit un projet didacticiel, Ce robot est un prototype
multifonctions inspirés des leaders mondiaux (Kuka, ABB, Fanuc..) capable d’effectuer des
tâches de manutention, soudage, ou peinture.

Avec un total de six articulations, ce robot est capable d’effectuer des mouvements proches de
celle d’un bras humain mais d’une précision bien plus importante.

4- CONCEPTION :
L’étape de la conception était très cruciale, vu que c’est un assemblage composé de
plusieurs pièces, plusieurs contraintes étaient en jeu. Au début, on avait essayé de simplifier
les pièces au maximum car on a espérer les fabriqué avec du découpage laser ou en machine
CNC. Mais après un certain temps et à cause de quelques problèmes, on a décidé d’imprimer
le robot en 3D. La décision n’était pas facile car elle avait aussi ses propres contraintes, mais
elle nous a permis d’avoir des pièces beaucoup plus complexe dans un temps plus moins que
dans d’autres procédés.

5- LES CONTRAINTES DE CONCEPTION :

Minimiser le nombre des pièces :

14
Avoir un montage possible bien ordonné et facile :

15
6- IMPRESSION 3D DU ROBOT :
Impression 3D c’est quoi ?

Qui dit « impression 3D » dit « modèle 3D », tout commence par la conception de l’objet
à partir d’un logiciel de CAO (CATIA, SolidWorks, ProEngineer par exemple). Le fichier 3D
obtenu, le plus souvent au format .STL, est découpé en plusieurs couches via un logiciel
dénommé « slicer » (comme Makerware, Cura ou Repetier), avant d’être envoyé à la machine.

L’impression 3D démarre par la mise à température de la machine (autour de 200°C),


nécessaire pour la fusion de la matière. Une fois la machine chauffée, un fil de matière, de
l’ordre de 0.1 millimètre de diamètre, est alors extrudé sur une plateforme à travers une buse
se déplaçant sur 3 axes, x, y et z. La plateforme descend d’un niveau à chaque nouvelle
couche appliquée, jusqu’à impression de l’objet.

Cette technologie est compatible avec un large choix de polymères thermoplastiques


(ABS, Polycarbonate, PPSF pour polyphenylsulfone, et ULTEM), ce qui se traduit par une
grande gamme de couleurs (98% des couleurs de Photoshop sont disponibles), d’excellentes
propriétés mécaniques et de bio-compatibilités. En plus, il est aussi possible d’imprimer avec
des filaments de bois et de pierre (LayWood et LayBrick respectivement), et du céramique et
des matières alimentaires en faisant des adaptations au niveau de la tête d’extrusion. En
conséquence, le dépôt de matière fondue est utilisé dans de nombreux domaines:
l’aérospatiale, l’automobile, l’architecture, le médical, la décoration, l’art et la cuisine, autant
pour le prototypage rapide que pour la fabrication de pièces fonctionnelles.[2]

La machine utilisée :

C’est une Duplicator 4x, voici ses caractéristiques :

Propriété Mécaniques :

16
 Dimensions hors tout: 320 x 466 x 382 mm
 Roulements à billes linéaires
 Arbres de précision de 8 mm
 Assemblée avec une tête réglée en PLA (une seconde tête est livrée avec la machine et
à monter soit même) + Protection en plexiglass
 Taille maxi de la pièce imprimable : 225 x 145 x 150 mm
 Choix de l'épaisseur des couches : de 0,1 à 0,34 mm (réglable par le logiciel
Replicator G)
 Buse de diamètre 0,4 mm
 Vitesse: 90mm/s max
 Température maximale recommandée extrudeuse: 230°C
 Température maximale recommandée pour la platforme de construction: 120 C
 Précision de positionnement de 2,5 microns sur l'axe Z et 11 microns sur les axes X et
Y.

17
Figure 2.2 : Les composants d’une Imprimante 3D
Le logiciel 3DS MAX est un outil de modélisation et d'animation 3D, et c’est grâce à ce
logiciel qu’ils peuvent savoir où exactement il faut mette les supports de chaque pièce.

Les supports pour imprimer la


base

Dans cette étape ils préparent le lit de l’imprimante avec les dimensions réelles, puis ils
cherchent à mettre les pièces dans la meilleure combinaison, pour savoir est ce qu’ils
peuvent imprimer plusieurs pièces à la fois.

Les différentes combinaisons


sous le logiciel 3DS Max

18
Figure 2.3 : Les pièces sous le logiciel « slicer »

Figure 2.4 : Les pièces imprimées

19
7. ASSEMBLAGE FINALE DU ROBOT :

Validation des assemblages, ce qui montre la grande et la pertinente précision de


l’impression 3D.

Figure 2.5 : Validation des pièces sur CATIA

Figure 2.6 : Validation des pièces en réalité


20
21
Chapitre III : Matériels choisis
1. MATERIELS UTILISE :
Nous découvrons dans ce chapitre le matériel utilisé pour construire notre bras, ainsi que
les choix effectués pour chaque matériel.

Tout bras manipulateur est constitué d’un ensemble d’articulation qui permettent de
nombreux mouvements, chaque articulation contient un servomoteur, l'ensemble constitue les
actionneurs.

La partie commande synthétise les consignes des asservissements pilotant les


actionneurs, à partir de la fonction de perception et des ordres de l'utilisateur. C’est la partie
ARDUINO.

A. ARDUINO MEGA :

La carte Arduino est le cœur de notre Robot, c’est comme on dit le chef d’orchestre.

La carte Arduino Mega 2560 :

a. Vue d'ensemble :
La carte Arduino Mega 2560 est une carte à microcontrôleur basée sur un
ATmega2560, Cette carte dispose :

 de 54 broches numériques d'entrées/sorties (dont 14 peuvent être utilisées en


sorties PWM (largeur d'impulsion modulée))
 de 16 entrées analogiques (qui peuvent également être utilisées en broches
entrées/sorties numériques)
 de 4 UART (port série matériel)
22
 d'un quartz 16Mhz, d'une connexion USB
 d'un connecteur d'alimentation jack
 d'un connecteur ICSP (programmation "in-circuit")
 et d'un bouton de réinitialisation (reset)

Elle contient tout ce qui est nécessaire pour le fonctionnement du microcontrôleur. Pour
pouvoir l'utiliser et se lancer, il suffit simplement de la connecter à un ordinateur à l'aide d'un
câble USB (ou de l'alimenter avec un adaptateur secteur ou une pile, mais ceci n'est pas
indispensable, l'alimentation étant fournie par le port USB). La carte Arduino Mega 2560 est
compatible avec les circuits imprimés prévus pour les cartes Arduino Uno, Duemilanove ou
Diecimila.[3]

b. Brochage de la carte Mega 2560 :

Figure 3.1: Brochage de la carte ARDUINO


Mega

23
B. Les servomoteurs :
On a utilisé les servomoteurs car ils sont faciles à commander, ainsi qu’ils sont rapide et
pratique

a. Généralités :
Un servomoteur est un type de moteur intégrant dans un même boitier la mécanique (moteur à
courant continu) et l’électronique de contrôle simplifié, généralement asservi en position avec
une limite de débattement d’angle de 180 degrés, mais également disponible en rotation
continue.

Son intérêt est la facilité de commande par un signal numérique externe et la forte
démultiplication que les engrenages intégrés dans son boitier permettent.

Les servomoteurs que nous utilisons sont dits "de modélisme" car ils servent habituellement à
déplacer des pièces (voiles, cabestans, dérives, gouvernes, volets) de modèles réduits, bateaux
ou avions, et sont reconnaissables grâce à leur boitier standardisé, rectangulaire et noir.

En modélisme, un servomoteur est souvent abrégé en « servo ».


C’est un ensemble mécanique et électronique comprenant

Figure 3.2: un servomoteur

 un moteur à courant continu de très petite taille ;

24
 un réducteur en sortie de ce moteur diminuant la vitesse mais augmentant le couple ;

 un potentiomètre (faisant fonction de diviseur résistif) qui génère une tension variable,
proportionnelle à l'angle de l'axe de sortie ;

 un dispositif électronique d'asservissement ;

 un axe dépassant hors du boîtier avec différents bras ou roues de fixation.

Il existe deux types de servomoteurs :

 Les servomoteurs angulaires : ils tournent seulement de 0 degrés à 180 degrés.


 Les servomoteurs continus : ils tournent de 0 degrés jusqu’à 360 degrés.

Nous on va utiliser ceux qui sont angulaires.

Alors Récapitulons : Les servos servent à actionner les parties mobiles de notre robot (les
articulations).
b. CONNECTIQUE

Le servomoteur a besoin de trois fils de connexion pour fonctionner. Deux fils servent à son
alimentation, le dernier étant celui qui reçoit le signal de commande :

 rouge : pour l’alimentation positive (4.5V à 6V en général)


 noir ou marron : pour la masse (0V)
 orange, jaune, blanc, … : entrée du signal de commande

c. Arduino et les servomoteurs :


i- Câblage :

Nous l’avons vu plus haut, la connectique d’un servomoteur se résume à trois fils : deux pour
l’alimentation positive et la masse et le dernier pour le signal de commande. Rappelons qu’un
servomoteur accepte généralement une plage d’alimentation comprise entre 4.5V et 6V (à 6V
il aura plus de couple et sera un peu plus rapide qu’à 4.5V). Si on a besoin d’utiliser qu’un ou
deux servomoteurs, on peut les brancher sur la sortie 5V de la carte Arduino. Si on veut en
utiliser plus, il serait bon d’envisager une alimentation externe car le régulateur de l’Arduino
n’est pas fait pour délivrer trop de courant, on risque de le cramer. Dans ce cas, il ne faut pas
oublier de relier la masse de l’alimentation externe et celle de l’Arduino afin de garder un
référentiel électrique commun. Le câble permettant le transit du signal de commande du servo
peut-être branché sur n’importe quelle broche de l’Arduino. Cependant lorsque nous
utiliserons ces derniers, les sorties 9 et 10 ne pourront plus fournir un signal PWM (elles
pourront cependant être utilisées comme de simples entrées/sorties numériques). C’est une
des contraintes de la bibliothèque que nous allons utiliser.

Ces dernières contraintes s’appliquent différemment sur les cartes MEGA


25
Voici maintenant un petit exemple de montage d’un servo sur l’Arduino :

Figure 3.3: montage d’un servo sur l’Arduino

ii- La librairie Servo :

Pour utiliser le servo avec Arduino, il va nous falloir générer le signal PPM vu précédemment.
C’est à dire créer un signal d’une fréquence de 50Hz et modifier l’état haut d’une durée
comprise entre 1 et 2ms. Contraignant n’est-ce pas ? Surtout si on a plusieurs servos et tout un
programme à gérer derrière… C’est pourquoi l’équipe d’Arduino a été sympa en
implémentant une classe très bien nommée : Servo. Tout comme l’objet Serial nous permet de
faire abstraction du protocole de la voie série, l’objet Servo va nous permettre d’utiliser les
servomoteurs. Et comme elle est développée par une équipe de personnes compétentes, on
peut l’utiliser facilement car elle est optimisée et sans bugs. Voyons maintenant comme s’en
servir :

26
iii- Integration de la librairie :

Tout d’abord, il nous faut inclure la librairie dans notre sketch. Pour cela nous pouvons au
choix écrire nous même au début du code #include <Servo.h> ou alors cliquer sur library dans
la barre de menu puis sur “Servo” pour que s’écrive automatiquement et sans faute la ligne
précédente. Ensuite, il nous faudra créer un objet de type Servo pour chaque servomoteur que
nous allons utiliser. Nous allons ici n’en créer qu’un seul que j’appellerai “monServo” de la
manière suivante : Servo monServo;. Nous devons lui indiquer la broche sur laquelle est
connecté le fil de commande du servo en utilisant la fonction attach() de l’objet Servo créé.
Cette fonction prend 3 arguments :
 Le numéro de la broche sur laquelle est relié le fil de signal
 La valeur basse (angle à 0°) de la durée de l’état haut du signal de PWM en
microsecondes (optionnel, défaut à 544 µs)
 La valeur haute (angle à 90°, 180°, 360°, etc.) de la durée de l’état haut du signal de
PWM en microsecondes (optionnel, défaut à 2400 µs)

Par exemple, si mon servo possède comme caractéristique des durées de 1ms pour 0° et 2ms
pour 180° et que je l’ai branché sur la broche 2, j’obtiendrais le code suivant :
27
iv- UTILISER LE SERVO :

Une fois ces quelques étapes terminées, notre servo est fin prêt à être mis en route. Nous
allons donc lui donner une consigne d’angle à laquelle il doit s’exécuter. Pour cela, nous
allons utiliser la fonction prévue à cet effet : write().

Cette fonction prend pour argument un nombre, de type int, qui donne la valeur en degré de
l’angle à suivre. Si par exemple je veux placer le bras du servo à mi-chemin entre 0 et 180° :

Pour terminer, voilà le code complet qui nous permettra de mettre l’angle du bras de notre
servomoteur à 90° :

v- Conclusion :

On a vue plus haut comment utiliser, broncher, et commander les servomoteurs via Arduino.

On a expliqué un peu la programmation de ces servo, mais de façon générale

Dans le dernier chapitre, on va détailler notre propre code de commande de ces servomoteurs.

d. Fonctionnement :
Les servomoteurs sont commandés par l'intermédiaire d'un câble électrique à trois fils qui
permet d’alimenter le moteur et de lui transmettre des consignes de position sous forme d’un
signal codé en largeur d'impulsion plus communément appelé PWM. Cela signifie que c'est la
durée des impulsions qui détermine l'angle absolu de l'axe de sortie et donc la position du bras
de commande du servomoteur. Le signal est répété périodiquement, en général toutes les 20

28
millisecondes, ce qui permet à l'électronique de contrôler et de corriger continuellement la
position angulaire de l'axe de sortie, cette dernière étant mesurée par le potentiomètre.

Lorsque le moteur tourne, l'axe du servomoteur change de position, ce qui modifie la


résistance du potentiomètre. Le rôle de l'électronique est de commander le moteur pour que la
position de l'axe de sortie soit conforme à la consigne reçue : c'est un asservissement.

e. La mécanique :
Comme on le voit dans l’image précédente, le servomoteur possède plusieurs pignons
(engrenages) en sortie du petit moteur CC. Cet ensemble est ce qui constitue le réducteur. Ce
réducteur fait deux choses : d’une part il réduit la vitesse de rotation en sortie de l’axe du
servomoteur (et non du moteur CC), d’autre part il permet d’augmenter le couple en sortie du
servomoteur (là encore non en sortie du moteur CC).

Alors, à quoi ça sert de réduire la vitesse et d’augmenter le couple ? Eh bien les moteur CC se
débrouillent très bien pour tourner très vite mais lorsqu’ils font une si petite taille ils sont bien
moins bons pour fournir du couple. On va donc utiliser ce réducteur qui va réduire la vitesse,
car nous n’avons pas besoin d’avoir une vitesse trop élevée, et augmenter le couple pour ainsi
pouvoir déplacer une charge plus lourde. Ceci est prouvé par la formule :

(1)

Le rapport de réduction (R) du réducteur définit le couple et la vitesse de sortie (en sortie du
réducteur) selon la vitesse et le couple d’entrée (en sortie du moteur CC). Ces données sont
souvent transparentes lorsque l’on achète un servomoteur. Dans la quasi-totalité des cas, nous
n’avons que la vitesse angulaire (en degré par seconde °/s ), le couple de sortie du
servomoteur et le débattement maximal (s’il s’agit d’un servomoteur ayant un débattement de
0 à 90°, 180, 360 ou autre). Et c’est largement suffisant étant donné que c’est que ce qui nous
intéresse dans le choix d’un servomoteur. Il y a cependant une unité qui pourra peut-être vous
donner quelques doutes ou une certaine incompréhension. Cette caractéristique est celle du
couple du servomoteur et a pour unité le kg.cm (kilogramme-centimètre). Nous allons tout de
suite rappeler ce que cela signifie. Avant tout, rappelons la formule suivante :

(2) C=F×r

29
qui
donne la relation entre le couple C du servomoteur (en kilogramme mètre), F la force exercée
sur le bras du servomoteur (en kilos) et r la distance (en m) à laquelle s’exerce cette force par
rapport à l’axe de rotation du servomoteur.

Disséquons dans notre langage la signification de cette formule : le couple (C) exercé sur un
axe est égal à la force (F) appliquée au bout du levier accroché à ce même axe. À force
identique, plus le levier est long et plus le couple exercé sur cet axe est important. En d’autres
termes, si le servomoteur dispose d’un bras d’un mètre de long, il aura beaucoup plus de
difficultés à soulever une charge de, disons 10g, que son homologue qui supporte la même
charge avec un bras nettement raccourci à 10 centimètres. Prenons l’exemple de l’un de nos
servomoteurs : Le MG90s.

Sa documentation nous indique que lorsqu’il est alimenté sous 4.8V il peut fournir un couple
(torque en anglais) de 1.8 kgf·cm. C’est à dire, qu’au bout de son bras, s’il fait 1 centimètre,
il pourra soulever une charge de 1.8kg.

Si le bras fait 10 centimètres, vous aurez compris que l’on perd 10 fois la capacité à soulever
une masse, on se retrouve alors avec un poids de 180g au maximum (sans compter le poids du
bras lui-même, certes négligeable ici, mais parfois non).

Voilà une image qui permet d’illustrer un peu notre étude. Bref. Ici, chaque poids représenté
est celui maximum que peut soulever le servomoteur selon la distance à laquelle il est situé. Et
ne vous avisez pas de les mettre tous car votre pauvre servo serait bien dans l’incapacité de les
soulever en même temps. Et oui, malgré le fait qu’il n’y ait que 320g au bout du bras, le servo
voit comme s’il y avait un poids de 3,2kg ! Dans cette situation on aurait trois fois 3,2kg, ce
qui ferait un poids total de 9,6kg ! Impossible pour le servo de ne bouger ne serait-ce que d’un
millimètre (vous risqueriez fort de le détruire d’ailleurs).

Quel poids je peux mettre sur l’axe du moteur ?

30
Tout dépend du diamètre de cet axe. Plus on éloigne le poids de l’axe et plus celui-ci
diminue, et cela fonctionne dans l’autre sens : plus on le rapproche, plus sa valeur maximale
augmente. En théorie, si on se met à 0cm, on pourrait mettre un poids infini. Admettons, plus
rigoureusement, que l’on mette le poids à 1mm de l’axe (soit un axe de diamètre 2mm). Le
poids que le servo pourrait soulever serait de… 10 fois plus ! Soit 18kg !

En conclusion, on peut admettre la formule suivante qui définit le poids maximal à mettre à la
distance voulue :

Avec :

 Pmax : poids maximal de charge en kilogramme (kg)


 C : couple du servomoteur, en kilogramme centimètre (kg.cm)
 d : distance à laquelle le poids est placé en centimètre (cm)

f. MG90S :

31
Caractéristiques techniques

Couple 2,2kg/cm sous 6V

Couple 1.8Kg/cm sous 4.8V

Poids 13,4 (g)

Dimensions 22,8 x 12,2 x 28,5 mm

Roulement Oui

Pignon Metal

Taille Standard

Vitesse sous 4.8V 0.10 sec/60°

Vitesse sous 6.0V 0,08sec/60°

g. MG996R:
Ce servo numérique est le plus haut de la gamme de taille standard TowerPro, il est équipé de
pignons métaux et de 2 roulements lui assurant une precision et une longévité sans égale.

32
Caractéristiques techniques
Couple 11 (Kg.cm/6,0V)

Couple 00 (Kg.cm/4,8V)

Poids 55 (g)

Longueur 40 (mm)

Largeur 19.7 (mm)

Hauteur 42.9 (mm)

Roulement Oui

Pignon Metal

Taille Standard

Vitesse sous 4.8V 0.18 (s/60°)

Vitesse sous 6.0V 0.14 s/60°)

C. Module Bluetooth :
Afin de commander à distance notre bras, on a pensé à utiliser un protocole Bluetooth.

A. Qu’est-ce que le bluetooth ?

Le Bluetooth est un protocole de communication sans fil. Il a vu le jour à la fin des années
1990 et n’a vraiment percé que dans les années 2000. Il a subi de nombreuses révisions et
évolutions pour atteindre aujourd’hui la version 4.1 depuis la fin 2013.
À l’origine, la société Ericsson cherchait à développer un moyen d’utiliser une voie série sans
passer par un fil. Petit à petit, ses utilisations se sont étendues pour atteindre ce que l’on
connais aujourd’hui, un moyen de connecter sans fil de nombreux appareils, allant d’une
Arduino et sa voie série à un ordinateur, ou pour utiliser un casque audio ou encore une
manette de jeu sur une console de salon.

33
B. Présentation du module bluetooth HC-05 :

Comme expliqué plus tôt, le module utilisé se nomme HC-05 et est trouvable assez facilement
pour quelques dirhams. Il est aussi gros que le pouce et est en fait un montage d’un module
Bluetooth sur un petit PCB. Cela permet de s’affranchir de certaines contraintes comme la
soudure du module (qui est très délicate), la conversion 5V -> 3.3V, la régulation de
l’alimentation (3.3V de nouveau) ou encore l’ajout de LEDs de signal. Tout cela est déjà
intégré !
Alors que trouvons-nous sur ce module ?
Tout d’abord, un ensemble de broches. VCC et GND pour l’alimentation (5V), Rx/Tx pour la
communication. On y voit aussi une broche “Key” qui servira à envoyer des commandes de
configuration au module (nous y reviendrons plus tard). La dernière broche nommée “Led
permet de brancher une LED pour obtenir un signal sur l’état du module.

C. Communication entre HC-05 et Arduino :


Maintenant que le module est connecté, il est temps de le mettre en œuvre avec notre
Arduino. Pour garder les choses simples, nous allons simplement faire une connexion
qui permet de renvoyer tout sur la voie série de l’ordinateur.

34
D. Alimentation du Robot :
a. L’alimentation des servos :
Les servomoteurs accepte une alimentation minimale de 5V, et maximale de 6V.
Notre bras contient 8 servomoteurs, chaque articulation comporte un servomoteur et un 8 eme
se trouve sur la pince,
Si on veut alimenter tous ces servomoteurs, il serait bon d’envisager une alimentation externe
car le régulateur de l’Arduino n’est pas fait pour délivrer trop de courant, on risque de le
cramer. Dans ce cas, il ne faut pas oublier de relier la masse de l’alimentation externe et celle
de l’Arduino afin de garder un référentiel électrique commun.
b. L’alimentation de l’Arduino :
Les sources de 5V sont monnaie courante de nos jours. On en retrouve par exemple
énormément avec tous les appareils mobiles qui demande une alimentation USB pour être
rechargé (chargeur de portable, "power pack" pour faire une batterie d'appoint…).on la relie a
l’Arduino. Pour cela, on va passer au-delà du régulateur et amener directement la tension sur
la borne "+5V" (et bien sûr sur le GND). Il est aussi possible d'adapter un câble USB pour
amener cette tension sur le connecteur USB (et ainsi limiter les erreurs possibles de
branchement). C'est la solution la plus simple.
c. Le problème de déconnexion de l’Arduino :
Comme on a déjà vue auparavant, le servomoteur contient un mini moteur a courant continu.
La caractéristique du couple de ce dernier est la suivante :

35
Caractéristique électrique Couple en
fonction du courant

Alors de cette caractéristique, on peut déduire que le couple est proportionnel au courant
moteur :

Cm = k × Im (1)
 K est une constante
 Cm : couple moteur
 Im : courant moteur
Donc si le couple augmente, le courant aussi augmente. Rappelons la fameuse formule du
couple en coté mécanique :

C=F×r (2)
F est la force appliquée = m x g (donc qui dit force dit poids).

On a r est une constante, donc de même si F augmente c’est-à-dire le poids est important,
automatiquement C augmente aussi :

Sachons que la puissance délivrée par l’Arduino est constante :

P=UxI (3)
Quand on a un pique de courant, la tension diminue rapidement et c’est proportionnel au
courant.
Pour notre cas, et si on veut parler seulement du poids du bras, cela nécessite un appel de
courant important. Cela cause la diminution de la tension de l’Arduino jusqu’a une valeur
inferieur a 1, et dans ce cas l’Arduino se déconnecte.

d. Solution :
Alors pour remédier à ce problème on a pensé à plusieurs solutions. (Changer les moteur,
changer les dimensions du robot, changer la matière de construction du robot, utiliser des
alimentations stabilisé …). On a pensé à utiliser un condensateur pour atténuer la chute de
tension qui est dû au pique du courant.

36
Chapitre IV : La partie commande
1. SCHEMA SYNOPTIQUE :

Figure 4.1: Schéma synoptique de notre système

2. COMMANDE LOCALE :

Pour l’interface de commande, on a utilisé un logiciel de développement pour WINDOWS.

Cette interface nous permettra de commander le bras, plus précisément les servomoteurs de
chaque articulation.

37
a. Visual studio :

Microsoft Visual Studio est une suite de logiciels de


développement pour Windows conçue
par Microsoft. La dernière version s'appelle Visual
Studio 2015.

Visual Studio est un ensemble complet d'outils de


développement permettant de générer
des applications Web ASP.NET, des Services
Web XML, des applications bureautiques et des
applications mobiles. Visual Basic, Visual
C++, Visual C# et Visual J# utilisent tous le même
environnement de développement intégré
(IDE, Integrated Development Environment), qui
leur permet de partager des outils et facilite la
création de solutions faisant appel à plusieurs
langages. Par ailleurs, ces langages permettent de
mieux tirer parti des fonctionnalités du Framework
.NET, qui fournit un accès à des technologies clés simplifiant le développement d'applications
Web ASP et de Services Web XML grâce à Visual Web Developer.

b. Langages supportés par Visual Studio :


 Visual Basic
 Visual C++
 Visual C#
 Visual Web Developer
 Visual J#
 SQL Server

38
39
c. Fenêtre concepteur :

Visual studio utilise une interface graphique ce qui permet au


utilisateur de glisser-déposer des objets visuels pour créer son
interface.

Cette boite à outils contient tous les windows formes, parmis


ces derniers on trouve, les formes les plus utilisées, les
boutons, les checkBox.

40
41
On peut modifier le texte, ajouter des couleurs, des images…

42
d. Fenêtre code :
 Les parties de programme :

 Programmation des boutons :

43
Le bouton stop :

Et maintenant on peut utiliser notre interface :

44
3. COMMANDE A DISTANCE :

a) Application Bluetooth :
i. App inventor :

App Inventor est une application web open-


source à l'origine fourni par Google , et
maintenant à jour par le Massachusetts Institute
of Technology (MIT).
Il permet aux nouveaux arrivants à la
programmation informatique pour créer
des applications logicielles pour l' Android
système d'exploitation (OS). Il utilise une
interface graphique, très similaire
à Grattez et StarLogo TNG interface utilisateur , ce qui permet aux utilisateurs de glisser-
déposer des objets visuels pour créer une application qui peut fonctionner sur les appareils
Android. En créant App Inventor, Google a fait appel à d'importantes recherches avant dans le
calcul de l'éducation, ainsi que des travaux réalisés au sein de Google sur les environnements
de développement en ligne.
App Inventor et les projets sur lesquels elle se fonde sont informés par apprentissage
constructiviste théories, qui souligne que la programmation peut être un véhicule pour
engager des idées puissantes grâce à l'apprentissage actif. En tant que tel, il fait partie d'un
mouvement en cours dans les ordinateurs et l'éducation qui a commencé avec les travaux
de Seymour Papert et le Groupe de Logo MIT dans les années 1960 et a lui aussi manifesté
avec Mitchel Resnick l 'œuvre sur Lego Mindstorms et StarLogo .[4]

45
ii. Fenêtre concepteur :

On choisit notre sujet : MANIPULATOR_ARM.

46
Les différents screen de notre application :

iii. Fenêtre code (Blocs) :

47
Dans ce 1er screen, on a programmé le bouton 2 :

48
Au cours de ce projet on a découvert et expérimenté toutes les étapes de la
conception et de l’optimisation d’un bras six axes multitâches, de la mécanique jusqu’à
l’électronique, grâce à des tests et expériences. De nombreux choix et interprétations ont
été nécessaires afin de conduire ce projet à son terme tout en respectant les contraintes
qui nous ont étaient données.

Ce projet nous a permis de développer nos compétences en modélisation et en


simulation et de réalisation, et de découvrir certains logiciels comme Visual studio, de
programmer avec des langages développer de programmation comme le C et de
maitriser l’utilisation de la carte Arduino ainsi que de confronter plusieurs approches
d’un même problème pour en comparer les résultats.

Ce travail va représenter une plateforme open source pour les futurs étudiants
qui souhaitent travailler sur le même sujet ou bien ajouter pour des fonctionnalités au
système.

J’espère avoir répondu au mieux aux attentes du projet à travers mes travaux,
mes conclusions et mes réalisations.

49
[1] : https://www.robots.com/faq/show/what-are-six-axis-
robots

[2] : http://www.3ds.com/fr/produits-et-services/catia/

[3] : https://www.arduino.cc/

[4] : http://appinventor.mit.edu/

50

Vous aimerez peut-être aussi