Programmation et réalisation d

17
Programmation et réalisation d'une matrice à LEDs But de la manipulation : Apprendre à manipuler plusieurs LEDs dans un circuit et montrer une application concrète des LEDs. Appliquer et approfondir les connaissances en VHDL. Nous voulons réaliser un circuit de commande d’une matrice à LEDs 6x8 et afficher un texte défilant. Montage : L'image représente une matrice 3x8 LEDs pour simplifier mais nous avons bien fait une 6x8 LEDs. Notre matrice est gérée par la carte Pegasus Digilent CoolRunner XC3064 utilisée en cours. Nous avons programmé en VHDL notre carte pour faire défiler des barres sur la matrice à diodes dans le sens choisi par l’utilisateur. La fonction comporte 3 entrées : l’horloge, la remise à zéro (RESET) et la commande de sens de rotation. Les sorties seront donc visibles sur la matrice. Nous récupérons les sorties du CPLD (complex programmable logic device) directement grâce aux port d’extension situé sur la carte Pegasus. 8 pour les LEDs, (Bus LED sur le schéma) et 6 pour le

Transcript of Programmation et réalisation d

Page 1: Programmation et réalisation d

Programmation et réalisation d'une matrice à LEDs

But de la manipulation : Apprendre à manipuler plusieurs LEDs dans un circuit et montrer une application concrète des LEDs. Appliquer et approfondir les connaissances en VHDL. Nous voulons réaliser un circuit de commande d’une matrice à LEDs 6x8 et afficher un texte défilant.

Montage :

L'image représente une matrice 3x8 LEDs pour simplifier mais nous avons bien fait une 6x8 LEDs. Notre matrice est gérée par la carte Pegasus Digilent CoolRunner XC3064 utilisée en cours. Nous avons programmé en VHDL notre carte pour faire défiler des barres sur la matrice à diodes dans le sens choisi par l’utilisateur. La fonction comporte 3 entrées : l’horloge, la remise à zéro (RESET) et la commande de sens de rotation. Les sorties seront donc visibles sur la matrice. Nous récupérons les sorties du CPLD (complex programmable logic device) directement grâce aux port d’extension situé sur la carte Pegasus. 8 pour les LEDs, (Bus LED sur le schéma) et 6 pour le multiplexage (décalage de colonnes). 

Le choix des composants se fait de la manière suivante : 

• Les Diodes sont des diodes classiques rouges • Les transistors on été choisies par le courant maximum les traversant (ici 8*0.02 = 0.16A.) leur documentation technique est fournie en annexe.• Le code et le CPLD permettent de n’avoir aucune autre électronique à l’extérieur du CPLD.

Page 2: Programmation et réalisation d

• Les résistances sont calculées a partir de la tension de sortie du CPLD qui est de 3.3V

Etude du comportement de la matrice :

Puisque nous possédons un nombre limité de sorties, nous avons choisi de faire un multiplexage sur les lignes. Ainsi, nous affichons très rapidement les lignes une par une ce qui donne l’impression d’un affichage simultané. La période de ce changement est calée sur la période de l’horloge. Le déplacement se fait par le changement d’état des diodes sur chacune des lignes à un instant simultané (environ 100x la période de l’horloge). 

Ci-dessous, voici le diagramme d’état représenté sous Xilinx par le logiciel State CAD de la première ligne de notre matrice à LED :

Grâce à ce diagramme, nous générons le code VHDL qui va gérer le déplacement dans les deux sens de la première ligne. Ce procédé a été utilisé pour toutes les lignes de la matrice.

Résultat obtenu :

Page 3: Programmation et réalisation d

 

Page 4: Programmation et réalisation d

Matrice de LED 10x10 pou alimentation 5VDans ce billet, je vais développer les différentes étapes dans la réalisation d'une matrice de diode

10x10 pour une utilisation avec des tensions de 5V (Il faudra prévoir une/des résistances dans le

circuit qui contrôleras les transistors).

Quel est l’intérêt de réaliser une matrice soit même? Certainement pas le prix, puisqu'on trouve

des matrices 8x8 à 3€ sur un célèbre site d'enchère. Ni la qualité esthétique, puisque vous vous

rendrez vite compte qu’aligner parfaitement les diodes relèverais du miracle.

Non, ce que l'on cherche ici, c'est la satisfaction d'avoir réalisé son premier circuit, et d'avoir fait

le premier pas vers un nouveau monde. À mes yeux, ce projet est le plus simples des projets

utile accessible à un néophyte, et fait suite à l'hello world.

Page 5: Programmation et réalisation d

Le projet terminé

Je fournit ici le projet Eagle contenant schéma et PCB, dans l’hypothèse où cela intéresserait des

gens ;http://zenol.fr/dl/led_matrix.zip.

Dessin du circuit (PCB), détermination des composantsLa première étape consiste à réaliser le circuit via un logiciel spécialisé, par exemple Eagle, en

s’aidant des lois de la physique (Loi des mailles, des noeuds, et U=RI   ) pour s'assurer que l'on

a les bonnes tensions / intensités. J'ai réaliser les calculs pour des leds vertes haute luminosité.

Notez que le seuil de tension (aussi appelé Forward Voltage) des led vari aelon les couleurs

Page 6: Programmation et réalisation d

(2~2.6v pour les rouges/oranges/jaunes et 3~4V pour les vertes/bleu). Dans la configuration que

j'ai réaliser, prévu pour une alimentation de 5V, on ne peut allumer les LED qu'une à une pour

espérer une intensité lumineuse acceptable. Dans l'ensemble, pour l'adapter a d'autres tensions,

vous pouvez vous contenter de recalculer/mesurer les résistances.

Notez que les transistors n'ont pas de résistance sur leur base. Vous DEVEZ en placer. Pour ma

part elles figureront coté contrôleur, car je prévoir l'usage d'un démultiplexeur qui diminuera le

nombre de résistances nécessaires.

Voilà la bête :

 

Schéma de la matrice

Une fois le schéma réalisé, le choix des connecteurs fait, les connexions vérifiés, on peut passer

au dessin du PCB. Une petite réflexion vous conduira a la conclusion qu'il est impossible de relier

les connexions avec une piste de cuivre simple face sans qu'elles se chevauchent. La solution?

De petits fils qui vont venir jouer le rôle de pont. Cela se caractérise par le fait que les pistes ne

sont pas complètement reliés, comme Eagle l’indique par la présence de 'fils aériens'. Sachez au

Page 7: Programmation et réalisation d

passage que j'ai du réaliser le rooting (câblage) à la main, pour obtenir quelque chose

d'esthétique.

Le PCB

Après tout ce travail, il ne reste qu'à prier pour que ne figurent pas d'erreurs, et fabriquer le

circuit.

Page 8: Programmation et réalisation d

Le montageAprès quelques semaines, je reçoit le circuit que j'avais commandé. Et oui, vous avez crus que je

ferait le circuit moi même? Commandé auprès d'un particulier qui ne traite que les commandes

de particuliers ; etronics.free.fr si vous me demandez de dénoncer. Je sort les câbles, la soudure,

et me prépare à poser la "deuxième couche" du circuit. Ah mais, il ne manquerait pas la moitié

des trous?!

...

Bon, on essaye de retourner la situation à son avantage. Et si on se contentais de petites agrafes

reliés entre elles via un long fil métallique? Mais oui! Ça fonctionne, et c'est même très pratique!

Page 9: Programmation et réalisation d

Placement des bootstraps en agrafes.

Après ceci vous pouvez commencer à placer les composants. Commencez par les résistances

puis les diodes (dans l'ordre inverse vous aurez du mal à les monter...).

Page 12: Programmation et réalisation d

LEDs et résistances

Viennent alors les derniers composants : transistors, headers, OUF! C'est terminé!

Il ne reste que le dernier composant!

Petit rappel sur l'utilisation

Page 13: Programmation et réalisation d

-On n'allume qu'une led à la fois, quitte à le faire assez vite pour donner l'illusion que plusieurs

sont allumé en même temps. Un affichage à 60kHz est suffisant.

-Il faut penser à mettre des résistances sur la base des transistors (Les headers C1-C10).

-Pour activer la diode en (4,8) (Avec la disposition où est prise la première photographie) on

branche 5V sur L8 et l'on active C4 avec par exemple une résistance 10K relié à 5V.

 

À vous de faire une plus grosse matrice 

 

NB : Le montage que j'ai fait n'est pas la seul solution pour réduire le nombre de connections. Il

existe des multiplexages à 'haute impédance', se basant sur le fait que l'on ne connecte que 2

broches sur l'ensemble des combinaisons possible (Sonelec-musique rubrique "multiplexage

multiples"). Je ne garantit pas que ce soit une bonne idée pour utiliser conjointement avec des

LED haute luminosité et un microcontroleur. Si quelqu'un a testé, je suis curieux de savoir ce que

ça donne.

Puzzlemation - Un affichage dynamique carrelé

Page 14: Programmation et réalisation d

Excellence distinctif Microchip 16-Bit intégré de contrôle du concours Design 2007 

- Prix du Choix de l'éditeur 

Faire Bay Area Maker en 2008

John Peterson puzzlemation [at] saccade.com

Octobre 2007

Chaque fois que nous regardons un écran d'ordinateur, des millions de pixels de la lumière disparaître dans notre travail, notre correspondance, ou notre divertissement. Imaginez si vous pouviez capturer ces points de lumière et de les ramasser comme vous le feriez grains de sable sur la plage. Puzzlemation explore cette idée, en divisant l'affichage numérique en pixels que vous êtes libre de ramasser et de les réorganiser. Il peut être utilisé pour créer des choses aussi diverses que modulaires signes animés, un casse-tête unique défi dynamique. Il s'agit d'un outil qui vous permet de créer animés d'affichage lumineux de toute taille et de la forme pour les applications que vous pouvez rêver.

Page 15: Programmation et réalisation d

Affichage de ce projet est constitué d'un certain nombre de tuiles , d'environ 2 "carré avec un 8 x 8 matrice de pixels de couleur de LED. Chaque tuile est individuellement alimenté et animé, de sorte que votre peut librement les ramasser et de les réorganiser eux. Pour mettre en place un écran, les tuiles sont placées dans un numéro spécial bac . Animations sont téléchargés dans le bac via Ethernet et stockés localement sur une carte SD. Le plateau diffuse l'animation de chacun des carreaux, puis les synchronise.

Si les pièces sont laissées dans le bac, l'animation peut être mise à jour en continu via la connexion Ethernet. Si les tuiles sont retirées du plateau, ils vont afficher l'animation pendant plusieurs heures avec leur propre rechargeable batterie.

Page 16: Programmation et réalisation d

Une fois que l'animation est synchronisé et fonctionne sur les tuiles, vous pouvez les ramasser et de les placer n'importe où. L'affichage est complètement reconfigurable. Besoin d'un affichage grand et mince, un carré ou un long maigre? Pas de problème - ré-arranger les tuiles que vous s'il vous plaît.

J'ai répondu à beaucoup de questions à la Maker Fair 2008. Voir la FAQ   ...

J'ai aussi créé un reportage photo de l'ensemble de la tuile ( PDF, 2.1MB )

Puzzlemation a reçu excellence Distictive dans l' Microchip 16-bits intégré concours de conception Control 2007 , et le Prix Choix de l'éditeur à la Maker Faire 2008 Surface Bay . Un document d'une description plus détaillée et les schémas est disponible ici   [PDF 290K]  . Un article de fond sur elle apparaît dans le numéro de Décembre '08 de Circuit Cellar magazine. Il a également été présenté sur Hack a Day , Sparkfun.com et Guide de Tom .