IMA4 2018/2019 EC3

De Wiki d'activités IMA
Révision datée du 4 mars 2019 à 15:04 par Hvelly (discussion | contributions) (Matériel nécessaire)

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é.

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 l'afficheur 7-segments. 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 l'afficheur 7-segments de SparkFun. Il suffira d'adapter ce protocole pour passer de 4 symboles (module SparkFun) à 6 (votre module). Par défaut, une séquence de 6 octets va provoquer l'affichage de ces octets sur chaque afficheur. Des octets particuliers (valeurs supérieures ou égales à 0x76) sont des commandes permettant d'effectuer des actions particulières comme éteindre toutes les LED. Si la partie contrôle n'est pas opérationnelle, il sera possible de tester votre afficheur avec un Arduino Uno et l'exemple de programme disponible sur le site de SparkFun (adaptez le programme pour passer de 4 à 6 afficheurs).

Description du projet

Matériel nécessaire

Description Fabricant Référence Fabricant Fournisseur Quantité Lien fournisseur
Afficheur 7 segments KINGBRIGHT SA39-11SURKWA Farnell 6 https://fr.farnell.com/kingbright/sa39-11surkwa/display-0-39-cmn-anode-red/dp/2080050?st=7%20segment#anchorTechnicalDOCS

Planning prévisionnel

  • Semaine 1 (semaine du 18 au 24 février)  : étude du sujet, prise en main du logiciel Fritzing, début de conception du schematic;
  • Semaine 2 : conception et validation du schematic, liste des composants;
  • Semaine 3 : routage et réalisation du PCB , test;
  • Semaine 4 : routage et réalisation du PCB , test;
  • Semaine 5 : programmation microcontrôleur;
  • Semaines suivantes : programmation microcontrôleur, tests, finalisation;

Travail effectué

La première étape du projet est de concevoir le PCB de la partie afficheur. Chaque afficheur 7 segments utilise 8 inputs, soit un total de 48 inputs au total. Pour gérer autant d'entrées, on utilise 2 TLC5947. Le composant TLC5947 n'est pas disponible dans la bibliothèque de base de fritzing. Par chance Lirui Zhang et Lihe Zhang, pour le projet IMA4 2017/18 P18, avaient rencontré le même problème et ont conçue l'empreinte du TL5947 ; j'ai donc utilisé leur empreinte pour réaliser le schematic.

Première version du schematic

Documents