Projet à microcontrôleur PIC 16F84A / 16F628A

Minuteur longue durée


Vidéo réalisée par Marc Paradis (version buzzer) :
http://www.youtube.com/watch?v=qwi5j2yNDpQ&feature=youtu.be



Version relais :
http://youtu.be/J9Jga2H1Y3E





Il s'agit d'un minuteur que l'on peut régler de 0:00:01 (1 seconde) à 9:59:59 (9 h 59 min et 59 s) avec un pas de 1 seconde.

Ce minuteur pourra aussi bien servir pour la phase d'insolation par UV d'un circuit imprimé (1 min 45 s) que pour la cuisson lente de meringues (4 heures) !

 

Photo -> Le minuteur longue durée avec son buzzer (schéma version A) :

 

-> A la mise sous tension, les afficheurs indiquent 0:00:00.

-> Le bouton poussoir SELECTION DIGIT sélectionne successivement un des 5 digits : le digit actif clignote.

Le bouton poussoir SELECTION VALEUR permet de choisir la valeur désirée, pour le digit actif.

-> Une fois le réglage fait, il faut appuyer sur le bouton poussoir START/STOP pour lancer le compte à rebours. La durée restante est affichée et actualisée toutes les secondes.

N.B. Si on appuie sur le bouton poussoir SELECTION DIGIT ou SELECTION VALEUR, on revient dans le mode réglage.

-> A la fin du compte à rebours (0:00:00) :

et ce tant que l'on a pas appuyé sur le bouton poussoir START/STOP.

Le circuit retourne alors dans l'état initial (comme après la mise sous tension).

 

 

Schéma version B : commande d'un relais :

La différence avec le schéma de la version A est :

 

 

Le microcontrôleur utilise une seule source d'interruption (module TMR0 en mode timer).

Cette interruption fournit une base de temps nominale de 1/514 seconde (avec un quartz de précision 100 ppm, cela donne un écart inférieur à 4 secondes pour une durée de 10 heures).

La routine d'interruption assume la gestion de l'affichage, des trois boutons poussoirs et la commande du buzzer.

L'affichage se fait avec 5 afficheurs (7 segments à LED, anodes communes), à commande multiplexée.

Le multiplexage permet de commander les 5 digits avec seulement 7 + 5 = 12 fils.

Le décodeur BCD / 7 segments (74LS47) libère 3 broches au niveau du microcontrôleur.

En définitive, 13 entrées/sorties (sur 13, ce qui justifie la présence du 74LS47) du PIC 16F84A sont utilisées :

 

Version B : commande d'un relais

 

Version B :




2. Minuteur longue durée, version à 6 digits (d'après une idée originale de Olivier Flayols)


On peut régler ce minuteur de 0:00:01 (1 seconde) à 99:59:59 (99 h 59 min et 59 s) avec un pas de 1 seconde, ce qui devrait ravir les fans de la série télé Sliders.


minuteur longue durée

Par rapport à la version 5 digits,
on a libéré la broche RB6 (commande du buzzer) pour commander à la place un transistor contrôlant le 6ème afficheur.


minuteur longue durée


Le code source a été écrit en langage assembleur avec l'environnement de développement gratuit MPLAB IDE de Microchip.

La modification du code (passage de la version 5 digits à la version 6 digits) a été réalisée par Olivier Flayols.


 

(C) Fabrice Sincère ; Révision 1.2.6.