Cours:SaeCpld : Différence entre versions

De troyesGEII
Aller à : navigation, rechercher
Ligne 177 : Ligne 177 :
  
 
*fichiers pour réaliser la carte de connexion : [[Media:CarteConnexionRobotCpldKicad.zip]]
 
*fichiers pour réaliser la carte de connexion : [[Media:CarteConnexionRobotCpldKicad.zip]]
 
=historique a supprimer=
 
*[[Cours:RobotArexxCPLD]]
 

Version du 12 décembre 2022 à 17:45

Modalité d'évaluation

  • note de résultat
    • le classement à l'issu des missions constituera une note
    • les fonctionnalités du robot constitueront une note
      • on peut régler la vitesse de chaque moteur indépendamment
      • le robot sait reconnaître une ligne
      • ...
  • note de fabrication
    • qualité du routage
    • qualité du soudage
    • assemblage du robot
  • note de programmation
  • note de présentation
    • 5 minutes + entretien
    • objectif de vendre votre produit
  • affiche + vidéo pour vanter les mérites de votre robot

Organisation des travaux

  • Le travail sera mené par trinôme. Vous devrez organiser vos travaux de manière à ce que chacun soit actif pour faire avancer le projet à un bon rythme et remplir le maximum de missions proposées.
  • Il vous est demandé :
    1. de réaliser 2 cartes électroniques ( conception du schéma électronique, routage du circuit imprimé, fabrication de la carte, vérifications & tests, exploitation )
    2. Il vous est demandé de rédiger une procédure de test de manière à vérifier le bon fonctionnement de l'une de vos cartes produites et des éléments du robot fournis. Les enseignants évalueront la qualité de votre rédaction et de votre procédure. Vous devrez fournir la procédure rédigée ainsi que un compte-rendu des tests.
    3. Il vous est demandé de programmer le circuit CPLD de manière à remplir un certain nombre de missions de difficulté progressive. Il s'agit donc de concevoir et implanter les fonctions logiques permettant de remplir les missions proposées. Vous utiliserez le logiciel Quartus version 13 pour les circuits logiques Altera de la famille Max3000A. Vous aurez le choix entre une description purement schématique, purement VHDL ou un mix des 2.
    4. Il vous est demandé de produire sur papier dessiner à la main des schémas fonctionnels propres de chaque application, quel que soit le mode de description de vos fonctions logiques ( VHDL, schéma, mix VHDL/schéma ) . Cela vous facilitera le développement et la mise au point de vos applications. Aucune aide ne sera fournie par les enseignants si vous n'etes pas en mesure de leur presenter le schéma fonctionnel de l'application en oeuvre.

Calendrier indicatif

  • routage terminé et typons imprimés au plus tard mardi midi
  • fabrication terminée/vérifiée mercredi soir
  • programmation et test de chaque mission dans l'ordre jeudi
  • présentation orale rapide ( "notre projet en 5 minutes" ) vendredi matin devant les enseignants (y compris l'enseignante de communication). Chaque étudiant du trinome doit prendre la parole. Quelques questions peuvent vous etre posées.

Présentation du projet

  • Introduction-description

Vous allez réaliser un robot assurant diverses missions du type suiveur de ligne, évitement d'obstacle, ... Ce robot est basé sur le chassis en PLA ( impression 3D à l'IUT) , tel que vous avez eu l'occasion d'en utiliser en SAE de S2. Le chassis vous est fourni assemblé avec ses éléments mécaniques moteurs CC - roues, son électronique de puissance pour commander les moteurs ( Cartes Cytron MD13S ) et sa batterie au lithium associée à une carte d'alimentation ( conversion DC-DC ) et un bouton d'arret d'urgence.

Par ailleurs, une carte dotée d'un circuit logique programmable a été préparée. Elle permettra d'exploiter les informations issues de divers capteurs pour piloter les moteurs et ainsi mener à bien les missions qui vous sont proposées. Cette carte est dotée :

ShieldCPLD44Face2.png ShieldCPLD44Face1.png


  • d'un CPLD Altera de la famille MAX 3000A de référence EPM3064ALCA44-10n ;
  • d'un connecteur Harting HE10 permettant d'y brancher le programmateur de circuit logique programmable USB-BLASTER ;
  • d'un quartz horloger à 32768Hz comme signal d'horloge de référence. Il est associé à un compteur (4060) pour disposer d'une horloge sous-multiple de cette fréquence de référence si besoin. On sélectionnera l'une de ces fréquences disponibles pour alimenter le CPLD en réalisant un court-circuit ( à voir par la suite ci-dessous ? );
  • 2 connecteurs : barettes mâles double rangée de 12 broches au pas de 0,1 inch (pouce), broches associées à des entrées/sorties configurables du CPLD ( GPIOs) ;
  • 1 connecteur mâle 2 broches pour alimenter le CPLD. NB !!! On notera que le CPLD a besoin d'une alimentation en 3,3V exclusivement !!! ;
  • la liste des broches du CPLD associées aux connecteurs est accessible via les fichiers ( schéma et board de la carte ) . Ces fichiers sont accessibles sur le wiki geii rubrique SAE CPLD. On prêtera une attention particulière à ne paas confondre les numéros de GPIO avec les numéros de broche/borne du composant pour l'usage de PinPlanner. PinPlanner requiert les numéro de broche/borne. Le tableau ci-dessous récapitule ces informations : numéro de borne du CPLD Versus numéro de borne des connecteurs mâles 2x12 broches
J2 Borne CPLD J2 Borne CPLD J3 Borne CPLD J3 Borne CPLD
1 40 2 41 1 5 2 6
3 NC 4 39 3 9 4 8
5 34 6 25 5 12 6 11
7 33 8 26 7 21 8 14
9 31 10 27 9 20 10 16
11 29 12 28 11 19 12 18
  • Le CPLD reçoit potentiellement 2 signaux d'horloges. L'horloge de référence à 32768~Hz issu du quartz, sur la borne CPLD 2 ( input/oe2/Gclk2). Une horloge issue du 4060 ( sous-ultiple en puissance de 2 des 32768 Hz de référence ) , sur la borne CPLD 43 ( input/Gclk1) . Ces 2 broches sont dédiées à la collecte des signaux d'horloge de manière à diffuser efficacement les horloges au coeud du circuit.

Analyse

Vous devrez commencer par produire les documents suivants :

  • schéma fonctionnel du robot
  • schéma fonctionnel de chaque carte
  • schéma des fonctions logiques et chronogrammes éventuels

Toute aide sera conditionnée par la présentation de ces documents.

Objectif/challenge

Pour chaque épreuve, le robot est initialement sous tension et immobile. La mission est démarrée par la manipulation du dispositif de lancement.

  • Épreuve 1
    • le robot est placé dans la zone de départ (zone rouge)
    • un dispositif (différent de la mise sous tension) permet de démarrer la mission
    • le robot doit avancer en "ligne droite"
    • dès que la ligne noire matérialisant la ligne d'arrivée il doit :
      • s'arrêter dès que possible sans dépasser la ligne verte
      • ne surtout pas redémarrer
    • le temps mis donnera le classement
  • Épreuve 2
    • le robot est placé devant la ligne noire (l'arrière du robot contre la ligne)
    • le robot doit tourner autour du cercle jaune (sans franchir à aucun moment les lignes jaunes)
    • mission 2A:
      • il faut faire uniquement un tour
      • s'arrêter une fois la ligne franchie
      • le temps mis pour faire le tour donne le classement
    • mission 2B:
      • il faut faire 3 tours puis s'arrêter
      • le temps mis pour faire les 3 tours donne le classement
  • Epreuve 3
    • le robot doit suivre la ligne noire jusqu'à la fin de la ligne
    • le temps mis donnera le classement
  • Épreuve 4
    • le robot est placé le long du mur dans la zone de départ
    • il doit avancer en longeant le mur sans se cogner contre celui-ci ni franchir le marquage jaune
    • la ligne droite indique la ligne d'arrivée
    • le robot doit s'arrêter dès que la ligne est franchie
  • Épreuve 5
    • le robot est placé au début du circuit
    • le robot doit :
      • suivre les lignes noires
      • dans les parties sans lignes, le robot doit se servir des "murs" pour avancer
    • le parcours s'arrête lorsqu'il n'y a plus ni ligne ni mur
    • le temps mis donnera le classement

Liens/Ressources

Capteur de distance

Composants eagle

Nom Type Boîtier Librairie Eagle Référence eagle Documentation Fournisseur Référence
CNY70 capteur IR réflectif cny70.lbr CNY70(Vishay) CNY70 datasheet Farnell
LM339D 4-comparateurs SOIC14 (CMS) linear LM339D ou TLC339D lm339 datasheet
LM311D comparateur SOIC8 (CMS) linear LM311D lm311 datasheet
Led 3mm
Resistance CMS (1206)
Potentiomètre 10k pot TRIM_EU-PTSPIN
CARTE_CPLD EPM3064ALC44-10N CARTE_CPLD robotCPLD.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
DTS-6 bouton traversant Switch-tact.lbr
DTSM-6 bouton CMS Switch-tact.lbr
BP1 bouton traversant 12*12mm Bplib.lbr
TWIG-4P-2.0-2.0 connecteur Grove Connector.lbr

Composants Kicad