Electronique > Réalisations > Affichage / Mesures > Afficheur LED 7 segments 005

Dernière mise à jour : 08/08/2010

Présentation

Ce circuit d'affichage dispose de 6 afficheurs sept segments et de 48 LED. 96 segments lumineux en tout...

afficheur_leds_7seg_005_pcb_3d_a afficheur_leds_7seg_005_proto_001p

L'ensemble de ces composants optiques est piloté au travers de registres à décalage de type CD4094, que j'ai utilisé plusieurs fois dans divers montages, notament à base de microcontrôleurs PIC. C'est d'ailleurs parce que ce type d'affichage revenait assez souvent dans de nouvelles réalisations que je me suis décidé à monter cette petite plaquette, pour faciliter les tests grandeur nature. L'entrée se fait via 5 fils seulement : deux pour l'alimentation (5 V) et trois pour les signaux de commande transmis sous forme sérielle (Data, Clock, Strobe). Comme certains de mes circuits sont basés sur un affichage à LED individuelles et que d'autres utilisent des afficheurs sept segments, j'ai décidé de mettre les deux ensemble plutôt que de faire deux circuits séparés. Et comme les CD4094 sont des circuits CMOS et que sous une tension d'alimentation de 5 V ils sont bien incapable de piloter en même temps les LED séparées et les afficheurs sept segments (on pourrait mais ce serait vraiment peu lumineux), j'ai ajouté des réseaux de transistors darlington (six boitiers ULN2803). Si l'envie m'en prenait dans le futur, je pourrais ainsi commander des relais électromécaniques en plus des LED...

Schéma

Il tient un peu de place sur le papier mais sur circuit imprimé il se fait déjà plus discret.

afficheur_leds_7seg_005

Les afficheurs 7 segments sont de type à anode commune puisque les transistors inclus dans les ULN2803 sont montés en collecteur ouvert et que ce qu'on amène sur les LED pour les allumer est un point de connexion sur la masse.

Prototype

Réalisé sur plaque prépercée à pastilles. Pour les LED individuelles j'ai utilisé cinq barregraphes de 10 LED chacun, il y a donc deux LED en rab qui ne servent à rien (me connaissant, j'en utiliserai sans doute une comme témoin de présence alim).

afficheur_leds_7seg_005_proto_001a afficheur_leds_7seg_005_proto_001b

L'implantation des composants est une chose, les liaisons une autre... Je me suis bien amusé, car ça n'a peut être pas l'air comme ça, mais il y a pas mal de fils à souder.

afficheur_leds_7seg_005_proto_001c afficheur_leds_7seg_005_proto_001d afficheur_leds_7seg_005_proto_001e afficheur_leds_7seg_005_proto_001f

Chose rigolote à laquelle je n'avais pas pensée au départ : le nombre de résistances (2 x 48 soit 96 au total) à faire tenir sur le CI. Et comme il y en a deux câblées sur chaque sortie de ULN2803, j'ai du les superposer pour ne pas devoir utiliser un CI deux fois plus large.


afficheur_leds_7seg_005_proto_001g afficheur_leds_7seg_005_proto_001h afficheur_leds_7seg_005_proto_001i afficheur_leds_7seg_005_proto_001j

Oh, ce n'était pas si terrible que ça finalement. Juste 6 heures pour l'ensemble du câblage. Les tests primaires ont été réalisés au garage, module seul. Point besoin d'électronique de commande sophistiquée pour tester les registres à décallages : il suffit de mettre les doigts su les fils Data et Clock (la ligne Strobe étant activée) pour voir les LED s'illuminer en défilant sur un rythme dansant. Ce brave secteur 50 Hz dont nous sommes tous imprégnés a du bon quelques fois. Les photos suivantes montrent bien la "relation" entre LED des barregraphes et segments des afficheurs.

afficheur_leds_7seg_005_proto_001l afficheur_leds_7seg_005_proto_001m afficheur_leds_7seg_005_proto_001n

Je précise que les tests ont eu lieu avec une alimentation secteur indépendante de ma carte EasyPic, la pauvre aurait eu sans doute bien du mal à délivrer le courant nécessaire (cette carte est équipée d'un classique régulateur 7805 sur le circuit imprimé). Tiens, je vous laisse faire le calcul du courant max requis quand toutes les LED sont allumées.Il y en a 96 en tout, avec pour chacune un courant voisin de 15 mA. Une LED seule est bien "innofensive", mais quand on met le paquet, ça commence à faire n'est-ce pas ? Je ne vais pas m'amuser maintenant à changer les 48 résistances correspondantes par d'autres de valeur plus forte, j'ai eu ma dose de câblage pour ce WE. A ce propos, les afficheurs sept segments utilisés brillent incroyablement fort, je n'en avais pas encore vu diffuser une telle luminosité sous un courant aussi "faible". Ils sont certes donnés pour 50 mcd sous 20 mA contre les 1 ou 2 mcd des afficheurs traditionnels, mais je ne m'y attendais pas, surtout pour du bleu. Ils devraient être parfaits pour de l'affichage multiplexé. Pour diminuer le courant global à une valeur convenable sans changer les résistances de limitation de courant, une solution correcte consisterait à alimenter les LED seules sous une tension plus faible, de 3,5 V ou 4 V par exemple, tout en laissant les circuits logiques alimentés sous +5 V. Cela est possible puisqu'on passe par des transistors (ULN2803) en collecteur ouvert. C'est finalement ce que j'ai fait, en ajoutant deux diodes de redressement de puissance (BY299) pour diminuer la tension d'alim de la section affichage (chute de tension globale de 1,5 V tous voyants allumés). Les afficheurs bleus n'éblouissent plus, c'est nettement plus agréable.

afficheur_leds_7seg_005_proto_001o afficheur_leds_7seg_005_proto_001p afficheur_leds_7seg_005_proto_001q

Hum... un dernier détail. J'ai du parfaire le découplage d'alimentation, les petits condensateurs de 100 nF situés sous le circuit imprimé aux bornes d'alim des CD4094 ne suffisaient pas. L'alimentation récupérée présentait sur sa sortie 5 V une ondulation résiduelle trop importante (de 300 mV sous 1 A) et le circuit faisait n'importe quoi une fois sur deux.

afficheur_leds_7seg_005_proto_001r

Une autre diode de puissance et un gros condensateur de 1000 uF ajoutés sur l'arrivée +5 V a résolu le problème. Il va (presque) de soi qu'un tel ajout n'est pas nécessaire si votre +5 V est propre. La suite des tests a consisté à piloter le circuit d'affichage via mon logiciel ProgSeq, en association avec un PIC programmé avec le code de l'interface série 001.

afficheur_leds_7seg_005_proto_001s afficheur_leds_7seg_005_proto_001t afficheur_leds_7seg_005_proto_001u

Circuit imprimé

Non réalisé "au propre". Vue 3D uniquement là pour décorer.