Projet ICN5 2016/2017

De Informatique et Création Numérique
Aller à : Navigation, rechercher

Sommaire

Participants

  • Gabrielle REDON

Cahier des charges

(thumbnail)
Vue artistique du projet final

L'objet final sera constitué des composants ci-dessous.

  • une broderie de type mandala ;
  • un micro-contrôleur comme un Arduino Lily-Pad ;
  • un dispositif électronique à base de registres à décalage pour commander un grand nombre de LEDs ;
  • de LEDs dissiminés sur l'ensemble de la broderie ;
  • un capteur de type accéléromètre peut être ajouté pour commander des comportements différents.


Réalisations

Disposition des LEDs sur le mandala

Pour simuler la répartition des LEDs sur la mandala, le logiciel géogébra a été utilisé.

Le programme géogébra est : Fichier:Mandala LEDs.ggb.

Le dessin obtenu est :

(thumbnail)
Disposition des LEDs

Cet autre programme géogébra montre les groupes de LEDs à allumer en même temps : Fichier:LED mandala groupes.ggb.

(thumbnail)
Disposition des groupes de LEDs
Groupe Nombre
Groupe rouge 32 LEDs
Groupe violet 32 LEDs
Groupe rose 32 LEDs
Groupe azur 16 LEDs
Groupe jaune 24 LEDs
Groupe noir 32 LEDs
Groupe bleu 32 LEDs
Groupe vieux rose 32 LEDs
Tous groupes 232 LEDs

Schéma du mandala avec les dimensions agrandies pour la réalisation finale : Fichier:LED mandala espace.ggb.

(thumbnail)
Version aérée

Test du dispositif électronique

Les registres à décalage sont des composants qui permettent d'obtenir un grand nombre de sorties numériques. Les valeurs de ces sorties peuvent être positionnées avec un petit nombre de sorties du micro-contrôleur. Dans le cas des registres à décalage 74HC595 que nous allons utiliser il suffit de 3 sorties pour pouvoir programmer les sorties du registre à décalage. De plus, il est possible d'enchaîner autant de registres à décalage qu'on le souhaite. Ici nous allons enchainer 3 registres pour un nombre total de sorties de 24. Nous pourrons ainsi commander 24 groupes de LEDs.

Voici le montage sur plaque d'essai pour trois 74HC595 en cascade.

(thumbnail)
Registres à décalage à droite


Par ailleurs nous souhaitons commander plusieurs groupes de LEDs avec une seule sortie. Or une seule sortie d'un registre à décalage ne permet pas d'alimenter plus qu'une LED. Il faut donc utiliser des transistors pour alimenter plusieurs LEDs avec une seule sortie.

Le montage d'utilisation d'un transistor NPN est donné dans ce schéma.

(thumbnail)
Utilisation de transistor

Dans notre cas le transistor utilisé est un classique BC547 tiré d'un kit Arduino. Ce transistor peut encaisser un courant de 100mA sous une tension de 45V. La tension maximale est sur-dimensionnée par rapport à la pile de 9V que nous utilisons. Par contre le courant est assez limité. Considérant que nos LEDs consomment Iled=20mA sous une tension de 1,8V, nous voyons que nous pouvons seulement alimenter cinq groupes de LEDs en parallèle, quatre pour avoir une marge de sécurité. Par contre, il est possible de commander plusieurs LEDs en série par groupe, le courant consommé sera le même. Il n'est pas possible de mettre un nombre infini de LEDs en série. En effet, le voltage total ne doit pas dépasser celui de l'alimentation, 9V ici. Le transistor lui-même nécessite, au minimum, 0,2V pour fonctionner, il reste 8,8V pour les LEDs, de quoi alimenter quatre LEDs en série. Nous nous contenterons ici d'en mettre trois.

Pour en revenir au schéma nous avons Valim=9V, VCE=0,2V, Vled=1,8V. La loi d'Ohm, U=RxI, impose donc une résistance R1=VR1/Iled=(9-0,2-3*1,8)/0,02. Soit 170 Ohm. A noter que la résistance R3 est négligée car très faible. Dans le montage des résistances de 220 Ohm sont utilisées, les LEDs ne sont donc pas à leur brillance maximale.

La résistance R2 sert à limiter le courant arrivant sur la commande du transistor, c'est à dire sur sa base. Cette limitation est nécessaire pour éviter de griller le composant. Attention le courant doit tout de même être suffisant pour mettre le transistor en mode saturé où il se comporte comme un interrupteur. Pour connaître le courant minimum à appliquer, il suffit de diviser le courant qui doit circuler à travers le transistor, du collecteur à l'émetteur par le gain du transistor. Prenons un gain de 100 pour un BC547 générique, sachant que nous allons faire circuler un courant d'environ 80mA dans le transistor, il faudrait un courant minimum de 0,8mA sur la base du transistor. Cela dit, la fiche technique recommande un courant de 5mA pour obtenir un VCE de 0,2V avec un courant ICE de 100mA. La documentation technique indique que pour un courant sur la base de 5mA et un courant traversant de 100mA, la tension VBE est de 0,9V. Donc, sachant que le transistor est commandé en 5V par un Arduino, la loi d'Ohm impose une résistance R2=(5-0,9)/0,005. Soit une résistance R2 de 820 Ohm. La résistance R3 est encore négligée.

Voici le montage sur plaque d'essai pour allumer 12 LEDs avec une seule sortie en utilisant un transistor (insérer une photo).

(thumbnail)
LEDs commandées par transistor à gauche


Et ça marche :

(thumbnail)
LEDs allumées


Toutes les LEDs contrôlées par le transistor sont bien allumées mais comme elles ne sont pas du même type l'appareil photo ne montre que les plus brillantes.

Circuits électroniques

Pour pouvoir prendre le moins de place possible sur la broderie, il faut concervoir un circuit imprimé avec des composants de surface.

(thumbnail)
Registre à décalage traversant
(thumbnail)
Registre à décalage de surface


Ce circuit imprimé est assez complexe. Après différents essais, une version fonctionnelle est obtenue : Fichier:Mandala.fzz.

Il faut aussi réaliser des circuits imprimés pour les LEDs. Pour éviter de la dissipation d'énergie par effet joule (chaleur) il est préférable de monter les LEDs en série puis de mettre des groupes de LEDs en parallèle. Ci-dessous une version de ce circuit pour des LEDs uniformément distribuées avec des modèles différents pour les début, milieu et fin de chaîne : Fichier:PorteLEDs.fzz.

Il est aussi possible de concevoir un unique modèle de circuit imprimé pour porter les LEDs isolées Fichier:GenericPorteLEDs.fzz. De même pour les LEDs en rayon du coeur de la broderie Fichier:RayonPorteLEDs.fzz.


Pour ces circuits, les empreintes utilisées pour les LEDs étaient celles des résistances soit 0603 impérial, il a donc été nécessaire de les changer par du 3015 métriques (soit environ de dimensions 1206 impériales). Cependant cette modification n'a été effectuée que sur les portes LED génériques, le seul modèle qui sera utilisé.

Les composants que nous souhaitons utiliser pour les circuits imprimés sont des composants de surface : des LEDs bleues KPL-3015QBC-D et des transistors MMBT3904.

(thumbnail)
LEDs KPL-3015QBC-D
(thumbnail)
Transistor MMBT3904


Les LEDs consomment 20mA sous 3,3V. Les transistors sont donnés pour une intensité maximale de 200mA. Par contre, la fiche technique ne donne les valeurs en saturation que pour un courant traversant de 50mA. Cependant au vu des courbes de la fiche, il semble possible de travailler avec un courant traversant de 100mA à condition d'avoir un courant de 10mA sur la base. Dans ces conditions la tension VCE de saturation s'établit à 0,2V et la tension VBE de saturation à 0,9V. Donc deux LEDs bleues KPL-3015QBC-D peuvent être mises en série pour un total de 2x3,3V soit 6,6V. La résistance R1 en série avec les LEDs doit donc être R1=(9-0,2-6,6)/0,02=110 Ohm. La résistance de limitation du courant sur la base est R2=(5-0,9)/0,01=410 Ohm. A noter qu'il faudrait s'assurer que les registres à décalage puissent fournir 10mA par sortie, cela semble possible au vu de la fiche technique mais est à confirmer dans la pratique.

Avec ces valeurs une sortie ne peut commander que 5 lignes parallèle de 2 LEDs en série. Soit 10 LEDs au total. Comme le montre le tableau ci-dessous nous ne disposerions pas d'assez de sorties pour tous les groupes de LEDs.

Groupe 10 (2x5) LEDs maximum 12 (2x6) LEDs maximum 15 (3x5) LEDs maximum 18 (3x6) LEDs maximum
Groupe rouge 4 sorties 3 sorties 3 sorties 2 sorties
Groupe violet 4 sorties 3 sorties 3 sorties 2 sorties
Groupe rose 4 sorties 3 sorties 3 sorties 2 sorties
Groupe azur 2 sorties 2 sorties 2 sorties 1 sortie
Groupe jaune 3 sorties 2 sorties 2 sorties 2 sorties
Groupe noir 4 sorties 3 sorties 3 sorties 2 sorties
Groupe bleu 4 sorties 3 sorties 3 sorties 2 sorties
Groupe vieux rose 4 sorties 3 sorties 3 sorties 2 sorties
Tous les groupes 29 sorties 22 sorties 22 sorties 15 sorties

Le tableau montre qu'il faut un minimum de 12 LEDs par sortie pour pouvoir gérer tous les groupes.

Avec les mêmes LEDs il faut passer à 6 lignes parallèles de 2 LEDs en série. Cela signifie une consommation de 120mA par transistor. C'est inférieur à la limite absolue de 200mA. D'après les courbes de la fiche technique cela doit pouvoir se faire en assurant un courant de 12mA sur la base. La tension VCE de saturation devrait rester en dessous de 0,3V et la tension VBE de saturation devrait approcher 0,95V. La résistance R1 reste comparable à un peu plus de 100 Ohm par contre R2 descend aux environs de 340 Ohm. Si 12mA sont trop importants pour les sorties à décalage il est possible de réduire la consommation au détriment de l'augmentation de la tension VCE de saturation. Même avec un VCE de 1V, deux LEDs en série seraient encore possible, la résistance R1 tomberait alors à 70 Ohm.

Si, en pratique, la solution avec 12 LEDs KPL-3015QBC-D (polarity mark qui indiquent le négatif) n'est pas viable, il est possible de changer de LEDs. En effet, les LEDs bleues ont toujours besoin d'une tension plus élevée que les LEDs d'autres couleurs. Ainsi les LEDs rouge de la même famille KPL-3015EC, travaillent sous 2V. Il est donc possible d'en mettre 5*3=15 par transistor et c'est surement la solution qui sera utilisée lors de la finalisation du projet. Il est aussi possible, si l'on souhaite rester sur des LEDs bleues, de prendre des LEDs à faible consommation comme les KA-3021LVVBS-D. Ces LEDs sont un peu plus larges et délivrent seulement 0,05 candelas au lieu des 0,2 candelas des LEDs KPL (soit 4 fois moins puissantes). Par contre elles ne consomment que 2mA. Il est donc possible de mettre 10 fois plus de LEDs par groupe soit une centaine. Là encore des tests sont nécessaires pour savoir si la brillance de LEDs 2mA est suffisante.

Une autre problématique est aussi la consommation totale. Chaque ensemble de 2 LEDs en série consomme 20mA. Quelle puissance d'alimentation faut-il prévoir pour le Mandala ? Cette consommation dépend du nombre total de LEDs allumées en même temps donc des animations prévues pour le mandala.

A réaliser

  • Finaliser le calcul de la consommation total et trouver le type et le nombre de piles adaptées.
  • Faire un schéma du dispositif total : lilypad, circuits et leurs connexions électriques, piles, tissu, cadre.
  • Choix du tissu et des éléments de broderie (coton, cannetille, jaseron, paillette).
  • Plan de disposition des circuits porte LED et de la broderie intégrée.
  • Test (essai de charge avec groupes différents) des circuits d'essai commandés (en cours d'acheminement): soudure, essais de fonctionnement.
Outils personnels
Espaces de noms

Variantes
Actions
Navigation
Outils