Page 1 sur 1

Problème RTC Memoire V2 + MEGA 2560

Message non luPosté: Dim 5 Oct 2014 15:32
de chef chaudard
Bonsoir à tous,

Je m'arrache les cheveux pour faire fonctionner la carte Mémoire V2 avec une arduino 2560.

Sur un ancien projet, j'avais réussi à utiliser les deux normalement mais la je séche.

Tout d'abord sur la carte mémoire V2, je ne vois plus la mise à la masse du quartz. J'ai bien la zone prévue mais je n'ai pas de piste dessus.

Est ce que c'est normal ?

Pour le moment, j'essaye d'afficher les secondes sur un afficheur lcd 20 x 4 avec un protocole i2c.

J'ai bien relié les bornes 4 et 5 de mémoire aux bornes 20 et 21 de la méga. Via une platine d'essai, j'ai mis en commun les ports SDA et SCL pour mon afficheur et l'heure.

Lorsque je lance mon programme pour afficher des secondes, ca me compte n'importe comment du style (0,1,2,0,1,4,2 etc)

Ci-dessous le code programmé

Code: Tout sélectionner
    #include <Wire.h>
    #include "RTClib.h"
#include <LiquidCrystal_I2C.h>
    RTC_DS1307 RTC;
LiquidCrystal_I2C lcd(0x20,20,4);
    long g = 0;

    void setup () {
       lcd.init();                      // initialize the lcd
 lcd.backlight();
     Serial.begin(9600);
      Wire.begin();
      RTC.begin();
      if (! RTC.isrunning()) {
        RTC.adjust(DateTime(__DATE__, __TIME__));
      }
    }

     
    void loop () {
        DateTime now = RTC.now();
        int s = now.second();
        int m = now.minute();
        int h = now.hour();
        int j = now.day();
        int mo = now.month();
        int a = now.year();
        Serial.print("$GO 1 1\r\n");
        Serial.print("$PRINT HEURE \r\n");
 lcd.setCursor(0,1);
lcd.print(s);

    }


Avez vous une idée du problème ?

Merci d'avance pour vos réponses

Re: Problème RTC Memoire V2 + MEGA 2560

Message non luPosté: Lun 6 Oct 2014 19:33
de chef chaudard
Petite précision.

J'ai installé le shield mémoire sur une arduino Uno. Il n'y a rien d'autres. Je regarde le temps à travers le serial monitor et j'ai toujours le même problème.

Soit il y a une subtilité dans la programmation que je ne vois pas soit il y a un problème sur la carte.

Re: Problème RTC Memoire V2 + MEGA 2560

Message non luPosté: Lun 6 Oct 2014 20:51
de chef chaudard
J'ai repris un code qui fonctionnait avec la MEGA et la version 1 de mémoire.

Voila ce que j'obtiens sur le Serial avec un rafraichissement toutes les secondes :

Code: Tout sélectionner
2000/0/2 0:45:4

2000/0/2 0:45:6

2000/0/2 0:45:0

2000/0/2 0:45:8

2000/0/2 0:45:10

2000/0/2 0:45:40

2000/0/2 0:45:40

2000/0/2 0:45:42

2000/0/2 0:45:40

2000/0/2 0:45:44

2000/0/2 0:45:44

2000/0/2 0:45:46

2000/0/2 0:45:40

2000/0/2 0:45:48

2000/0/2 0:44:0

2000/0/2 0:44:0

2000/0/2 0:44:0

2000/0/2 0:44:2

2000/0/2 0:44:0

2000/0/2 0:44:4

2000/0/2 0:44:4

2000/0/2 0:44:6

2000/0/2 0:44:0

2000/0/2 0:44:8

2000/0/2 0:44:10

2000/0/2 0:46:0


Et voici le code associé :

Code: Tout sélectionner
#include <Wire.h>
#include "RTClib.h"

RTC_DS1307 RTC;

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

  if (! RTC.isrunning()) {
    Serial.println("RTC is NOT running!");
    // following line sets the RTC to the date & time this sketch was compiled
    RTC.adjust(DateTime(2011,9,3,21,0,0));
  }
}

void loop () {
    DateTime now = RTC.now();
   
    Serial.print(now.year(), DEC);
    Serial.print('/');
    Serial.print(now.month(), DEC);
    Serial.print('/');
    Serial.print(now.day(), DEC);
    Serial.print(' ');
    Serial.print(now.hour(), DEC);
    Serial.print(':');
    Serial.print(now.minute(), DEC);
    Serial.print(':');
    Serial.print(now.second(), DEC);
    Serial.println();
 
    Serial.println();
    delay(1000);
}


Je ne vois qu'un problème de la carte mémoire.

Re: Problème RTC Memoire V2 + MEGA 2560

Message non luPosté: Mar 7 Oct 2014 09:11
de fred
Bonjour,

chef chaudard a écrit:Tout d'abord sur la carte mémoire V2, je ne vois plus la mise à la masse du quartz. J'ai bien la zone prévue mais je n'ai pas de piste dessus.

Est ce que c'est normal ?


Oui, c'est normal, plus besoin de souder le corps du quartz.

Re: Problème RTC Memoire V2 + MEGA 2560

Message non luPosté: Mar 7 Oct 2014 10:09
de Florian
Bonjour chef chaudard,

Lors de l'utilisation du Mémoire sur une carte méga il faut également relier les pins D10 à D13 de la Uno aux pins D50 à D53 de la méga. Elles s'occupent de la communication SPI.

Pins du Mémoire:
    - SS (Slave Select) => D10
    - MOSI (Master Output Slave Input) => D11
    - MISO (Master Input Slave Output) => D12
    - SCK (Horloge) => D13

aux pins de la méga:
    - MISO => 50
    - MOSI => 51
    - SCK => 52
    - SS => 53

Plus d'information ici et post dédié au Mega ici

Re: Problème RTC Memoire V2 + MEGA 2560

Message non luPosté: Mar 7 Oct 2014 11:14
de chef chaudard
Pour la communication SPI, je savais mais je n'utilise pas cette fonctionnalité.

Pour le moment, je souhaite utiliser que l'heure et ceci ne fonctionne pas même avec la UNO

Re: Problème RTC Memoire V2 + MEGA 2560

Message non luPosté: Mar 7 Oct 2014 14:57
de Florian
Autant pour moi chef chaudard, j'avais mal compris l'origine de votre problème.

Il s’avère que vos codes, après test sur Uno et Méga avec le Mémoire v2, fonctionnent correctement et donnent la date et l'heure exact. J'ai donc du mal à comprendre d'où pourrait provenir l'anomalie.

Peut être que le problème provient directement du composant qui gère l'heure, soit le circuit intégré du mémoire. Il s'agit du DS1307. Il n'est pas directement intégré au PCB mais placé sur un support ainsi vous pouvez le remplacer et voir si cela règle le problème d'heure et de date.

Re: Problème RTC Memoire V2 + MEGA 2560

Message non luPosté: Mar 7 Oct 2014 16:19
de chef chaudard
Effectivement, vous avez bien cerné le pb.

Malheureusement, je n'ai pas de DS1307 de secours

Re: Problème RTC Memoire V2 + MEGA 2560

Message non luPosté: Mar 7 Oct 2014 19:46
de chef chaudard
J'ai démonté le DS1307 sur un de mes projets.

Le résultat est que le temps ne bouge pas. C'est un autre comportement.

A priori le DS1307 est fonctionnel.

Est ce qu'un défaut du Quartz pourrait engendrer ce type de problème ?

Re: Problème RTC Memoire V2 + MEGA 2560

Message non luPosté: Mer 8 Oct 2014 09:38
de Florian
C'est effectivement possible.

Le quartz sert d'oscillateur de référence pour le DS1307. Si il y a absence de ce dernier ou dysfonctionnement alors le DS1307 n'a plus de fréquence référant lui permettant de synchroniser ses données correctement. Ce qui expliquerai le comportement que vous obtenez.

Pour confirmer, il faut changer le quartz et voir le résultat qui en découlera...