Monter un robot télécommandé avec Arduino
AFFOYON Audrey
STEPHANES LIMA Leticia
Rapport de Projet IMA4 2015/16:
Robot Mobile pour Arduino
Encadré par : Emmanuelle Pichonat Alexandre Boé
Sommaire :
Introduction…………………………………………….. page 3
I. Conception mécanique…………………………… page 4
1.1. Le réducteur de vitesse………………………. page 4
1.2. Les pièces du robot………………………….. page 9
1.3. Le montage…………………………………. page 10
II. Electronique embarquée………………………….. page 11
2.1. Le pont en H……………………………… page 11
2.2. Capteurs et LEDS………………………… . page 13
2.3. Commande du robot par Arduino……………. page 13
III. Les tests de Fonctionnement…………………… .page 13
IV. Les difficultés rencontrées……………….……….. page 14
Conclusion…………………………………………… . page 15
Annexe 1: design des engrenages …………………… .. page 16
Annexe 2: design des pièces ……………………………. page 17
Annexe 3: programmes Arduino………………………… page 18
Introduction
Au cours du semestre 8, nous avons réalisé notre projet IMA afin de mettre en oeuvre les différents enseignements reçus dans cette section. Nous avons choisi de travailler sur le robot mobile pour arduino.
La robotique est un domaine vaste qui regroupe un grand nombre de matières telles que l’informatique, l’électronique, la mécanique etc. C'est pourquoi nous avons trouvé intéressant de créer un outil plus attirant pour les nouvelles générations dans leur découverte des nouvelles technologies. Nous avons choisi de concevoir un robot mobile capable de mettre en oeuvre ces matières.
Notre objectif au terme de ce projet est de réaliser un robot éducatif, facile à monter et bon marché. Il devra rassembler des éléments permettant de réaliser des expériences amusantes de découvertes de la robotique, l'électronique et l'informatique.
Nous voulons donc concevoir un robot capable d'interagir avec son environnement au moyen de capteurs. Il sera commandé à l'aide de différents programmes C qui auront pour intérêt de mettre en valeur une des matières citée plus haut. Nous pouvons diviser notre travail en deux phases majeures. D’abord la conception d'une base mécanique pour un robot à deux roues motrices. Puis l’intégration d'une plateforme robotique simple avec électronique de commande et microcontroleur.
Dans? ce rapport, nous tacherons de détailler les solutions retenues pour ce projet. De? cette façon, nous espérons pouvoir expliquer le développement complet de notre projet au cours de ces 12 semaines de travail.
I. Conception mécanique
Dans un premier temps, nous allons décrire le design en 3D du robot réalisé sur le logiciel AutoCAD et sa conception mécanique de mouvement, basée sur un réducteur de vitesse.
Design complet du robot mobile sur l’AutoCAD
1.1. Le réducteur de vitesse
Nous avons choisi deux moteurs à courant continu standards pour actionner les roues du Robot. Cependant, leurs vitesses maximales sont trop élevées pour un mouvement stable. C’est pourquoi nous avons été obligées de designer un réducteur de vitesse à base d’engrenages afin de réduire la vitesse de rotation de ces moteurs. Par la suite, nous allons spécifier les étapes de modélisation du réducteur.
? Support en magenta : Le support extérieur avec protection pour le moteur CC
? Support en jaune : Le support extérieur avec troue pour la roue
? Entre les supports : Les engrenages du réducteur, l’engrenage du moteur, les axes de rotation et les connecteurs
? En jaune : La roue
Design du réducteur de vitesse sur AutoCAD
a) Les engrenages
En utilisant le fichier tutoriel fournit par les étudiants du département de Mécanique, nous avons été capables de concevoir les engrenages principales pour le fonctionnement du réducteur. Dans ce cadre, nous avons eu besoin d’analyser l’engrenage de rotation du moteur d’abord.
Engrenage Moteur CC | |
Pressure Angle | 20° |
Nombre de Dents (Z?m)? | 10 dents |
Module (M) | 0.6 |
Diamètre (D?m)? | 6,02 mm |
Table de donnés – Engrenage Moteur
Nous avons choisi de faire tourner le moteur à une vitesse de rotation standard de 2000 rpm (209,4 rad/s). Nous pouvons alors déterminer les paramètres des engrenages du réducteur en partant du principe qu’elles doivent avoir le même module pour qu’elles puissent tourner ensembles.
Pour les calculs, nous avons besoins de quelques notions basiques.
? Les vitesses ??i et ??j des deux engrenages i et j reliés doivent avoir une relation proportionnel K?ij appelé « rapport de réduction »:?
Kij = ??ji
? Cette même relation K?ij doit? ? relier les nombre de dents de chaque roue? ? :?
Kij = ZZij
? Le nombre de dents d’un engrenage doit suivre la relation suivante (soit M la constante mathématique qui permet l’interaction des dents des engrenages sans blocage et Dm? son diamètre):?
Zi = DMi
Pour calculer les paramètres de la première (E1 liée à l’engrenage du moteur), nous avons choisi une vitesse de rotation égale à 1000 rpm (104 rad/s). Alors, nous arrivons aux résultats suivants.
Km1 = ??m1 =
=> Km1 = 0,5
Z1 = KZmm1 = 01,05
=> Z1 = 20
D1 = Z1×M = 20×0,6
=> D1 = 12
Le deuxième engrenage E2 est collé à E1 et, donc, tourne à la même vitesse. En imposant un nombre de dents Z2? égale à 10, nous arrivons à :?
D2 = Z2×M = 10×0,6
=> D2 = 6
Ensuite, pour le dernier engrenage E3 lié à E2, nous choisissons une vitesse standard de 1 m/s (294 rpm ou 31 rad/s). Dans ce cadre, les paramètres d’E3 seront :
K23 = ??32 = => K23 = 0,294
Z3 = KZ223 =
=> Z3 = 34
D3 = Z3×M = 34×0,6 => D3 = 20,4
Engrenage E1 | Engrenage E2 | Engrenage E3 | |
Pressure Angle | 20° | 20° | 20° |
Nombre de Dents (Zm) | 20 | 10 | 34 |
Module (M) | 0.6 | 0.6 | 0.6 |
Diamètre (Dm) | 12 mm | 6 mm | 20,4 mm |
Table de résultats – Paramètres des Engrenages
De cette façon, nous pouvons calculer le rapport de réduction complet qui donne la relation entre la vitesse de l’engrenage du moteur et celle du troisième engrenage (et, par conséquent, celle de la roue).
Km3 = ??m3 =
=> Km3 = 0,145
En utilisant ce rapport, nous sommes capables de diviser la vitesse de la roue par 7 par rapport à celle du moteur.
Une fois ces calculs effectués, nous sommes passées à la phase de design des engrenages sur AutoCAD et, pour une question de praticité, sur un deuxième software de design 3D FreeCAD (annexe 1).
b) Etude du couple
Avant de passer à la suite, il est important, aussi, d’étudier le couple minimal nécessaire pour faire que le robot soit capable d’avancer.
En partant d’une vitesse de 1 m/s pour le robot, sachant que les roues ont un diamètre de 8 cm et, en utilisant le rapport de réduction calculé avant, nous arrivons à une vitesse de consigne pour le moteur de la façon suivante.
Schéma de calcul des vitesses
Vroues = Vro?b×oDt×60
=> V roues = 239 rpm
Vmoteur = VKromu3es
=> V moteur = 1648 rpm
Nous pouvons, alors calculer la force du moteur Fm? en utilisant la deuxième Loi de Newton (soit Fr la force de résistance du sol).
Schéma des forces
M×g?×a? = Fm×Fr
=> Fm = 9,81×2,3×0,5 + 0,5×9,81
=> Fm = 16 N
Et, finalement, nous pouvons calculer le couple nécessaire.
Croue = Fm×D4
Croue = 17 mN×m
Pourtant, ce calcule se montre idéal et pas exactement réel dû au fait que le robot n’a pu être capable d’avancer sur le sol. Nous pouvons justifier ce problème par sa force résistante, trop élevée pour rendre possible le mouvement, que nous n’étions pas capable de mesurer parfaitement.
1.2. Les pièces du robot
Après la conception du réducteur, nous avons désigné les pièces de composition du robot. Ces dernières ont été conçues en tenant compte des calculs précédents et des fonctions spécifiques dont nous avions besoin pour fixer les composants principaux à embarquer.
a) Les supports
Les deux supports du robot ont été désignés pour protéger et fixer les composants embarqués sur le robot. Le supérieur fait la protection de la Breadbord utilisée pour embarquer le circuit de haut. L’inférieur, par contre, a la fonction de fixer le réducteur de vitesse, la carte Arduino et la batterie (circuit de bas). Il a aussi pour objectif de fixer la petite roue en arrière pour rendre le robot plus stable. Ils sont encore fixés entre eux par trois cylindres connecteurs (annexe2).
b) Les roues
Les grandes roues ont étés désignées pour se connecter aux engrenages des réducteurs de vitesse et, de cette façon, pour servir de motrices pour le mouvement du robot. La petite roue, par contre, a la fonction de rendre le robot plus stable et de lui donner la possibilité de tourner librement grâce à son axe de connexion circulaire (annexe2).
1.3. Le montage
Une fois nos pièces réalisées, nous sommes passées à l’impression 3D sur les imprimantes du Fabricarium. Toutes les pièces ont été faites en plastiques de cette façon, sauf le support inférieur du robot, fait en bois par la découpe laser à cause de la complexité du design et sa trop grande taille.
Après l’impression, toutes les pièces sont fixées par colle chaude et scotch noir, le même matériel qui fait la protection des roues.
Robot après montage
II. Electronique embarquée
La deuxième partie de notre travail a tourné autour de la conception électronique des circuits imprimés pour la commande des moteurs et, par conséquence, des roues. Nous nous sommes aussi attachées à rendre le robot sensible à son environnement à l’aide de capteur et de LEDS.
2.1. Le pont en H
Dans un premier temps, pour permettre au robot une grande mobilité (avancer, reculer, tourner à droite ou à gauche), nous devions assurer la rotation des moteurs dans les deux sens, commandable par l’Arduino. C’est pourquoi nous avons conçu un pont en H à placer en amont du moteur.
Le principe de ce circuit est simple. On peut l’expliquer par le schéma cidessous:
La commande des interrupteurs permet de faire circuler le courant dans le circuit dans un sens ou dans l’autre. Nous pouvons aussi réaliser un freinage en fermant les interrupteurs du bas ou du haut. Pour réaliser ce montage, nous utilisons:
2 transistors PNP BC557
2 transistors NPN BC547
4 résistances
4 Diodes
Nous avons d’abord testé le montage sur breadboard afin de vérifier son bon fonctionnement. Nous avons remarqué que le moteur avait du mal à démarrer. Pour y remédier, nous avons changé les résistances de 1 K? par des résistances moins élevées, en nous assurant que le courant de saturation des transistors soit atteint. Nous mettrons des résistances de 47? à la place.
Le montage testé, nous sommes passées à la réalisation sur le logiciel Altium.
L’objectif était de créer deux circuits imprimés afin d’alléger le dispositif électronique.
Capture du schématic du montage
Afin d’économiser les ports de notre Arduino, nous avons lié, deux à deux, les tansisstors qui fonctionnent en inverse. C’estàdire que lorsque Q1 est passant, Q4 ne l’est pas. Nous avons pu ainsi fabriquer nos 2 PCB pour la commande des moteurs.
Maintenant que notre robot peut se déplacer, nous devons le rendre sensible à son environnement.
2.2. Capteurs et LED
Pour commencer, nous avons commencer par rajouter des LEDS à l’avant et l’arrière du robot en guise de phares. Par la suite, le programme permettant de commander les moteurs en avant ou en arrière intégrera l’allumage de ces LEDS.
Puis nous avons ajouté un capteur de distance à l’avant du véhicule. Le but était de lui permettre de repérer et d’éviter des obstacles à 20 cm.
2.3. La commande Arduino
Ensuite, nous sommes passées à la phase de commande de la carte Arduino par le logiciel Arduino IDE. Notre objectif était de créer plusieurs fonctions qui permettrait la commande des moteurs en vitesse et en sens de rotation, ainsi que les LEDS et le capteur. Ces fonctions combinées assurent la commande du robot.
III. Les tests de Fonctionnement
Une fois que toutes les parties essentielles ont été complètes, nous sommes passées à la phase de tests.
D’abord, nous avons décidé de tester chaque partie individuellement. Les moteurs, dans un premier temps, en essayant de les faire tourner ensemble, avec des vitesses et des sens différents par rapport au réglage sur le programme. Ensuite, nous avons travaillé sur la commande des LEDs jaunes synchronisées avec le mouvement en avant et en arrière des moteurs. Et, finalement, le fonctionnement du capteur de distance synchronisé aux LEDs rouge en arrière pour gérer la proximité d’un obstacle.
Enfin, nous avons essayé de simuler le mouvement complet du robot, avec toutes ces fonctions actives et en train de travailler ensemble. De cette façon, nous avons eu la possibilité d’observer et analyser la performance du véhicule, trouver les problèmes éventuels et les résoudre graduellement.
IV. Les difficultés rencontrées
Lors de la réalisation de notre projet et, principalement, après la phase de tests, nous avons rencontrées trois principales difficultés.
Dans un premier temps, nous pouvons citer les limites de précision des imprimantes 3D. A cause de ces limitations, l’impression des engrenages n’était pas assez parfaite. Les dents ont des déformations qui diminuent la stabilité de la rotation ou même génèrent des blocages. C’est pourquoi le mouvement des quatre engrenages et de la roue sur un réducteur manque de stabilité et joue dans la perte du couple au niveau des roues.
Ensuite, nous avons eu des difficultés de réglage de la vitesse des moteurs. Comme nous l’avons mensionné dans la section 2.3, nos moteurs peuvent être commandés en vitesse par notre code Arduino en changeant la valeur analogique de consigne. Pourtant, pour le réducteur commandé par le pont H, nous n’arrivons pas à faire tourner le moteur avec des réglages plus bas que 120. Nous pouvons dire que c’est un problème de contrôle des courants et des puissances dans le montage. Mais, malheureusement, nous n’étions pas capables de le résoudre.
Finalement, nous avons eu quelques problèmes avec le capteur de distance dû au fait d’un mauvais contact des files. Nous avons essayé de le résoudre en soudant les pines à la Breadbord. Par contre, cela n’était pas assez efficace. De cette façon, nous avons décidé de changer le composant et, maintenant, le capteur est bien fonctionnel.
Conclusion
Finalement, nous pouvons dire que le projet Robot Mobile Arduino nous a fourni une expérience très intéressante et enrichissante. Nous avons appris à travailler à deux en développant nos compétences en communication et raisonnement, à gérer le temps et organiser bien nos tâches avec un cahier de charge pour arriver au but de notre projet. De plus, nous avons réussi à mettre en œuvre les concepts importants en électronique, mécanique, robotique et informatique vus lors de notre formation, en essayant d’intégrer les fonctionnalités dont nous avions besoin pour rendre notre robot fonctionnel.
Nous aurions aimé avoir plus de temps pour essayer de régler les problèmes de vitesse des moteurs, améliorer la performance des réducteur en changent le matériel utilisé vers le bois avec la découpe laser. Peutêtre, de cette façon, les déformations diminuerions et, par conséquences, les blocages.
Pour améliorer le projet, il serait intéressant de rajouter d’autres capteurs de distance autour du robot, des capteurs thermiques, des hauts parleurs, en envisageant de rendre le véhicule complètement autonome par rapport à son environnement, ce qui était notre objectif en débutant le projet.
Annexe 1
Design 3D des Engrenages sur AutoCAD
Design 3D des Engrenages sur FreeCAD (E1 et E2 à gauche et E3 à droite)
Annexe 2
Design du Support Supérieur sur AutoCAD Design du Support Inférieur sur AutoCAD
Design de la grande roue (diamètre 8 cm) sur AutoCAD? Petite roue sur AutoCAD