IMA4 2018/2019 EC2

De Wiki d'activités IMA
Révision datée du 25 mars 2019 à 00:59 par Belemva (discussion | contributions) (Travail effectué)

Présentation du projet

Contexte

L'élève continue son semestre S8 à l'école.

Objectif

Le but est de concevoir une partie d'une platine de travaux pratiques pour l'ordonnancement. Il faut aussi programmer le micro-contrôleur intégré.

Description du projet

La platine sera constituée de 3 parties bien distinctes :

  • la partie "contrôle" composée d'un ATMega328p, d'un FT232, d'un connecteur USB, de deux LED et de deux boutons, l'ordonnanceur doit être chargé sur ce micro-contrôleur ;
  • la partie matrice de LED, il s'agit d'une matrice de 8x8 LED CMS monochromes contrôlées par un ATMega328p et 3 pilotes de LED TLC5947 ;
  • la partie afficheur 7-segments, il s'agit de 6 afficheurs 7-segments implantés avec des LED CMS monochromes et contrôlés par un ATMega328p et 2 pilotes de LED TLC5947.

La communication entre la partie "contrôle" et les deux autres parties s'effectue via un bus SPI. Les trois parties sont conçues et réalisées séparément mais doivent s'interconnecter facilement. Les 3 PCB sont rectangulaires et doivent s'assembler aussi sous la forme d'un rectangle. Pour passer les lignes SPI et l'alimentation, des connecteurs doivent être prévus sur les 3 PCB. Vous commencerez par vous mettre d'accord sur les dimensions des PCB et sur l'emplacement des connecteurs. Une première phase de conception des PCB avec placement des composants peut être nécessaire pour cette étape.

Vous êtes chargé de réaliser la matrice de LED. Vous trouverez, sur les Wiki IMA, des exemples de cartes avec ATMega328p et TLC5947. Partez de l'un de ces exemples. Utilisez le logiciel Fritzing pour la conception de la carte. N'oubliez pas le connecteur ICSP pour la première programmation du micro-contrôleur.

Une fois la carte fonctionnelle vous programmerez le micro-contrôleur pour attendre l'état des LED par communication SPI. Votre ATMega328p doit donc être configuré dans le mode SPI esclave. Utilisez le même protocole de transmission des données que la matrice de LED RGB de SparkFun. Il y aura donc transfert de 64 octets de données. Pour votre matrice chaque octet ne codera pas la couleur de la LED correspondante mais son intensité lumineuse. Si la partie contrôle n'est pas opérationnelle, il sera possible de tester votre matrice avec un Arduino Uno et l'exemple de programme disponible sur le site de SparkFun.

Matériel nécessaire

Description Fabricant Référence Fabricant Fournisseur Quantité Lien fournisseur
LEDs CMS boîtier 0603 RS-Online 3
LEDs CMS boîtier 0805 ROHM SMLMN2BCTT86C RS-Online 64 LEDs matrice
Résistance 220 Ohms CMS Panasonic ERJ3EKF2200V RS-Online 3 Résistance 220 Ohms
Résistance 2.2 kOhms CMS Panasonic ERA3ARB222V RS-Online 3 Résistance 2.2 kOhms
Résistance 10 kOhms CMS Panasonic ERA3AEB103V RS-Online 1 Résistance 10 kOhms
Résistance 33 kOhms CMS Panasonic ERA3ARB333V RS-Online 1 Résistance 33 kOhms
Résistance 1 MOhms CMS Panasonic ERJ3EKF1004V RS-Online 1 1 Résistance MOhms
Condensateurs 10 pF CMS KEMET C0603C100J5GACAUTO RS-Online 2 Condensateurs 10 pF
Condensateurs 100 nF CMS KEMET C0603C104K9RACTU RS-Online 1 Condensateurs 100 nF
Condensateurs 10 µF CMS Murata GRT188R61E106ME13D RS-Online 3 Condensateurs 10 µF
TLC5947 CMS Texas Instrument TLC5947DAP RS-Online 3 TLC5947
Atmega328p CMS Microchip Technology ATMEGA328P-AN RS-Online 1 Atmega328p
Régulateur 3.3V Linear Technology LT1117CM-3.3#PBF RS-Online 1 Régulateur de tension
Connecteur ICSP 1
Connecteur femelle 6 ports 1
Quartz QANTEK QCS8.00000F18B23R RS-Online 1 Quartz
Bouton poussoir CMS 1

Planning prévisionnel

  • Vendredi 15 Février 2019 : lecture de l'énoncé et début des recherches;
  • Semaine du 18 au 24 Février 2019 : conception et validation du schématique puis routage et commande des composants;
  • Semaine du 25 Février au 03 Mars 2019 : Réalisation du PCB (si matériel disponible), test avec un Arduino Uno (si partie contrôle non fonctionnelle);
  • Semaine du 4 au 10 Mars 2019 : finalisation des test.

Objectif : rendre fonctionnelle la partie matrice de LED avant le 05 Avril 2019.

Travail effectué

Cette section est consacrée à la réalisation du PCB de la partie Matrice de LED. Afin de comprendre le travail à réaliser, voyons voir d'abord les composants nécessaires individuellement.


La matrice de LED

La matrice de LEDs utilisée ici est une matrice 8x8 composée de LEDs CMS unicolores. Elle dispose de 16 broches. Le schématique de la matrice utilisée est le suivant :
Matrice de LED

Nous utiliserons le modèle AVB (anodes connectées aux rangées et cathodes aux colonnes). Les colonnes correspondant aux cathodes seront mises à la masse. Concernant les rangées, afin de respecter le cahier des charges, nous connecterons 8 pins des drivers TLC5947 à chaque rangée. Afin d'allumer les LED de la matrice, il faut faire attention à respecter les pins du module. Comme vous pouvez le constater en regardant la précédente image, les rangées sont connectées aux broches 9, 14, 8, 12, 1, 7, 2, 5 tandis que les colonnes sont connectées aux broches 13, 3, 4, 10, 6, 11, 15, 16. Si on désire, par exemple, allumer la LED située rangée 4 colonne 5, il faudrait donc mettre la broche 6 à la masse et injecter un courant sur la broche 12.


Le TLC5947

Il s'agit d'un driver de contrôle de LED composé de 24 pins de sorties. Son schématique est le suivant :

TLC5947

En le connectant via le connecteur ICSP de l'Arduino, on peut contrôler l'allumage des LEDs par le biais de ce driver. Dans notre cas, on souhaite pouvoir allumer plusieurs LED en même temps or une pin du driver ne permet d'allumer qu'une LED à la fois. Il faut donc 8 pins du TLC5947 pour former un octet et les connecter sur une même rangée de la matice pour pouvoir contrôler les 8 LEDs de cette rangée. Sachant que la matrice est composée de 64 LEDs, il faut donc 3 drivers TLC5947 (3x24 = 72 pins disponibles donc 9 octets possibles).

Documents