Electronique > Réalisations > Affichage / Mesure > Compteur 001

Dernière mise à jour : 21/08/2016

Présentation

Le schéma présenté ici montre une façon de faire pour réaliser un compteur entre 00 et 99, en utilisant deux afficheurs à leds sept segments. Il est possible de le simplifier pour le transformer en compteur de 0 à 9, ou encore de l'étendre pour lui permettre d'afficher un nombre entre 000 et 999 ou même 0000 et 9999. Version CMOS (+3V à +15V) avec CD4029 et CD4543. Voir aussi Compteur 002 à base de CD4518 et CD4511, Compteur 003 à base de SN7490 et SN7447 et Compteur 004 à base de CD4033. Les composants utilisés ici peuvent aussi être mis à contribution pour réaliser un décompteur, voir page Décompteur 001.

Schéma

Le schéma qui suit est celui que j'ai retenu et dupliqué en trois exemplaires pour la section affichage de mon jeu Rouleboule.

Compteur 001

Impulsions de comptage
Le comptage s'effectue ici de façon manuelle au travers du bouton poussoir SW1, mais vous pouvez bien entendu remplacer ce bouton poussoir par un circuit "automatique" quelconque (sortie d'un oscillateur ou d'un système de comptage de personnes, par exemple). Tel quel, le compteur est incrémenté de une unité à chaque nouvel appui sur le bouton poussoir. Et comme vous le savez peut-être, ce composant génère des rebonds mécaniques quand on l'actionne. En clair : vous appuyez dessus une seule fois, et il fournit une suite de "fermé / ouvert" qui, si l'on n'y prend garde, produit le même effet que si l'on avait appuyé dessus plusieurs fois de suite à grande vitesse. Bien entendu, mieux vaut éviter que ce genre de comportement soit vu par notre compteur, si l'on ne veut pas que l'affichage passe de 07 à 14 avec un seul appui sur le bouton poussoir. Pour celà, un circuit anti-rebonds rudimentaire mais suffisement efficace, est constitué par les deux composants R2 et C2. Pour simplifier, on peut dire que C2 "absorbe" les rebonds.
Remarque : un circuit anti-rebonds n'est pas un système qui supprime les rebonds mécaniques de l'élement mécanique actionné (ici un bouton poussoir), mais qui empêche la production d'une suite d'impulsions électriques, là où il ne devrait normalement y en avoir qu'une.

Comptage
Le comptage des impulsions est assuré par un circuit intégré logique appelé curieusement compteur (hazard ou pas, je ne sais pas trop). Ce compteur est un modèle un peu particulier, dans le sens où il est prépositionnable. Misère, un circuit intégré logique compteur prépositionnable ! Et vous voulez qu'on continue l'électonique, avec ça ! Et bien, pourquoi pas ? On a tous déjà entendu parler un médecin dans une langue inconnue de nous ("vous avez une laryngotomie aigüe doublée d'un staphilocoquesinjake poisseux, je vais vous soignez ça avec du daffalganosotropikopylus, et ça ira mieux dans 7 jours"), et ça ne nous empêche pas d'y retourner, non ? Il existe plusieurs type de compteurs, et j'ai choisi un des plus compliqués, ça va de soi. Nous disions donc prépositionnable. Soyez rassuré, ce n'est pas si grave que ça. Le terme prépositionnable veut simplement dire que l'on peut initialiser le compteur pour qu'il commence à compter (ou à décompter) à partir d'un nombre quelconque, et donc pas forcement par zéro. Ca peut servir dans certaines application, mais ici, nous ne profiterons pas de cette fonctionnalité et nous ferons en sorte que le comptage s'effectue de façon "normale". Ainsi, toutes les entrées de prépositionnement A, B C et D sont reliées à la masse. Et de la façon dont le compteur est cablé, ses sorties BCD (QA, QB, QC et QD) fournissent un mot binaire dont la valeur s'incrémente de une unité à chaque impulsion appliquée sur l'entrée d'horloge CLK (CLK = clock = horloge). Quand le compteur atteind la valeur binaire de sortie 1001, qui correspond en décimal à 9, la valeur qui suit est 0000 (valeur décimale 0). Au moment même où le compteur repasse à zéro, la sortie de retenue CO (borne 7) change d'état et incrémente de une unité le compteur dont l'entrée d'horloge est reliée à cette sortie (j'ai nommé U3). Pour résumer, nous avons un premier compteur (U1) qui s'incémente à chaque appui sur le bouton poussoir, et nous avons un second compteur (U3) qui s'incrémente quand le premier compteur s'est incrémenté dix fois. Vous l'avez compris, le premier compteur sert pour les unités, et le second compteur sert pour les dizaines. Bien, le comptage c'est bien, mais l'affichage, c'est mieux. Nous disposons de deux compteurs qui fournissent des mots binaires, mots bien peu adaptés à l'affichage direct sur des afficheurs sept segments. Nous devons trouver une solution, et si possible, rapidement.

Décodage et affichage
Nous disposons de deux mots binaires. Un pour les unités, fourni par le circuit intégré U1, et un autre pour les dizaines, fourni par U3. Nous voulons afficher ces mots binaires en chiffres arabes, que nous connaissons bien : 0, 1, 2, ... jusqu'à 9. Pas de mystère, il nous faut un composant qui assure une "interface de langage". Ouf, ça existe tout fait, et ça s'appelle un décodeur BCD / 7 segments. Ca aurait pû être pire. Il existe plusieurs types de décodeurs assurant cette fonction, mon choix s'est porté sur un CD4543. Je l'aime bien, celui-là, car il dispose d'une entrée de sélection qui permet d'inverser la logique de sortie (celle qui pilote les afficheurs), et qui permet de ce fait d'utiliser des afficheurs à anode commune ou à cathode commune. Dans notre cas, nous utilisons des afficheurs à cathode commune. Notez la simplicité de la chose : on entre sur ce circuit un mot binaire (A, B, C et D), et il ressort un mot décimal spécialement adapté pour affichage sur sept segments (A, B, C, D, E, F et G).

Trop de courant dans les LED ?
Le schéma qui précède indique que le montage est alimenté sous  une tension de 9 V, et les résistances de limitation ajoutées pour limiter le courant dans les segments LED des afficheurs valent 390 ohms. En utilisant des LED rouges de tension nominale 1,6 V, le courant qui circule dans un segment Iled est grosso-modo de :
ILed = (9 - 1,6) / 390 = 19 mA
Il s'agit bien sûr d'une erreur de ma part, puisque sous 9 V le CD4543 ne peut pas débiter plus de 10 mA par sortie. Le fait est que cette valeur de 390 ohms avait été établie pour une tension d'alim de 5 V (courant de 8 mA). Pour une tension d'alim de 9 V, il convient d'augmenter la valeur de ces résistances de limitation de courant. Pour 8 mA, cela donne :
R = (9 - 1,6) / 0,008 = 925 ohms (disons 1 kO)
Il existe maintenant des afficheurs qui sont très lumineux même avec des courants plus faibles, entre 1 mA et 5 mA. Si vous utilisez de tels afficheurs, augmenter encore plus la valeur de ces résistances de limitation. Pour 3 mA par exemple, passez à 2,2 kO.

Important : les circuits que j'ai utilisés pour ce montage proviennent du fabricant ON-Semiconductor, les sorties peuvent débiter un maximum de 10 mA. Ce n'est pas forcément le cas de circuits CD4543 provenant d'autres fabricants ! Pour beaucoup de circuits CMOS, le courant max ne dépasse guère 1 ou 2 mA par sortie. En cas de doute, consulter les caractéristiques techniques de vos composants (datasheet).


Je reconnais avoir joué un peu avec le feu, car la valeur de 10 mA est une valeur max à ne pas dépasser, et que mes 8 mA n'en sont pas loin.

Prototype

Rien de spécial à dire.

Rouleboule Compteur
Version à deux afficheurs (00 à 99)

Ah si : sur le schéma, on voit des résistances entre les sorties des décodeurs BCD / 7 segments CD4543 et les afficheurs (les fameuses 390 ohms qui feraient moins de mal au système si elles valaient 1 kO). Sur le proto pourtant, on n'en voit aucune. Et curieusement l'ensemble se comporte bien, pas d'echauffement excessif et pas de fumée. Etrange, non ?
Oui, j'aime parfois prendre des risques ;-)

Réduction à un seul afficheur

Il est tout à fait possible de supprimer la moitié des composants, si l'affichage est limité à la plage 0 à 9. C'est ce que montre le schéma suivant.

compteur_001b

Retenez bien ce que j'ai écris auparavant concernant les sept résistances de limitation de courant de l'afficheur. Cela s'applique aussi à ce schéma.

Extension d'affichage

Extension désirée pour affichage jusqu'à 999 ? Possible aussi, il suffit de chaîner un troisième compteur CD4029 au deuxième déjà en place, c'est à dire de relier la sortie CO du compteur précédent sur son entrée CLK, et de lui adjoindre sa propre section de décodage BCD / sept segments (CD4543).

compteur_001c

Pour un affichage jusqu'à 9999, ajouter un quatrième CD4029, un quatrième CD4543 et un quatrième afficheur sept segments, selon le même principe de câblage. Comme vous pouvez le constater, ce n'est que de la recopie. Et puis, dois-je insister sur la valeur des résistances de limitation de courant des afficheurs ?

Historique

21/08/2016
- Correction valeur résistances de limitation de courant dans les LED, qui étaient un peu justes pour une utilisation sous 9 V.
09/12/2007
- Première mise à disposition.