[go: up one dir, main page]

0% ont trouvé ce document utile (0 vote)
260 vues56 pages

Pfe 2

Télécharger au format pdf ou txt
Télécharger au format pdf ou txt
Télécharger au format pdf ou txt
Vous êtes sur la page 1/ 56

République Tunisienne

Ministère de l’Enseignement Supérieur


et de la Recherche Scientifique
Université de Carthage
Institut Supérieur des Technologies de
l’Information et de la Communication

Rapport de Projet de Fin d’Etudes


Présenté en vue de l’obtention de la
Licence Fondamentale en télécommunication et
informatiques

Réalisé par
elbahry chayma et ben mim oussama

Conception et réalisation d’un robot


mobile autonome d’entrepôt

Réalisé au sein de AROTEQ

Encadrant professionnel : Abeda Saber


Encadrant académique : Smali Imen
Président : Bouslema Moufida
Rapporteur : Cherif Maha

Année Universitaire : 2019-2020


République Tunisienne
Ministère de l’Enseignement Supérieur
et de la Recherche Scientifique
Université de Carthage
Institut Supérieur des Technologies de
l’Information et de la Communication

Rapport de Projet de Fin d’Etudes


Présenté en vue de l’obtention de la
Licence Fondamentale en télécommunication et
informatiques

Par
elbahri chayma et ben mim oussama

Conception et réalisation d’un robot


mobile autonome d’entrepôt

Réalisé au sein de AROTEQ

Signatures des encadrants pour autorisation de dépôt du rapport :

Encadrant professionnel : Encadrant académique :


Le : Le :

Signature : Signature :
Dédicaces

A nos parents,
A nos proches,
A nos amis .

i
Remerciements

En préambule à ce projet, nous souhaitons adresser nos remerciements


aux personnes qui ont contribué à l’élaboration de ce pfe ainsi qu’à la réus-
site de cette année universitaire.

Nous somme heureux d’exprimer toute notre gratitude envers Madame


Smali Imen, pour les conseils et les suggestions avisés qu’elle nous a prodi-
gués ainsi pour ses qualités scientifiques dont elle a fait preuve en dirigeant
ce travail.

Nous voudrons également remercier, Monsieur Abeda Saber, pour


nous avoir accueilli aux sein de son équipe, il c’est toujours montré à l’écoute
tout au long de la réalisation de ce projet.

Pour terminer, nos remerciements s’adressent à nos proches et amis, à qui


nous ont toujours soutenue et encouragé au cours de la réalisation de ce pro-
jet.

Merci.

ii
Table des matières

Dédicaces i

Remerciements ii

Introduction Générale 1

1 Contexte générale 3
1.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.2 Présentation de l’organisme d’accueil . . . . . . . . . . . . . . 3
1.2.1 Services offerts . . . . . . . . . . . . . . . . . . . . . . 3
1.2.2 Partenaires . . . . . . . . . . . . . . . . . . . . . . . . 4
1.3 Problématique . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.4 Présentation du projet . . . . . . . . . . . . . . . . . . . . . . 5
1.5 Cahier de charge . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.6 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

2 Étude mécanique et électronique du robot 8


2.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.2 Vue d’ensemble du robot . . . . . . . . . . . . . . . . . . . . 8
2.3 Conception de la partie mécanique . . . . . . . . . . . . . . . 10
2.3.1 Moteurs . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.3.2 Servomoteur . . . . . . . . . . . . . . . . . . . . . . . . 12
2.3.3 Les Roues . . . . . . . . . . . . . . . . . . . . . . . . . 13
2.3.4 Batterie . . . . . . . . . . . . . . . . . . . . . . . . . . 13
2.3.5 Carte Puissance (Pent en H) . . . . . . . . . . . . . . . 14
2.4 Conception de la partie électronique . . . . . . . . . . . . . . 16
2.4.1 La carte mère Arduino MEGA . . . . . . . . . . . . . 16
2.4.2 La carte wifi . . . . . . . . . . . . . . . . . . . . . . . 17
2.4.3 Module Suiveur De Ligne . . . . . . . . . . . . . . . . 18
2.4.4 Capteur Ultrason . . . . . . . . . . . . . . . . . . . . . 20
2.4.5 Les LED : . . . . . . . . . . . . . . . . . . . . . . . . . 21

iii
Table des matières

2.4.6 L’afficheur LCD . . . . . . . . . . . . . . . . . . . . . 22


2.5 Assemblage . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
2.5.1 Assemblage des moteurs . . . . . . . . . . . . . . . . . 24
2.5.2 Assemblage du capteur d’obstacle . . . . . . . . . . . 25
2.5.3 Assemblage capteur de ligne . . . . . . . . . . . . . . 26
2.5.4 Assemblage des LED . . . . . . . . . . . . . . . . . . . 26
2.5.5 Assemblage des buzzers . . . . . . . . . . . . . . . . . 27
2.5.6 Assemblage de l’afficheur LCD . . . . . . . . . . . . . . 28
2.5.7 Assemblage de la carte wifi . . . . . . . . . . . . . . . . 29
2.5.8 Assemblage final du robot . . . . . . . . . . . . . . . . 29
2.6 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

3 Analyse et développement de la carte mére 31


3.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
3.2 La base de données (firebase) : . . . . . . . . . . . . . . . . . . 31
3.3 Organigramme principal du mouvement de robot . . . . . . . 33
3.3.1 Connexion du robot avec la base de données . . . . . . 34
3.3.2 Lecture des commandes . . . . . . . . . . . . . . . . . 36
3.3.3 " Exécution " de commande . . . . . . . . . . . . . . . 37
3.3.4 Détection d’obstacle . . . . . . . . . . . . . . . . . . . 38
3.3.5 Changement automatique de chemin . . . . . . . . . . 41
3.3.6 Message d’Alerte . . . . . . . . . . . . . . . . . . . . . 42
3.4 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44

iv
Table des figures

2.1 Vue de l’intérieur du robot . . . . . . . . . . . . . . . . . . . 8


2.2 Vue de face du robot . . . . . . . . . . . . . . . . . . . . . . . 9
2.3 Structure générale adoptée . . . . . . . . . . . . . . . . . . . 10
2.4 Principe de fonctionnement [2] . . . . . . . . . . . . . . . . . . 11
2.5 Moteur CC avec encodeur [12] . . . . . . . . . . . . . . . . . . 12
2.6 Mouvement de servomoteur [13] . . . . . . . . . . . . . . . . . 13
2.7 Roue en caoutchouc [5] . . . . . . . . . . . . . . . . . . . . . . 13
2.8 Batteries [12] . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
2.9 Principe de pont H [8] . . . . . . . . . . . . . . . . . . . . . . 14
2.10 Circuit pont H [8] . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.11 Carte Puissance [13] . . . . . . . . . . . . . . . . . . . . . . . 15
2.12 Carte arduino Mega 2560 [13] . . . . . . . . . . . . . . . . . . 17
2.13 Carte Wifi [7] . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
2.14 Composition carte wifi [3] . . . . . . . . . . . . . . . . . . . . 18
2.15 Principe détecteur ligne [9] . . . . . . . . . . . . . . . . . . . 19
2.16 Capteur de ligne noir [13] . . . . . . . . . . . . . . . . . . . . 19
2.17 Signal HC-SR04 [10] . . . . . . . . . . . . . . . . . . . . . . . 20
2.18 Schéma synoptique du capteur à ultrason [10] . . . . . . . . . 21
2.19 Capteur Ultrason [13] . . . . . . . . . . . . . . . . . . . . . . 21
2.20 Les LEDs [13] . . . . . . . . . . . . . . . . . . . . . . . . . . 22
2.21 Accès au registres [14] . . . . . . . . . . . . . . . . . . . . . . 23
2.22 Afficheur LCD 4*20 avec module I2C [13] . . . . . . . . . . . . 23
2.23 Assemblage des moteurs . . . . . . . . . . . . . . . . . . . . . 24
2.24 Assemblage du capteur d’obstacle et servomoteur . . . . . . . 25
2.25 Assemblage de capteur de ligne . . . . . . . . . . . . . . . . . 26
2.26 Assemblage des LEDs . . . . . . . . . . . . . . . . . . . . . . . 27
2.27 Assemblage des buzzers . . . . . . . . . . . . . . . . . . . . . . 28
2.28 Assemblage de l’afficheur LCD et le module I2C . . . . . . . . 28
2.29 Assemblage de la carte wifi . . . . . . . . . . . . . . . . . . . . 29
2.30 Assemblage final du robot . . . . . . . . . . . . . . . . . . . . 30

v
Table des figures

3.1 Interaction Firebase-Robot [15] . . . . . . . . . . . . . . . . . 32


3.2 Organigramme principal des mouvements du robot . . . . . . 33
3.3 Algorithme de connexion avec la base de données . . . . . . . 34
3.4 Test base de données . . . . . . . . . . . . . . . . . . . . . . . 35
3.5 Test affichage de données . . . . . . . . . . . . . . . . . . . . 36
3.6 Algorithme de Lecture des commandes . . . . . . . . . . . . . 36
3.7 Algorithme de programme exécution . . . . . . . . . . . . . . 37
3.8 Commande F . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
3.9 Algorithme de détection d’obstacles . . . . . . . . . . . . . . 39
3.10 Test d’absence d’obstacle . . . . . . . . . . . . . . . . . . . . 40
3.11 Test détection d’obstacle . . . . . . . . . . . . . . . . . . . . 40
3.12 Algorithme de chemin auto . . . . . . . . . . . . . . . . . . . 41
3.13 Algorithme d’alerte . . . . . . . . . . . . . . . . . . . . . . . 42
3.14 Test "Pas d’erreur" . . . . . . . . . . . . . . . . . . . . . . . . 43
3.15 Test "Erreur" . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
3.16 Test Erreur de connections . . . . . . . . . . . . . . . . . . . 44

vi
Liste des tableaux

1.1 Assignement des tâches . . . . . . . . . . . . . . . . . . . . . . 6

2.1 Assignement de moteurs . . . . . . . . . . . . . . . . . . . . . 24


2.2 Assignement du capteur d’obstacle . . . . . . . . . . . . . . . 25
2.3 Assignement de servomoteurs . . . . . . . . . . . . . . . . . . 25
2.4 Assignement du capteur de ligne . . . . . . . . . . . . . . . . . 26
2.5 Assignement de LEDs . . . . . . . . . . . . . . . . . . . . . . 27
2.6 Assignement de buzzers . . . . . . . . . . . . . . . . . . . . . 27
2.7 Assignement de l’afficheur LCD et le module I2C . . . . . . . 28
2.8 Assignement de la carte wifi . . . . . . . . . . . . . . . . . . . 29

3.1 Mouvements des moteurs . . . . . . . . . . . . . . . . . . . . . 37


3.2 Test d’erreur de capteur d’obstacles . . . . . . . . . . . . . . . 41

vii
Introduction Générale

L’explosion des technologies et la mobilité a fait évoluer les attentes en


matière de consommation. En lien avec l’évolution des fonctionnalités de l’In-
ternet, le consommateur veut : l’information produit, le choix et la mise à
disposition de l’achat. Cette révolution du commerce implique une révolution
logistique dans laquelle les robots ont un rôle prépondérant à jouer.

Les robots mobiles intelligents ne relèvent plus du fantasme. Ces outils


font maintenant toute la preuve de leur efficacité sur le terrain, en entrepôt
et avec diverses fonctions. Des différents usages que les entreprises utilisent
ces solutions robotiques dans un contexte logistique.

Des startups ont ainsi mis au point le principe des « armoires mobiles ».
C’est le cas de AROTEQ qui a fait le premier pas pour créer un « Smart
Warehouse ».

C’est dans ce contexte que s’insère notre projet qui consiste à la concep-
tion et la réalisation d’un robot, téléguider à distance à travers une appli-
cation mobile, capable de transporter un objet d’un endroit à un autre. Le
robot devait être capable de se déplacer de manière autonome, d’éviter les
obstacles et d’identifier s’il est effectivement arrivé à destination.

Ce projet est réalisé au sein de AROTEQ, dans le cadre d’un projet de


fin d’études pour l’obtention du licence spécialisé en télécommunications et
informatique.

Ce rapport est organisé en trois chapitres comme suit :

•Le premier chapitre est un chapitre introductif qui consiste à pré-


senter le cadre général du projet.
•Dans le deuxième chapitre, une présentation de l’architecture géné-
rale du robot sera détaillée. Cette présentation met l’accent sur les

1
différentes parties mécaniques et électroniques ainsi que les compo-
sants qui le consiste.
•L’analyse et la conception de la carte mère fera l’objet du chapitre
trois. Cette partie décrit en détails les étapes de la programmation de
la carte.

Le présent rapport est achevé par une conclusion qui présente le bilan
de ce projet ainsi que l’éventuelle perspectives d’évolution.

2
Chapitre 1

Contexte générale

1.1 Introduction
Dans ce premier chapitre, nous allons mettre le projet dans son contexte
genéral. Tout d’abord, nous commençons par une bréve présentation de l’or-
ganisme d’acceuil. Par suite, nous allons exposer une étude sur les principales
solutions existants et leurs problématiques afin de dégager les aspects que
notre solution doit traiter.

1.2 Présentation de l’organisme d’accueil


Créer en 2013, AROTEQ est une entreprise de fabrication des machines
d’assemblage systèmes de distribution et de contrôle offerts des solutions
d’automatisation individuelles.[1]
AROTEQ est situé à cité iskan ben arous Tunisie, est aussi un fabricant
de machines spéciales systèmes de distribution . AROTEQ est aussi une
startup d’invention.

1.2.1 Services offerts


•Conception et fabrication de machines spéciales : Les ma-
chines et systèmes sont entièrement développés selon les spécifications
des clients dans une recherche d’optimisation technique et économique.

•Étude de conception : AROTEQ propose une large gamme de


fonctions pour adapter entièrement la machine d’assemblage à la fini-
tion souhaitée du produit :

3
1.3. Problématique

- Conception mécanique
- Conception électronique
- Conception de logiciels

• Conception et mise en oeuvre de testeurs fonctionnels

• Conception et construction de convoyeurs : AROTEQ


propose une large gamme de convoyeurs linéaires. Cette gamme com-
prend des rails vibrants, des rails fluidiques et des convoyeurs (avec
des bandes), de différentes longueurs, pour s’adapter aux propriétés
de la pièce et à vos besoins.

• Robotique : AROTEQ intègre des systèmes robotiques indus-


triels pour les projets d’intégration de robots.

1.2.2 Partenaires
• Keyence : Fabricant des capteurs, systèmes de vision industrielle,
instruments de mesure et automates programmable.

• Bosch rexroth : C’est un leader mondial des applications mo-


biles,des équipement industriels et de l’automation.

• Festo : C’est un fournisseurs mondial de systèmes d’automatisa-


tion industrielle pneumatiques et électriques.

• Equip Test : Est un acteur mondial de la fabrication d’équipe-


ments de test pour circuit imprimés.

1.3 Problématique
La lutte contre la sécurité au travail n’est pas un enjeu nouveau et va
rendre nécessaire, à terme, une politique de robotisation intelligente dans les
entrepôts. Ainsi, pour les postes de travail tournants, les poids ne peuvent ex-
céder 15 kg pour une femme et 25 kg pour un homme. Quatre-vingt pourcent
des prises doivent se situer à hauteur d’épaule. Il faut également considérer
qu’avec le recul de l’âge de la retraite, les employés en fin de carrière ne
peuvent plus assurer certaines manipulations dans des positions dites diffi-
ciles, ou parcourir aisément 15 km par jour en entrepôt.
Ces contraintes légales et organisationnelles justifient la conception et la mise

4
1.4. Présentation du projet

en œuvre de solutions robotisées au service de l’humain.

AROTEQ intervient à ce premier niveau, sans toutefois remettre en ques-


tion l’emploi : Opérateurs et opératrices restent au cœur du système de com-
mande, mais bénéficient de meilleurs conditions de travail.

La robotisation confère au préparateur de commandes un rôle plus stra-


tégique dans la supply chain. Les salariés pilotent les stocks depuis leurs
stations et travaillent avec plus de sécurité et moins de risque d’erreur. La
revalorisation de leur métier est rendue possible par le fait que les tâches à
moindre valeur ajoutées sont assurées par les robots.

1.4 Présentation du projet


Un système basé sur des robots mobiles présente l’avantage d’être une
solution accessible, simple et flexible. Les systèmes mobiles associés à une
préparation put-to-light permettent d’optimiser le temps de préparation et
de réduire les déplacements des opérateurs dans l’entrepôt. Les unités de
stockage (armoires/racks/étagères/palettes) sont en effet déplacées par des
robots qui les amènent en zone de préparation.

Avec cette nouvelle génération de robots, cela devient très simple de déployer
un système automatisé dans une structure même en location. Les entrepôts
peuvent être agrandis ou déménagés très facilement, sans avoir à toucher au
bâtiment et à son environnement .

C’est dans ce contexte que s’insère notre projet qui consiste à la création
d’un robot prototype autonome manipulé par une application mobile , cette
machine facilite le déplacement des stockes dans les entrepôts à travers sa
rapidité du mouvement et sa capacité de charge de 10 kg .

Le système n’as aucun ancrage au sol, il peut être déployé sur des entre-
pôts de toute taille. Le robot peut être déployé en une journée. Guidés par
un lecteur de couleur, il va suivre des bandes collées au sol et se déplacent
dans la zone qui lui est dédiée. Le système peut être déplacé très simplement
en collant à nouveau des bandes dans l’espace souhaité.

Le nouveau produit du AROTEQ a un rôle de déplacer les stocks d’une


position à une autre dès que l’utilisateur donne les commandes pour se dé-
placer à travers une application mobile en clinquant sur le point de départ

5
1.5. Cahier de charge

et d’arrivée d’un ternaire présenté sur une map cartésienne virtuel, tout dé-
placement de robot s’affiche dans une interface web pour aider l’utilisateur a
suivre a distance le robot

Ce projet est subdivisé sur 3 équipes avec 3 rôles cités ci-dessous :

Équipe Nom et Prénom Établissement Tâche


1 Ben Mim Ous- ISTIC Borj - Conception électro-
sama et Elbahry Cedria nique et mécanique du
Chayma robot.
- Développement carte
mère du robot.
2 Jedidi Hamza et ISTIC Borj Développement de
Saidi Selim Cedria l’application mobile
3 Équipe Aroteq Aroteq Simulation du robot
sur Solideworks

Table 1.1 – Assignement des tâches

1.5 Cahier de charge


- le robot et connecté à une Base de données qui sauvegarde en temps
réel les données de robots pour assurer la commande à distance a
partir d’une application .
- Le robot a une capacité de charge allant jusqu’à 10 kg avec un
déplacement facile et rapide.
- La localisation de robot doit être envoyée à l’application de façon
périodique.
-Pour son déplacement,la machine reçoit son itinéraire a partir d’une
base de données connecté a une application mobile et pour minimiser
les erreur, elle suit un trajectoire tracé par une ligne noir .
- L’assurance de sécurité du robot formée par un capteur afin d’éviter
les obstacles .
- Dans le cas d’existence d’un obstacle le robot déclenche un son à
partir des 4 buzzers passifs et une lumière rouge s’allume, il envoi par
suite une alerte a la base de données.
- Le robot est capable d’éviter les obstacles automatiquement s’il n’y
a pas de réponse au bort d’une minute.

6
1.6. Conclusion

1.6 Conclusion
Dans ce chapitre, nous avons situé le projet dans son cadre générale en
analysant l’existant afin d’éclairer les objectifs de notre robot.En se basant sur
cette étude, nous spécifions dans le chapitre suivant les différents composants
relatifs à la réalisation de notre robot.

7
Chapitre 2

Étude mécanique et
électronique du robot

2.1 Introduction
Dans ce chapitre, on va introduire l’architecture globale du robot, adopter
les composants au cahier de charge ainsi que la conception mécanique et
électronique. En plus, nous allons expliquer l’assemblage des composants avec
la carte mère.

2.2 Vue d’ensemble du robot


La structure finale de robot est illustrée par les figure 2.1 et 2.2.

Figure 2.1 – Vue de l’intérieur du robot

8
2.2. Vue d’ensemble du robot

Figure 2.2 – Vue de face du robot

Cette machine est délivrée au client accompagné par une application mobile
permettant d’interagir avec le produit. L’utilisateur peut ainsi configurer l’ap-
prentissage du parcours et son comportement en mode autonome.

Pour garantir le fonctionnement convenable et interagir avec l’environnement


ainsi que la base de données, nous avons adopté l’architecture schématisée
par la figure 2.3. Le robot a besoin des actionneurs et des capteurs suivants :

•Quatre Moteurs
•Un servomoteur
•Quatre Roues
•Une battrie
•Une carte wifi ESP8266
•Trois Capteurs de ligne noir
•Un capteur d’obsatcle
•Une carte arduino MEGA
•Dix LED rouges et 10 LED verts
•Un afficheur LCD

9
2.3. Conception de la partie mécanique

Figure 2.3 – Structure générale adoptée

La figure 2.3 représente une vue d’ensemble du robot à concevoir. Elle est
réalisée pour expliquer les points suivants :

- La batterie rechargeable fournie de l’énergie au machine.


- Le mouvement du robot est effectué avec quatre roues contrôlées par
quatre moteurs.
- Le calcul de distance traversée par le robot est fait par les quatre
encodeurs. Le servomoteur et le capteur d’obstacle remplacent 3 cap-
teurs sonores.
- L’afficheur LCD et les LED sont des afficheurs d’état.
- Le robot doit interagir avec une application mobile qui gère la ma-
jorité de ses actions.

2.3 Conception de la partie mécanique


Dans cette partie, nous allons détailler et justifier le choix des pièces
mécaniques nécessaires pour la conception du robot.

2.3.1 Moteurs
Un moteur à courant continu (MCC) est un convertisseur électroméca-
nique permettant la conversion bidirectionnelle.Le moteur assure les dépla-
cements en avant et en arrière. Les pièces maîtresses de moteur sont la partie

10
2.3. Conception de la partie mécanique

mobile et la partie fixe. L’inducteur est magnétisé par un bobinage alimenté


par un courant continu. L’induit est constitué d’un bobinage dans lequel cir-
cule un courant par l’intermédiaire d’un collecteur (balais).
Le principe de fonctionnement de ce moteur est représenté par la figure 2.4 :

Figure 2.4 – Principe de fonctionnement [2]

Le type de moteur que nous avons adopté pour faire fonctionner les roues
du robot est illustré par la figure 2.5. Il s’agit d’ un moteur de type GM
25-370 CC qui à pour caractéristiques :

•Courant hors charge : 80 mA


•Vitesse : 600 rpm
•Model : GM 25-370
•Courant Max : 1.6A
•Couple de blocage : 4.6 Kg
•Puissance de sortie : 2.6W
•Type : Moteur CC
•Certification : ROHS
•Couple : 2-2,4 kg.cm
•Tension (V) :12V
•Vitesse du moteur à vide : 13750 rpm ( 12V)
•Réducteur : Ratio 1 :20
•Vitesse de sortie à vide : environ 220 rpm (12V)
•Diamètre de l’arbre de sortie : 4mm
•Technologie : magnétique
•Nombre de poles : 10

Note : Ce moteur optique est fournie avec son propre encodeur.

11
2.3. Conception de la partie mécanique

Figure 2.5 – Moteur CC avec encodeur [12]

2.3.2 Servomoteur
De manière semblable aux moteurs à courant continu, les servomoteurs
disposent d’un axe de rotation. Cet axe de rotation est entravé par un sys-
tème de bridage. Cela signifie qu’il ne peut pas tourner au-delà d’une certaine
limite. Les servomoteurs ont donc l’avantage d’être asservis en position an-
gulaire.
Un servomoteur est composé de :
•Un moteur à courant continu
•Un axe de rotation
•Un capteur de position de l’angle d’orientation de l’axe (très souvent
un potentiomètre)
•Une carte électronique pour le contrôle de la position de l’axe et le
pilotage du moteur à courant continu

Ce moteur est capable d’atteindre des positions prédéterminées dans les ins-
tructions qui lui on était donné, puis de les maintenir. Ce moteur est utilisé
pour remplacer trois capteurs d’obstacles par un seul capteur capable de faire
des mouvements angulaires de 180 degré.
Nous avons présenté dans la figure 2.6 les mouvements possibles de servomo-
teur(le composant bleu ) :

12
2.3. Conception de la partie mécanique

Figure 2.6 – Mouvement de servomoteur [13]

2.3.3 Les Roues


Le déplacement du robot est effectué par quatre roues représentés dans la
figure 2.7 de pneu en caoutchouc de diamètre extérieur 65mm et de largeur
27mm. Les pneus en caoutchouc sont de haute qualité, avec revêtement en
éponge.
Pour assurer la connexion avec le moteur, les roues ont des couplages hexa-
gonales dont La taille d’ouverture de l’accouplement est : 3mm, 4mm, 5mm,
6mm.

Figure 2.7 – Roue en caoutchouc [5]

2.3.4 Batterie
L’énergie est fournie au robot par quatre batteries rechargeables Lithium-
ion au format 18650 chaqu’une d’elles a pour capacité de 2200 mAh et une
tension de 3.7V. Cette batterie intègre un circuit de protection contre la

13
2.3. Conception de la partie mécanique

surcharge, les courts-circuits et la décharge profonde.[4]


Dotée d’une très faible auto-décharge et d’une haute densité d’énergie, la
batterie Li-Ion 18650 peut être rechargée à plus de 2 000 reprises. Elle
conserve son énergie, même en l’absence d’utilisation pendant une longue
période.
L’accumulateur Li-Ion 18650 peut servir à alimenter à une température située
entre -10° C et +60° C. Nous avons utilisé la batterie 18650 2200mAh 3,7V
montrée dans la figure 2.8 :

Figure 2.8 – Batteries [12]

2.3.5 Carte Puissance (Pent en H)


Le contrôle de sens de rotation, tension et courant des batteries du mo-
teurs se fait à partir de deux contrôleurs. Dans un premier temps pour per-
mettre au robot une grande mobilité (avancer, reculer, tourner à droite ou
à gauche), nous devions assurer la rotation des moteurs dans les deux sens.
C’est pourquoi nous avons conçu un pont en H à placer en amont du moteur
comme le figure 2.9 :

Figure 2.9 – Principe de pont H [8]

14
2.3. Conception de la partie mécanique

Le principe de ce circuit est simple. Il expliquer par le schéma dans la


figure 2.10 :

Figure 2.10 – Circuit pont H [8]

La commande des interrupteurs permet de faire circuler le courant dans


le circuit dans un sens ou dans l’autre.
Ce module a une alimentation 5v intégrée, lorsque la tension de commande
est entre 7v et 35v, elle convient à l’alimentation. Dans notre robot nous
allons mettre deux contrôleurs pour satisfaire le besoin des moteurs (12V).
Nous avons choisis la Carte Puissance L298N illustrée dans la figure 2.11.
Cette carte a pour caractéristique :

•Tension logique : 5v
•Tension d’entrée : 5v-35v
•Courant logique : 0mA-36mA
•Courant maximal de sortie : 2A
•Puissance maximale : 25W
•Dimensions de la carte : 43 * 43 * 27 mm

Figure 2.11 – Carte Puissance [13]

15
2.4. Conception de la partie électronique

2.4 Conception de la partie électronique


Dans cette partie, nous allons détaillé la partie électronique nécessaire au
fonctionnement du robot à savoir :

- La carte arduino MEGA


- La carte wifi ESP8266
- Les capteurs de couleur noir
- Le capteur d’obsatcle
- Les LED rouges et verts
- L’ afficheur LCD

2.4.1 La carte mère Arduino MEGA


Différents cartes mères sont disponibles à savoir la carte Rasbery et la
carte Arduino. Faute de disponibilité de matériel adaptables à ces cartes,
nous avons opté pour la carte Arduino. En effet, les capteurs que nous dis-
posons actuellement ne fonctionnent que sur ce genre de carte.
La carte Arduino Mega 2560 illustrée dans la figure 2.12 est une carte à
micro-contrôleur basée sur un ATmega2560, cette carte contient tout ce qui
est nécessaire pour le fonctionnement du robot et compatible avec les com-
posants utilisées.

Cette carte dispose des caractéristiques suivants :

•54 Broches numériques d’entrées/sorties


•16 Entrées analogiques (qui peuvent également être utilisées en broches
entrées/sorties numériques),
•4 UART (port série matériel),
•Quartz 16Mhz,
•Connexion USB,
•Connecteur d’alimentation jack,
•Connecteur ICSP (programmation "in-circuit"),
•Bouton de réinitialisation (reset).
•Tension de fonctionnement : 5V
•Intensité maxi disponible par broche E/S (5V) : 40 mA
•Intensité maxi disponible pour la sortie 3.3V : 50 mA
•Mémoire Programme Flash :256 KB dont 8 KB sont utilisés par le
bootloader
•Mémoire SRAM (mémoire volatile) : 8 KB
•Mémoire EEPROM (mémoire non volatile) :4 KB

16
2.4. Conception de la partie électronique

Figure 2.12 – Carte arduino Mega 2560 [13]

2.4.2 La carte wifi


La communication entre le micro-contrôleur Arduino Mega et la base de
donnée est assurée par la carte wifi NODEMCU ESP8266-12E LUA V3.

ESP8266, représentée dans la figure 2.13, est une puce hautement intégrée
conçue pour les besoins d’un nouveau monde connecté. Elle offre une so-
lution de réseau Wi-Fi complète et autonome, lui permettant d’héberger
l’application ou de décharger toutes les fonctions de réseau Wi-Fi d’un autre
processeur d’application.

Figure 2.13 – Carte Wifi [7]

Cette carte dispose de puissantes capacités de traitement et de stockage


embarquées qui lui permet d’être intégré aux capteurs et autres appareils

17
2.4. Conception de la partie électronique

spécifiques à l’application grâce à ses GPIOs avec un développement initial


minimal et un chargement minimal pendant l’exécution. Ainsi que la pro-
grammation du ESP8266 est faite à partir de l’IDE Arduino.
Elle possède plusieurs entrées-sorties comme montre le figure 2.14 :

Figure 2.14 – Composition carte wifi [3]

2.4.3 Module Suiveur De Ligne


Pour caractériser les lignes, nous servons des différences de coefficients
d’absorption des ondes infra-rouge par les deux couleurs. Nous pouvons consi-
dérer que le blanc reflète entièrement les ondes émises alors que les autres
couleurs absorbent plus.
Le principe des capteurs de la figure 2.15 est le suivant :

-Les capteur est composé d’une diode émettrice et d’un phototransis-


tor, disposés de sorte que le faisceau émis (envoie de la lumière avec
DEL), le capteur étant perpendiculaire à une surface plane, soit réflé-
chi sur le photo-dépendante (LDR) qui mesure la quantité de lumière
reçus.

-Le LDR est polarisé sous une tension +V l’énergie lumineuse reçue
sur la base joue le même rôle qu’une tension de commande.

Plus il y a de la lumière réfléchie, moins la résistance photo-dépendant est


grande, donc la sortie (A0) sera moindre.

18
2.4. Conception de la partie électronique

Figure 2.15 – Principe détecteur ligne [9]

Nous avons choisi le module suiveur de ligne basé sur le réflecteur optique
TCRT500 représenté dans la figure 2.16. Il se raccorde sur une entrée digitale
ou analogique d’une carte arduino ou compatible. Pour assurer la bonne
déplacement du robot il faut avoir au moins trois capteurs chacun dans un
côté (avant,droite,gauche).

Figure 2.16 – Capteur de ligne noir [13]

Ce module est caractérisée par :

- Alimentation : 5V
- Sortie :

19
2.4. Conception de la partie électronique

État bas : ligne noire


État haut : ligne blanche
Dimension : 43 x 14 x 11 mm

2.4.4 Capteur Ultrason


Les capteurs ultrason sont utilisés pour le calcule de distance entre le ro-
bot et les obstacles. Le processus complet de calcule de distance est le suivant
(figure 2.17) :

1. Le capteur envoie une impulsion HIGH de 10µs sur la broche TRIG-


GER du capteur.

2. Il envoie alors une série de 8 impulsions ultrasoniques à 40KHz (in-


audible pour l’être humain).

3. Les ultrasons se propagent dans l’air jusqu’à toucher un obstacle et


retourne dans l’autre sens vers le capteur.

4. Le capteur détecte l’écho et clôture la prise de mesure.

Figure 2.17 – Signal HC-SR04 [10]

Le signal sur la broche ECHO du capteur reste à HIGH durant les étapes
3 et 4, ce qui permet de mesurer la durée de l’aller-retour des ultrasons,
illustré dans la figure 2.18, et donc de déterminer la distance.

20
2.4. Conception de la partie électronique

Figure 2.18 – Schéma synoptique du capteur à ultrason [10]

Pour mesurer la distance, nous avons choisi le module HC-SR04 repré-


senté dans la figure 2.19, il est caractérisée par :

•Alimentation : 5 Vcc .
•Consommation : 15 mA .
•Fréquence : 40 kHz .
•Portée : de 2 cm à 4 m .
•Déclenchement : impulsion TTL positive de 10µs .
•Signal écho : impulsion positive TTL proportionnelle à la distance.
•Calcul : distance (cm) = impulsion (µs) / 58.
•Dimensions : 45 x 21 x 18 mm .

Figure 2.19 – Capteur Ultrason [13]

Note : Le module HC-SR04 fonctionne obligatoirement dans des espaces fer-


més pour garantir le retour du signal en écho.

2.4.5 Les LED :


Nous avons utilisé 20 LED, 10 rouges s’allument dans le cas d’une erreur
et 10 vertes signifient le bonne fonctionnement du robot.

21
2.4. Conception de la partie électronique

La LED est illustrée dans la figure 2.20 est un composant dit passif, de la
famille des semi-conducteurs (comme la diode). Il s’agit d’une diode un peu
particulière, qui a la propriété d’émettre de la lumière quand un courant la
parcourt (de l’Anode vers la Cathode).

•K = (K)Cathode, pôle "négatif" de la LED, patte la plus courte.

•A = Anode, pôle "positif" de la LED, patte la plus longue.

Figure 2.20 – Les LEDs [13]

2.4.6 L’afficheur LCD


C’est plus facile à l’utilisateur d’avoir tous les informations connexes du
robot sur une écran. L’afficheur LCD dispose de deux registres permettant
de lui gérer :
- Le registre d’instruction IR (Instruction Register) :
C’est le registre de contrôle, suivant la valeur que l’on met dans l’af-
ficheur, il exécute des opérations de configurations.
- Le registre de données DR (Data Register) :
Suivant la valeur que l’on met dans l’afficheur ce registre peut :
Afficher un caractère (Code ASCII ou spécifiques) et créer une ligne
d’une matrice d’un nouveau caractère.
L’accès à ces registres est de fonction des valeurs des signaux R/W et
RS est montré dans la figure 2.21 :

22
2.5. Assemblage

Figure 2.21 – Accès au registres [14]

Nous avons alors installer un afficheur LCD (figure 2.22) qui se compose de
deux parties : Un écran LCD “classique” et au dos un module d’interface
I2C.
La communication avec une carte Arduino se fait avec le protocole I2C sur
deux lignes dénommées SCL et SDA. Il faut ajouter les lignes d’alimentation
VCC et GND.

Figure 2.22 – Afficheur LCD 4*20 avec module I2C [13]

2.5 Assemblage
Les différents composants mécaniques et électroniques sont automatique-
ment assemblés entre eux avec la carte mère présentée par la carte Arduino
Mega 2560. Nous avons choisi le port de chaque composant selon son type

23
2.5. Assemblage

(entrée/sortie,numérique ou analogique ).
L’assemblage est fait par le logiciel fritzing 0.9.3b.

2.5.1 Assemblage des moteurs


Les moteurs sont contrôlés par la carte puissance L298N, chaque deux
moteurs sont contrôlées par l’un de motors drivers qui est commandée par la
carte arduino mega à travers les pins pour fournir la tension et le courant de
fonctionnement.
L’assemblage des moteur se fait comme montre la figure 2.23 :

Figure 2.23 – Assemblage des moteurs

L’assignement des pins des moteurs se fait comme le tableau 2.1 :

Les pins de composants Les pins de la carte arduino


ENA Pin 5 (PWM)
ENB Pin 6 (PWM)
IN1 Pin 7
IN2 Pin 8
IN3 Pin 9
IN4 Pin 11

Table 2.1 – Assignement de moteurs

24
2.5. Assemblage

2.5.2 Assemblage du capteur d’obstacle


Le capteur d’obstacle HC-SR04 avec ECHO comme entrée analogique et
TRIG comme sortie analogique est relié avec les pins analogiques de la carte
arduino mega (A1,A0,GND).
La rotation du capteur d’obstacle est effectuée par le servomoteur qui est
directement liée avec l’arduino mega comme une sortie analogique.
L’assemblage est illustré par la figure 2.24 :

Figure 2.24 – Assemblage du capteur d’obstacle et servomoteur

Le câblage de capteur ultrason est représenté dans le tableau 2.2 :

Les pins de composants Les pins de la carte arduino


ECHO A1
TRIG A0
GND GND
VCC 5V

Table 2.2 – Assignement du capteur d’obstacle

Le câblage du sevomoteur se fait comme montré dans le tableau 2.3 :

Les pins de composants Les pins de la carte arduino


GND GND
VCC 5V
sortie S pin 3

Table 2.3 – Assignement de servomoteurs

25
2.5. Assemblage

2.5.3 Assemblage capteur de ligne


La détection de la ligne noir est faite par trois capteurs de ligne qui se
communiquent avec les pins de la carte arduino mega comme une entrée
digitale. Le câblage s’est fait selon le tableau 2.4 et l’assemblage selon la
figure 2.25 :

Figure 2.25 – Assemblage de capteur de ligne

Les pins de composants Les pins de la carte arduino


GND GND
VCC 5V
Sortie S(gauche) pin 2
Sortie S(centre) pin 4
Sortie S(droite) pin 10

Table 2.4 – Assignement du capteur de ligne

2.5.4 Assemblage des LED


La présence des LEDs assure l’observation d’utilisateur, les LEDs en
rouges s’allument lorsqu’il y’a un obstacle ou un erreur dans la position-
nement, or les LEDs en vert s’allument lorsqu la bonne fonctionnement du
robot est assuré. Les LEDs communiquent avec la carte arduino mega comme
une sortie digitale.
L’assemblage est montré par la figure 2.26 :

26
2.5. Assemblage

Figure 2.26 – Assemblage des LEDs

Le câblage se fait selon le tableau 2.5 :

Les pins de composants Les pins de la carte arduino


Sortie S(rouge) pin 53
Sortie S (vert) pin 52

Table 2.5 – Assignement de LEDs

2.5.5 Assemblage des buzzers


Si un obstacle est détecté par le capteur Ultrason HC-SR04 les quatre
buzzers déclenchent un effet sonor en même temps pour attirer l’attention
de l’utilisateur. Les buzzers communiquent avec la pin de la carte Arduino
mega sous forme d’une sortie digitale. Le câblage est réalisé selon le tableau
2.6 et l’assemblage est montré dans la figure 2.27 :

Les pins de composants Les pins de la carte arduino


GND GND
Sortie S pin 13

Table 2.6 – Assignement de buzzers

27
2.5. Assemblage

Figure 2.27 – Assemblage des buzzers

2.5.6 Assemblage de l’afficheur LCD


Les informations obtenues par le capteur Ultrason HC-SR04, la connexion
entre le robot et la base de donnée de l’application mobile ainsi que la distance
parcourue du robot sont affichés sur l’afficheur LCD qui communique avec
la carte arduino mega sous forme d’une sortie analogique. L’assemblage est
illustré par la figure 2.28 et le câblage est réalisé selon le tableau 2.7 :

Figure 2.28 – Assemblage de l’afficheur LCD et le module I2C

Les pins de composants Les pins de la carte arduino


GND GND
VCC 5V
SDA ( Pin de l’afficheur ) A9
SCL A10

Table 2.7 – Assignement de l’afficheur LCD et le module I2C

28
2.5. Assemblage

2.5.7 Assemblage de la carte wifi


La carte wifi ESP8266 assure la communication avec la base de donnée.Le
câblage est comme le tableau 2.8 :

Les pins de composants Les pins de la carte arduino


TX RX0
RX RX1

Table 2.8 – Assignement de la carte wifi

L’assemblage est fait selon la figure 2.29 :

Figure 2.29 – Assemblage de la carte wifi

2.5.8 Assemblage final du robot


L’assemblage complet du robot est schématisée par la figure 2.30. Il en-
globe tous les assemblages présentés précédemment.

29
2.6. Conclusion

Figure 2.30 – Assemblage final du robot

2.6 Conclusion
Une présentation de la vue d’ensemble du robot a été réalisée dans ce
chapitre. Cette présentation a mis l’accent sur les parties électroniques et
mécaniques aussi que l’assemblage du matériel. Tout au long du ce chapitre
nous avons mis le point sur les éléments les plus importants de notre projet,
ces derniers sont manipulés par la carte mère programmable à travers une
partie “soft” exposée dans le chapitre suivant.

30
Chapitre 3

Analyse et développement de la
carte mére

3.1 Introduction
Les principales fonctionnalités de notre robot sont commandées par la
carte arduino basée sur des pines d’entrée/sortie simples pour exécuter les
instructions stockées dans une base de données. Dans cette partie, nous allons
présenter en premier lieu la base de données adaptée pour la réalisation du
projet. En deuxième lieu, nous allons expliquer le diagramme d’états de la
carte avec ses différents sous-programmes.

3.2 La base de données (firebase) :


Firebase est un services d’hébergement pour différents type d’application
(Android, iOS, Javascript, Node.js, Java, Unity, PHP, C++ ). Il propose
d’héberger en NoSQL et en temps réel des données, du contenu, de l’authen-
tification sociale (Google, Facebook, Twitter et Github), et des notifications,
ou encore des services, tel que par exemple un serveur de communication
temps réel. Toute l’implémentation et la gestion serveur de Firebase est à la
charge exclusive de la société Alphabet. Les applications qui utilisent Fire-
base intègrent une bibliothèque qui permet des diverses interactions possibles.

Firebase est l’intermédiaire entre l’application mobile et le robot, cette rela-


tion est expliquée par la figure 3.1 :

31
3.2. La base de données (firebase) :

Figure 3.1 – Interaction Firebase-Robot [15]

La base de données se comporte comme une entrée/sortie pour la carte


arduino.
Les entrées sont :

•La vitesse
•Le chemin à suivre
•Demande d’une image

Les sorties sont :

•La position du robot


•L’existence d’un obstacle
•Image de l’obstacle si existe
•Les messages d’erreur

Notons que cette base de données est commandée à distance par une
application mobile. La conception et le développement de cette dernière est
réalisée par la deuxième équipe de travail.
Quand à notre projet, le remplissage de la base sera réalisé manuellement et
ceci dans le but de tester la liaison entre la base et le robot.

32
3.3. Organigramme principal du mouvement de robot

3.3 Organigramme principal du mouvement


de robot
Le mouvement du robot est illustré par la figure 3.2 commence par la
mise en place du robot au point initial.

Figure 3.2 – Organigramme principal des mouvements du robot

Dans la première étape, une connexion avec la base de données s’éta-


blit pour obtenir les configurations nécessaires et le chemin à suivre. Si la
connexion est interrompue, une LED rouge s’allume et un message d’erreur
s’affiche dans la base de données et sur l’afficheur LCD.

33
3.3. Organigramme principal du mouvement de robot

Dans le cas contraire une exécution des commandes s’effectue ( une LED
verte s’allume tout le long de ce programme ).

Si l’exécution est interrompue par la détection d’un obstacle ( la distance


entre le robot et l’obstacle doit être inférieure à 80 cm ) une LED rouge s’al-
lume, le robot émis un signal d’alerte en affichant un message d’erreur sur
la base de données et sur l’afficheur LCD contenant la distance séparant le
robot de l’obstacle.

Si la base assigne un nouveau chemin pendant une durée de temps spécifique


le robot revient à l’étape “exécution” sinon il active l’option d’évitement
d’obstacle automatique pour continuer son chemin initial.

Tout le long de ce programme, la machine envoie sa position périodique-


ment à la base de données. Le programme est terminé lorsque le robot atteint
sa destination.
Nous détaillons dans ce qui suit la fonction de chaque boite de l’organi-
gramme.

3.3.1 Connexion du robot avec la base de données

Figure 3.3 – Algorithme de connexion avec la base de données

34
3.3. Organigramme principal du mouvement de robot

L’interaction entre le robot et l’application mobile se fait à l’aide d’inter-


médiaire de la base de données.
Le programme est écrit dans la carte ESP 2866, l’algorithme est illustré dans
la figure 3.3.

Afin d’assurer la connexion de la carte ESP 2866 avec la base, il est né-
cessaire d’utiliser les bibliothéques [6] suivantes :

FirebaseESP8266.h : Bibliothèque de firebase.


ESP8266WiFi.h : Bibliothèque de la carte wifi.
SoftwareSerial.h : Bibliothèque de communication en série avec la
carte arduino.

L’identifiant, le mot de passe du Hotspot sont déclarés dans le programme


comme des constantes, s’il y a une rupture de connexion la carte arduino af-
fiche une erreur de connexion wifi et déclenche une reconnexion automatique.
Aussi L’URL de Firebase et le clé généré par la base de données sont mention-
nés dans le programme,la connexion se fait automatiquement et les erreurs
d’accès s’affichent à l’aide du programme alerte.
Le but principale de ce programme est d’affecter l’écriture et la lecture des
informations envoyés par le robot et des commandes de l’application mobile.

Vous trouvez dans la figure 3.4 les données écrits par la carte wifi sur la
base de données :

Figure 3.4 – Test base de données

Vous trouvez dans la figure 3.5 les données lu par la carte wifi à partir de la
base de données, ces données sont affichés sur COM3 ( Communication en
série entre arduino et ESP8266) :

35
3.3. Organigramme principal du mouvement de robot

Figure 3.5 – Test affichage de données

3.3.2 Lecture des commandes


Ce sous-programme sert à la lecture des données envoyées par la carte
wifi vers la carte arduino.
- Dans la carte Arduino nous avons importé en premier lieu la bibliothèque
de SoftWareSarial.h [6] communication en série avec la carte wifi.
- Ensuite nous avons déclarés le port de connexion.
- Puis l’initialisation de port série a été faite au niveau de la fonction setup().
- Finalement, nous avons créés une fonction qui lit les données envoyées par
la carte wifi et écrit les informations du notre robot.

L’algorithme du programme est représenté dans la figure 3.6 :

Figure 3.6 – Algorithme de Lecture des commandes

36
3.3. Organigramme principal du mouvement de robot

3.3.3 " Exécution " de commande


Ce programme est le programme principale de la carte arduino, il est écrit
dans la loop principale. Il exécute les commandes d’utilisateur en affectant
la vitesse et le chemin puis les traduit en commandes comme montre l’algo-
rithme de la figure 3.7 :

Figure 3.7 – Algorithme de programme exécution

Nous avons quatre roues contrôlés par quatre moteurs comme suit :

- Roue d’avant à gauche contrôlée par le moteur d’avant à gauche (M1).


- Roue d’avant à droite contrôlée par le moteur d’avant à droite (M2).
- Roue d’arrière à gauche contrôlée par le moteur d’arrière à gauche (M3).
- Roue d’avant à droite contrôlée par le moteur d’avant à droite (M4).

Les mouvements des roues sont détaillées dans le tableau 3.1 (F est un mou-
vement en avant et B est un mouvement en arrière) :

Instruction M1 M2 M3 M4
Mouvement en avant ON-F ON-F ON-F ON-F
Mouvement à gauche OFF ON-F ON-B OFF
Mouvement à droite ON-F OFF OFF ON-B
Arrêter les moteurs OFF OFF OFF OFF

Table 3.1 – Mouvements des moteurs

Le figure 3.8 représente un exemple de commande relatif aux mouvement des


roues :

37
3.3. Organigramme principal du mouvement de robot

Figure 3.8 – Commande F

Note : Il existe trois autres commandes Left(), Right() et Stop ().

Les commandes envoyées par la base de données sont :


- La vitesse sous forme d’un entier.
- Une chaîne de caractères représentant le chemin à suivre.

La chaîne est formée d’une série de caractères par exemple :

"F-I-L-F-I-R-F-I-L-S"

avec :
- L : Mouvement à gauche.
- R : Mouvement à droite.
- S : Arrêter les moteurs.
- F : Mouvement en avant.
- I : Un entier qui représente la distance à traverser dans un mouvement en
avant .

3.3.4 Détection d’obstacle


Ce programme assure la sécurité du robot et la prévention contre les ac-
cidents de travails. L’algorithme est presenté dans la figure 3.9.

38
3.3. Organigramme principal du mouvement de robot

Nous avons commencé le programme par l’importation des bibliothèques de


servomoteur Servo.h avec ses quatre constantes :
Deux constantes pour les broches TRIGER et ECHO du capteur, une constante
qui servira de durée pour la prise de mesure et une constante pour définir la
distance qui nous sépare de l’obstacle.
Mesure de distance de l’obstacle :

- Activation de broche TRIGER .


- Activation de broche ECHO.
- Mesure de temps nécessaire pour un aller-retour du signal ultraso-
nore.
- Calcule la distance puis, l’affiche sur l’afficheur LCD puis la transmet
à la base de données.

Figure 3.9 – Algorithme de détection d’obstacles

Dans la figure 3.10 nous avons présenté le cas d’absence d’obstacle et dans
la figure 3.11 nous avons enté le cas d’existence d’un obstacle.

39
3.3. Organigramme principal du mouvement de robot

Figure 3.10 – Test d’absence d’obstacle

Figure 3.11 – Test détection d’obstacle

40
3.3. Organigramme principal du mouvement de robot

Nous avons pris des diffèrent mesures pour tester le capteur d’obstacle.
La résultat est représentée dans le tableau 3.2 :

Distance (mm) Mesure Erreur


10 10.20 0.20
20 18.70 1.30
30 23.46 6.54
40 32.64 7.36
50 42.50 7.50

Table 3.2 – Test d’erreur de capteur d’obstacles

3.3.5 Changement automatique de chemin


Cette fonction a comme objectif d’éviter les obstacles en contournant ce
dernier puis reprend sa trajectoire. Le changement automatique de chemin
se fait lorsqu’il y’a un obstacle dans le trajet du robot, si le robot envoi un
message d’alerte vers la base de données mais ne reçoit aucune réponse dans
quelques minutes, il évite l’obstacle puis continue son chemin. Cette fonction
a les mêmes bibliothèques du sous-programme nommé obstacle.L’algorithme
est montré dans la figure 3.12 :

Figure 3.12 – Algorithme de chemin auto

41
3.3. Organigramme principal du mouvement de robot

Avec : D-left est à la distance séparant le robot de l’obstacle à gauche et


D-right est la distance séparant le robot de l’obstacle à droite.

3.3.6 Message d’Alerte

Figure 3.13 – Algorithme d’alerte

Ce sous-programme a pour but d’avertir l’utilisateur de différents types


des erreurs tel que les erreurs de connexions WIFI et de connexion avec la
base de données ou dans le cas de détection d’obstacles. L’algorithme est
illustré par la figure 3.13 :

- La première partie du code contient la déclaration des constantes :


Error-WIFI, Error-DB, Error-obstacle de type chaîne de caractère l’impor-
tation des bibliothèques [6] suivants :

Wire.h et LCD.h : bibliothèques de l’afficheur LCD.


LiquidCrystal-I2C : bibliothèque de connecteur I2C.

42
3.3. Organigramme principal du mouvement de robot

- Les LEDs verte et rouge sont initialisés comme Un output en état High
et output en état Low. Nous avons activé Les pins de LCD et accédé au
“ home LCD “. Dans le cas d’un fonctionnement normale, s’il n’ya pas des
erreurs les LEDs, vertes s’allument comme montre la figure 3.14 :

Figure 3.14 – Test "Pas d’erreur"

Dans le cas d’existence d’une erreur, seulement les LEDs rouges s’allument
et les buzzers sonnent comme montre le figure 3.15 :

Figure 3.15 – Test "Erreur"

43
3.4. Conclusion

Un message contenant l’erreur est envoyé à la Base de Données et affichée


dans la LCD à l’aide du commande lcd.print(Error).
Vous trouvez un exemple d’affichage des erreurs sur LCD dans la figure 3.16 :

Figure 3.16 – Test Erreur de connections

3.4 Conclusion
Dans cette partie, nous avons exposé en détails la conception de la carte
arduino. Dans cette présentation, nous avons expliqué les sous-programmes
de la partie software accompagnés par la réalisation de tests.

44
Conclusion Générale

Ce rapport s’inscrit dans le cadre d’un projet de fin d’études élaboré au


sein de la société de robotique « AROTEQ ». Il a porter sur la conception
et la réalisation d’un robot autonome de déplacement des charges.

Pour y parvenir, il nous a fallu une étude et analyse des besoins fonc-
tionnels du robot afin de bien tracé une démarche structurée à suivre. Nous
sommes passés par plusieurs étapes d’analyse, d’étude de conception méca-
nique et électronique ainsi qu’une phase de déveollpement de la carte mère.

Ce projet nous a fourni une expérience très intéressante et enrichissante


dans le domaine de la robotique. De plus, nous avons réussi à mettre en
œuvre les concepts importants en électronique, mécanique, robotique et in-
formatique vus au cour de notre formation, en essayant d’intégrer les fonc-
tionnalités dont nous avions besoin pour rendre notre robot fonctionnel.

Nous sommes unanimes pour dire que ce projet nous a permis de nous
amuser grâce à la manipulation du matériel, ce qui pourrait nous être forte-
ment utile pour notre vie professionnelle future. Bien sûr tout ce travail s’est
déroulé dans les meilleures conditions possible, en effet une bonne cohésion
et une bonne entente ont permis l’obtention d’un travail abouti et satisfaisant.

Nous avons rencontré plusieurs difficultés durant la réalisation de ce pro-


jet dont principalement le confinement suite à la pandémie COVID-19 ce qui
nous a empêché de poursuivre notre projet dans les locaux de l’entreprise
d’accueil. En outre, nous avons été face à une rupture de composants méca-
niques et électroniques qui s’avèrent nécessaire pour le bon fonctionnement
du robot. De ce fait, nous sommes convaincus que notre projet présente des
opportunités d’amélioration.

Pour améliorer ce prototype, il serait intéressant de :

45
3.4. Conclusion

- Remplacer la carte Arduino mega par la carte Raspberry Pi 4B.


- Ajouter des capteurs de distances GP2Y0A21YK0F de Sharp qui
sont les plus performants.
- Remplacer les capteurs de ligne noires par des capteurs de ligne
magnétique HG G-19600.
- Utiliser un système de localisation plus adéquat ( système de navi-
gation de Marvelmind ), en envisageant de rendre le véhicule complè-
tement autonome par rapport à son environnement, ce qui était notre
objectif en débutant le projet.

46
Webographie

[1] Aroteq,
https ://aro-teq.com
[2] Electronique1.blogspot,
https ://electronique1.blogspot.com
[3] Amazon,
https ://www.amazon.fr
[4] Amperes,
https ://www.amperes.be/
[5] Shop4makers,
https ://www.shop4makers.com
[6] Arduino,
https ://arduino.cc
[7] Electronicwings,
https ://www.electronicwings.com
[8] Arduino.balaisepacal,
http ://arduino.balaisepacal.fr
[9] Arduino en classe,
https ://recitmst.qc.ca/arduino
[10] Carnetdumake,
https ://www.carnetdumaker.net
[11] Nicot31,
http ://nicot31.fr
[12] Aliexpress,
https ://fr.aliexpress.com

47

Vous aimerez peut-être aussi