Dernière mise à jour :
29/08/2010
Présentation
Le présent texte décrit une méthode pour effectuer
un affichage numérique sur un ou plusieurs afficheurs sept segments
sans aucun circuit intégré, à partir d'une information décimale de type
"1 parmi n". Plusieurs schémas sont proposés :
-
Schéma 006a : 9 entrées logiques, affichage numérique de 1 à 9
-
Schéma 006b : 30 entrées logiques, affichage numérique de 1 à 30
Les
exemples proposés font usage de diodes et de résistances tout ce qu'il
y a de plus basique. Mais en échange de la simplicité du principe
adopté, le nombre de diodes nécessaires est assez élevé. Heureusement que ces composants basiques se trouvent à prix bas.
Avertissements
Le
système décrit ici n'accèpte pas que plusieurs entrées soient actives
en même temps. Cela ne présente pas de risque d'un point de vue
électrique (pas de fumée en perspective), mais la valeur affichée n'est
pas correcte si plusieurs entrées sont activées en même temps.
Pour disposer d'un système qui accèpte plusieurs entrées activées en
même temps avec un affichage cohérent, il convient d'utiliser des
encodeurs de priorité ou des composants programmables (point discuté en
fin de page).
Schéma 006a - Affichage 1 à 9
9 entrées logiques, affichage numérique de 1 à 9 avec un seul afficheur
sept segments. Les niveaux logiques peuvent provenir de sorties
logiques de circuits TTL ou de transistors montés en suiveur de tension
(transistors en collecteur ouvert possible mais pas recommandé).
Conventions de câblage
Pour
simplifier les explications, le schéma utilise un commutateur
mécanique à plusieurs positions pour la sélection de l'entrée désirée
(SW1). Le point commun du commutateur est relié à une tension positive
de +9 V, valeur tout à fait arbitraire que vous pouvez changer
(moyennant des précautions qui seront expliquées plus loin). Chaque
"sortie" du commutateur est relié à une ligne qui porte le nom de sa
position. Ainsi, à la position 1 du commutateur correspond la liaison
L1, à la position 2 du commutateur correspond la liaison L2, etc. Tous
les points marqués L1 sur le schéma sont à relier ensemble, tous les
points marqués L2 sur le schéma sont à relier ensemble, etc. Il en est
de même pour les points nommés A à G.
Principe de fonctionnement
Il consiste à amener une tension positive sur les segments de l'
afficheur à LED
à cathode commune (AFF1) qui doivent être allumés pour former un
chiffre donné. Par exemple, quand le commutateur SW1 est en position 1,
les deux segments B et C doivent être allumés et les autres doivent
rester éteints.
Il
en est de même pour les autres chiffres à afficher. La position 4
du commutateur doit faire s'allumer les segments B, C, F et G, les
autres devant rester éteints.
On
se rend compte qu'il existe plusieurs positions du commutateur SW1 pour
lesquels un même segment peut devoir être allumé. Par exemple le
segment B doit être allumé quand il faut afficher les chiffres 1, 2, 3,
4, 7, 8 et 9. Le tableau qui suit résume quels segments de l'afficheur
doivent être allumés en fonction de la position de SW1 (case avec un x
= segment allumé).
Position SW1 | A | B | C | D | E | F | G |
1 | | x | x | | | | |
2 | x | x | | x | x | | x |
3 | x | x | x | x | | | x |
4 | | x | x | | | x | x |
5 | x | | x | x | | x | x |
6 | x | | x | x | x | x | x |
7 | x | x | x | | | | |
8 | x | x | x | x | x | x | x |
9 | x | x | x | x | | x | x |
Une
solution simple semblerait consister à relier directement les broches
de l'afficheur sur les broches du commutateur qui vont bien. Mais que
se passe-t-il si on procède ainsi sans précaution ? Les segments qui
vont s'afficher ne seront pas toujours ceux attendus (il y en
aura trop d'allumés). Pour cette raison, il convient de placer des
diodes "d'anti-retour" qui évitent de créer des points communs au
niveau du commutateur. Cela complique bien sûr le circuit puisqu'on
rajoute des composants, mais le câblage reste toutefois très logique.
La règle de câblage des diodes est très simple : il suffit de placer
une diode entre chaque position du commutateur et chaque segment qui
doit s'allumer pour cette position. Par exemple en position 1 on doit
allumer les deux segments B et C. Pour cela, il faut placer une
première diode entre la broche 1 de SW1 et la broche B de l'afficheur,
et une seconde diode entre la broche 1 de SW1 et la broche C de
l'afficheur. On procède de même pour la broche 2 du commutateur, etc.
Au final, on doit compter autant de diodes que de croix dans le tableau
du résumé ci-avant, soit 43 points de connexion et donc 43 diodes
dans le cas présent.
Résistances série de l'afficheur
Les
résistances R1 à R7 placées en série avec les broches de l'afficheur
sept segments sont impératives, elles permetent de limiter le courant
circulant dans les segments. La valeur de ces résistance doit être
calculée selon la formule suivante :
R = (U - 0,6 - Useg) / Iseg
où
R est exprimée en ohms, U est la tension d'alimentation, Useg la
tension nominale des segments de l'afficheur et Iseg leur courant
nominal.
Si par exemple votre alim est de +12 V et que votre
afficheur possède des segments de type 1,6 V / 10 mA, les résistances
auront la valeur suivante :
R = (U - 0,6 - Useg) / Iseg
R = (12 - 0,6 - 1,6) / 0,01
R = 980 ohms (valeur normalisée la plus proche = 1 kO)
Schéma 006b - Affichage 1 à 30
30
entrées logiques, affichage numérique de 1 à 30, avec deux afficheurs
sept segments. Ce circuit peut être utilisé pour moins d'entrée (par
exemple 15 ou 20). La présence d'un grand nombre de diodes peut
effrayer,
mais la technique employée est la même que pour le schéma précédent et
suit rigoureusement la même logique. La différence principale réside
dans le fait que le premier afficheur s'occupe de la valeur décimale et
que le second afficheur s'occupe des unités.
Les
commutateurs mécaniques SW1 à SW3 utilisés ici pour simuler les entrées
logiques sont de type 12 positions. Pour chacun d'eux, seules 10
positions sur les 12 sont réellement exploitées, il s'agit des
positions 2 à 11. Le commutateur SW1 quand il est sur une position
comprise entre 2 et 11, permet d'afficher un nombre compris entre 01 et
10 (notez le décallage de 1 point entre numéro de position du
commutateur et nombre affiché). Quand le commutateur SW1 est en
position 12, c'est le commutateur SW2 qui prend du service. Quand ce
dernier est sur une position comprise entre 2 et 11, le nombre affiché
est compris entre 11 et 20. Idem quand le commutateur SW2 est en
position 12 et que le commutateur SW3 devient acteur : les positions 1
à 11 correspondent au nombre affiché 21 à 30. Les positions non
utilisées sont raccordées entre elle via le point de
connexion noté NC. Ce dernier est facultatif et permet seulement
d'afficher un trait sur les deux afficheurs pour notifier d'une
position "non valide". Si vous préférez que les afficheurs restent
entièrement éteints pour ces positions particulières, il vous suffit de
retirer les deux diodes connectées aux points NC.
Autres méthodes moins coûteuses en diodes ?
L'emploi
de circuits intégrés permet de simplifier le circuit d'affichage. On
peut par exemple utiliser des encodeurs de priorité, ou un petit PIC
associé à quelques expandeurs de port ou à des multiplexeurs. La
solution par diode n'est pas forcement la plus bête, tout dépend des
moyens dont vous disposez et de la logique qui vous convient le mieux.
Encodeur de priorité SN74147
Dans
la logique TTL, on peut par exemple utiliser l'encodeur de priorité
SN74147. Ce circuit dispose de 10 entrées actives à l'état bas et de
quatre sorties BCD qui nécessitent l'ajout d'un décodeur BCD / 7
segments pour attaquer l'afficheur numérique. Un SN7447 pourra convenir
pour ce décodage. Si on veut que les entrées réagissent sur des niveaux
logiques haut, il faudra installer un inverseur logique par entrée (par
exemple issus d'un circuit SN7404). Si on veut rester "simple",
l'assemblage de ces circuits ne convient que pour un seul afficheur et
donc 9 entrées maximum. Au delà il faut plus de circuits logiques pour
gérer les entrées supplémentaires.
Encodeur de priorité CD4532
Le
CD4532 est un encodeur de priorité qui dispose de 8 entrées "seulement"
mais qui sont actives à l'état logique haut, ce qui dans de nombreux
cas sera sans doute préféré. Ce circuit doit lui aussi être associé à
un décodeur BCD / 7 segments pour assurer l'attaque de l'afficheur
numérique. Un CD4511 ou CD 4543 conviendront très bien pour cette
fonction de décodage. Pour plus de 8 entrées, il faut cascader les
encodeurs de priorité CD4532, ce qui nécessite l'ajout de portes
logiques supplémentaires mais reste néanmoins assez simple à faire.
PIC et PCF8574
Un PIC d'entrée de gamme associé à quatre expandeurs de ports de type
PCF8574 permet de disposer de 32 entrées et d'attaquer directement deux afficheurs numériques en
mode multiplexé.
C'est une solution assez souple et qui prend moins de place que les
autres, mais qui nécessite la programmation d'un composant. Il faut
donc être équipé pour ça.
PIC et multiplexeurs CD4051
Les
multiplexeurs analogiques CD4051 peuvent remplacer les expandeurs de
ports PCF8574, et il en faut là aussi quatre pour disposer de 32
entrées. Mais contrairement aux PCF8574 qui ne réclament que deux fils
pour les accès en lecture sur les quatre boitiers, quatre boitiers
CD4051 ne peuvent se contenter de si peu et le PIC doit disposer de
sept lignes de port rien que pour leur exploitation. Là encore il faut disposer d'un programmateur pour rendre utile le PIC.
Circuits imprimés
Non réalisés. A mon avis le plus simple est d'utiliser une
plaque d'expérimentation à bandes ou pastilles.