Lycée Edouard BRANLY Rapport de projet Thème 2012 – Robot Roomba Projet - Carte Radio Ludovic LE BRECH François MAHIEU Matthieu RICHARD LE BRECH Ludovic Projet 2012 – Robot Roomba TEL SOMMAIRE I) Présentation du système ......................................................................................................................................... 2 A. IROBOT ................................................................................................................................................................. 2 B. L’ASPIRATEUR ROOMBA ......................................................................................................................................... 2 C. PROBLEMES DU SYSTEME ET INCONVENIENTS ............................................................................................................ 2 E. ETUDE TECHNIQUE DU SYSTEME MODIFIE ................................................................................................................. 3 II) Présentation de l’objet technique ........................................................................................................................... 5 A. CARTE COMMUNICATION (O.T.1) ........................................................................................................................... 5 B. CARTE RADIO (O.T.2) ............................................................................................................................................ 5 C. CARTE ROBOT (O.T.3) ........................................................................................................................................... 6 III) Etude fonctionnelle de la partie commande Radio ................................................................................................ 7 A. ROLE DANS LE SYSTEME .......................................................................................................................................... 7 B. DESCRIPTION DES FONCTIONS ................................................................................................................................. 7 C. DECOUPAGE FONCTIONNEL ..................................................................................................................................... 8 IV) Etude structurelle de la carte .................................................................................................................................. 9 A. FA : ALIMENTATION DE LA CARTE ............................................................................................................................ 9 B. FS1 : ADAPTATION DES NIVEAUX DE TENSION ET TRANSMISSIONS DES DONNEES .......................................................... 9 1) FS1-1 : Adaptation des niveaux de tensions de Tx ....................................................................................... 9 2) FS1-2 : Adaptation du niveau de tension de Rx .......................................................................................... 11 3) FS1-3 : Module XBEE ou Bluetooth et visualisation de fonctionnement ................................................... 12 C. V) FS2 : MESURE DU COURANT CONSOMME .............................................................................................................. 18 1) FS2-1 : Amplificateur de différence ............................................................................................................. 18 2) FS2-2 : Amplificateur non inverseur ............................................................................................................ 19 3) Ecrêtage de la tension VS1B ........................................................................................................................... 20 Mise en conformité de la carte .............................................................................................................................. 21 TEL 2012 – Carte radio 1 LE BRECH Ludovic I) Projet 2012 – Robot Roomba TEL Présentation du système A. IROBOT IRobot est une entreprise spécialisée dans la conception et la vente de robots afin de faciliter la vie des personnes. Elle a été créée par Colin ANGLE, Helen GREINER et Rodney BROOKS. Depuis 19 ans, IRobot a conçu des produits pour l’armée Américaine (par exemple le Packbot) et des sous-marins sans équipage, ceci afin de minimiser les pertes humaines. Depuis le début des années 2000, IRobot conçoit des robots pour le grand public, tel que le Roomba. B. L’ASPIRATEUR ROOMBA L’aspirateur Roomba est un aspirateur intelligent pouvant nettoyer n’importe quel sol domestique tout seul dont le premier modèle a été créé en 2002. L’aspirateur utilisé dans ce projet est celui de la 3ème génération. Il est conçu pour aller sous tous les meubles et s’adapte au changement de surface. L’aspirateur met en moyenne 3 heures pour se recharger. Après utilisation ou lorsque la batterie est vide, il retourne sur son socle. Il dispose de contrôles situés sur le dessus de son capot, et possède des indications orales multi langues. C. PROBLEMES DU SYSTEME ET INCONVENIENTS L’aspirateur est prévu pour un usage domestique. Il nettoie uniquement les surfaces lisses (carrelages, parquets, lino, …). Il est difficile pour lui de nettoyer des surfaces rugueuses comme les moquettes. Il dispose également d’un ramasse poussière de capacité relativement réduite, ce qui oblige l’utilisateur à le vider régulièrement. De plus, il n’est possible de le contrôler que par les boutons poussoir situés sur sa coque. TEL 2012 – Carte radio 2 LE BRECH Ludovic Projet 2012 – Robot Roomba TEL D. OBJECTIFS DU PROJET Pour améliorer le système, on propose d’ajouter une commande à distance par onde radio, avec possibilité de commander le robot via un ordinateur. On a décidé d’ajouter plusieurs fonctionnalités : - Commande à distance via un ordinateur par le biais d’un webserver ; - Commande sans fil par onde radio ; - Programmation du robot par câble Ethernet ; - Possibilité de visionner l’intérieur de la maison grâce à une caméra embarquée sur le robot. E. ETUDE TECHNIQUE DU SYSTEME MODIFIE Le diagramme sagittal correspondant à ces modifications est celui-ci (les modifications sont en rouge) : Les nouvelles liaisons sont : Utilisateur – Commande à distance L10 : L’utilisateur envoie des informations de mise en fonctionnement ou d’arrêt, des consignes de nettoyage, de retour au socle de chargement ou d’orientation du robot. TEL 2012 – Carte radio 3 LE BRECH Ludovic Projet 2012 – Robot Roomba TEL Commande à distance - Robot aspirateur L11 : La commande XBEE envoie un signal, onde radio représentatif du fonctionnement désiré. => Je ne comprends pas la phrase … Robot aspirateur – Ecran L12 : La caméra embarquée transmet le signal vidéo acquis par le robot aspirateur. Ecran – Utilisateur L13 : L’écran restitue le signal vidéo acquis par le robot à l’utilisateur. TEL 2012 – Carte radio 4 LE BRECH Ludovic Projet 2012 – Robot Roomba TEL II) Présentation de l’objet technique Les modifications apportées au système permettent de commander à distance le robot Roomba soit par onde radio, soit par ordinateur via une page HTML. On peut aussi utiliser un outil(sans s) de vidéo-surveillance par ordinateur avec une webcam. Nous rajouterons ces fonctionnalités au système existant : - Commande à distance par le biais d’un ordinateur ; - Commande sans fil par onde radio ; - Programmation du robot par câble Ethernet ; - Possibilité d’accéder au robot depuis n’importe quel ordinateur via un web-server ; - Possibilité de visionner l’intérieur de son domicile grâce à une caméra embarquée sur le robot aspirateur. A. CARTE COMMUNICATION (O.T.1) Cette carte permet à l’utilisateur de commander l’aspirateur à distance. On peut la comparer à une télécommande. Cette carte accueil aussi le module Webserver qui contient la page web qui permet de diriger le Roomba et de visualiser la webcam. Elle alimente également une des deux cartes radio. Ordre de l'utilisateur sur la carte Commander le Roomba Liaison série avec la carte radio Communication PC par RS 232 Alimentation de la carte radio Ordre de l'utilisateur depuis le site Web par liaison Ethernet B. CARTE RADIO (O.T.2) Le système nécessite deux cartes radio pour fonctionner : une qui envoie les informations de la carte communication, l’autre qui les reçoit et les communique à la carte robot. Elles communiquent soit par module XBEE, soit par module Bluetooth. Carte communication Liaison série TEL 2012 – Carte radio Transmettre les informations de la carte communication à la carte robot par liaison XBEE ou Bluetooth Carte robot Liaison Série 5 LE BRECH Ludovic Projet 2012 – Robot Roomba TEL S majuscule ou non ? C. CARTE ROBOT (O.T.3) La carte robot permet d’envoyer les commandes de la carte communication au robot. Elle comporte des liaisons séries avec un module XBEE ainsi qu’une liaison RS232 pour permettre une commande directe via ordinateur. Un afficheur LCD est connecté à cette carte pour afficher l’état du robot (ON/OFF) ainsi que la tension de la batterie. On peut également modifier le programme pour afficher la consommation de la carte Radio. Carte robot Liaison série Commander le robot et informer l’utilisateur de l’état du robot Donner les ordres au robot Informer l’utilisateur De l’état du robot par afficheur LCD TEL 2012 – Carte radio 6 LE BRECH Ludovic Projet 2012 – Robot Roomba TEL III) Etude fonctionnelle de la partie commande Radio A. ROLE DANS LE SYSTEME La carte radio sert à transmettre les informations de la carte communication vers la carte robot par le biais de modules XBEE ou Bluetooth. B. DESCRIPTION DES FONCTIONS Que veut dire Rx ? Tx ? Umes ? A la rigueur, fait une légende ;-) TEL 2012 – Carte radio 7 LE BRECH Ludovic Projet 2012 – Robot Roomba TEL C. DECOUPAGE FONCTIONNEL TEL 2012 – Carte radio 8 LE BRECH Ludovic Projet 2012 – Robot Roomba TEL IV) Etude structurelle de la carte A. FA : ALIMENTATION DE LA CARTE Cette fonction permet d’alimenter la carte. En entrée du LM317(qu’est-ce que c’est ?), il y a du (ça ne veut pas dire grand-chose) 12V fourni par la carte robot ou la carte communication. Les condensateurs C3 et C2 permettent d’éliminer les fluctuations du signal d’entrée, et le condensateur C1 permet d’éliminer les fluctuations du signal de sortie. La diode D1 permet d’éviter, en cas de mauvaise alimentation, d’endommager les autres composants. En sortie du régulateur, on doit avoir du 3.3V. Vérifions cela (ou pas « vérifications :) : R2 390 Vout = 1.25*(1+ R1+R10)+IADJ * R2 = 1.25*(1+ 120+120)+50.10-6 * 390 = 3.3V Le régulateur permet bien d’avoir 3.3V en sortie. B. FS1 : ADAPTATION DES NIVEAUX DE TENSION ET TRANSMISSIONS DES DONNEES 1) FS1-1 : Adaptation des niveaux de tensions de Tx Schéma de simulation TEL 2012 – Carte radio 9 LE BRECH Ludovic Projet 2012 – Robot Roomba TEL Cette fonction assure l’adaptation des niveaux de tensions du signal Tx (qu’est-ce que c’est ?) afin qu’il soit interprétable par le microcontrôleur de la carte commande ou de la carte robot. En effet la tension DOUT est soit 0V, soit 3.3V, le but étant d’avoir une tension de sortie (Tx) de 0V ou de 5V. D’après les graphiques, le montage remplie sa fonction, mais comprenons comment cela marche (pas très Français) : Le montage est constitué de résistances 10 K et d’un transistor BC547. D’après le document constructeur du BC547, β =110. Un transistor est saturé lorsque IC < βIB. Lorsque Dout = 3.3V, on peut supposer que le transistor Q3 est saturé, ce qui va bloquer Q2 et donc passer Tx à 5V. Lorsque DOUT=3.3v Pour Q3 : IB = IC = 𝐷𝑂𝑈𝑇 −𝑉𝐵𝐸 3.3−0.7 𝑅18 𝑉𝐶𝐶−𝑉𝐶𝐸 𝑅16 = 1000 = 260µA donc β.IB = 110 x 7µA = 28.6 mA 4.8 =10000 = 480 µA Ainsi nous avons bien IC < βIB Le transistor Q3 est alors saturé. Pour Q2 : Q3 étant saturé, son VCE=0.2V. Donc le VBE de Q2 est 0.2V, ce qui n’est pas suffisant pour le faire saturer. Ainsi le transistor Q2 est bloqué. Ce transistor agit ainsi comme un interrupteur ouvert donc Tx = 5v. Lorsque DOUT=0v Pour Q3 : IB= 0A donc β.IB = 0. TEL 2012 – Carte radio 10 LE BRECH Ludovic IC= VCC−VCE R16 Projet 2012 – Robot Roomba TEL 4.8 =10000=480 µA Ainsi nous avons IC> βIB Le transistor Q3 est alors bloqué. Pour Q2 : IB= IC= VCC−V𝐶𝐸 = 4.3 = 430 µA donc βIB= 110 x 430 µA=47.3 mA R16 10000 VCC−V𝐶𝐸 4.8 R17 =10000=480 µA Ainsi IC< βIB Le transistor Q2 est alors saturé. Ce transistor agit comme un interrupteur fermé donc Tx = 0.2v puisque c’est aussi la tension VCE. 2) FS1-2 : Adaptation du niveau de tension de Rx Cette fonction permet d’adapter la tension Rx (0v-5v) sortant d’un microcontrôleur à une tension variant entre 0 et 3.3v en entrée du module Xbee. Elle est composée de 3 résistances (1k, 10k et 100k) et d’un transistor BC557 PNP. D’après le document constructeur, β=110. Schéma de simulation On utilise les théorèmes de Thévenin et de superposition pour simplifier le schéma et les calculs. TEL 2012 – Carte radio 11 LE BRECH Ludovic Projet 2012 – Robot Roomba TEL Pour Rx = 5v : ETH = 𝑅𝑋 ∗𝑅4+3.3∗𝑅3 5∗100.103 +3.3∗1.103 𝑅3+𝑅4 = 100.103 +1.103 100.103 ∗1.103 𝑅3∗𝑅4 = 4,98V 100.106 RTH= 𝑅3+𝑅4 = 100.103+1.103 = 101.103 = 990 Ω UR5 = 3.3 + VCE = 3.3 - 90.10-3 = 3.21 V IB = IE = 𝐸𝑇𝐻 − 𝑉𝐵𝐸 +𝑈𝑅5 −3.3 𝑅𝑇𝐻 3,3+𝑉𝐶𝐸 𝑅5 = = 4,98+90.10−3 −3.21−3.3 = -1.45mA 990 3,3−90.10−3 10.103 = 321µA Ic = IB – IE = -1.45 – 0.321 = -1.771mA βIB = 110*(-1.45.10-3) = -160mA. On a IC< βIB. Donc le transistor est saturé. Il agit comme un interrupteur ouvert, donc DIN/CONFIG = 3.3V. Pour Rx = 0v : ETH = 𝑅𝑋 ∗𝑅4+3.3∗𝑅3 0∗100.103 +3.3∗1.103 𝑅3+𝑅4 = 100.103 +1.103 100.103 ∗1.103 𝑅3∗𝑅4 = 0,03V 100.106 RTH= 𝑅3+𝑅4 = 100.103+1.103 = 101.103 = 990 Ω IB = IE = 𝐸𝑇𝐻 − 𝑉𝐵𝐸 +𝑈𝑅5 −3.3 𝑅𝑇𝐻 3,3+𝑉𝐶𝐸 𝑅5 = = 0,03−90.10−3 −3.21−3.3 3.3−90.10−3 10.103 990 = -6.45mA = 321µA Ic = IB – IE = -6.45 – 0.321 = -6.771mA βIB = 110*(-6.45.10-3) = -0.71mA. On a IC > βIB. Donc le transistor est bloqué. Il agit comme un interrupteur fermé, donc DIN/CONFIG = 0V. A REVOIR 3) FS1-3 : Module XBEE ou Bluetooth et visualisation de fonctionnement a) Module XBEE Caractéristiques de la liaison XBEE : TEL 2012 – Carte radio 12 LE BRECH Ludovic Projet 2012 – Robot Roomba TEL Les modules XBEE sont des circuits permettant une communication sans-fil avec le protocole 802.15.4 (Zigbee). Ils permettent de réaliser différents montages, comme une liaison série RS232 (utilisée dans ce système) ou bien un réseau maillé auto-configuré. Ils utilisent la bande passante des 2.4Ghz (pas très Français) (comme le Wifi ou Bluetooth). Ce module a un fonctionnement très simple, ce qui permet son utilisation dans de nombreux domaines sans pour autant nécessiter de grandes connaissances. Il permet également, en fonction de la puissance d’émission du signal, d’effectuer une communication jusqu’à 100 mètres. Le débit peut atteindre 250kbps, mais dans le cas de la liaison série RS232 utilisée dans ce projet, le débit est compris entre 9600bps/9,8kbps et 38400bps/38,4kbps (pas plus simple pour la comparaison ?). La vitesse et la bande passante ont des effets sur les erreurs de transmission. De plus, un composant XBEE de série 1 coute moins de 20€, ce qui permet de créer un réseau à moindre coûts. Présentation et configuration du module XBEE Le module XBEE ressemble à ceci : Le schéma de principe de la transmission d’un module à l’autre est celui-ci : L’adaptateur 3.3V est nécessaire pour que les informations communiquées par le microcontrôleur soit utilisable par le module sans risquer de le griller. TEL 2012 – Carte radio 13 LE BRECH Ludovic Projet 2012 – Robot Roomba TEL Pour configurer le module XBEE, il faut utiliser le logiciel X-CTU ainsi qu’une interface de programmation USB. Le programme et l’interface se présentent comme ceci : Interface de programmation USB X-CTU Pour configurer le module, il faut définir le port de communication (COM PORT) sur « USB Serial Port ». On laisse la vitesse de transmission à 9600 Bauds, avec 8 bits de données, pas de bit de parité et 1 bit de stop. On test la connexion avec le bouton « Test / Query ». Puis dans l’onglet « Modem Configuration », on configure le module. On clique sur le bouton « Read » afin de récupérer la configuration actuelle afin de l’éditer. TEL 2012 – Carte radio 14 LE BRECH Ludovic Projet 2012 – Robot Roomba TEL On commence par définir le « Coordinator Enable » en tant que « End Device », ce qui permet une connexion entre 2 modules. Puis on détermine le canal de communication (ce qui permet à plusieurs modules XBEE ayant la même IP de communiquer avec le bon module associé). On attribue une adresse au module XBEE (au format hexadécimal). Puis on lui indique l’adresse du module XBEE avec lequel il doit communiquer. Définition de la partie haute de l’adresse de destination (0 pour permettre une communication avec un autre module). TEL 2012 – Carte radio 15 LE BRECH Ludovic Projet 2012 – Robot Roomba TEL Définition de la partie basse de l’adresse de destination. On définit la puissance du signal émis (ce qui va influer sur la portée du module). On configure la vitesse de communication des informations (dans ce projet, les modules communiqueront à une vitesse de 9600 bauds). Puis on définit les broches du module permettant une information visuelle de l’activité du module. Dans notre projet, on définit la patte DIO5 comme étant la LED d’indication d’association des modules et la broche PWM comme la LED d’activité de trafic RF. TEL 2012 – Carte radio 16 LE BRECH Ludovic Projet 2012 – Robot Roomba TEL RSSI signifie Received Signal Strength Indicator Sur la carte radio, la LED1 est la LED RSSI et la LED2 la LED d’indication d’association des modules. On écrit la configuration dans la mémoire du module afin de pouvoir l’utiliser (bouton « Write »). Communications sans fil Lorsque l’on commande la mise en route ou l’extinction du robot, la carte communication envoie un signal via le module sans-fil. Ce signal comporte différentes informations, tels que l’adresse de la commande du robot et la commande à proprement parler de l’allumage ou de l’extinction du robot. Trames émises par le microcontrôleur pour l’allumage du robot : Trames émises par le microcontrôleur pour l’extinction du robot : Extrait du programme robot cde_robot3.c #define ADRESSE_CDE_ROBOT 0x5A #define ROBOT_ON 0x55 #define ROBOT_OFF 0xAA Dans le programme de la carte commande robot, on trouve que l’adresse 5A correspond à l’adresse de commande du robot. Cette adresse est envoyée au début de la transmission afin de communiquer à la carte robot où stocker les informations qui arrivent. Lors de la communication de l’information ROBOT_ON, la carte communication envoie le code 55 à la carte robot, qui permet l’allumage de l’aspirateur. TEL 2012 – Carte radio 17 LE BRECH Ludovic Projet 2012 – Robot Roomba TEL Lors de la communication de l’information ROBOT_OFF, la carte communication envoie le code AA à la carte robot, qui permet l’extinction de l’aspirateur. b) Module Bluetooth Caractéristiques de la liaison Bluetooth Les modules Bluetooth sont des circuits permettant une communication sans-fil. Il en existe plusieurs versions majeures, qui se déclinent en plusieurs versions mineures : Le Bluetooth 1.x utilisant la norme 802.11.2. Il y a : - La version 1.0, très peu utilisée et très vite remplacée par la version 1.0b permettant une meilleure interopérabilité ainsi qu’un débit de 1Mbps ; - la version 1.1, corrigeant quelques bugs et ajoutant quelques fonctionnalités ; - la version 1.2, apportant une vitesse un peu plus supérieure aux versions précédentes tout en permettant une meilleure résistance aux interférences. Le Bluetooth 2.x, utilisant la norme 802.11.2 permet un débit de 2.1Mbps. Il y a : - La version 2.0, rétro compatible avec les versions 1.x, réduit la consommation des périphériques tout en améliorant encore la fiabilité des transferts ; - La version 2.0 + EDR (pour Enhanced Data Rate) permet une plus grande vitesse de transfert (jusqu’à 2.1Mbps) ; - La version 2.1 + EDR qui améliore le jumelage entre les appareils et ajoute quelques fonctionnalités de sécurités. Le Bluetooth 3 + HS (High Speed) est compatible avec la norme 802.11 (Wi-Fi) et permet principalement un débit maximum de 3Mbps (30Mbps en cas d’utilisation du Wi-Fi). Il bénéficie également d’une meilleure gestion de l’énergie, sauf en cas d’utilisation du mode High Speed. Le Bluetooth 4.0 n’apporte pas d’ajout majeur puisqu’on retrouve des caractéristiques identiques au Bluetooth 3.0 (compatibilité Wi-Fi, consommation réduite, sécurité améliorée, …). Son atout majeur se situe surtout dans sa consommation réduite, permettant une utilisation avec des petits équipements dotés de piles rondes (montres, chronomètres, podomètres, etc…). C. FS2 : MESURE DU COURANT CONSOMME 1) FS2-1 : Amplificateur de différence TEL 2012 – Carte radio 18 LE BRECH Ludovic Projet 2012 – Robot Roomba TEL Cette fonction permet de prélever la tension aux bornes de R9 (dans la fonction alimentation). Cette tension est image du courant consommé par la carte. L’amplificateur est en mode linéaire car il y a une contre-réaction via R11. On le considère comme parfait. Calcul de la sortie VS1A. Le régime linéaire implique que le potentiel des entrées de l’amplificateur soit égaux (qu’est-ce qui est égaux ?). Donc V+ = V-. V+ = V- = 𝑅14∗𝐴𝑙𝑖𝑚 10.103 ∗12 = 10.103 +10.103 = 6V 𝑅13+𝑅14 𝐴𝑙𝑖𝑚∗𝑅11+𝑉𝑆1𝐴∗(𝑅12+𝑅9) 𝑅11+𝑅12+𝑅9 V-*(R11+R12+R9) = Alim*R11+VS1A*(R12+R9) VS1A = 𝑉 − ∗(𝑅11+𝑅12+𝑅9)−𝐴𝑙𝑖𝑚∗𝑅11 𝑅12+𝑅9 Comme l’amplificateur est en régime linéaire, on peut écrire : VS1A = VS1A = 𝑉 + ∗(𝑅11+𝑅12+𝑅9)−𝐴𝑙𝑖𝑚∗𝑅11 𝑅12+𝑅9 6∗(10.103 +10.103 +10)−12∗10.103 10.103 +10 VS1A = 0.7V 2) FS2-2 : Amplificateur non inverseur Calcul de la sortie VS L’amplificateur est en mode linéaire car il y a une contre-réaction via RV1 Donc V+ = VV+ = VS1A = 0.7V 𝑉𝑆∗𝑅8 V- = 𝑅8+𝑘.𝑅𝑉1 V+*(R8+k.RV1) = VS1B * R8 VS = 𝑉+∗(𝑅8+𝑘.𝑅𝑉1) 𝑅8 Pour k = 0 : VS = 0.7∗10000 10000 = 0.7V Pour k = 1 : TEL 2012 – Carte radio 19 LE BRECH Ludovic VS = Projet 2012 – Robot Roomba 0.7∗(10000+20000) 10000 TEL = 2.1V 3) Ecrêtage de la tension VS1B (Méfies-toi de l’alignement de tes titres). Cette fonction sert limiter la tension Umes entre 0V et 5V en cas de surtension ou sous-tension en sortie de l’amplificateur opérationnel. (0 ≤ VS ≤ 5). Si la tension VS est supérieure à 5V, la diode D2 sera passante et la diode D3 sera bloquée. On aura donc UMES = 5V. Si la tension VS est inférieure à 0V, la diode D3 sera passante et la diode D2 sera bloquée. On aura donc UMES = 0V. Cette fonction sert donc à protéger le microcontrôleur de la carte connectée afin d’éviter de le griller. (meilleur exemple : regarde l’alignement la page du dessus ..) TEL 2012 – Carte radio 20 LE BRECH Ludovic Projet 2012 – Robot Roomba TEL V) Mise en conformité de la carte Blah blah blah… TEL 2012 – Carte radio 21