Electronique > Réalisations > Affichage / Mesure > Chronomètre 001c

Dernière mise à jour : 27/05/2018

Présentation

Ce chronomètre est une petite variation du chronomètre 001b. Il permet un comptage au centième de seconde près et non plus à la seconde près.

chronometre_001c_proto_001c

En revanche, il n'affiche plus les heures et s'arrête de compter à 99 minutes 59 secondes 99 centièmes de secondes. Tout comme son ancètre 001b, la précision est celle permise par son oscillateur à quartz, donc suffisante pour grand nombre d'applications. Là encore il est fait usage de six afficheurs à leds sept segments à anode commune câblés pour fonctionner en mode multiplexé. Il est possible de ne conserver que quatre afficheurs sur les six si l'affichage souhaité ne nécessite pas la présence des minutes. Version avec PIC 16F628A associé à un décodeur TTL sept segments de type SN7447.

Caractéristiques principales
- Entrée START, pour démarrage depuis zéro ou pour reprise sur pause.
- Entrée PAUSE pour arrêt avec mémorisation valeur en cours.
- Entrée MR (Memory Reset) pour remise à zéro générale.

Avertissements

J'ai testé pratiquement ce montage après l'avoir simulé avec succès, mais seulement avec quatre afficheurs sur les six (secondes et centièmes). Je ne pense pas que l'affichage des minutes pose problème mais je préfère signaler que le test n'a pas été complet.

Schéma

Usage de deux circuits intégrés fonctionnant tous deux sous 5 V, couplés à six afficheurs sept segments et six transistors courants.

electronique_chronometre_001c

Vous ne serez sans doute pas surpris de retrouver un schéma quasiment identique à celui du chronomètre 001b. Les différences principales résident dans le logiciel du PIC et dans la base de temps portée à 8 MHz (quartz externe 8 MHz contre précédement 4 MHz interne). Deux condensateurs ont en outre été ajoutés sur les poussoirs START et PAUSE, nous en reparlerons plus loin.

Fonctionnement général
Le PIC est programmé pour délivrer une interruption toutes les 10 ms, c'est ce qui permet la précision au centième de seconde. Si le chronomètre est démarré (appui sur la touche SW1 / START ou commande via un transistor à collecteur ouvert par exemple), les interruptions incrémentent un compteur et l'affichage est mis à jour. Si le chronomètre est en mode pause (appui sur le poussoir SW2 / PAUSE), le compteur ne reçoit plus rien mais conserve sa valeur en cours, qui reste affichée. Un nouvel appui sur SW1 / START redémarre le comptage là où il était arrêté. L'appui sur le bouton SW3 / MR (RAZ) remet le compteur à zéro. Du fait que l'on souhaite une précision au centième de seconde, il est hors de question d'utiliser des routines logicielles d'anti-rebond sur les poussoirs START et PAUSE qui durent plusieurs dizaines de ms. J'ai donc opté pour un debouncing (anti-rebond logiciel) de seulement 10 ms, avec des condensateurs de 100 nF en parallèle sur les poussoirs en question. De cette façon, on conserve une précision de 1 centième de seconde sur la mise en route et sur l'arrêt du comptage. Ce qui signifie que la précision de l'affichage entre START et PAUSE sera de 2 centièmes de seconde. Pour la remise à zéro, point besoin de cette précision temporelle.

Start et Pause par barrière lumineuse
Ce montage a été conçu pour chronométrer un parcours d'obstacles (agility et éducation canine). Les tops de départ et d'arrivé peuvent être donnés par pression sur des boutons-poussoirs, mais je conseille l'utilisation d'une barrière lumineuse au départ et à l'arrivée dans le but d'uniformiser les temps de réaction du circuit pour chaque "participant". La sortie des barrières lumineuses du commerce peut être de différents types :
L'adaptation de ces différents types de sortie sur le chronomètre s'effectuera selon un des schémas d'adaptation suivants (une sortie sur relais ou sur transistor NPN en collecteur ouvert ne demande l'ajout d'aucun composant) :

chronometre_001c_cde_elec_001b

Tous les transistors montrés ci-avant sont câblés en émetteur commun et agissent comme des interupteurs électroniques. Une commande logique positive sur leur base provoque la "fermeture" de leur jonction E-C, ce qui provoque du même coup une inversion de l'état logique. Pour les deux derniers cas de figure avec sortie sur transistor PNP, il faut choisir l'interface requise pour que le transistor relié à l'entrée du PIC (entrée START ou STOP) soit bloqué au repos.

Une autre solution assez "classe" et économique consiste à utiliser le faisceau laser d'un pointeur laser 1 mW premier prix pour constituer la ou les barrières lumineuses. Voir page Barrière lumineuse 001 pour un exemple pratique.

Multiplexage
L'affichage est de type multipléxé, les afficheurs sont allumés les uns après les autres, ce qui permet d'économiser de l'énergie et de limiter le nombre de fils de câblage. Pour plus de détails, merci de vous reporter à la page Affichage et multiplexage. La fréquence de raffraichissement est de l'ordre de 100 Hz pour chaque afficheur (environ 600 Hz pour les six), ce qui permet de ne pas voir les segments scintiller.

Logiciel du PIC

Code source (format MikroPascal Pro V3.80) et fichier binaire compilé *.hex disponible dans l'archive suivante.
Chronomètre 001c - 16F628A (19/12/2010)
Si vous souhaitez recevoir par la poste un PIC préprogrammé et prêt à utiliser, merci de consulter la page PIC - Sources.

Prototype

Réalisé sur plaque sans soudure, avec les liaisons qui vont bien vers la platine EasyPic4.

chronometre_001c_proto_001a chronometre_001c_proto_001b chronometre_001c_proto_001c

Comme dit en avertissement, tests effectués avec quatre afficheurs seulement sur les six normalement requis, secondes et centièmes de secondes.

Circuit imprimé

Non réalisé.

Corrections et remarques

27/05/2018
- Ajout paragraphe descriptif pour adaptation à des barrières lumineuses du commerce (avec schémas interfaces).
19/12/2010
- Mise à jour du code logiciel d'une part pour éviter que les afficheurs éclairent moins quand on appuie sur les boutons Start ou Pause, mais surtout pour que le comptage ne soit pas ralenti quand l'impulsion de démarrage perdure. A l'origine il fallait une impulsion de durée comprise entre 10 et 15  ms, désormais l'impulsion peut durer tant qu'on veut, du moment qu'elle s'arrête avant l'arrivée de l'impulsion de STOP.
xx/xx/xxxx
- Première mise à disposition.