d’obstacle contrôlé
par Zigbee
RAPPORT DU PROGET
ROBOT DÉTECTEUR D’OBSTACLE CONTRÔLÉ PAR ZIGBEE
Table de matières :
Remerciement
Introduction
I. Présentation du projet
1. But de projet
2. Cahier des charges
II. Etude théorique
1. Généralités sur le Xbee et le protocole Zigbee
2. Fonctionnement du Robot
3. Choix des composants
- Arduino Duemilanove
- SERVOMOTEURS
- CAPTEUR ULTRASONS HC-SR04
- Wireless A/V Camera
- Xbee S1
III. Réalisation pratique
1. Modification des servos moteurs
2. Simulation sur Proteus 8
3. Programmation du robot
4. Configuration de Xbee
5. Test et réglages
Conclusion
1
ROBOT DÉTECTEUR D’OBSTACLE CONTRÔLÉ PAR ZIGBEE
Remerciement :
Nous profitons par le biais de ce rapport, pour exprimer nos vifs remerciements à
toute l’équipe pédagogique de l’Ecole National des Sciences Appliquées de
Khouribga pour avoir assuré la partie théorique de notre parcours scolaire.
Un merci bien particulier adressé également à nos professeurs Mr. Lagrat, et Mr.
Massour, qui nous ont donné de leurs temps et expériences pour nous guider tout
le long de ce projet. Merci de nous avoir tant soutenus et couragé durant le
processus de réalisation de ce projet. Que Dieu vous bénisse.
2
ROBOT DÉTECTEUR D’OBSTACLE CONTRÔLÉ PAR ZIGBEE
Introduction :
La Robotique fait partie des sciences des objets et des systèmes artificiels. Elle
peut être vue comme la science de la perception et du mouvement et de leur
intégration en une machine physique, mécanique et informatique.
Un robot est donc un système matériel possédant des capacités de perception,
d’action, de décision et de communication, parfois capable d’améliorer ses
propres performances par apprentissage automatique ou supervisé par des
humains, pour :
- agir dans un environnement ouvert ou confiné, dynamique et imparfaitement
modélisé, voire inconnu, à des échelles allant du nanomonde au macromonde ;
- exécuter de façon autonome ou en relation avec un humain, des tâches
d’observation, d’exploration, de modélisation, de manipulation et/ou
d’intervention sur l’environnement ;
- interagir le cas échéant avec d’autres machines ou avec des humains,
matériellement ou virtuellement.
Au plan scientifique, la Robotique est dotée de plusieurs grands journaux
internationaux (IEEE Trans. on Robotics 3, Int. Journal of Robotics Research, Int.
Journal of Robotics and Autonomous Systems) (à moindre titre : Int. Journal of
Advanced Robotics Systems, Int. Journal of Robotics and Mecatronics,) et de
plusieurs conférences internationales dont les deux plus importantes: IEEE Int.
Conf. on Robotics and Automation, IEEE/RSJ Int. Conf. on Intelligent Robots
and Systems.
Si la Robotique non manufacturière a été longtemps considérée comme un champ
scientifique très prospectif dont les applications, en dehors de la conquête spatiale,
semblaient futuristes, les progrès scientifiques et technologiques importants
intervenus dans les grandes disciplines invoquées par la Robotique (mécanique,
électronique, automatique, informatique) ont considérablement ouvert le spectre
de ses applications, de plus en plus tangibles et crédibles.
3
ROBOT DÉTECTEUR D’OBSTACLE CONTRÔLÉ PAR ZIGBEE
I. Présentation du projet
1. But du projet :
Ce projet vise la réalisation d’un robot détecteur d’obstacle, contrôlé par une carte
Arduino. Le guidage du robot sera fait à distance en « temps réel » grâce à des
modules sans fil Xbee, qui utilisent le protocole Zigbee comme moyen de
communication. Ainsi, le robot va disposer d’une caméra sans fil, avec laquelle
on aura une acquisition de données sous formes d’image en « temps réel » aussi.
Ceci va nous permettre d’exploiter les critères de la communication en « temps
réel » avec le microcontrôleur, ainsi de découvrir les problèmes qu’on peut
rencontrer durant le couplage de la carte Arduino avec les modules Xbee.
2. Cahier de charges :
-Réalisation d’un robot détecteur d’obstacles.
-commande à distance à l’aide du module Xbee.
-Supervision à l’aide d’une caméra sans fil A/V.
4
ROBOT DÉTECTEUR D’OBSTACLE CONTRÔLÉ PAR ZIGBEE
5
ROBOT DÉTECTEUR D’OBSTACLE CONTRÔLÉ PAR ZIGBEE
Une autre application peut s’avérer très utile : programmer à distance une carte
Arduino. En effet, d’habitude on relie sa carte avec câble USB, mais comment
2. Fonctionnement du robot :
Pendant ce projet, on réalisera un robot détecteur d’obstacles. Le robot utilise
constamment une sonde à ultrasons pour détecter la présence d'un obstacle devant
lui. Selon les valeurs données au programme, si aucun obstacle n'est détecté à
6
ROBOT DÉTECTEUR D’OBSTACLE CONTRÔLÉ PAR ZIGBEE
7
ROBOT DÉTECTEUR D’OBSTACLE CONTRÔLÉ PAR ZIGBEE
l'instructiondigitalWrite(broche, HIGH).
De plus, certaines broches ont des fonctions spécialisées :
Communication Serie: Broches 0 (RX) et 1 (TX). Utilisées pour recevoir
(RX) et transmettre (TX) les données séries de niveau TTL. Ces broches
sont connectées aux broches correspondantes du circuit intégré FTDI de
la carte, composant qui assure l'interface entre les niveaux TTL et le port
USB de l'ordinateur.
Interruptions Externes: Broches 2 et 3. Ces broches peuvent être
configurées pour déclencher une interruption sur une valeur basse, sur un
front montant ou descendant, ou sur un changement de valeur. Voir
l'instruction attachInterrupt() pour plus de détails.
Impulsion PWM (largeur d'impulsion modulée): Broches 3, 5, 6, 9, 10, et
11. Fournissent une impulsion PWM 8-bits à l'aide de
l'instruction analogWrite().
SPI (Interface Série Périphérique): Broches 10 (SS), 11 (MOSI), 12
(MISO), 13 (SCK). Ces broches supportent la communication SPI
(Interface Série Périphérique) qui, bien que disponible d'un point de vue
matériel, n'est pas actuellement inclut dans le langage Arduino.
Une librairie pour communication SPI est cependant disponible.
8
ROBOT DÉTECTEUR D’OBSTACLE CONTRÔLÉ PAR ZIGBEE
généralement avec boîte de vitesses – peuvent délivrer des couples plus élevés et
être actionnés avec des vitesses de rotation plus importantes, ce qui est favorable
lors des applications dynamiques qui exigent particulièrement une sécurité de
travail élevée ou des temps d'ajustage rapides. Un moteur électrique à courant
alternatif ou continu est jumelé à un train d'engrenages démultipliant qui entraîne
un axe avec une grande force de torsion. Généralement, la rotation de cet axe est
restreinte à seulement 180 degrés par un mécanisme interne. Des
composants électroniques détectent la position réelle de l'axe et contrôlent
la rotationdu moteur électrique tant que la position de l'axe ne se conforme pas à
celle requise par la commande externe. Il existe une vaste gamme de
servomoteurs : des gros modèles industriels de plusieurs kilogrammes à courant
alternatif, avec des boîtiers et carters d'engrenages en métal, jusqu'aux minuscules
servomoteurs en plastique de quelques grammes à courant continu que l'on
retrouve en modélisme dans les avions, les bateaux, les voitures et les
hélicoptères modèles réduits.
Les servomoteurs utilisés dans ce projet sont du type MG996R pour le
mouvement des roues du robot, et un servomoteur SG90 pour le mouvement du
capteur ultrasons.
3.3 Capteur ultrasons :
Les capteurs à ultrasons ont établi de nouvelles références en automatisation
La distance étant déterminée par le temps de propagation des ultrasons et non par
leur intensité, les capteurs à ultrasons conviennent parfaitement à une suppression
d’arrière-plan.
10
ROBOT DÉTECTEUR D’OBSTACLE CONTRÔLÉ PAR ZIGBEE
Pratiquement tous les matériaux réfléchissant le son peuvent être détectés, quelle
que soit leur couleur. Même les objets transparents ou films minces ne posent
aucun problème à un capteur à ultrasons.
11
ROBOT DÉTECTEUR D’OBSTACLE CONTRÔLÉ PAR ZIGBEE
Démonter le servomoteur
A l'aide d'un petit tournevis cruciforme on dévisse les 4 vis du boîtier.
On a obtenu ceci
12
ROBOT DÉTECTEUR D’OBSTACLE CONTRÔLÉ PAR ZIGBEE
Modification du potentiomètre
On va garder juste la fonction mécanique du potentiomètre comme l'axe de ce
dernier est le support du pignon de sortie. Il faut que le potentiomètre puisse
effectuer un tour complet. En ce qui concerne la fonction électrique on va
remplacer le potentiomètre par deux résistances fixes.
On dévisse l'écrou de fixation du potentiomètre et on le retire du boîtier.
On modifie le potentiomètre afin que son axe puisse faire une rotation complète.
A l'aide d'une petite pince coupante couper la butée du capot et la plier vers
l'extérieur. On coupe le contact à pression au ras du disque afin que l'axe du
potentiomètre puisse effectuer un tour complet sans frottement.
On coupe également les 2 contacts à pression du couvercle, ceci diminue les
frottements.
13
ROBOT DÉTECTEUR D’OBSTACLE CONTRÔLÉ PAR ZIGBEE
14
ROBOT DÉTECTEUR D’OBSTACLE CONTRÔLÉ PAR ZIGBEE
15
ROBOT DÉTECTEUR D’OBSTACLE CONTRÔLÉ PAR ZIGBEE
16
ROBOT DÉTECTEUR D’OBSTACLE CONTRÔLÉ PAR ZIGBEE
17
ROBOT DÉTECTEUR D’OBSTACLE CONTRÔLÉ PAR ZIGBEE
18
ROBOT DÉTECTEUR D’OBSTACLE CONTRÔLÉ PAR ZIGBEE
19
ROBOT DÉTECTEUR D’OBSTACLE CONTRÔLÉ PAR ZIGBEE
4. Configuration de Xbee
Cette partie s’intéresse à la configuration des XBee ’series 1’, il est bon d’avoir
une carte qui fasse la liaison avec un ordinateur sous Windows pour utiliser le
logiciel de configuration distribué par Digi : X-CTU.
Une fois familiarisé avec l’interface du logiciel X-CTU, on va configurer deux
modules pour qu’ils communiquent entre eux. Il suffit de retenir les deux
principes suivants :
- utiliser un identifiant de réseau (PAN ID) unique (changer la valeur par défaut)
- toujours avoir au moins un module et un seul en rôle coordinateur, et tous les
autres en routeurs.
On suit ces étapes pour la configuration :
20
ROBOT DÉTECTEUR D’OBSTACLE CONTRÔLÉ PAR ZIGBEE
Le même ID :
21
ROBOT DÉTECTEUR D’OBSTACLE CONTRÔLÉ PAR ZIGBEE
5. Test et réglages
22
ROBOT DÉTECTEUR D’OBSTACLE CONTRÔLÉ PAR ZIGBEE
Conclusion :
La réalisation de ce robot a donc passé par deux phases principales:
La première a consisté à réaliser la commande du robot détecteur d'obstacle par
le microcontrôleur
Arduino, par la suite, on a pu intégrer le module Xbee dans le système, et ainsi
commander l'arduino à distance en utilisant le protocole Zigbee compatible avec
le module Xbee.
Durant le processus de réalisation du robot, on a rencontré pas mal d'obstacles,
voir l'indisponibilité de quelques composantes, ainsi que la contrainte du temps,
mais à l'issu de ce projet, on a pu comprendre l'importance des études théoriques
qui doivent être faites avant toute entamassions du côté pratique, ainsi que la
nécessité du travail en groupe et l'esprit d'équipe.
23