Horloge électronique faite maison, base de l'élément - partie 1, mesure du temps
Probablement chaque geek qui aime l'électronique maison, tôt ou tard, vient à l'idée de créer sa propre montre unique. L'idée est assez bonne, nous allons voir comment et sur quoi il vaut mieux les faire. Comme point de départ, nous supposons qu'une personne sait comment programmer des microcontrôleurs, comprend comment envoyer 2 octets via i2c ou un port série et peut souder plusieurs fils ensemble. En principe, cela suffit.Il est clair que la fonction clé d'une montre est de mesurer le temps (qui aurait pensé, oui?). Et il est souhaitable de le faire aussi précisément que possible, il existe plusieurs options et pièges.Alors, quelles méthodes de mesure du temps disponibles dans le matériel pouvons-nous utiliser?Générateur RC intégré
L'idée la plus simple qui peut vous venir à l'esprit est de simplement configurer une minuterie logicielle et de décompter les secondes. Donc, cette idée n'est pas bonne. L'horloge fonctionnera certainement, mais la précision du générateur intégré n'est aucunement régulée, et elle peut «flotter» à moins de 10% de la valeur nominale. Il est peu probable que quelqu'un ait besoin d'heures qui disparaissent par mois pendant 15 minutes.Module DS1307 en temps réel
Une option plus correcte, qui est également utilisée dans la plupart des produits "folk", est une horloge en temps réel. La puce est échangée avec le microcontrôleur via I2C, elle nécessite un minimum de liaison (quartz et une paire de résistances). Le prix d'émission est d'environ 100 roubles par microcircuit, soit environ 1 $ par ebee pour une carte finie avec un microcircuit, un module de mémoire et un connecteur de batterie.Schéma de la fiche technique:
Tout aussi important, la puce est disponible dans un boîtier DIP, de sorte que tout radio-amateur novice peut la souder. La batterie intégrée maintient la montre en marche même si l'alimentation a été coupée.Il semblerait que tout va bien, sinon pour un seul problème - une faible précision. La précision approximative du quartz de la montre est de 20 à 30 ppm. La désignation ppm - parties par million, indique le nombre de parties par million. Il semblerait que 20 millionièmes soit super, mais pour une fréquence de 32768Hz, il s'avère que 20 * 32768/1000000 = ± 0,655536Hz, c'est-à-dire déjà un demi-hertz. Par des calculs simples, on peut voir que le générateur avec une telle différence par jour «colle» aux 56 000 cycles supplémentaires (ou manquants), ce qui correspond à 2 secondes par jour. Le quartz peut être différent, certains utilisateurs ont écrit une erreur de 5 secondes par jour. D'une certaine manière, ce n'est pas très précis - dans un mois, une telle montre disparaîtra au moins pendant une minute. C'est déjà une différence décente, visible à l'œil nu (lorsque la série préférée de la grand-mère commence à 11h00 et que l'horloge indique 11h05, le développeur d'une telle montre devant des proches sera mal à l'aise).Cependant, comme la température dans la pièce est plus ou moins stable et que la fréquence du quartz ne changera pas beaucoup, vous pouvez ajouter une correction logicielle. Un autre conseil donné sur les forums est d'utiliser une montre à quartz issue de vieilles cartes mères; selon les critiques, elles y sont assez précises.Module DS3231 en temps réel
Nous ne sommes pas les premiers à poser la question de l'exactitude, et Dallas, répondant à nos souhaits, a publié un module plus avancé - DS3231. Il est appelé "horloge en temps réel extrêmement précise", il dispose d'un générateur intégré avec correction de la température. La précision est 10 fois plus élevée et est de 2 ppm. Le prix d'émission est légèrement plus élevé, mais le boîtier du microcircuit est conçu pour un montage SMD, la soudure n'est pas si pratique, mais vous pouvez acheter une carte prête à l'emploi.
(photo du site du vendeur)Précision de 6 secondes par mois, c'est déjà un bon résultat. Mais nous irons plus loin - idéalement, l'horloge du 21e siècle n'a pas du tout besoin d'être ajustée.Module radio DCF-77
La méthode est plutôt exotique, mais pour être complète, elle ne peut pas être ignorée. Peu de gens le savent, mais les signaux horaires exacts ont été transmis par radio depuis les années 70. L'émetteur DCF-77 est situé en Allemagne près de Francfort, et à la fréquence SDV de 77,5 KHz, des horodatages sont transmis (oui, ils avaient déjà une horloge murale et de bureau il y a 20 ans qui n'avait pas besoin d'être ajustée).La méthode est bonne en ce que le circuit a une faible consommation d'énergie, donc même des montres-bracelets avec une telle technologie sont maintenant produites. La carte d'admission DCF-77 terminée peut être achetée sur ebay, le prix est de 20 $.
De nombreuses horloges et stations météorologiques ont la capacité de recevoir du DCF-77, le seul problème est que le signal n'atteint pratiquement pas la Russie. Carte de couverture de Wikipedia:
Comme vous pouvez le voir, seuls Moscou et Saint-Pétersbourg sont à la frontière de la réception. Selon les propriétaires, un signal ne peut être reçu qu'occasionnellement, ce qui n'est bien sûr pas adapté à une utilisation pratique.Module GPS
Si l'horloge n'est pas loin de la fenêtre, un module GPS est une méthode très réelle pour obtenir l'heure exacte. Ces modules peuvent être achetés à peu de frais sur ebay (prix d'émission 10-15 $). Par exemple, Ublox NEO-6M se connecte directement aux broches série du processeur et produit des chaînes NMEA à une vitesse de 9600. Les
données sont présentées dans ce format approximativement "$ GPRMC, 040302.663, A, 3939.7, N, 10506.6, W, 0.27, 358.86, 200804 ,, * 1A ", et il n'est pas difficile de les analyser même pour un Arduino faible. Les patriotes, en passant, peuvent acheter le module Ublox NEO-7N plus cher, qui prend en charge (selon les avis) à la fois le GPS et le Glonass.De toute évidence, le module GPS ne sait rien des différents fuseaux horaires, le développeur devra donc penser par lui-même pour les calculer et changer l'heure d'été / d'hiver. Un autre inconvénient de l'utilisation du GPS est sa consommation d'énergie relativement élevée (cependant, certains modules peuvent être mis en "mode veille" avec des commandes distinctes).Wifi
Et enfin, la dernière façon (et la plus évidente pour le moment) d'obtenir l'heure exacte est de la retirer d'Internet. Il existe deux approches. La première, et la plus simple, consiste à utiliser quelque chose comme un Raspberry PI avec Linux comme carte de la montre, alors vous n'avez rien à faire, tout fonctionnera hors de la boîte. Si vous voulez "exotique" - alors l'option la plus intéressante est le module esp8266.
C'est peu coûteux (le prix de la question est d'environ 200 roubles par ebay) le module WiFi peut être échangé avec le serveur via le port série du processeur, si vous le souhaitez, il peut également être reflasher (il y a beaucoup de firmware tiers), et une partie de la logique (par exemple, interroger le serveur de temps) peut être effectuée dans le module lui-même. Le firmware tiers prend en charge un tas de tout, de Lua au C ++, donc les options pour "étirer votre cerveau" sont tout à fait suffisantes.Sur ce sujet, les mesures de temps peuvent probablement être fermées. Dans la partie suivante, nous examinerons de plus près les processeurs et les méthodes de sortie du temps. Source: https://habr.com/ru/post/fr383091/
All Articles