Lorsqu’il s’agit de mesurer le temps sur les microcontrôleurs, il existe de nombreuses façons de procéder. Pour les objectifs les plus rapides et les plus sales, tels que les retards anti-rebond ou d’autres états d’attente, il suffit de compter quelques cycles de l’horloge principale. Précis aux dizaines de millisecondes, ils effectuent les travaux de service public moyens sans trop d’histoires.
Cependant, de nombreux projets sont beaucoup plus exigeants dans leurs exigences. Lorsque vous construisez une horloge, un enregistreur de données, ou tout ce qui repose sur une sensation stable du temps qui passe pendant plus de quelques minutes, vous aurez besoin d’une horloge en temps réel. Ainsi appelé en raison de leur nature à traiter temps réel, comme nous les humains avons tendance à le concevoir, ces appareils se chargent de fournir des services de chronométrage avec un degré élevé de précision. Nous avons compilé un guide des parties communes et de leurs applications potentielles afin que vous puissiez faire les choses correctement du premier coup, à chaque fois.
Les exigences sont essentielles
Le RTC que vous choisissez pour un projet donné dépendra de divers facteurs. Les projets alimentés par batterie bénéficieront d’une faible consommation d’énergie, tandis que les appareils de mesure scientifiques peuvent nécessiter une précision ultime au fil du temps. Les interfaces sont également importantes, car la mise en œuvre d’un RTC dans une conception déjà existante peut nécessiter un choix de pièce en raison de la disponibilité de I2C ou SPI. Le budget n’est généralement pas un problème pour l’expérimentateur domestique dans cet espace, car les pièces sont bon marché, mais une production par milliers permettra de réaliser d’énormes économies de quantité à partir d’une pièce moins chère. Comme toujours, avoir une idée claire des exigences du projet est essentiel pour choisir le bon composant pour le travail.
J’ai juste besoin de savoir quelle heure il est!
Pièce suggérée: DS1307
Le DS1307 a le fier titre d’être le RTC de facto pour ceux qui expérimentent les microcontrôleurs. Fonctionnant à 5 V, avec une consommation de courant de 500 nA sur batterie de secours, c’est la solution barebone pour un projet qui doit garder une trace du temps. Contrairement aux solutions plus avancées, le DS1307 repose sur un cristal externe de 32,768 KHz pour le chronométrage. Selon la fiche technique, cela signifie que la précision du chronométrage est quelque peu affectée par la mise en œuvre de la conception, en raison de la variation des capacités et du bruit. Maxim ne fournit pas de valeur de précision interdite pour cette raison, mais pour la construction d’horloge moyenne ou l’enregistreur de données de base, le DS1307 fera l’affaire. Les modules DS1307 sont facilement disponibles, et souvent la solution RTC la moins chère disponible dans la plupart des points de vente.
J’ai besoin de quelque chose de précis, avec des alarmes!
Partie suggérée: DS3231 (I2C), DS3234 (SPI)
Pour ceux qui ont besoin de précision sur laquelle ils peuvent miser, un RTC avec un oscillateur intégré est la clé. Ces appareils garantissent la précision de l’usine, car aucune erreur de conception de l’utilisateur n’est possible lors de l’installation du cristal. Des pièces comme le DS3231 et le DS3234 correspondent à cette facture, avec leur oscillateur à cristal compensé en température (TCXO) offrant une précision aussi bonne que ± 2 ppm à des températures de 0 ° C à + 40 ° C. Cela représente un sacrifice par rapport au courant de veille, avec 1500 nA plus typique, ce qui signifie que les batteries de secours ne durent pas aussi longtemps.
Ces pièces sont plus modernes, capables de fonctionner à des tensions comprises entre 2,3 et 5,5 V, ce qui les rend plus faciles à utiliser avec une variété de microcontrôleurs différents. Ils disposent également de sorties d’onde carrée et d’alarme. Ceux-ci peuvent être utilisés pour générer des horloges pour d’autres matériels, ou pour sortir les microcontrôleurs du sommeil via une broche GPIO définie comme une interruption. Les RTC sont couramment utilisés de cette manière pour permettre aux projets alimentés par batterie de tirer le meilleur parti de leurs batteries, en gardant le microcontrôleur principal en mode veille à faible consommation d’énergie et en ne se réveillant que lorsque cela est nécessaire. Il y a aussi un capteur de température en prime à bord qui peut être lu, ce qui peut être utile dans certains projets.
Ces modules sont commercialisés avec des termes tels que DeadOn en raison de leur précision. Les fonctionnalités supplémentaires et le matériel plus sophistiqué ont cependant un prix plus élevé.
J’ai besoin d’un RTC qui boit à peine de la puissance, et tout le reste!
Pièce suggérée: RV-1805, RV-3028
Quand il s’agit de la puissance de la batterie, chaque dernier morceau de jus compte. Pour les projets déployés sur le terrain, c’est encore plus crucial, car il n’est souvent pas pratique de changer régulièrement les batteries ou de garantir un approvisionnement continu en énergie à partir de sources alternatives comme le solaire ou l’éolien.
Pour des applications comme celles-ci, le RV-1805 et son remplacement plus récent, le RV-3028, viennent en jeu. Complet avec des alarmes et d’autres fonctionnalités haut de gamme, leur pièce de fête est une consommation de courant absolument minuscule. Avec un mode spécial qui repose sur un oscillateur RC de faible puissance avec un cristal comme sauvegarde d’étalonnage, le RV-1805 ne consomme que 22 nA en mode de chronométrage. Ceci est suffisamment bas pour que le module de Sparkfun ne spécifie qu’une supercap, qui est capable de conserver l’heure définie pendant 35 jours complets, alors que les autres RTC doivent plutôt compter sur des batteries. Le RV-3028 augmente cela à 100 nA, Pimoroni revendiquant une autonomie potentielle de 9 ans sur la batterie incluse. La précision est également excellente avec ces pièces (± 2 ppm RV-1805, ± 1 ppm RV-3028), ce qui les rend parfaites pour un enregistrement précis des données dans des environnements éloignés.
Mention spéciale: modules Raspberry Pi
Le Raspberry Pi, comme de nombreux ordinateurs des années 1980, n’a pas d’horloge en temps réel. Cela évite la nécessité d’une batterie, mais peut également causer des ravages avec la journalisation du système et d’autres tâches, en particulier dans les environnements non en réseau. Heureusement, la plupart des périphériques RTC énumérés ci-dessus sont disponibles dans des modules spéciaux conçus pour le facteur de forme particulier du Raspberry Pi. Ils sont disponibles dans tous les types, de l’humble DS1307 au DS3231 ultra-précis.
Leur installation nécessite un peu de travail. La grande majorité communique via I2C, ce qui peut être un casse-tête pour les projets utilisant déjà l’interface à d’autres fins. Il est également nécessaire d’installer un utilitaire pour communiquer avec le RTC et l’utiliser pour mettre à jour correctement l’heure du système si nécessaire.
Conclusion
Que vous essayiez de créer une jolie montre pour votre salon ou de maintenir des journaux de débogage précis pour un système compliqué, un chronométrage précis est essentiel. Grâce à la disponibilité immédiate du matériel moderne, cela ne doit pas être trop difficile. Nous espérons que ce guide vous aidera sur votre chemin, et lorsque votre projet sera terminé, n’oubliez pas de nous laisser un message. Bon piratage!