Accueil du site > Robotique > Conception électronique et logicielle [Eurobot OPEN 2008]

Conception électronique et logicielle [Eurobot OPEN 2008]

jeudi 10 juillet 2008, par Jean-François Duval


Cette page présente le système électronique du robot Eurobot 2008 de l’AQRA.

Schéma de haut niveau de l’organisation électronique du robot

PNG - 581.3 ko

Cartes du CoreEB2k8

Le CoreEB2k8 est le cœur du robot. C’est l’unité de contrôle principale, qui regroupe toutes les cartes logiques. La communication avec les cartes de puissance se fait toujours par le biais d’un bus de communication I2C ou de lignes logiques dédiées.

Carte Mère et Interface Homme-Machine

La carte Mère est le cerveau principal du robot. Elle contient un dsPIC20F4013 qui agit comme gestionnaire des comportements du robot. Toutes les stratégies de haut niveau du fonctionnement du robot y sont codées. Entre autre en étant le maître du bus I2C, c’est cette carte qui contrôle et coordonne toutes les autres cartes. Sur la carte est aussi présent un petit microcontrôleur PIC18F1320 dédié à la gestion du Timer90s, la minuterie qui gère le temps lors d’un match. La carte mère supporte directement la carte Interface Homme-Machine, qui n’est qu’un support pour son interface avec l’usager. Les boutons, l’afficheur LCD de 4 lignes de 20 caractères et les afficheurs 7 segments à dels présents servent à la préparation des matchs et au débogage. En situation normale de match, suite à sa mise sous tension elle demande à l’opérateur quelle stratégie adopter puis elle attend le signal de départ. Dès que le signal est reçu, elle démarre la minuterie de 90 secondes et commence son cycle de fonctionnement : questionnements des capteurs de position, questionnement de la caméra par le biais de l’ordinateur embarqué, calcul des actions à effectuer et mouvements.

PNG - 164.1 ko
PNG - 81.8 ko
PNG - 79.5 ko
PNG - 48.1 ko

Carte Actionneurs et Barillet

Cette carte est dédiée à la manipulation des balles, par le biais de quelques capteurs et plusieurs actionneurs. Deux servos-moteurs1, dont un fonctionnant en miroir2, permettent aux pinces de saisir les balles dans les distributeurs. La turbine permet de les aspirer dans le barillet. Ce barillet, mis en mouvement par un puissant moteur pas-à-pas, peut ensuite tourner et se positionner précisément sur l’entrée des balles, sur le canon ou sur le capteur de couleur. Lorsqu’une balle est mise en position du canon, un servomoteur, le bloqueur, change de position pour libérer l’accès aux roulettes de propulsion. Un autre servomoteur, le pousseur, frappe la balle et l’envoie entre les deux roues de mousse qui l’expédieront dans un conteneur.

PNG - 159.8 ko
PNG - 63.8 ko

Capteurs

Le robot évolue dans un environnement relativement complexe, en présence d’un autre robot et de plusieurs éléments de jeu. Afin de pouvoir effectuer les actions voulues, il doit éviter l’adversaire, doit pouvoir déterminer la couleur des balles et où les placer. Plusieurs capteurs permettent de connaitre au mieux possible les obstacles dans l’entourage du robot. Pour ce faire, plusieurs télémètres infrarouges sont utilisés. Ils ont une sortie en tension liée à la distance. La conversion analogique à numérique ce fait par le microcontrôleur et une table de conversion nous donne une distance en mm. Un télémètre ultrason à l’avant du robot permet une détection plus fiable : il n’est pas handicapé par des surfaces très transparentes ou miroir. Quelques autres capteurs simples sont utilisés en plus, afin d’obtenir un maximum d’informations. La carte peut aussi contrôler une tourelle rotative (pas utilisée pour le moment) qui permet de s’orienter plus facilement sur le but. Toutes les données de ces capteurs sont traitées sur la carte Capteurs et la carte Mère peut les lire par le bus I2C au besoin.

PNG - 229.9 ko
PNG - 112.6 ko

Alimentation

Alimentation fournit les tensions nécessaires aux cartes du CoreEB2k8 et à certaines cartes externes. Les circuits de logique nécessitent un 5V bien régulé. Les servomoteurs fonctionnent aussi à 5V, mais en consommant et en parasitant beaucoup, ce qui rend difficile la cohabitation sur une même alimentation. En entrée de la carte Alimentation se trouvent les deux accumulateurs 9.6V. Autant du côté propre que du côté sale, le 9.6V est convertit par de petites alimentations à découpage1 en 5V. Il circule donc dans le robot des alimentations propres (9.6 et 5V) et sales (9.6 et 5V) qui proviennent de la carte Alimentations. Notons que la masse est commune pour les tensions sales et l’accumulateur 36V.

PNG - 73.1 ko
PNG - 37.5 ko

Back

La carte Back est simplement le support du BusEB2k8. Toutes les autres cartes s’enfichent sur elle.

PNG - 74.6 ko
PNG - 60.1 ko

Cartes externes

Plusieurs cartes sont externes au CoreEB2k8. Ce sont principalement des interfaces de puissance pour les actionneurs ou des adaptateurs de signaux.

PIMD3.1

PIMD est un acronyme de Powerful and Intelligent Motor Driver. Les cartes PIMD sont une petite série de cartes développées pour Eurobot. La version actuelle, la 3.1, permet le contrôle en puissance d’un moteur allant jusqu’à 36V 3A (6A en pointe). Elle comporte un microcontrôleur dont la tâche est l’asservissement de vitesse et la génération de profils (accélération positive et négative, courbes trapézoïdales, etc.) de vitesse. Reliée au bus I2C, elle reçoit des ordres de haut niveau, tel que « Accélère jusqu’à 560mm/s » et pilote le moteur en conséquence. Deux de ces cartes sont utilisées dans le robot, une pour chaque moteur de propulsion. L’information de vitesse provient des génératrices des moteurs.

PNG - 141.6 ko
PNG - 62.6 ko

Power Stepper

Le barillet est un dispositif mécanique composé de 5 tubes montés sur un disque rotatif. Il permet la collecte, le tri et l’éjection des balles. Il doit donc être positionné précisément. Un puissant moteur pas-à-pas le fait bouger. La carte Power Stepper comprend de la logique de contrôle et une interface de puissance. Elle permet de contrôler en pas entier ou en demis pas des moteurs bipolaires consommant jusqu’à 4A par phase.

PNG - 98.4 ko
PNG - 45.6 ko

Canon

Le canon sert à l’éjection des balles. Il est composé de deux moteurs CC. La distance du tir dépend de la vitesse de ces moteurs. La carte canon est simplement une interface de puissance qui achemine le PWM provenant de la carte Actionneurs, par le biais de drivers de Mosfets1 et de Mosfets de puissance, aux moteurs.

PNG - 51.9 ko
PNG - 16.7 ko

Turbine

La turbine est utilisée pour faire entrer les balles dans le barillet. Elle est composée d’un moteur CC et d’un ventilateur particulier. La puissance électrique consommée est considérable : de l’ordre de la dizaine d’ampères sous 15.6V. La tension moyenne de 15.6V, nominale à ce moteur, est obtenue par la batterie 36V et du PWM. La carte Turbine est l’interface de puissance, contrôlant le moteur par le biais d’un gros Mosfet.

PNG - 54.2 ko
PNG - 15.4 ko

Adapteur de couleur

Si un objet nous semble rouge, c’est car il reflète le rouge. Un objet semble blanc quand il reflète bien toutes les couleurs. La lecture de couleur est faite par un capteur maison basé sur ce principe. La tête de lecture est composée d’une diode électroluminescente RGB1 et d’un petit circuit intégré comportant une photodiode et son convertisseur courant tension. La balle est éclairée successivement par du bleu et du rouge, les sources étant pulsées à 1kHz. Chaque couleur de balle absorbe plus ou moins le bleu ou le rouge, ce qui fait que la lecture de tension faite sur le capteur est liée à la couleur. L’excitation à 1kHz, en conjonction avec un filtre passe-haut de quelques centaines de Hertz en sortie du détecteur permet de s’immuniser à la lumière ambiante. Le signal de retour est filtré puis comparé. Un PIC 18F1320 s’occupe de la modulation des sources et du décodage des couleurs. La couleur décodée est envoyée à la carte Actionneurs.

PNG - 92.3 ko
PNG - 38 ko
PNG - 44.1 ko
PNG - 8.6 ko

Alim Control

Il est imposé par le règlement que le robot ne doit bouger qu’après le coup d’envoie d’un match et qu’il doit s’immobiliser complètement après 90 secondes. La méthode la plus sécuritaire pour s’assurer que tout s’arrête est de couper l’alimentation. La carte de contrôle de l’alimentation fait donc le lien entre la batterie principale et tous les circuits nécessitant du 36V. Un relais et un bouton d’arrêt d’urgence sont en série : il suffit donc que l’un ou l’autre soir ouvert pour que tout s’arrête. Sur la carte est aussi présent le connecteur de départ, un jack audio utilisé en simple commutateur qui permet à l’opérateur de démarrer le robot à distance.

PNG - 47.8 ko
PNG - 23.1 ko

USB-Serie

Plusieurs des cartes possèdent une sortie pour port série. Comme l’ordinateur portable utilisé ne possède pas de port série, ce petit convertisseur émule un port série depuis un port USB et permet aux différentes cartes d’exporter des données sur un terminal.

PNG - 58.3 ko
PNG - 15.6 ko

Fichiers

Le document PDF joint présente un résumé de mon travail pour Eurobot 2008 : description de la conception électronique et de la programmation embarquée.

Le fichier elec_Eurobot_Open_2k8.zip contient tous les plans électroniques utilisés pour le robot 2008. À ouvrir avec Cadsoft Eagle 4.16r2 ou plus.

Les fichiers sources se trouvent dans CodeEurobot2008.7z.

Tous les dessins et sources fournis sont libre d’usage pour une utilisation non-commerciale.

Portfolio

Documents joints

Enregistrer au format PDF
Marquer cet article: Delicious Technorati

Répondre à cet articleRépondre à l'auteur:Jean-François DuvalRecommander à un ami