Dernière mise à jour :
11/02/2018
Présentation
Assez curieusement, les premières horloges publiées sur mon site
étaient
basées sur des PIC, ce que je n'aurais jamais pu envisager il y a
quelques années (je n'y connaissais rien en programmation de PIC).
Certes, un PIC (ou autre type de microcontrôleur)
simplifie beaucoup les choses et réduit le nombre de composants par
rapport à une version à base de logique dite câblée (vous allez vite
vous en rendre compte).
A leurs débuts,
les
fabricants de réveils électroniques utilisaient des circuits intégrés
courants (portes logiques, compteurs et décodeurs), ce qui conduisait
à des appareils volumineux et gourmand en énergie
(appareils allumés 24h/24). Rapidement sont apparus des
circuits intégrés spécifiques qui permettaient de construire une
horloge (avec fonction réveil s'il vous plait) sur un circuit imprimé
de surface fort réduite. De plusieurs circuits intégrés on est passé à
un seul, qui en plus assurait la fonction de multiplexage pour
l'affichage, réduisant la consommation et facilitant la fabrication de
ces petites merveilles de technologie (rappelez-vous qu'à l'époque, une
calculatrice qui assurait les quatre opérations de base était une belle
machine). Le présent article répond à la demande d'un internaute, qui
souhaitait savoir s'il était possible de réaliser une horloge sans
composant programmable. La réponse est oui, mais... Les circuits
intégrés spécialisés (non programmables mais déjà programmés
par
le fabricant) requis pour ce genre d'appareil ne sont pas très faciles
à trouver. On pourrait par exemple utiliser un NTE2062 (dont le
datasheet
n'inclue aucun schéma de mise en application, il faut tout décrypter !
) ou un LM8560 (
exemple
d'application).
Il s'agit là de composants spécifiques (dédiés) qu'on peut voir
disparaître au bout de quelques années. Ne serait-il pas plus exitant
d'aligner quelques circuits standards qu'on
trouve encore partout, sans fonction de multiplexage (on verra que ce
problème n'en
est pas vraiment un) mais avec l'avantage indiscutable de vous faire
réfléchir un peu ? La description qui suit vous montrera qu'on peut
faire des choses rigolotes, par exemple afficher 35h24.
Même pas peur...
Cette horloge
n'utilise que des composants classiques en assez grand
nombre, et peut faire peur aux débutants, ce que je comprend. Même si
vous n'avez pas l'intention de fabriquer ce drôle
d'accessoire, prenez donc un peu de
temps pour lire les lignes qui suivent et en comprendre le sens. Ce
genre de montage est vraiment un très bon exercice de logique et vous
aidera à comprendre comment quelques fonctions séparées permettent
d'obtenir une fonction globale. Je vous invite à imprimer le schéma et
à dessiner des flèches sur les lignes de données, qui indiquent dans
quel sens vont les informations logiques (il n'y a aucun piège).
Deux ans et demi après la publication de cet article, Mickaël T. (15
ans) m'a écrit pour me dire qu'il avait réalisée cette
horloge, finalisée après 3 mois de cogitation (voir photos de son
prototype en fin de page). Comme quoi je ne raconte pas toujours
n'importe quoi.
Schéma
Le schéma qui suit représente la partie comptage et affichage, complète
et fonctionnelle. La partie oscillateur sera vue plus loin, avec le
bloc d'alimentation secteur.
Impressionnant, n'est-ce pas ? Mais ne vous laissez pas faire et
résistez à la tentation de changer de page.
Principe général
Le fonctionnement général de cette horloge est
fort simple puisqu'on utilise une horloge de base de 1 Hz (une
impulsion par seconde) pour faire avancer trois paires de compteurs,
une pour les
secondes, une pour les minutes et la dernière pour les heures. Chaque
compteur est suivi d'un décodeur BCD / 7 segments pour permettre la
visualisation en clair de l'heure en cours. Rien n'est plus pénible en
effet que de s'entendre dire qu'il est "00000010 heures" et "00101011
minutes". L'affichage se fait via des
afficheurs à
LED sept segments basse consommation, mais rien ne vous
interdit d'utiliser des
afficheurs
géants
pour faire croire à vos (peut-être futurs) enfants que la cuisine s'est
transformée en hall de gare SNCF.
Descriptif un poil plus détaillé
On
a affaire ici à six compteurs montés en cascade (en série, si vous
préférez). Le premier compteur sert à l'affichage des unités de
secondes, le second compteur sert pour l'affichage des dizaines de
secondes, etc. Le premier compteur doit se remettre à zéro après le
chiffre 9, alors que le second compteur doit se remettre à zéro après
le chiffre 5 (max 59 secondes, après on ajoute une minute au unités des
minutes). Même topo pour les deux compteurs qui s'occupent des minutes.
Par contre il en va différement pour les heures car les unités horaires
peuvent aller jusqu'au chiffre 9 si les dizaines d'heure valent 0 ou 1
(on peut avoir 07 heures ou 16 heures, mais pas 28 heures). Il faut
donc remettre à zéro le compteur des unités d'heure dans les deux cas
suivants :
- après affichage du chiffre 9 si les dizaines d'heure valent
0 ou 1
- après affichage du chiffre 3 si les dizaines d'heure valent 2
C'est
pourquoi la circuiterie est un tout petit peu plus compliquée pour la
section des heures. Mais si on y regarde bien, on a juste ajouté une
fonction (porte logique) ET pour satisfaire à ces deux cas précis. Un
monostable constitué d'une porte logique associée à deux résistances et
un condensateur est associé à chaque compteur et permet de disposer
d'une impulsion de remise à zéro bien nette. Chaque remise à zéro d'un
compteur s'accompagne de l'incrément d'une unité du compteur suivant.
L'incrément individuel de chaque compteur est possible, grâce aux
boutons poussoirs SW1 à SW6. C'est par leur présence que vous pouvez
mettre à l'heure l'horloge. Une autre façon de faire aurait consisté à
attaquer le premier compteur (unité des secondes) avec un signal
d'horloge plus rapide, genre 5 ou 10 Hz. Mais boujours les crispations
pour la mise à l'heure le soir peu avant minuit... surtout si vous
oubliez de relâcher le bouton assez vite. La méthode que j'ai adoptée
vaut ce qu'elle vaut, il faut juste utiliser des boutons poussoir de
bonne qualité pour éviter de s'arracher les cheveux à cause des rebonds
mécaniques. Vous pouvez aussi ajouter un ou plusieurs composants pour
absorber ces cochonneries de rebonds s'il y en a, mais là je vous
laisse chercher un peu comment faire.
Alimentation secteur et horloge de base 1 Hz
Par horloge de base je fais
allusion au signal périodique qui fait avancer les compteurs, à la
cadence de une impulsion par seconde. Il existe deux façons de procéder
pour obtenir cette horloge de base :
- soit on extrait la fréquence
de 50 Hz (ou 100 Hz) du secteur et on la divise par 50 (ou par 100)
pour obtenir notre signal rectangulaire de 1 Hz;
- soit on réalise un oscillateur délivrant de lui-même un signal
rectangulaire de 1 Hz.
Je
ne parle volontairement pas du système DCF77 qui consiste à extraire
les infos horaire d'un signal codé émis sur une sous-porteuse d'un
programme radio, c'est hors sujet dans le présent
article. La première méthode est très pratique et la stabilité du 50 Hz
du secteur sur le long terme n'est plus à démontrer (EDF n'a pas le
devoir de fournir une tension alternative dont la fréquence est
parfaitement stable d'un point de vue instantané, mais cette fréquence
doit être très proche de 50 Hz en moyenne, sur une journée).
L'inconvénient est qu'en cas de coupure secteur il n'y a plus de signal
d'horloge et que même si on prévoit un accu pour alimenter le montage
dans cette situation, les compteurs n'avancent plus et il faut remettre
l'horloge à l'heure après retour du secteur (sauf bien sûr si
la
coupure a été très brève). La seconde méthode (avec oscillateur 1 Hz
autonome) permet la continuité du comptage même en cas de coupure
secteur, mais demande en contrepartie un petit surplus de composants.
La solution que je propose ? Un combiné des deux méthodes, avec un
circuit oscillateur autonome optionnel, ce qui vous permet de choisir
votre solution. Le schéma qui suit représente l'alimentation secteur
avec le bloc oscillateur 1 Hz, qui comme vous pouvez le voir sont
étroitement liés. Normal, ils sont sur la même feuille.
La sauvegarde de l'heure en cas de coupure de courant implique deux
choses :
-
on doit disposer d'un oscillateur (base de temps)
autonome, non
issu du secteur 230 V et capable de travailler avec la pile de secours
(ou condensateur, on y reviendra).
- le circuit de comptage doit rester alimenté, les afficheurs n'ont pas
besoin de l'être.
Oui, ça fait encore de la circuiterie ;-)
La
partie alimentation en elle-même ne présente pas de particularité
spatiale, tout juste deux diodes en plus (D105 et D106) pour tenir
compte de la présence d'une pile (ou jeu de piles) qu'on ne veut pas
voir se décharger quand le secteur est présent. Quand le secteur 230 V
est présent, la tension en sortie de D105 est supérieure à celle en
sortie de D106 et cette seconde est bloquée, la pile ne débite aucun
courant. Si au contraire la tension secteur disparaît, la pile prend la
relève puisque c'est au tour de D105 de se bloquer et D106 de conduire.
Comme on ne veut pas que les afficheurs s'éclairent lors de l'absence
secteur (économie pile), le transistor Q101 a été ajouté pour ne donner
leur référence de masse aux afficheurs à cathode commune que quand le
secteur est présent. La grille de ce transistor (qui est un modèle
MOSFET) est portée à un potentiel positif de 4,7 V environ quand le
secteur est présent, grâce à la présence des composants D108, C105,
R101 et D109. Quand le secteur disparaît, cette tension de 4,7 V chute
brutalement et le transistor Q101 se bloque, les afficheurs s'éteignent.
Choix transformateur alimentation : 6 V ou 9 V ?
- Si transfo 9 V, alors pile sauvegarde de 9 V et régulateur
de tension U101 standard (LM7805) ou à faible tension de
déchet (version LDO type LM340-5).
- Si
transfo 6 V, alors piles sauvegarde de 6 V (4 piles de 1,5 V ou 5 accus
de 1,2 V) et régulateur de tension U101 à faible tension de déchet
(version LDO type LM340-5).
Le choix d'un transfo 6 V permet une dissipation de puissance plus
faible dans le régulateur de tension.
Horloge
100 Hz : elle est obtenue en récupérant le signal alternatif
directement en sortie du pont de diodes (D101 à D104) via R102 et en
l'écrêtant à une tension max de 4,7 V avec la diode zener D107. Le
signal ainsi créé, qui a une forme intermédiaire entre sinus et carré,
est appliqué au premier compteur décimal U102/CD4017 utilisé ici en
diviseur par 10. Le signal de 10 Hz résultant (100 Hz divisié par 10)
est disponible en sortie Q9 de U102 et attaque l'entrée de U103/CD4017
qui redivise ce signal par 10. On dispose enfin sur la sortie Q9 de
U103 d'un signal rectangulaire de 1 Hz (période 1 seconde). Voilà donc
la source d'horloge principale de notre montage, quand le secteur est
présent. L'oscillateur autonome est construit autour de U104, qui
délivre un signal de 2 Hz dont la fréquence est stabilisée par le
quartz X101 de 32768 Hz. Comme on veut un signal de 1 Hz, on divise ce
signal de 2 Hz par deux avec la première bascule D contenue dans
U105/CD4013. En présence de tension secteur, le compteur U104/CD4060
est bloqué car son entrée MR (broche 12) est portée au potentiel assez
positif pour le permettre (PS_On).
Affichage des secondes optionnel
L'affichage des secondes est
optionnel, les deux circuits intégrés U2 et U4 ainsi que leur afficheur
associé AFF-S1 et AFF-S2 peuvent être omis. Mais il faut dans tous les
cas laisser les
deux circuits intégrés U1 et U3 en place car il assurent le comptage
des secondes à partir de l'horloge 1 Hz.
Affichage non multiplexé
Pourquoi
ai-je laissé entendre que
l'absence de multiplexage n'était pas vraiment un problème ? Tout
simplement parce que si à l'époque les LED demandaient un certain
courant pour vraiment bien éclairer, il en faut bien moins maintenant.
Exit les 10 mA ou 20 mA requis par segment, on peut maintenant se
contenter de 1 mA (dix fois moins). Les afficheurs récents ont un bien
meilleur rendement lumineux, à tel point que certains
éclairent
même trop la nuit. Choix est donc fait d'opter pour des afficheurs qui
tous segments allumés demanderont en tout et pour tout une dizaine
voire quinzaine de mA.
Soit 60 mA voire 100 mA dans le pire des cas si vous décidez de
visualiser les
secondes. C'est une valeur similaire à celle qu'on aurait
obtenue
avec
des segments alimentés en mode multiplexés mais sous 10 mA chacun. Je
suggère donc ici l'emploi d'afficheurs capables de fonctionner sous un
courant de 1 mA à 3 mA.
Prototype
Joli proto de Mickaël T., que je remercie chaleureusement pour ses
retours.
Prototype de Laurent M.
Version géante pour cette horloge 004 de Laurent M, que je remercie pour ses retours.
Test du premier afficheur Commentaire de Laurent :
Afficheur
200 X 100; 140 LED; Commande 5 V; Alimentation 12 V via optocoupleurs
PC 817 et transistors IRFZ44N (comme indiqué sur votre page Afficheur 7 seg 002d) ; consommation max 0,46 A. Encore un
grand merci pour les conseils. Cordialement LaurentAvec plaisir, et bravo !
Prototype de Mickaël T.
Certaines horloges projètent l'heure au plafond, d'autre illuminent un vernis marron.
Commentaire de Mikaël :
J'ai réalisé différents montages
présents sur votre site. J'ai débuté doucement avec le dé 002, puis
j'ai un peu corsé les choses en partant de votre compteur 001 auquel
j'ai ajouté un switch qui balance la broche 10 U/D du CD4029 sur le +V
ou la masse, avec un bouton-poussoir sur la broche 1
pour RESET du système sans l'éteindre. J'ai aussi ajouté des
roues codeuses. J'ai mis ce petit montage dans un boîtier que j'ai
étancheisé (pour compter des longueurs de piscine, par exemple...). Et
enfin, je me suis lancé sur l'horloge 004... Autant vous dire que ça a
été le parcours du combattant entre le circuit imprimé de la carte à
puces et celui des afficheurs... Car je ne fais que des circuits
imprimés simple face, et il a fallut caser la base de temps de 1 Hz
pour faire fonctionner l'horloge. Et j'ai ajouté un fusible, au cas
où... Sous 5 V, les afficheurs ne s'allumaient pas, j'ai dû monter à 9
V. Trois mois se sont écoulés entre le jour ou j'ai "compris" le schema
et le jour de la mise sous tension finale.
Tout simplement bravo, toutes mes félicitations !
Circuit imprimé
Non réalisé.
Historique
11/02/2018
- Ajout photo proto de Laurent M. que je remercie pour ses retours.
04/01/2015
- Ajout photos prototype Mickaël T., que je remercie.
22/07/2012
- Première mise à disposition