Carte sapin de noël : Différence entre versions

De Wiki de Projets IMA
(Liste de matériel)
(Avancement du Projet)
 
(76 révisions intermédiaires par le même utilisateur non affichées)
Ligne 13 : Ligne 13 :
 
===Liste de matériel===
 
===Liste de matériel===
  
Le matériel nécessaire :
+
:* 1 Micro-contrôleur ATMega328P
,1 Micro-contrôleur ATMega328P;
+
:* 142 LEDs (vertes, jaunes, rouges, oranges, bleues)
,?? LEDs (vertes, jaunes, rouges;
+
:* 1 régulateur de tension 5V
,1 sonar ultrason.
+
:* 46 résistances
 +
:* 7 condensateurs
 +
:* 6 transistors NPN
 +
 
 +
==Avancement du Projet==
 +
 
 +
===Esthétique et décorations===
 +
 
 +
[[Fichier:Sapin.png|150px|thumb|right|Croquis de la décoration du sapin]]
 +
 
 +
 
 +
Pour avoir une meilleure idée de l'allure du sapin pour ce projet, la première étape est de faire un rapide plan avec la forme et les décorations. L'idée que je vais suivre est de réaliser un sapin avec 5 couleurs de LEDs différentes : des LEDs vertes pour représenter le sapin lui-même (les contours), et des LEDs jaunes, ambres, bleus et rouges pour les décorations (étoile, lumières, bougies et guirlandes).
 +
Le croquis serait donc le suivant ''[1]'' :
  
- ?? résistances
 
  
- ?? condensateurs
 
  
- ...
 
  
==Avancement du Projet==
+
Je vais donc utiliser 80 LEDs vertes, 12 LEDs rouges, 14 LEDs bleus, 16 LEDs oranges et 20 LEDs jaunes. Le reste des composants seront disposés dans les espaces libres.
 +
Par la suite, je réaliserai au Fabricarium une façade au sapin pour masquer/protéger le circuit et ne laisser apparaître que les LEDs. Pour cela j'utiliserai du plexiglas, ou du carton/bois avec la découpeuse laser, ou directement à l'imprimante 3D. Puis je réaliserai un socle pour que le sapin tienne droit.
  
===Esthétique et décorations===
 
  
Pour avoir une meilleure idée de l'allure du sapin pour ce projet, la première étape est de faire un rapide plan avec la forme et les décorations. L'idée que je vais suivre est de réaliser un sapin avec 3 couleurs de LEDs différentes : des LEDs vertes pour représenter le sapin lui-même (les contours), et des LEDs jaunes et rouges pour la décoration (jaunes pour des lumières indépendantes et pour l'étoile, et rouges pour les guirlandes).
 
Le croquis serait donc le suivant :
 
[image]
 
  
Je vais donc utiliser ?? LEDs vertes, ?? LEDs rouges et ?? LEDs jaunes. Le reste des composants seront disposés dans les espaces libres.
+
''[1] Par la suite pour des contraintes électriques, quelques LEDs ont été supprimées.''
Par la suite, je réaliserai au Fabricarium une façade au sapin pour masquer/protéger le circuit et ne laisser apparaître que les LEDs. Pour cela j'utiliserai du plexiglace, ou du carton/bois avec la découpeuse lazer, ou directement à l'imprimante 3D. Puis je réaliserai un socle pour que le sapin tienne droit.
 
  
 
===Choix des composants===
 
===Choix des composants===
Ligne 40 : Ligne 45 :
  
 
=====Micro-contrôleur=====
 
=====Micro-contrôleur=====
Concernant le micro-contrôleur, le cahier des charges nous impose un ATMega328P que je prendrai donc chez ???. Toutes les sorties PWM du micro-contrôleur doivent être utilisées pour les diverses décorations. Selon la décoration choisie ci-dessus, je vais donc réaliser 6 groupes de LEDs : 2 pour les LEDs vertes (qui seront toujours allumées en même temps), 1 pour l'étoile, 1 pour les guirlandes rouges et 2 pour les lumières jaunes.
+
[[Fichier:atmega328p.jpg|100px|thumb|right|Atmel - ATMega328P-AU]]
 +
 
 +
Concernant le micro-contrôleur, le cahier des charges nous impose un ATMega328P, je prendrai donc l'ATMEGA328P-AU d'Atmel.  
 +
Il possède une vitesse de processeur de 20MHz, une taille de mémoire programme de 32KB, une mémoire RAM de 2KB, 32 broche(s) dont 23 entrées/sorties et sa tension d'alimentation doit être entre 1.8 et 5.5V
 +
 
 +
 
 +
Ce micro-contrôleur compte également 6 sorties PWM (OC0A, OC1A, OC2A, OC0B, OC1B, OC2B) aux broches 1, 7, 8, 11, 12 et 13.
 +
 
  
 
=====Alimentation=====
 
=====Alimentation=====
Le micro-contrôleur doit être alimenté en ?? ??. Or le cahier des charges nous demande une alimentation par une pile de 9V. Je vais donc utiliser un régulateur de tension pour ajuster l'alimentation.
 
[schema]
 
  
=====Sonar ultrason=====
+
Le micro-contrôleur doit être alimenté entre 1.8 et 5.5V. Or le cahier des charges nous demande une alimentation par une pile de 9V. Je vais donc utiliser un régulateur de tension pour ajuster l'alimentation.
...
 
  
 +
[[Fichier:Alim_FG2.png|800px|Schéma de l'alimentation de la carte]]
  
 
=====Autres composants=====
 
=====Autres composants=====
Résistances :
+
 
Capacités :
+
Pour les besoins électriques du circuit, j'ai également utilisé d'autres composants :
 +
* Transistors : 6 x NPN MMBT3904 (sot23)
 +
* Résistances : 24 de 43Ω + 5 de 68Ω + 3 de 82Ω + 7 de 160Ω + 6 de 1kΩ + 1 de 1MΩ
 +
* Capacités : 2 de 22pF + 3 de 100nF + 1 de 10µF + 1 de 100µF
 +
 
 +
===Réalisation de la plaque PCB===
 +
[[Fichier:PlaquePCB.PNG|400px||thumb|Réalisation de la plaque de base avec Inkscape]]
 +
 
 +
 
 +
La première difficulté rencontrée a été de réaliser la plaque de base du PCB. En effet, l'objectif du projet est que la carte soit en forme de sapin, or les logiciels de conception de circuits imprimés ne proposent pas une telle forme. Pour cela j'ai donc dû installer et découvrir le logiciel '''Inkscape''' qui est un logiciel professionnel de dessin vectoriel permettant de réaliser des fichiers '''.svg''' (Scalable Vector Graphics). Pour réaliser une base de PCB, il a donc fallu dessiner la forme désirée avec deux calques ("board" pour la partie cuivre et "silkscreen" pour les sérigraphies) ayant des caractéristiques  bien définies (couleur, contour, épaisseur...).
 +
 
 +
 
 +
===Contrôle des LEDs===
 +
 
 +
 
 +
Toutes les sorties PWM du micro-contrôleur doivent être utilisées pour les diverses décorations, soit 6. Selon la décoration choisie sur le schéma ci-dessus, je vais donc réaliser 6 groupes :
 +
* 2 pour les LEDs vertes qui seront toujours allumées en même temps avec une luminosité vacillante pour simuler du mouvement ('''OC2A''' + '''OC2B''').
 +
* 1 pour les LEDs rouges ('''OC1A''') et 1 pour les LEDs bleues de la guirlande qui clignoteront en alterné. ('''OC1B''')
 +
* 1 pour les LEDs jaunes qui clignoteront pour représenter des lumières ou boules lumineuses. ('''OC0A''')
 +
* 1 pour les LEDs oranges dont la luminosité vacillera pour simuler des bougies. ('''OC0B''')
 +
 
 +
Pour alimenter, programmer et cadencer le micro-contrôleur, ainsi que pour contrôler les LEDs, on obtient alors le schéma suivant :
 +
 
 +
[[Fichier:MicroControleur_FG2.png|800px|Schéma de contrôle des LEDs avec les transistors]]
 +
 
 +
 
 +
 
 +
====Utilisation de transistors====
 +
 
 +
Une façon simple de contrôler autant de LEDs avec seulement 6 broches est d'utiliser des transistors NPN. En effet, l'idée est de mettre des LEDs en série, sur plusieurs broches en parallèle connectées au collecteur de chaque transistor, et à l'alimentation 9V de la pile. La base est ensuite connectée aux sorties PWM pour activer et désactiver le transistor. L'émetteur est enfin relié à la masse.
 +
Selon les spécifications des LEDs (différentes pour chaque couleur), on peut brancher plus ou moins de LEDs sur chaque transistor. Je pars sur un courant dans chaque LED d'environ 15mA qui sera suffisant pour allumer la LED sans risquer de la griller si on dépasse Ifmax=20mA.
 +
On obtient donc pour chaque catégorie de LEDs :
 +
* Vertes (2.1<Vf<2.5V / If=15mA ) = 4 LEDs en série x 20 branches (2 transistors) ; Résistances de 43Ω
 +
* Bleues (3.3<Vf<4.0V / If=15mA ) = 2 LEDs en série x 7 branches (1 transistors) ; Résistances de 160Ω
 +
* Rouges (1.95<Vf<2.5V / If=15mA ) = 4 LEDs en série x 3 branches (1 transistors) ; Résistances de 82Ω
 +
* Oranges (2.1<Vf<2.5V / If=15mA ) = 4 LEDs en série x 4 branches (1 transistors) ; Résistances de 43Ω
 +
* Jaunes (2.0<Vf<2.5V / If=15mA ) = 4 LEDs en série x 5 branches (1 transistors) ; Résistances de 68Ω
 +
 
 +
A la base de chaque transistor, je place une résistance de 1kΩ pour protéger les sorties de l'ATMega et le transistor.
 +
 
 +
Le schéma de contrôle des LEDs est alors le suivant :
 +
 
 +
[[Fichier:CircuitLED_FG2.png|800px|Schéma de contrôle des LEDs avec les transistors]]
 +
 
 +
 
 +
 
 +
Ce montage est facile à mettre en place, mais il a cependant des inconvénients :
 +
* Tout d'abord il compte plusieurs LEDs en série, ce que implique que si une LED grille, toute la série ne fonctionnera plus
 +
* De plus, le fait qu'il y ait de nombreuses branches de LEDs en parallèle qui s'allumeront toutes en même temps et reliées à l'alimentation, le montage sera plutôt gourmand en courant et risque de se détériorer avec le temps.
 +
 
 +
====Utilisation de multiplexeurs====
 +
 
 +
Malgré un long travail sur cette solution, choisie en accord avec mon tuteur de projet, j'ai appris par la suite qu'un tel circuit ne remplirait pas la fonction demandée. En effet, le courant requis pour alimenter un si grand nombre de LEDs serait trop important pour la pile. Celle-ci serait vidée en quelques minutes, voire peut-être même secondes.
 +
 
 +
Une autre solution, meilleure en termes de consommation et de contrôle, était d'utiliser des multiplexeurs. La technique du multiplexage permet de sélectionner n'importe quelle LED indépendamment des autres. Cette technique est utilisée notamment par les matrices de LEDs.
 +
De plus, le multiplexage permet d'éclairer chaque LED à la suite très rapidement en utilisant le persistance rétinienne. Cela requiert donc bien moins de courant et puissance que si les LEDs s'allument toutes en même temps, avec le même rendu visuel.
 +
Pour finir, les LEDs ne sont pas en série, ce qui implique que si une LED grille, les autres continueront de fonctionner sans problème.
 +
 
 +
Pour ce faire, j'aurais utilisé le composant TLC5916 pour contrôler les LEDs grâce aux signaux de contrôle PWM de l'ATMega.
 +
 
 +
Malheureusement, la découverte de ce problème de fonctionnement s'est faite trop tard, et il était impossible en si peu de temps de réaliser cette autre solution. De plus, la commande des composants se faisant plus tôt, je n'aurais pas pu avoir les composants nécessaires à ce circuit.
 +
 
 +
 
 +
====Programmation====
 +
 
 +
En utilisant des multiplexeurs, il est possible d'utiliser une librairie ShiftPWM, permettant de contrôler facilement les LEDs.
 +
Le programme aurait alors été développé comme suit :
 +
* Initialisation du micro-contrôleur, des timers et des LEDs
 +
* Génération des signaux de contrôle PWM pour chaque driver de LED
 +
* Définition de différents cas d'utilisation
  
 
==Livrables==
 
==Livrables==
Ligne 59 : Ligne 138 :
  
 
Pour la réalisation de la schématique et du PCB, j'ai utilisé le logiciel ''Fritzing''.
 
Pour la réalisation de la schématique et du PCB, j'ai utilisé le logiciel ''Fritzing''.
 +
 +
[[Fichier:PCB_face_sup.png|400px|left|PCB face supérieure]]
 +
[[Fichier:PCB_face_inf.png|400px|right|PCB face inférieure]]
  
 
===Liste de composants===
 
===Liste de composants===
 
{| class="wikitable"
 
{| class="wikitable"
! Quantité !! Description !! Vendeur !! Référence Fabricant !! URL  
+
! Quantité !! Description !! Vendeur !! Fabricant !! Référence Fabricant !! URL  
 
|-
 
|-
 
| 1
 
| 1
 
| Atmega328P
 
| Atmega328P
 
| Farnell
 
| Farnell
 +
| Atmel
 
| ATMEGA328P-AU
 
| ATMEGA328P-AU
 
| http://fr.farnell.com/atmel/atmega328p-au/mcu-8bit-atmega-20mhz-tqfp-32/dp/1715486
 
| http://fr.farnell.com/atmel/atmega328p-au/mcu-8bit-atmega-20mhz-tqfp-32/dp/1715486
 
|-
 
|-
|  
+
| 1
| Leds rouges
+
| Quartz 16MHz 12.5PF
 +
| Farnell
 +
| Epson
 +
| Q22FA23800181 FA-238
 +
| http://fr.farnell.com/epson/q22fa23800181-fa-238-16-mhz-12-5pf/quartz-fa-238-16mhz-50ppm-12pf/dp/1712816
 +
|-
 +
| 80
 +
| Leds vertes CMS
 
| Farnell
 
| Farnell
| 150060RS75000
+
| Kingbright
| http://fr.farnell.com/wurth-elektronik/150060rs75000/led-0603-rouge-250mcd-625nm/dp/2322071
+
| KPH-1608CGCK
 +
| http://fr.farnell.com/kingbright/kph-1608cgck/led-50mcd-vert-570nm/dp/2426210
 
|-
 
|-
|  
+
| 20
| Leds vertes
+
| Leds jaunes CMS
 
| Farnell
 
| Farnell
| HSMG-C170
+
| Kingbright
| http://fr.farnell.com/broadcom-limited/hsmg-c170/led-verte/dp/5790852
+
| KPH-1608SYCK
 +
| http://fr.farnell.com/kingbright/kph-1608syck/led-150mcd-jaune-590nm/dp/2426217
 
|-
 
|-
|  
+
| 12
| Leds jaunes
+
| Leds rouges CMS
 
| Farnell
 
| Farnell
| HSMY-C170
+
| Kingbright
| http://fr.farnell.com/avago-technologies/hsmy-c170/led-jaune/dp/5790876
+
| KPH-1608SURCK
 +
| http://fr.farnell.com/kingbright/kph-1608surck/led-80mcd-rouge-630nm/dp/2426216
 
|-
 
|-
| ?
+
| 16
| Résistances
+
| Leds oranges CMS
|
+
| Farnell
|
+
| Kingbright
|
+
| KPH-1608SECK
 +
| http://fr.farnell.com/kingbright/kph-1608seck/led-180mcd-orange-601nm/dp/2426214
 
|-
 
|-
| ?
+
| 14
| Condensateurs
+
| Leds bleus CMS
|
+
| Farnell
|
+
| Kingbright
|
+
| KPH-1608QBC-D
 +
| http://fr.farnell.com/kingbright/kph-1608qbc-d/led-100mcd-bleu-465nm/dp/2426212
 
|-
 
|-
| ?
+
| 6
| Transistors NPN
+
| Transistor bipolaire NPN
|
+
| Farnell
|
+
| Fairchild Semiconductor
|
+
| MMBT3904
 +
| http://fr.farnell.com/fairchild-semiconductor/mmbt3904/transistor-npn-sot-23/dp/9846727
 
|-
 
|-
 
| 1  
 
| 1  
 
| Régulateur de tension 5V
 
| Régulateur de tension 5V
 
| Farnell
 
| Farnell
 +
| STMicroelectronics
 
| L7805ACD2T-TR
 
| L7805ACD2T-TR
 
| http://fr.farnell.com/stmicroelectronics/l7805acd2t-tr/regulateur-5v-cms/dp/1467759
 
| http://fr.farnell.com/stmicroelectronics/l7805acd2t-tr/regulateur-5v-cms/dp/1467759

Version actuelle datée du 13 février 2017 à 15:20

Cahier des charges

Présentation générale du projet

Il vous est demandé de créer une carte électronique de type sapin de noël. Il existe des versions analogiques avec des composants traversants [1]. Il vous est demandé de réaliser une version CMS avec un micro-contrôleur ATMega328P alimenté par une pile de 9V. Utilisez toutes les sorties PWM du micro-contrôleur pour les diverses décorations (bougies, guirlandes électriques, étoile clignotante, etc).

S'agissant d'un objet de décoration, un certain soin sera apporté à l'esthétique de la carte. En premier lieu la carte doit être découpée en forme de sapin stylisé et les éléments de décoration pourront être soulignés par des dessins gravés sur la carte.

La carte comportera un sonar ultrason (capteur et récepteurs ultrason de surface) pour interagir avec l'utilisateur. Le sapin ne fonctionnera que si une présence est détectée à une distance moyenne. Un mode de fonctionnement différent (e.g. animations plus rapides, extinction des bougies) peut être prévu si un obstacle est détecté très proche pendant un court laps de temps.

Le programme sera écrit en C pour avr-gcc.

Liste de matériel

  • 1 Micro-contrôleur ATMega328P
  • 142 LEDs (vertes, jaunes, rouges, oranges, bleues)
  • 1 régulateur de tension 5V
  • 46 résistances
  • 7 condensateurs
  • 6 transistors NPN

Avancement du Projet

Esthétique et décorations

Croquis de la décoration du sapin


Pour avoir une meilleure idée de l'allure du sapin pour ce projet, la première étape est de faire un rapide plan avec la forme et les décorations. L'idée que je vais suivre est de réaliser un sapin avec 5 couleurs de LEDs différentes : des LEDs vertes pour représenter le sapin lui-même (les contours), et des LEDs jaunes, ambres, bleus et rouges pour les décorations (étoile, lumières, bougies et guirlandes). Le croquis serait donc le suivant [1] :



Je vais donc utiliser 80 LEDs vertes, 12 LEDs rouges, 14 LEDs bleus, 16 LEDs oranges et 20 LEDs jaunes. Le reste des composants seront disposés dans les espaces libres. Par la suite, je réaliserai au Fabricarium une façade au sapin pour masquer/protéger le circuit et ne laisser apparaître que les LEDs. Pour cela j'utiliserai du plexiglas, ou du carton/bois avec la découpeuse laser, ou directement à l'imprimante 3D. Puis je réaliserai un socle pour que le sapin tienne droit.


[1] Par la suite pour des contraintes électriques, quelques LEDs ont été supprimées.

Choix des composants

Vous trouverez la liste complète et référencée dans les livrables ci-dessous.

Micro-contrôleur
Atmel - ATMega328P-AU

Concernant le micro-contrôleur, le cahier des charges nous impose un ATMega328P, je prendrai donc l'ATMEGA328P-AU d'Atmel. Il possède une vitesse de processeur de 20MHz, une taille de mémoire programme de 32KB, une mémoire RAM de 2KB, 32 broche(s) dont 23 entrées/sorties et sa tension d'alimentation doit être entre 1.8 et 5.5V


Ce micro-contrôleur compte également 6 sorties PWM (OC0A, OC1A, OC2A, OC0B, OC1B, OC2B) aux broches 1, 7, 8, 11, 12 et 13.


Alimentation

Le micro-contrôleur doit être alimenté entre 1.8 et 5.5V. Or le cahier des charges nous demande une alimentation par une pile de 9V. Je vais donc utiliser un régulateur de tension pour ajuster l'alimentation.

Schéma de l'alimentation de la carte

Autres composants

Pour les besoins électriques du circuit, j'ai également utilisé d'autres composants :

  • Transistors : 6 x NPN MMBT3904 (sot23)
  • Résistances : 24 de 43Ω + 5 de 68Ω + 3 de 82Ω + 7 de 160Ω + 6 de 1kΩ + 1 de 1MΩ
  • Capacités : 2 de 22pF + 3 de 100nF + 1 de 10µF + 1 de 100µF

Réalisation de la plaque PCB

Réalisation de la plaque de base avec Inkscape


La première difficulté rencontrée a été de réaliser la plaque de base du PCB. En effet, l'objectif du projet est que la carte soit en forme de sapin, or les logiciels de conception de circuits imprimés ne proposent pas une telle forme. Pour cela j'ai donc dû installer et découvrir le logiciel Inkscape qui est un logiciel professionnel de dessin vectoriel permettant de réaliser des fichiers .svg (Scalable Vector Graphics). Pour réaliser une base de PCB, il a donc fallu dessiner la forme désirée avec deux calques ("board" pour la partie cuivre et "silkscreen" pour les sérigraphies) ayant des caractéristiques bien définies (couleur, contour, épaisseur...).


Contrôle des LEDs

Toutes les sorties PWM du micro-contrôleur doivent être utilisées pour les diverses décorations, soit 6. Selon la décoration choisie sur le schéma ci-dessus, je vais donc réaliser 6 groupes :

  • 2 pour les LEDs vertes qui seront toujours allumées en même temps avec une luminosité vacillante pour simuler du mouvement (OC2A + OC2B).
  • 1 pour les LEDs rouges (OC1A) et 1 pour les LEDs bleues de la guirlande qui clignoteront en alterné. (OC1B)
  • 1 pour les LEDs jaunes qui clignoteront pour représenter des lumières ou boules lumineuses. (OC0A)
  • 1 pour les LEDs oranges dont la luminosité vacillera pour simuler des bougies. (OC0B)

Pour alimenter, programmer et cadencer le micro-contrôleur, ainsi que pour contrôler les LEDs, on obtient alors le schéma suivant :

Schéma de contrôle des LEDs avec les transistors


Utilisation de transistors

Une façon simple de contrôler autant de LEDs avec seulement 6 broches est d'utiliser des transistors NPN. En effet, l'idée est de mettre des LEDs en série, sur plusieurs broches en parallèle connectées au collecteur de chaque transistor, et à l'alimentation 9V de la pile. La base est ensuite connectée aux sorties PWM pour activer et désactiver le transistor. L'émetteur est enfin relié à la masse. Selon les spécifications des LEDs (différentes pour chaque couleur), on peut brancher plus ou moins de LEDs sur chaque transistor. Je pars sur un courant dans chaque LED d'environ 15mA qui sera suffisant pour allumer la LED sans risquer de la griller si on dépasse Ifmax=20mA. On obtient donc pour chaque catégorie de LEDs :

  • Vertes (2.1<Vf<2.5V / If=15mA ) = 4 LEDs en série x 20 branches (2 transistors) ; Résistances de 43Ω
  • Bleues (3.3<Vf<4.0V / If=15mA ) = 2 LEDs en série x 7 branches (1 transistors) ; Résistances de 160Ω
  • Rouges (1.95<Vf<2.5V / If=15mA ) = 4 LEDs en série x 3 branches (1 transistors) ; Résistances de 82Ω
  • Oranges (2.1<Vf<2.5V / If=15mA ) = 4 LEDs en série x 4 branches (1 transistors) ; Résistances de 43Ω
  • Jaunes (2.0<Vf<2.5V / If=15mA ) = 4 LEDs en série x 5 branches (1 transistors) ; Résistances de 68Ω

A la base de chaque transistor, je place une résistance de 1kΩ pour protéger les sorties de l'ATMega et le transistor.

Le schéma de contrôle des LEDs est alors le suivant :

Schéma de contrôle des LEDs avec les transistors


Ce montage est facile à mettre en place, mais il a cependant des inconvénients :

  • Tout d'abord il compte plusieurs LEDs en série, ce que implique que si une LED grille, toute la série ne fonctionnera plus
  • De plus, le fait qu'il y ait de nombreuses branches de LEDs en parallèle qui s'allumeront toutes en même temps et reliées à l'alimentation, le montage sera plutôt gourmand en courant et risque de se détériorer avec le temps.

Utilisation de multiplexeurs

Malgré un long travail sur cette solution, choisie en accord avec mon tuteur de projet, j'ai appris par la suite qu'un tel circuit ne remplirait pas la fonction demandée. En effet, le courant requis pour alimenter un si grand nombre de LEDs serait trop important pour la pile. Celle-ci serait vidée en quelques minutes, voire peut-être même secondes.

Une autre solution, meilleure en termes de consommation et de contrôle, était d'utiliser des multiplexeurs. La technique du multiplexage permet de sélectionner n'importe quelle LED indépendamment des autres. Cette technique est utilisée notamment par les matrices de LEDs. De plus, le multiplexage permet d'éclairer chaque LED à la suite très rapidement en utilisant le persistance rétinienne. Cela requiert donc bien moins de courant et puissance que si les LEDs s'allument toutes en même temps, avec le même rendu visuel. Pour finir, les LEDs ne sont pas en série, ce qui implique que si une LED grille, les autres continueront de fonctionner sans problème.

Pour ce faire, j'aurais utilisé le composant TLC5916 pour contrôler les LEDs grâce aux signaux de contrôle PWM de l'ATMega.

Malheureusement, la découverte de ce problème de fonctionnement s'est faite trop tard, et il était impossible en si peu de temps de réaliser cette autre solution. De plus, la commande des composants se faisant plus tôt, je n'aurais pas pu avoir les composants nécessaires à ce circuit.


Programmation

En utilisant des multiplexeurs, il est possible d'utiliser une librairie ShiftPWM, permettant de contrôler facilement les LEDs. Le programme aurait alors été développé comme suit :

  • Initialisation du micro-contrôleur, des timers et des LEDs
  • Génération des signaux de contrôle PWM pour chaque driver de LED
  • Définition de différents cas d'utilisation

Livrables

Schématique

Pour la réalisation de la schématique et du PCB, j'ai utilisé le logiciel Fritzing.

PCB face supérieure
PCB face inférieure

Liste de composants

Quantité Description Vendeur Fabricant Référence Fabricant URL
1 Atmega328P Farnell Atmel ATMEGA328P-AU http://fr.farnell.com/atmel/atmega328p-au/mcu-8bit-atmega-20mhz-tqfp-32/dp/1715486
1 Quartz 16MHz 12.5PF Farnell Epson Q22FA23800181 FA-238 http://fr.farnell.com/epson/q22fa23800181-fa-238-16-mhz-12-5pf/quartz-fa-238-16mhz-50ppm-12pf/dp/1712816
80 Leds vertes CMS Farnell Kingbright KPH-1608CGCK http://fr.farnell.com/kingbright/kph-1608cgck/led-50mcd-vert-570nm/dp/2426210
20 Leds jaunes CMS Farnell Kingbright KPH-1608SYCK http://fr.farnell.com/kingbright/kph-1608syck/led-150mcd-jaune-590nm/dp/2426217
12 Leds rouges CMS Farnell Kingbright KPH-1608SURCK http://fr.farnell.com/kingbright/kph-1608surck/led-80mcd-rouge-630nm/dp/2426216
16 Leds oranges CMS Farnell Kingbright KPH-1608SECK http://fr.farnell.com/kingbright/kph-1608seck/led-180mcd-orange-601nm/dp/2426214
14 Leds bleus CMS Farnell Kingbright KPH-1608QBC-D http://fr.farnell.com/kingbright/kph-1608qbc-d/led-100mcd-bleu-465nm/dp/2426212
6 Transistor bipolaire NPN Farnell Fairchild Semiconductor MMBT3904 http://fr.farnell.com/fairchild-semiconductor/mmbt3904/transistor-npn-sot-23/dp/9846727
1 Régulateur de tension 5V Farnell STMicroelectronics L7805ACD2T-TR http://fr.farnell.com/stmicroelectronics/l7805acd2t-tr/regulateur-5v-cms/dp/1467759

Programme C

Carte électronique