IMA4 2018/2019 EC2
Sommaire
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 | ATMEGA328P-AN | Microchip Technology | RS-Online | 1 | Atmega328p |
Régulateur 3.3V | Linear Technology | LT1117CM-3.3#PBF | RS-Online | 1 | Régulateur de tension |
Connecteur SPI | 1 | ||||
Connecteur femelle 6 ports | 1 | ||||
Quartz | RS-Online | 1 | |||
Bouton poussoir CMS | RS-Online | 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
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 :
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).