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 | 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 différentes parties de plus près.
CONCEPTION DU PCB
La matrice de LED
La matrice de LEDs est entièrement réalisée à partir de LEDs CMS de boîtier 0803 . Le principe du montage est similaire à celui de la matrice de LEDs 8x8 de Sparkfun. Les anodes de chaque LEDs sont reliées entre elles à un régulateur de tension qui fournira 3.3 V à sa sortie (sachant qu'on lui impose une certaine tension en entrée sans dépasser les 15 V), suffisant pour alimenter les LEDs. Chacune des broches de sortie des TLC (OUT0...OUT23) est reliée à la cathode d'une LED.
Le TLC5947
Il s'agit d'un driver de contrôle de LED composé de 24 pins de sorties et 8 pin dédiées à la communication avec l'Atmega328p et les autres TLC5947 utilisés dans le montage. 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 les LEDs de notre matrice tout en contrôlant leur luminosité. Chaque TLC doit pouvoir contrôler chaque LED indépendamment.
Ces paramètres étant pris en compte, nous aboutissons au schématique suivant :
Et donc le PCB suivant :
Le PCB étant créé, il reste à encore à faire graver la carte et souder les composants. Une fois la carte gravée et les composants soudés, nous obtenons le montage suivant :
Vous l'aurez constatez, des fils ont été ajoutés sur la carte. La LED servant à la vérification de l'alimentation de la carte ne s'allumait pas malgré que la carte était alimentée. Cela provenait du fait que celle-ci était isolée du montage, c'est-à-dire ses pins étaient bien connectées aux pins correspondantent du 328p mais n'étaient pas reliées à la masse et au +5V de la carte : ainsi la LED était fonctionnelle mais non alimentée. Nous avons donc créé un pont électrique (ou strap) entre l'anode de LED et le +5V de la carte et un autre pont entre la sortie de la résistance connectée à la cathode de la LED et la masse de carte par le biais de ces fils.
La carte est donc opérationnelle et prête à l'emploi comme vous pourrez le voir sur l'image suivante : [[Fichier:Carte_atrice_allumee.jpg[thumb|200px|center|Carte matrice de LEDs fonctionnelle]]