Dernière mise à jour : 27/03/2011
Présentation
Ce circuit est une sorte d'amusement, je l'ai réalisé sans en avoir une
quelconque utilité. Il repose sur l'emploi d'un PIC 16F628A et de
quelques afficheurs LED sept segments fonctionnant en mode multiplexé.
C'est en quelque sorte un petit montage d'initiation, qui ne fait pas
spécialement mieux que les horloges numériques du commerce. L'affichage
se fait au format "24h", je n'ai pas prévu le mode "12h" (13h30 est
donc affiché 13h30 et non 1h30). La base de
temps est stabilisée par un quartz "horloger" de 32,768 kHz, la
précision dépend donc
majoritairement de sa stabilité.
Si le mode d'affichage multiplexé vous file des boutons, ou plus
sérieusement s'il ne peut convenir pour une application bien précise,
merci de vous téléporter vers la page Horloge 001b.
Schéma
J'ai déjà vu un schéma similaire sur ce site, mais où... Peut-être le compteur 005 ?

Principe général
Une partie du code logiciel du PIC est
cadencé à une vitesse de 1 Hz et donc une seconde, ce qui est bien
pratique pour une horloge. Pour obtenir cette base de temps de 1 Hz, on
utilise un quartz de 32,768 kHz et une succession de division par deux
de cette fréquence principale. Vous pouvez faire le calcul vous même,
si on divise par 2 plusieurs fois de suite la valeur 32768, on finit bien par
tomber sur la valeur de 1 Hz. Chaque seconde, une interruption
est déclanchée et provoque l'incrémentation de compteurs chargés de
stocker la valeur en cours des heures, minutes et secondes.
Affichage
La
valeur des compteurs heures et minutes est affichée de façon alternée et à une vitesse
suffisement grande pour que l'oeil ne se rende pas compte qu'un seul afficheur est allumé à un instant donné. Principe de la persistance rétinienne et de l'affichage multiplexé.
Parce que le PIC utilisé dispose d'un nombre limité de broches d'entrée
/ sortie et parce que je tenais à conserver mes quatre boutons
poussoirs de réglage (voir paragraphe suivant), j'ai du utiliser quatre
broches pour la commande des sept segments des afficheurs, imposant
l'ajout d'un décodeur BCD (4 fils) vers 7 segments (7 fils). Le
décodeur utilisé est de type TTL SN7447 et possède une capacité en
courant de sortie suffisante pour attaquer directement les segments des
afficheurs. Mais en contrepartie, il n'affiche pas la queue des
chiffres 6 et 9, ce qui à mon goût fait un peu moins joli. Simple
question d'esthétique.
Réglage de l'heure
A moins
d'allumer cette horloge pile à 12h00 (valeur par défaut à la mise sous tension), il faut la mettre à l'heure. Ce
qui explique la présence des boutons poussoirs reliés aux broches RB4 à
RB7 et qui permettent d'incrémenter ou de décrémenter les heures et les
minutes de façon individuelle. J'aurais très bien pu n'utiliser qu'une
seule broche du PIC pour le réglage de l'heure et des minutes, mais cette façon de
faire qu'on retrouve sur certains radio-réveils m'énerve trop. Donc
non, je laisse comme ça, mais rien ne vous empêche de modifier ce mode de
fonctionnement.
Remarque
: l'affichage fluctue fortement durant la phase de réglage, cela est
lié au fait que le multiplexage d'affichage est interrompu
temporairement quand les poussoirs de réglage sont enfoncés. Cela n'est
visuellement pas très agréable et je pourrais faire mieux, en incluant
les routines d'affichage non pas dans le corps principal du programme
mais dans une routine d'interruption. Je sais faire et l'ai d'ailleurs
déjà fait pour d'autres réalisations, mais je n'ai pas pris le temps
de recopier la méthode pour ce projet. Pas bien.
Sauvegarde de l'heure lors d'une coupure d'alimentation
Si
l'ensemble est alimenté par une source provenant du secteur EDF - ce
qui est conseillé pour un usage permanent, la valeur de l'heure en
cours est perdue dès que se produit une coupure d'alimentation secteur.
C'est le cas de toute horloge alimentée par le secteur. Pour éviter
cela, il convient de prévoir une sauvegarde par pile qui prend la
relève uniquement en cas d'absence secteur. Pour une autonomie maximale
de la pile de sauvegarde, on ne doit alimenter que le PIC et laisser
les afficheurs éteints quand le secteur est absent. Cela est très
facile à faire avec des diodes, comme le montre le schéma suivant.

Dans
bien des réalisations commerciales, il n'y a qu'un seul régulateur de
tension (parfois une simple diode zener avec une résistance de
limitation de courant), les afficheurs étant alimenté par une source de
tension filtrée mais non régulée. C'est une façon de faire. Pour
plus de détails concernant le fonctionnement de ce type d'alim
secourue, merci de vous reporter à la page Alimentation secourue par batterie 002.
Logiciel du PIC
Fichier *.hex compilé prêt à l'usage
disponible dans l'archive dont le lien suit, avec code source au format
MikroPascal Pro V3.80.
Horloge 001 - 16F628A (27/03/2011)
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é.