Forum Électro-Bidouilleur

Merci de vous connecter ou de vous inscrire.

Connexion avec identifiant, mot de passe et durée de la session
Recherche avancée  

Nouvelles:

Bienvenue au nouveau Forum Électro-Bidouilleur! Inscrivez-vous pour participer aux discussions! L'inscription est automatisée.

Auteur Sujet: Derive sur RTC Cravity SD2405  (Lu 203 fois)

TK_Ryuzaki

  • Newbie
  • *
  • Messages: 4
    • Voir le profil
    • RADISlabs
Derive sur RTC Cravity SD2405
« le: octobre 26, 2019, 04:04:07 pm »

Bonjour, j'utilise un module RTC gravity SD2405 pour un projet d' horloge avec arduino nano, mon soucis est qu' après plusieurs heure sans alimentation du module se dernier commence à dérivé de quelques minutes pour plusieurs heure je ne comprend pas vraiment pourquoi .

j'utilise le code arduino suivant(fournit avec la doc SD2405):
#include "GravityRtc.h"
#include "Wire.h"
GravityRtc rtc;     //RTC Initialization

void setup() {
  Serial.begin(9600);

  rtc.setup();

//Set the RTC time automatically: Calibrate RTC time by your computer time
  //rtc.adjustRtc(F(__DATE__), F(__TIME__));

  //Set the RTC time manually
  //rtc.adjustRt(2017,6,19,1,12,7,0);  //Set time: 2017/6/19, Monday, 12:07:00
}

void loop() {
  rtc.read();
  //*************************Time********************************
  Serial.print("   Year = ");//year
  Serial.print(rtc.year);
  Serial.print("   Month = ");//month
  Serial.print(rtc.month);
  Serial.print("   Day = ");//day
  Serial.print(rtc.day);
  Serial.print("   Week = ");//week
  Serial.print(rtc.week);
  Serial.print("   Hour = ");//hour
  Serial.print(rtc.hour);
  Serial.print("   Minute = ");//minute
  Serial.print(rtc.minute);
  Serial.print("   Second = ");//second
  Serial.println(rtc.second);


Auriez vous une idée du problème ou une solution sachant que le module seras amené à ne pas être alimenté plusieurs jours merci .
IP archivée

Électro-Bidouilleur

  • Administrator
  • Hero Member
  • *****
  • Messages: 673
  • C'est moi le boss!
    • Voir le profil
    • Site Web Électro-Bidouilleur
Re : Derive sur RTC Cravity SD2405
« Réponse #1 le: octobre 26, 2019, 09:07:24 pm »

À part la source d'alimentation qui est différente, je ne vois pas qu'est-ce qui pourrait causer ce changement dans l'exactitude de l'horloge. Votre module est peut-être défectueux. On garantit une déviation de moins de 2.5 minutes par année...
IP archivée

TK_Ryuzaki

  • Newbie
  • *
  • Messages: 4
    • Voir le profil
    • RADISlabs
Re : Derive sur RTC Cravity SD2405
« Réponse #2 le: octobre 27, 2019, 02:15:45 am »

tout d' abord merci pour votre intérêt sur mon post ;)

pour la défectuosité du produit je ne pense pas au départ j' avais un DS1307 mais même problème j'ai pensé au quartz et au variation de température c' est pourquoi j'utilise le SD2405

Si je comprend bien:
 si la tension d' alimentation est instable ou variable cela pose problème ? car actuellement l’Arduino nano qui contrôle tout ça est sur du 12V après contact d' une voiture donc grosse variation de tension et de température en vue :(

Si c'est le cas voici une version corrigé avec régulateur quand pensez vous ?


« Modifié: octobre 27, 2019, 02:19:53 am par TK_Ryuzaki »
IP archivée

kamill

  • Newbie
  • *
  • Messages: 20
    • Voir le profil
Re : Derive sur RTC Cravity SD2405
« Réponse #3 le: octobre 27, 2019, 12:06:51 pm »

Bonjour,

Tu devrais plutôt t'orienter vers un DS3231 qui a une compensation de température intégrée.
IP archivée

TK_Ryuzaki

  • Newbie
  • *
  • Messages: 4
    • Voir le profil
    • RADISlabs
Re : Derive sur RTC Cravity SD2405
« Réponse #4 le: octobre 27, 2019, 12:52:00 pm »

Bonjour je croyais que le module d' adafruit avais un compensation après vérification il s’avère que non,
je vais donc faire l' acquisition d'un DS3231 Amazon link (livraison le 31)et vous tiens informé des évolution merci pour votre aide ;)

j'ai aussi modifier le pcb en ajoutant 2 diode type 1N4007 ce qui ne devrais pas faire de mal.
« Modifié: octobre 27, 2019, 02:07:07 pm par TK_Ryuzaki »
IP archivée

papyblue

  • Full Member
  • ***
  • Messages: 204
    • Voir le profil
Re : Derive sur RTC Cravity SD2405
« Réponse #5 le: octobre 29, 2019, 06:15:50 pm »

Bonjour,
Avez-vous essayé d'utiliser le registre TTF du SD2405 pour ajuster la fréquence ?

PB
IP archivée

TK_Ryuzaki

  • Newbie
  • *
  • Messages: 4
    • Voir le profil
    • RADISlabs
Re : Derive sur RTC Cravity SD2405
« Réponse #6 le: octobre 31, 2019, 11:08:31 am »

Bonjour, j' ai biens trouver le registre TTF dans la doc à l' adresse 12H, mais j' ignore comment ajusté la fréquence cela se passe dans "GravityRtc.cpp" avec les commandes wire.write() ?
IP archivée

papyblue

  • Full Member
  • ***
  • Messages: 204
    • Voir le profil
Re : Derive sur RTC Cravity SD2405
« Réponse #7 le: octobre 31, 2019, 12:50:23 pm »

Bonjour,

L'auteur de la bibliothèque n'a pas implémenté la fonction, il faut donc écrire directement les commandes sur le bus I2C.
1) il faut d'abord calculer la valeur de correction a introduire en suivant les explications détaillées données dans le §5.4 de la datasheet.
2) L'écriture du registre se fait en suivant le protocole défini dans le §6.
PB
IP archivée