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

Dernière mise à jour : 01/01/2012

Présentation

Ce compteur est un compteur / décompteur doté d'un ensemble de 6 digits 7 segments, spécialement développé pour un mordu de vidéo qui se reconnaitra. Il peut bien sûr aussi servir à d'autres.

compteur_009_pcb_3d_a

Ce compteur dispose de deux modes d'affichage :
La gestion de l'ensemble se fait au moyen d'un microcontrôleur dont la référence restera secrète pendant quelques lignes vidéo de texte.

Avertissement

Schéma simulé avec succès mais pas encore entièrement testé pratiquement.

Schéma

Un seul circuit intégré programmable de type PIC 16F886, un autre ne nécessitant aucune programmation (ça compense), 6 afficheurs, 6 transistors PNP classiques et quelques résistances. C'est votre banquier qui va être content.

compteur_009

Sélection mode d'affichage
Entrée AFF en broche 23 du PIC (RB2).Cette broche doit impérativement être portée à un état logique bas (masse) ou à un état logique haut (+5 V) et ne doit pas être laissée en l'air.

Horloge de cadencement
Le comptage ou décomptage peut être assurée au moyen d'une horloge interne au PIC volontairement réglé à la seconde (via Timer1), ou par une horloge externe qui vient d'un équipement électronique quelconque, du moment que les signaux d'horloge soient au format TTL (0 V et +5 V). Dans le second cas, le signal d'horloge externe doit être appliqué sur la ligne RB0 du PIC (broche 21).
Remarque : l'horloge interne au PIC de 1 Hz peut aussi être utilisée en mode d'affichage "images". A priori sans grand intérêt, mais puisqu'on peut se le permettre, pourquoi donc se refuser à le prévoir. Après tout cela permet un affichage de 000000 à 999999 avec cadencement à la seconde, on ne sait jamais ça peut servir.

Mode affichage "horaire"
Entrée AFF en broche 23 du PIC (RB2), entrée CLK-INT en broche 24 du PIC (RB3), entrée CLK-EXT en broche 21 du PIC (RB0).
Entrée AFF = 0. Mode "horaire" selon format "HH:MM:SS", min 00:00:00 et max 23:59:59.
Les trois broches 21, 23 et 24 du PIC doivent impérativement être portées à un état logique bas (masse) ou à un état logique haut (+5 V) et ne doivent pas être laissées en l'air.

Mode affichage "images"
Entrée AFF = 1. Mode "image" selon format "888888", min 000000 et max 999999.
Dans ce mode d'affichage, l'entrée CLK-INT n'est pas mise à contribution. L'incrément ou le décrément de la valeur affichée se fait via les deux entrées de commandes CLK-EXT et UD (Up / Down, incrément / décrément).
- entrée CLK-EXT 0-1 (front montant) -> comptage / décomptage (comptage si UD = 1 ou décomptage si UD = 0)
- entrée CLK-EXT 1-0 (front descendant) -> aucune action

Remise à zéro du compteur
L'entrée MR est en temps normal portée à un état logique haut via la résistance de rappel R15 reliée au +5 V. En amenant un état logique bas (0 V) sur cette entrée, le compteur est réinitialisé et est remis à la valeur "000000".

Prépositionnement à une valeur de départ autre que zéro
Non prévue à l'origine, cette option devrait pouvoir être implémentée sans trop de difficulté si le besoin s'en faisait sentir. Les broches RB5 à RB7 pourraient ainsi servir pour les fonctions "SET", "INC" et "DEC".

Affichage
Les 6 afficheurs sept segments à LED de type Anode Commune sont alimentés à tour de rôle selon le principe du multiplexage d'affichage, l'afficheur de droite (AFF1) étant allumé en premier, suivi du second à partir de la droite (AFF2), jusqu'à arriver à l'afficheur le plus à gauche (AFF6). La commande de chaque afficheur est assurée par un transistor PNP de type 2N2907 (d'autres types basse puissance peuvent convenir). Si on prend l'exemple de l'afficheur AFF1, on voit que sa broche Anode commune est reliée sur le collecteur du transistor Q1. Ce transistor Q1 ne peut conduire que si sa base se trouve à un potentiel nul, ou pour être plus précis inférieur au +5 V d'au moins 0,6 V.Ici, Q1 entre en conduction si la ligne C0 qui est reliée à la broche 2 du PIC 16F886 (RA0) passe à l'état logique bas. Si cette ligne C0 est à l'état logique haut, le transistor Q1 reste bloqué et aucun segment de l'afficheur AFF1 ne peut s'allumer. Cette condition bien sûr n'est pas suffisante pour illuminer l'afficheur ainsi activé. Il faut aussi que les lignes qui correspondent aux segments à allumer soient portées à un état logique bas. Si on veut afficher le chiffre 1 sur l'afficheur AFF1, il faut d'une part que C0 soit à l'état logique bas et d'autre part que les points notés B et C sur le schéma le soient également. Comme entre le PIC et les segments des afficheurs il y a des amplificateurs en courant de type darlington (ULN2803), les signaux de commande issu du PIC sont donc inversés et doivent prendre un état logique haut pour allumer les segments. Si on reprend l'exemple précédent de l'affichage du chiffre 1 sur l'afficheur AFF1, les broches 12 et 13 du PIC (RC1 et RC2) doivent être à 1 pour que les segments B et C s'allument. Avec le code logiciel fourni, le temps d'allumage de chaque digit est de 3 ms, il faut donc 18 ms pour afficher tous les digits. Cette durée de 18 ms correspond aussi à la fréquence de rafraichissement de chaque chiffre, qui est donc voisine de 50 Hz et suffit donc pour éviter tout scintillement gênant (fréquence voisine de 330 Hz pour passer d'un digit au suivant).
Remarque concernant le nombre de "colonnes" : on commence avec la ligne C0 (broche RA0 du PIC) et on termine avec la ligne C6 (broche RB4 du PIC). Cela fait 7 lignes de commande pour six afficheurs... erreur ? Non, la commande C6 est montée en prévision d'une extension d'affichage avec des LED séparées. Toujours grâce au multiplexage, on peut par ce moyen disposer de huit points de visualisation supplémentaires, qui ne sont pas mis à profit pour le moment. On pourrait ainsi mettre deux LED en forme de flèche "haut" et "bas" qui indiqueraient si le compteur est en mode comptage ou décomptage. Et d'autres LED indiquant le mode d'affichage en cours (images ou horaire), sans avoir à se repiquer sur les inverseurs de configuration. On peut bien sûr avoir d'autres idées, je n'y ai pas plus réfléchi que ça.

Alimentation et régulation
L'alimentation du circuit s'effectue en 5 V. Le courant est limité à 10 mA environ dans chaque segment par les résistances R1 à R8 de 330 ohms. Si tous les segments sont allumés (avec le point décimal qui ne nous sert pas particulièrement ici), le courant total côté affichage n'excède pas 80 mA. Avec tout le reste du circuit, on peut miser sur une consommation globale de 100 mA. De façon assez classique, on pourra donc utiliser un régulateur de tension de type LM7805 en boîtier TO220, le petit frère 78L05 en boîtier plastique TO92 serait un peu limite. La tension appliquée à l'entrée du régulateur devra être de 8 V au moins, n'allez pas trop au delà pour limiter l'échauffement du composant (limitez-vous à 12 V si possible, sinon ajoutez un petit dissipateur thermique sur le régulateur).

Logiciel du PIC

Le fichier binaire compilé *.hex à flasher dans le PIC est disponible dans l'archive zip ci-après (code source MikroPascal non disponible pour ce projet). MikroPascal V5.30 utilisé pour le développement et la compilation.
Compteur 009 - 16F886 - (01/01/2012)
Si vous souhaitez recevoir par la poste un PIC préprogrammé et prêt à utiliser, merci de consulter la page PIC - Sources.

Circuit imprimé

Non réalisé.