Bonjour à tous et encore bravo à Alexandre pour cette carte.<br><br>J\’ai bien vu le soucis sur la casse des fichier .h (je travaille sous Linux) mais je l\’ai assez vite corrigé pour aller jouer avec les exemples.<br>Le DevDuino tourne actuellement avec rtc et c\’est magnifique.<br>En revanche: pas de mémorisation de la date/heure dans le chip.<br>Premier chantier de travail avec la carte ?<br>Encore merci et bravo !<br><br>Fram
La solution est de corriger le registre de contrôle #3… J’ai modifié rtc.cpp pour ajouter ceci et maintenant ça fonctionne! Est-ce la meilleur façon de toujours écrire le registre au démarrage? Mais au moins ça fonctionne
(English) Issue with RTC clock not keeping it\’s value is linked to the Control_3 register that is set by default to NOT switch over to VBat. Modifying it\’s value to 0x80 enable to switch over and makes it work! Below the change done to rtc.cpp in the library (not the sketch!). #define PCF8523_CONTROL_3_REGISTER_ADDRESS 0x02void Rtc::begin() {Wire.beginTransmission(PCF8523_I2C_ADDRESS);Wire.write(PCF8523_CONTROL_3_REGISTER_ADDRESS);Wire.write(0x80); (Enable switch-over, no interrupt)Wire.endTransmission();}
Je vais revérifier la lib mais en tout cas merci beaucoup du retour.
Salut Alexandre !
Histoire d’épiloguer, je confirme les modifications de marcoux_a (en commentant le commentaire relatif au 0x80) qui font correctement fonctionner le RTC de mon côté, désormais.
A clore.
Francis
Bonjour Francis!
Merci du retour!
Normalement si avec une pile, la date et l\’heure sont mémorisées.
As-tu bien essayé avec la pile?
Oui, la pile est bien en place et mon multimetre indique 3,29V.
Oups. C’est réglé: il fallait bien enfoncer la pile. Merci !
Non. Il y a un problème. Quand le DevDuino est branché, no pb, mais quand il est débranché puis redémarré, la date/heure part sur 2064-02-00…
Mon scénario.
Alors, j’ouvre l’exemple, change SET_RTC pour true et positionne la date/heure puis téléverse le code dans le DevDuino.
Il redémarre avec la date/heure indiquée.
Si je réinitialise le DevDuino, la date est remise à celle indiquée dans le code (normal).
Du coup, je bascule SET_RTC à false, re-televerse le code; au redémarrage, la date/heure a bien continué son décompte et a bien été sauvegardée.
Je réinitialise le DevDuino; la date/heure a continué son décompte, c’est cool.
Je débranche le DevDuino, attends 10 secondes, puis je le rebranche.
La date/heure n’est pas conservée et prend une valeur aléatoire (ici: 2065-03-09 T 07h04m00s).
La pile ne permet pas de conserver la date/heure.
Docteur ?
Je confirme, même comportement de mon côté…
Est-ce que ça a un impact so tu débranches 1 seconde ou 10 secondes?
J’aurai tendance à dire qu’il est possible que la pile ne fasse pas bien contact avec son emplacement.
Elle a bien été insérée dans le bon sens?
C’est possible de vérifier au multimètre.
Salut Alexandre.
Hier, dans le doute, j’ai contrôlé la broche 3 (VBat) au multimètre et j’ai bien mesuré 3,35,V DevDuino branché ou pas.
La pile est bien dans le bon sens.
Je regarde encore ce soir.
Francis
Dans le doute…
Le PCF8523 a un mode battery switch-over qui, déactivé, ne bascule pas sur la pile à la perte de tension (VDD), registre Control_3 (02h), bits PM[2:0].
Pour PM=010, 011 et 111, le mode battery switch-over est désactivé et la pile n’est pas prise en compte.
Or, par défaut, PM=111… (cf. table 11 p15, renvoi [3] de la documentation https://www.nxp.com/docs/en/data-sheet/PCF8523.pdf ).
Je regarderai plutôt cela ce soir.
Francis
Je crois que l’option du registre est une bonne piste… Moi aussi 3.25V a la broche 3 (VBAT) donc c’est pas la batterie!
Bingo c’est le registre… J’ai modifié rtc.cpp pour ajouter ceci et maintenant ça fonctionne!
#define PCF8523_CONTROL_3_REGISTER_ADDRESS 0x02
void Rtc::begin() {
Wire.beginTransmission(PCF8523_I2C_ADDRESS);
Wire.write(PCF8523_CONTROL_3_REGISTER_ADDRESS);
Wire.write(0x80); (Enable switch-over, no interrupt)
Wire.endTransmission();
}
Yes ! Merci marcoux_a !
@Alexandre: après le coup de la casse dans les librairies, pour les fichiers .h et Linux, ceci est une nouvelle mise à jour à faire.
En tous les cas, tu peux compter sur tes utilisateurs (fans ?) !
Francis
J’ai repris ma solution seul comme ça ce sera plus facile à voir et voter directement pour la solution sans lire tout! @francis.morel un petit vote 😉
C’est fait !
En fait la datasheet du PCF8523 demande une résistance série d’environ 1k + un cap au GND d’environ 3.3uF. Le schémas montre à la page 11 une R de 1.3k (OK) avec un C de 10uF + 100nF en // je suspecte que c’est la cause… Je ne peux pas tester pouir le moment et sans les Gerber du PCB c’est difficile…
De 1k à 1.3k ça n’a pas d’impact, j’ai juste gagné une ligne de moins sur la nomenclature.
100nF c’est du découplage, ça ne fait jamais de mal.
10uF c’est un bulk qui forme un RC avec celle de 1.3k, l’essentiel c’est d’être au dessus de 3.3uF.
Si la RTC ne garde pas l’heure, je pense que soit la batterie n’est pas bonne ou soit elle est mal insérée, mais en tout cas je l’ai bien validée.
Tenez moi au courant.
Salut à tous.
De mon côté, j’ai bien constaté 3,35V sur VBAT (broche 3), idem au niveau du condensateur à côté (à 0/GND de l’autre côté, broche 4/VDD).
Je ne pense pas que les composants aient une influence sur ce problème.
Francis
Je voulais écrire broche 4/VSS.
Bonjour,
Moi aussi passage à 2065 lorsque alimentation coupée. Pile bien insérée
Bonjour grychowski.bg
Le probleme a été réglé dans la dernière version de la librairie que tu peux télécharger ici:
https://github.com/devduino/devduino/archive/master.zip
Bon amusement avec la DevDuino !
Fram