Cours:RobotArexxCPLD : Différence entre versions
(→{{Bleu|Le challenge :}}) |
m (→{{Bleu|Le challenge :}}) |
||
Ligne 62 : | Ligne 62 : | ||
Ce challenge proposera plusieurs épreuves destinées à évaluer la capacité des robots. Les épreuves seront les suivantes : | Ce challenge proposera plusieurs épreuves destinées à évaluer la capacité des robots. Les épreuves seront les suivantes : | ||
− | *un déplacement en ligne droite (sans suivre de ligne) avec arrêt du robot lors du franchissement d'une ligne d'arrivée | + | *{{Rouge|un déplacement en ligne droite}} (sans suivre de ligne) avec arrêt du robot lors du franchissement d'une ligne d'arrivée |
**le robot sera placé à 2 mètres de la ligne d'arrivée | **le robot sera placé à 2 mètres de la ligne d'arrivée | ||
**la ligne sera matérialisée par un scotch noir fixé au sol (environ 8cm) | **la ligne sera matérialisée par un scotch noir fixé au sol (environ 8cm) | ||
Ligne 68 : | Ligne 68 : | ||
**une pénalité supplémentaire de 5 secondes sera prononcée si le robot ne s'arrête pas | **une pénalité supplémentaire de 5 secondes sera prononcée si le robot ne s'arrête pas | ||
**le robot sera disqualifié s'il ne passe pas sur la ligne d'arrivée (qui fera 40cm de large) | **le robot sera disqualifié s'il ne passe pas sur la ligne d'arrivée (qui fera 40cm de large) | ||
− | *réalisation de deux tours du robot sur lui-même avec arrêt au franchissement d'une ligne | + | *{{Rouge|réalisation de deux tours}} du robot sur lui-même avec arrêt au franchissement d'une ligne |
**un cercle noir de diamètre 80 cm est matérialisé au sol | **un cercle noir de diamètre 80 cm est matérialisé au sol | ||
**une bande noire placée à l'extérieure du cercle matérialise le top tour (elle fera 40cm de long pour 2cm de large) | **une bande noire placée à l'extérieure du cercle matérialise le top tour (elle fera 40cm de long pour 2cm de large) | ||
Ligne 79 : | Ligne 79 : | ||
***si le robot ne s'arrête pas dans le temps imparti | ***si le robot ne s'arrête pas dans le temps imparti | ||
**le robot est disqualifié s'il franchi entièrement le cercle. | **le robot est disqualifié s'il franchi entièrement le cercle. | ||
− | *déplacement du robot sur un parcours déterminé | + | *{{Rouge|déplacement du robot par télécommande}} sur un parcours déterminé (voir explications dans le paragraphe "contraintes techniques") |
**le robot se déplacera dans des couloirs dont la largeur sera 2 fois la taille du robot | **le robot se déplacera dans des couloirs dont la largeur sera 2 fois la taille du robot | ||
**4 robots seront disposés de façon symétrique sur le plateau de jeu | **4 robots seront disposés de façon symétrique sur le plateau de jeu | ||
Ligne 87 : | Ligne 87 : | ||
**les robots se verront attribués dans l'ordre d'arrivée 25/10/5/0 points | **les robots se verront attribués dans l'ordre d'arrivée 25/10/5/0 points | ||
**un système de poules avec phase finale permettra de classer les concurrents. | **un système de poules avec phase finale permettra de classer les concurrents. | ||
− | *déplacement autonome du robot sur un parcours défini par une ligne (suiveur de ligne) | + | *{{Rouge|déplacement autonome du robot}} sur un parcours défini par une ligne (suiveur de ligne) |
=={{Bleu|Les groupes et les tuteurs :}}== | =={{Bleu|Les groupes et les tuteurs :}}== |
Version du 19 avril 2018 à 14:38
Page en cours de construction
Notre objectif dans ce projet est de réaliser un robot mobile capable de suivre une ligne. Sa particularité est qu'il est commandé à l'aide d'un composant en logique programmable plutôt qu'un microcontrôleur.
Sommaire
Cahier des charges, fonctionnement :
Le robot sera construit sur la base d'un châssis AREXX. Ce châssis comporte :
- deux roues motrices et une roue folle. Chaque roue motrice est commandée par un moteur à courant continu (disposés eux aussi sur le châssis). Pour faire virer le robot, il faudra donc faire varier la vitesse d'une roue par rapport à l'autre,
- un support de piles destiné à recevoir les batteries qui apporteront l'énergie au robot
- un interrupteur permettant de mettre le robot sous tension
- des connecteurs qui permettent de véhiculer des signaux électriques entre les différents PCB (cartes électroniques)
Sur ce châssis, viendront se connecter deux cartes électroniques (PCB) :
- la "carte capteur" qui recevra le(s) capteur(s) destiné(s) à détecter la ligne à suivre,
- la "carte gestion" qui recevra le CPLD renfermant la logique de commande,
montage des cartes capteur et gestion sur le châssis
Votre travail :
Votre travail durera sur le 2ème semestre et l'inter-semestre dans le cadre des modules de "projet tuteuré" (2ème semestre) et du module d'Etudes et Réalisations (Inter-semestre) . Il s'effectuera en groupe et consistera à :
- définir la structure des cartes "capteur" et "gestion" et la faire valider par votre tuteur,
- réaliser les cartes électroniques,
- assembler le robot,
- programmer le CPLD,
- effectuer les tests et valider le fonctionnement du robot.
Méthode de travail et évaluation :
Le travail s'effectuera en deux phases :
- durant le deuxième semestre dans le cadre du projet tuteuré (travail en autonomie sous la surveillance d'un tuteur), vous devez réaliser les schémas électroniques et réfléchir à la structure logique à implanter dans le CPLD. Vous devez impérativement faire valider régulièrement l'avancement de vos travaux par votre tuteur au cours du semestre.
- durant l'inter-semestre qui aura lieu en juin sur 5 journées (dont seulement 5 demi-journées seront encadrées) vous réaliserez les cartes électroniques et la programmation du CPLD
Vous serez évalué :
- par votre tuteur sur le travail réalisé pendant le semestre (propositions de schémas et d'architecture logique),
- à l'inter-semestre sur votre réalisation (cartes électroniques et programme CPLD)
- à la fin de l'inter- semestre en fonction des performances de votre robot, qui seront évaluées lors du challenge.
Le challenge :
Les tests feront l'objet d'un challenge qui aura lieu dans le hall de l'IUT le mardi 26 juin 2018.
Ce challenge proposera plusieurs épreuves destinées à évaluer la capacité des robots. Les épreuves seront les suivantes :
- un déplacement en ligne droite (sans suivre de ligne) avec arrêt du robot lors du franchissement d'une ligne d'arrivée
- le robot sera placé à 2 mètres de la ligne d'arrivée
- la ligne sera matérialisée par un scotch noir fixé au sol (environ 8cm)
- le robot ne devra pas franchir la ligne sous peine de pénalité (5 secondes ajouté au temps)
- une pénalité supplémentaire de 5 secondes sera prononcée si le robot ne s'arrête pas
- le robot sera disqualifié s'il ne passe pas sur la ligne d'arrivée (qui fera 40cm de large)
- réalisation de deux tours du robot sur lui-même avec arrêt au franchissement d'une ligne
- un cercle noir de diamètre 80 cm est matérialisé au sol
- une bande noire placée à l'extérieure du cercle matérialise le top tour (elle fera 40cm de long pour 2cm de large)
- le robot est placé juste après le top tour, à l'extérieur du cercle (la distance par rapport au centre du cercle est libre)
- le robot doit faire le tour du cercle et passer 2 fois sur le top tour
- il doit alors s'arrêter dans un délai de 5 secondes maximum
- des pénalités de 5 secondes seront accordées :
- si le robot ne passe pas sur le top tour
- a chaque fois que le robot touche le cercle noir
- si le robot ne s'arrête pas dans le temps imparti
- le robot est disqualifié s'il franchi entièrement le cercle.
- déplacement du robot par télécommande sur un parcours déterminé (voir explications dans le paragraphe "contraintes techniques")
- le robot se déplacera dans des couloirs dont la largeur sera 2 fois la taille du robot
- 4 robots seront disposés de façon symétrique sur le plateau de jeu
- il faudra rejoindre la zone d'arrivée située au milieu du plateau le plus rapidement possible
- les couloirs seront disposés de façon symétrique dans un soucis d'équité
- une pénalité de -1 point sera prononcée pour chaque contact
- les robots se verront attribués dans l'ordre d'arrivée 25/10/5/0 points
- un système de poules avec phase finale permettra de classer les concurrents.
- déplacement autonome du robot sur un parcours défini par une ligne (suiveur de ligne)
Les groupes et les tuteurs :
GROUPE TP | Groupe d'étudiants | Tuteur |
---|---|---|
1A | Azizet, Cisse, Diawara, MBini | M. MOUTOU |
1A | Bouillot, Bourson, De Souza Machado | M. MOUTOU |
1A | Bouarif, Boutet, Brissy, Demanche | M. MOUTOU |
1B | Fourel, Joigneau,Mathieu, Mazières | M. KUTYLA |
1B | Erowe, Faivre, Joua, Millet | M. KUTYLA |
1B | Guo, Leye | M. KUTYLA |
2A | Muller, Prieur, Renaud, Rousseaux | M. JACQUOT |
2A | NDao A.S., Nourou, Nyadnu, Rguibi | M. JACQUOT |
2A | NDao A., NDiaye, Nzao | M. JACQUOT |
2A | Pecquet, Pottier, Prevost | M. JACQUOT |
2B | Ruoso, Sanchez Sanchez, Segura, Verpy | M. SISTERNAS |
2B | Kane, Sagara, Voillequin, Zaidi | M. SISTERNAS |
2B | Lelarge, Trinquet, Zhang, Zhong | M. SISTERNAS |
Contraintes techniques :
Certaines solutions vous sont imposées, notamment en fonction des composants disponibles en magasin. Vous serez donc tenu de respecter les contraintes suivantes:
Le châssis
Il supporte :
- les quatre accumulateurs qui constituent alimentation électrique du robot. La tension aux bornes des accumulateurs varie de 4,5V à 5,5V en fonction de leur charge.
- les moteurs deux qui fonctionnent sous 5V et entraînent les roues motrices ( le courant Moteur est de 400 mA lorsque son rotor est bloqué et de 50 à 60 mA à vide).
- un interrupteur qui permet d'assurer la mise sous tension
La carte "capteur"
- Sa forme est imposée ainsi que l'emplacement et l'implantation des connecteurs (voir les fichiers joints dans le paragraphe Ressources, au bas de cette page)
- Elle sera alimentée en 3,3V
- Elle supportera le(s) capteur(s) et les connecteurs destinés à transmettre les informations à la carte "gestion",
- Il faudra prévoir un étage permettant de mettre en forme le signal issu de chaque capteur. On utilisera pour cela un comparateur dont le seuil de basculement sera variable pour s'adapter à l'environnement (couleur du sol, couleur de la piste, luminosité...)
La carte "gestion"
Elle supportera :
- le CPLD (EPM3064ALC44-10N) qui doit être alimenté en 3,3V
- un oscillateur à quartz (quartz horloger à la fréquence de 32,768 kHz) et d'un diviseur de type 4060. Cet oscillateur fournira deux fréquences : du 32,768 kHz destiné à la Modulation de Largeur d'Impulsion (MLI) et une autre fréquence à définir, comprise entre 20Hz et 100Hz, destinée à servir d'horloge pour le CPLD
- un connecteur destiné à la programmation du CPLD
- un module XBee pour la réception des signaux issus de la télécommande
- les transistors (MOS) qui permettront de commander les moteurs
- un régulateur de 3,3V pour alimenter les circuits intégrés ( Broche BP du régulateur de tension : il est conseillé d'utiliser une capacité de 100nF)
La Télécommande:
La télécommande sera réalisée à partir de modules Xbee (alimentés en 3,3V) qui assureront une liaison série sans fil. L'un d'eux sera utilisé en émetteur à partir d'une télécommande (qu'il faudra réaliser) et l'autre en récepteur (il sera implanté sur le robot). Ces modules se configurent à l'aide du logiciel XCTU. Ils seront utilisés en mode "recopie des entrées" afin que les informations de direction envoyées par la télécommande soient directement transmises au robot.
Le principe de configuration est détaillé sur cette page.
Vous pouvez utiliser jusqu'à 8 entrée/sortie sur les modules Xbee. Chaque broche étant configurable individuellement, on peut imaginer avoir 6 broches en entrée sur la télécommande et 2 broches en sortie (et inversement sur le récepteur !).
Assemblage :
- les cartes "gestions", "châssis" et "capteur" seront superposées et reliées entre elles par des connecteurs
- la position et l'implantation des connecteurs sur le PCB qui se trouve sur le châssis vous imposeront de respecter la même implantation et les mêmes connexions sur les cartes "gestions" et "capteur"
Conseils pour le Routage :
- vérifiez la cohérence entre les broches des connecteurs des différentes cartes (capteur, châssis, gestion)
- Broche BP du régulateur de tension : il est conseillé d'utiliser une capacité de 100nF
- Placer des condensateurs de 100 nF aux bornes des circuits intégrés
Programmation du CPLD
La programmation d'un CPLD se fait par un connecteur appelé JTAG. Le CPLD étant fabriqué par Altera, on utilise un programmateur appelé USB Blaser capable de se connecter d'un côté au PC et de l'autre à la carte sur laquelle se trouve le CPLD (par le connecteur JTAG).
Composants utilisés
Nom | Type | Boîtier | Librairie Eagle | Référence eagle | Documentation | Fournisseur | Référence |
---|---|---|---|---|---|---|---|
CNY70 | capteur IR réflectif | CNY70 | CNY70(Vishay) | CNY70 datasheet | Farnell | ||
LM339D | 4-comparateurs | SOIC14 (CMS) | linear | LM339D | lm339 datasheet | ||
LM311D | comparateur | SOIC8 (CMS) | linear | LM311D | lm311 datasheet | ||
Led 3mm | |||||||
Resistance | CMS (1206) | ||||||
Potentiomètre | 10k | pot | TRIM_EU-PTSPIN | ||||
CPLD | EPM3064ALC44-10N | PLCC44 | alteraLib.lbr | datasheet MAX3000b | |||
Quartz horloger | 32,768 kHz | crystal | CRYSTALTC26V | ||||
4060D | Diviseur de fréquence | CMS | 40XX | 4060D | 4060 datasheet | ||
AP131-33WG-7 | Régulateur 3,3V (SOT25) | CMS | v-reg | TS520533 | AP131 datasheet | ||
ML10 | Connecteur JTAG | con-harting-ml | ML10 | Doc ci-dessus | |||
SI 2336DS | Transistor NMOS | transistor small signal | BSS123 | datasheet | |||
CGRM4001-G | Diode de roue Libre | diode | CGRM4001-G | datasheet | |||
XBee | traversant | adafruit | XBEE | Xbee et atmega |