Horloge numérique Barebone rev2

Hé les gars...

Voici un suivi du projet d’horloge numérique que j’ai posté il y a un an. Je n'ai pas tenu compte de la dérive du module RTC ! J’ai trouvé la dérive pour être ainsi passé 1 minute de CCF pour tous les 21 jours, c’est énorme. Il s’agit déjà après la réorientation de l’oscillateur xtal dans le module de ventilation DS1307 pour être au plus près la puce que possible, ce qui était proposée ainsi que d’autres considérations, dans la maxime app Remarque.


Options envisagées :

1. optimisation des CCF : coup d’oeil pour meilleur xtal, assorti capacitances, etc., etc. <--IMPOSSIBLE

2. ajouter la touche de décrémentation manuelle pour la valeur de minutes <--cela signifie des changements au niveau matériel. La porte de sortie facile!!

3. étalonnage automatique par le hôte microcontrôleur


L’algorithme :

Ce que j’ai besoin est une routine de calibration automatique informatisée. Après quelques essais (et effectivement de trouver le temps de le faire!), je suis venu avec ce... Sauver le facteur d’étalonnage 21 (jours / minute) et le jour du dernier cal a été fait dans un emplacement non volatile. Chaque fois que l’horloge est mis sous tension (dans mon cas c’est tous les matins 07:05, sauf week-ends et jours fériés;), le mcu lit ces valeurs et les comparer avec la date actuelle de CCF si multiples de 21 jours est déjà passée. Si oui, décrémentation valeur minute par le comte correspondant puis enregistrez actuel jour retour à la l’emplacement de « lastCalDay ». Faire la même vérification sur la puissance suivante vers le haut...


La mise en œuvre :

Pour l’emplacement de la cal, DS1307 a un « usage général avec batterie de secours ram avec écrit illimité ». Nous aurons besoin de deux octets de 8 bits chacun pour les calFactor et les lastCalDay. Pour compter les différence de jours, nous allons convertir la date du CCF (nombre de mois et le jour) à un nombre entier unique à partir de la date de référence. Pour cela nous pouvons utiliser le premier jour de l’année en cours comme la référence, le numéro du jour 1. Cela signifie que le nombre maximal de jours entre la cal ne doit pas dépasser 365. À l’aide du numéro du jour est pratique pour faire la différence et aussi pour l’enregistrement de la date de ram. Il suffit d’ajouter la disposition pour le nouvel an, lorsque le nombre de jours remonte de 365 à 1. Une fois que les différence de jours est déterminé que nous pouvons alors décrémenter le nombre de minutes correspondant. Pour la simplicité du code, j’ai choisi de sauter cal si la minute résultante différence va faire reculer le chiffre des heures. Veuillez consulter l’attachmed pour la mise en œuvre du code complet.


Les résultats :

Résultats de ma validation ont montré un fonctionnement correct comme prévu. Bien sûr, le code et en effet l’algorithme peuvent encore être optimisées pour la précision et l’élégance, mais pour l’instant, celui-ci fonctionne pour mon but très bien !

S’il vous plaît faites le moi savoir si vous avez besoin plus d’informations si vous souhaitez faire de ce projet aussi bien... Suggestions sont également les bienvenues.

Merci. Profitez !



Articles Liés

Horloge numérique Barebone

Horloge numérique Barebone

Voici une horloge numérique simple et rapide, vous pouvez épingler sur votre mur de la cabine. Bon morceau de conversation et vous indique lorsque son temps de rentrer à la maison...Pour le matériel : J'ai utilisé un tiny2313 (vous pouvez utiliser to
Compléter une horloge numérique avec détecteur de présence (RTC - alarme - PIR - Point de rosée température - humidité -)

Compléter une horloge numérique avec détecteur de présence (RTC - alarme - PIR - Point de rosée température - humidité -)

SalutJ'ai déjà fait quelques projets de pendules à lecture digitale avec Arduino, y compris les écrans LED et LCD, mais celui-ci est plus spécial car j'ai introduit une nouvelle fonctionnalité avec un capteur de mouvement (PIR).Voir la vidéoPrincipal
Nintendo Game Boy à confectionner une horloge numérique

Nintendo Game Boy à confectionner une horloge numérique

Dans ce instructable je vais vous montrer comment j'ai fait mon propre horloge numérique sur le thème des jeux vidéo rétro d'un ancien cassé Nintendo Game Boy.Chose nécessaire ; Un vieux cassé Nintendo Game Boy ne vous dérange pas de coupe vers le ha
Horloge numérique !

Horloge numérique !

Je vais vous montrer comment faire une horloge numérique avec un arduino.Étape 1: matériaux Arduino uno r3fils de raccordement assortisPack de batterie USB 5vCâble USBaffichage numérique de sept seg (SMA420564)caisse/enclos pour futmontage d'essai sa
Nouvelle horloge numérique de terre temps (NET) en cas de rétro-moderne recyclé

Nouvelle horloge numérique de terre temps (NET) en cas de rétro-moderne recyclé

jamais se confondre par GMT ou souhaite juste que vous aviez un refroidisseur moyen de garder une trace de temps ?  Construire une horloge nouvelle terre !  À l'aide d'un microcontrôleur PIC, un code et un couple à des éléments distincts, vous pouvez
Boîte à mouchoirs & horloge numérique Mash-Up !

Boîte à mouchoirs & horloge numérique Mash-Up !

Eh bien, voici une boîte numérique de l'horloge et tissu... MASH UP!!!* dun dun dun!!! *en tout cas...J'ai une horloge numérique à la cible pour 5,00 $ (+ tax bien sûr), et je l'ai eu pendant une longue période.Mais nombreux Instructables m'a inspiré
Horloge numérique de 2 $

Horloge numérique de 2 $

horloge numérique de 2 $vidéoLien produit
Horloge numérique de Wall-E

Horloge numérique de Wall-E

Salut à tous, ce Noël m'ont donné cette jolie horloge de Wall-E, mais malheureusement c'est très bruyant et Pendant la nuit, il a été insupportable, alors j'ai pensé à en faire une horloge numérique.Etape 1: Ouvrir l'horloge numérique à l'intérieur d
Conception de la logique séquentielle pour une horloge numérique d’apprentissage

Conception de la logique séquentielle pour une horloge numérique d’apprentissage

Cette instructable est pour deux raisons 1) à comprendre et apprendre que les fondements de la logique séquentielle 2) utilisent ces connaissances pour créer une horloge numérique.Pendules à lecture digitale ont été construits par des amateurs d'élec
Barre graphique d’affichage horloge numérique

Barre graphique d’affichage horloge numérique

CD4017 est un polyvalent de circuit intégré (et son petit frère CD4022) et a des applications infinies. Ce projet d'horloge numérique est fait de 8CD4017´s plus un 7812 ou 78 L 12 pour l'approvisionnement. Référence temporelle est obtenu à partir de
Horloge numérique de multi couleur

Horloge numérique de multi couleur

Dans ce instructable nous ferons une horloge numérique bicolore qui permet d'afficher l'heure, la température et la dateCe projet PIC utilise un IC-horloge en temps réel pour l'I2C (ou IIC) (DS1307) et un à quatre chiffres sept segments pour créer un
Comment faire un kit horloge numérique basé sur Atmel

Comment faire un kit horloge numérique basé sur Atmel

ce kit d'horloge digtial vient avec ci-dessous les caractéristiques et fonctions :Caractéristiques• Horloge numérique• Compteur• Alarme de temps• ChronomètreBoutons• S1 : bouton de sélection de fonction• S2 : étendre la touche de fonction• S3 : bouto
Modèle tour horloge numérique de films de la « Johnny 5 » circa 1980

Modèle tour horloge numérique de films de la « Johnny 5 » circa 1980

Le numéro 5 est vivant!C'est juste vous années 1980 bozos. J'ai amené M. Johnny 5 retour à la vie dans ce nouveau plaisir instructable. Si vous savez quelque chose sur la numéro 5, vous vous souvenez de lui comme un robot de grade spirituel, aimable,
Comment faire une horloge numérique Arduino

Comment faire une horloge numérique Arduino

Pendules à lecture digitale comptent parmi la grande invention dans le domaine de la science.Avez-vous déjà demandé « Comment faire vos propres pendules à lecture digitale, tout comme dans les films! »???Eh bien, que j'ai également passé, mon enfance