Pages: 1 2 [3] 4 5   Go Down
Author Topic: DS1307 [RESOLU]  (Read 6182 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Jr. Member
**
Karma: 0
Posts: 63
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

heu... le quartz... smiley-roll-sweat ...quel quartz??  smiley-razz

J'ai même essayer avec un autre que j'avais de coté pas de changement  smiley-confuse

Je dirais juste une chose: "le DS1307! c'est tabou ont en viendras tous à bout! ...%*#*!(un mot commençant par "salo" et qui finit par "perie" smiley-grin  "
   
Logged

France
Offline Offline
Faraday Member
**
Karma: 36
Posts: 3435
There is an Arduino for that
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Pour vérifier si l'oscillateur fonctionne correctement, il suffit d'activer la sortie SQW/OUT en programmant la sortie du 1Hz comme ça tu peux le visualiser avec une simple LED (+ une résistance)
Logged

Offline Offline
Jr. Member
**
Karma: 0
Posts: 63
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
il suffit d'activer la sortie SQW/OUT en programmant la sortie du 1Hz

Esque tu peux préciser? ou un exemple?

Logged

Malakoff
Offline Offline
Newbie
*
Karma: 0
Posts: 20
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

ben la pin SQW/OU fournit un signal à 1Hz, donc une fois par seconde...
donc une led en série avec une résistance sur cette même pin, et tu
devrais voir clignoter la led à la fréquence d'une fois par seconde...
Logged

Offline Offline
Jr. Member
**
Karma: 0
Posts: 63
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Merci je croyais avoir mal compris mais malheureusement non.

Je viens d'essayer la led reste allumé.

 
 
Logged

France
Offline Offline
Faraday Member
**
Karma: 55
Posts: 5347
Arduino Hacker
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

heu... le quartz... smiley-roll-sweat ...quel quartz??  smiley-razz
On est bien d'accord : tu as un quartz de 32.768KHz (quartz de montre) sur les broches X1/X2 ?
Parce que sinon, sans quartz c'est un peu normal que rien ne bouge smiley-wink

Sinon j'ai trouvé un lien sympa :
http://www.idreammicro.com/post/Utilisation-de-la-RAM-du-DS1307
Logged

Des news, des tuto et plein de bonne chose sur http://skyduino.wordpress.com !

Offline Offline
Jr. Member
**
Karma: 0
Posts: 63
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
On est bien d'accord : tu as un quartz de 32.768KHz (quartz de montre) sur les broches X1/X2 ?
Parce que sinon, sans quartz c'est un peu normal que rien ne bouge smiley-wink

Lol oui de ce coté la j'ai bien un 32.768Khz et non pas un 32...Mhz et il est bien sur les deux premier pin de la chip.

J'ai vue plusieurs topic ou il parlait d'utilisé la ram du ds1307 je pense que celui que j'ai peut me servir à ça. Je peut écrire  deçus mais l'oscillation ne marche pas donc bon c'est à essayer.
(Merci pour le lien je le garde sous le coude smiley )

Encore faut il que je dompte là bête!(Au vue des lacunes que j'ai avec le bus i2C...) smiley-twist
Logged

Offline Offline
Faraday Member
**
Karma: 33
Posts: 4975
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
On est bien d'accord : tu as un quartz de 32.768KHz (quartz de montre) sur les broches X1/X2 ?
Parce que sinon, sans quartz c'est un peu normal que rien ne bouge smiley-wink

Lol oui de ce coté la j'ai bien un 32.768Khz et non pas un 32...Mhz et il est bien sur les deux premier pin de la chip.

J'ai vue plusieurs topic ou il parlait d'utilisé la ram du ds1307 je pense que celui que j'ai peut me servir à ça. Je peut écrire  deçus mais l'oscillation ne marche pas donc bon c'est à essayer.
(Merci pour le lien je le garde sous le coude smiley )

Encore faut il que je dompte là bête!(Au vue des lacunes que j'ai avec le bus i2C...) smiley-twist

si tu arrive a ecrire et relire la RAM ce n'est donc pas un probleme d'I2C ni tres surement de DS1307,
reverifie les soudures quartz

juste pour que l'on soit bien d'accord
le Ds1307 necessite 2 phases
une phase de mise à l'heure et démarrage de l'oscillateur
une phase ensuite de lecture
tu procede comment pour les  2 etapes ? 
Logged

France
Offline Offline
Faraday Member
**
Karma: 36
Posts: 3435
There is an Arduino for that
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Merci je croyais avoir mal compris mais malheureusement non.

Je viens d'essayer la led reste allumé.
As-tu bien activé la sortie SQW/OUT écrivant 0x10 dans le registre à l'adresse 07? Si c'est bon elle doit être allumée 500mS et éteinte 500mS.
Si tu as un oscillo, tu peux écrire 0x13 dans ce même registre et normalement tu devrais voir le 32kHz.

Si tu relis le registre à l'adresse 0, le bit de poids fort est-il bien à zéro (arrêt de l'oscillateur si le bit est à un)
« Last Edit: February 12, 2013, 06:51:52 am by fdufnews » Logged

France S-O
Offline Offline
Edison Member
*
Karma: 41
Posts: 2180
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Peut tu envoyer l'état réel des registres du DS1307.
Pour cela point n'est besoin d'utiliser une bibliothèque particulière autre que Wire :

Code:
void lit_ds1307()
{
uint8_t octet_lu[7];
uint8_t i ;

//Lecture des registres

//Positionnement sur l'octet à lire en premier:
Wire.beginTransmission(0x68);
Wire.write(0x00);
Wire.endTransmission(0x68);
//Lecture de 8 octets a partir de la position précédemment indiquée
Wire.requestFrom(0x68, 8) ;
for (i=0 ; i<=7 ; i++)
{
octet_lu[i] = Wire.read();
}
// Affichage
for (i=0 ; i<=7 ; i++)
{
Serial.print("Registre n: ") ; Serial.print(i);
Serial.print("  ") ; Serial.println(octet_lu[i], BIN) ;
}
}
C'est ce que je me suis fait la première fois que j'ai utilisé une DS1307 histoire de savoir où je mettais les pieds.

Nota : les 56 autres registres "utilisateurs" peuvent aussi être lus de la même façon.

Edit : pour vérifier la sortie SQWE c'est possible de le faire au voltmètre.
Avec 1 Hz tu devrais voir un affichage alterner entre d'une part 4et 5 V et d'autre part 0 et 2 volts (vérifié fonctionne avec mon voltmètre).
Avec une fréquence plus élevée je n'ai pas essayé mais le voltmètre devrait intégrer et afficher pas loin de 2,5 V
« Last Edit: February 12, 2013, 07:18:16 am by 68tjs » Logged

Offline Offline
Jr. Member
**
Karma: 0
Posts: 63
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
reverifie les soudures quartz
J'ai aussi essayer avec un autre quartz de même valeur aucun effet.

Quote
le Ds1307 necessite 2 phases
une phase de mise à l'heure et démarrage de l'oscillateur
une phase ensuite de lecture
tu procede comment pour les  2 etapes ?  
J'ai procédé de la même maniéré que skywodd et jean-françois dans leur tuto.(sans parler des librairies toutes faites)
Personnellement j'écarte définitivement l’hypothèse d'une erreur de codage ou d'écriture car même en utilisant juste une librairie Wire rien ne bouge .
Comme je le dit et le redit la mise à l'heure ainsi que la lecture s’effectue bien mais pas "l'oscillation".

Quote
As-tu bien activé la sortie SQW/OUT écrivant 0x10 dans le registre à l'adresse 07?
Oui je l'ai fait et pour vérifier j'ai utilisé un led (avec une résistance) branché sur sur la sortie SQW/OUT. Résultat la led s'allume mais ne s’éteint pas (pas d'oscillation mais l’écriture oui).


Quote
Peut tu envoyer l'état réel des registres du DS1307.
Avec le code que tu ma donné il me ressort ça:
Code:
Registre n: 1  11111111
Registre n: 2  11111111
Registre n: 3  11111111
Registre n: 4  11111111
Registre n: 5  11111111
Registre n: 6  11111111
Registre n: 7  11111111

J'apprécie beaucoup votre dévouement mais je crois qu'on touche le fond  smiley-lol
j'ai peut être endommager ma puce sans m'en rendre compte d'une manière ou d'une autre.
J'attend juste de récupérer un autre ds1307 pour confirmer mais la je ne vois que ça.

Faut voir le bon coté Je pourrais toujours m'en servir comme mémoire d’appoint...

EDIT: Je viens d'essayer d'utiliser la RAM et ça fonctionne j'ai mis un petit imp. écr.


* RAMds1307.jpeg (54.91 KB, 1024x768 - viewed 35 times.)
« Last Edit: February 12, 2013, 09:08:52 am by pouic13 » Logged

France S-O
Offline Offline
Edison Member
*
Karma: 41
Posts: 2180
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

A titre d'information sur ma puce DS1307 j'avais :
Registre 0  -> 10000000
Registre 1 à 7 -> 00000000

Ce qui me gêne c'est que des bits qui d'après la datasheet devraient être à 0 parce que non utilisés  sont à 1 sur ta puce.
Il s'agit des bits :
Reg2    B7
Reg3    B7 B6 B5 B4 B3
Reg4    B7 B6
Reg5    B7 B6 B5
Reg7    B6 B5 B3 B2

Je viens de me rappeler un truc con : quand j'ai reçu mon module il ne fonctionnait pas parce que la pile ne faisait plus que 1.5V au lieu de 3 Volt.

Retire donc la pile et mesure la en dehors du montage pour voir.
Logged

Offline Offline
Jr. Member
**
Karma: 0
Posts: 63
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

J'ai relancé ton 68tjs une fois en enlevant la pile pour vider la mémoire et une autre fois en la remettant et ça ne change pas.
La pile et neuve j'ai encore vérifier(pour la énième fois... smiley-razz ) et elle fait 2.96V.

Tous les bit reste à 1 pas un 0 n'est affiché.
Logged

Offline Offline
Faraday Member
**
Karma: 33
Posts: 4975
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

J'ai relancé ton 68tjs une fois en enlevant la pile pour vider la mémoire et une autre fois en la remettant et ça ne change pas.
La pile et neuve j'ai encore vérifier(pour la énième fois... smiley-razz ) et elle fait 2.96V.

Tous les bit reste à 1 pas un 0 n'est affiché.
2.96V c'est pas une pile (type CRXXYY) bien en forme
essaye ça ne coute rien pour test avec deux bonnes vieilles (mais en forme  smiley-mr-green  ) A.. en serie
verifie la tension avant connexion et ensuite connecté
Logged

France
Offline Offline
Faraday Member
**
Karma: 55
Posts: 5347
Arduino Hacker
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Si tu modifie un registre puis que tu relis la valeur de ce même registre est-ce que ça ressort toujours 11111111 ?
Si oui il y a un problème avec le DS1307 lui même (si la RAM marche = I2C ok) ...
Logged

Des news, des tuto et plein de bonne chose sur http://skyduino.wordpress.com !

Pages: 1 2 [3] 4 5   Go Up
Jump to: