Pour les DS1307 y a une petite subtilité piégeuse, qui pourrai expliquer une partie de tes "symptômes" :
Le Bit 7 de l'adresse 0 commande la mise en marche ou l'arrêt de l'horloge. C'est le bit de poids fort du registre des secondes.
A la mise en route du DS1307 (sans pile), l'horloge est arrêtée.
Pour la mettre en route, il faut passer ce bit à zéro.
Ton horloge qui s'arrête au bout d'un moment pourrait aussi être due à la remise à 1 intempestive de ce bit CH dans ton code source, ou bien une brève baisse de tension sur son entrée 5V (raz).
Je réitère mon conseil : lire le datasheet du DS1307
Après, voir aussi si ton bus I2C est correctement cablé.
Par exemple, si tu n'as qu'un tinyRTC connecté à ton bus, il me semble que ce n'est pas la peine d'ajouter les deux résistances de pull up de 4k7 sur SDA et SCL, car elles sont déjà présentes sur le tinyRTC (à vérifier en testant les pin du circuit à l'ohmmetre)
@68tjs : t'es un peu dur, là
- le problème de roccesar avec les DS1307
C'est bien ce à quoi je réponds en premier dans mes posts
- le comparatif général DS1307 et DS3231
Il m'a semblé intéressant d'élargir le sujet à ce point, pour une simple raison : le topic s'intitule "Quel module RTC me conseillez-vous?"
Au-delà du problème de roccesar, il me semble qu'avec cet intitulé d'autres viendront ici après une recherche, et pourront trouver un intérêt à ces quelques lignes.
Les fonctions annexes offertes par l'un ou l'autre circuit peuvent aussi être des critères de décision.
C'est une petite synthèse que j'aurais bien aimé trouver il y a deux ans quand j'ai commencé à m'intéresser au sujet, plus accessible que les datasheet.
- précision DS1307 vs DS3231
Pour le DS1307, c'est vrai que je fais volontiers l'amalgame avec le circuit tinyRTC, car c'est le petit circuit que l'on trouve partout et à pas cher, donc très répandu.
Il aurait en effet été plus précis de parler de la précision globale du tinyRTC, ce qui embarque aussi la qualité des composants posés à côté du DS1307, dont le quartz.
Mon approche n'est pas celle d'un électronicien pur souche, mais plutôt celle d'un intégrateur de petits circuits tout faits. Ce qui me paraît être le cas de la majorité des personnes qui viennent par ici.
Bref chez moi, je peux vous dire que la dérive temporelle d'un circuit de ce type se chiffre en minutes par semaine.
Quant au DS3231, voici tout simplement un extrait des premières lignes du datasheet
"The DS3231 is a low-cost, extremely accurate I2C realtime clock (RTC) with an integrated temperaturecompensated crystal oscillator (TCXO) and crystal."
D'où la présence d'une sonde de température. Le bonus est qu'on peut l'interroger individuellement.
Donc oui je confirme :
Un circuit à base de DS3231 est nettement plus précis qu'un circuit à base de DS1307, au moins pour ceux que l'on trouve communément sur le net