Problème RTC Memoire V2 + MEGA 2560

Un log shield sur carte SD avec horloge RTC et zone de prototypage à pastilles carrées

Problème RTC Memoire V2 + MEGA 2560

Message non lude chef chaudard » Dim 5 Oct 2014 15:32

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
Dernière édition par chef chaudard le Lun 6 Oct 2014 19:34, édité 1 fois.
chef chaudard
 
Messages: 51
Inscription: Sam 31 Mar 2012 18:44
Localisation: IDF - TAVERNY

Re: Problème RTC Memoire V2 + MEGA 2560

Message non lude chef chaudard » Lun 6 Oct 2014 19:33

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.
chef chaudard
 
Messages: 51
Inscription: Sam 31 Mar 2012 18:44
Localisation: IDF - TAVERNY

Re: Problème RTC Memoire V2 + MEGA 2560

Message non lude chef chaudard » Lun 6 Oct 2014 20:51

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.
chef chaudard
 
Messages: 51
Inscription: Sam 31 Mar 2012 18:44
Localisation: IDF - TAVERNY

Re: Problème RTC Memoire V2 + MEGA 2560

Message non lude fred » Mar 7 Oct 2014 09:11

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.
Avatar de l’utilisateur
fred
 
Messages: 217
Inscription: Lun 20 Déc 2010 15:32
Localisation: Toulouse

Re: Problème RTC Memoire V2 + MEGA 2560

Message non lude Florian » Mar 7 Oct 2014 10:09

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
Florian
 
Messages: 75
Inscription: Mer 24 Juil 2013 17:36

Re: Problème RTC Memoire V2 + MEGA 2560

Message non lude chef chaudard » Mar 7 Oct 2014 11:14

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
chef chaudard
 
Messages: 51
Inscription: Sam 31 Mar 2012 18:44
Localisation: IDF - TAVERNY

Re: Problème RTC Memoire V2 + MEGA 2560

Message non lude Florian » Mar 7 Oct 2014 14:57

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.
Florian
 
Messages: 75
Inscription: Mer 24 Juil 2013 17:36

Re: Problème RTC Memoire V2 + MEGA 2560

Message non lude chef chaudard » Mar 7 Oct 2014 16:19

Effectivement, vous avez bien cerné le pb.

Malheureusement, je n'ai pas de DS1307 de secours
chef chaudard
 
Messages: 51
Inscription: Sam 31 Mar 2012 18:44
Localisation: IDF - TAVERNY

Re: Problème RTC Memoire V2 + MEGA 2560

Message non lude chef chaudard » Mar 7 Oct 2014 19:46

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 ?
chef chaudard
 
Messages: 51
Inscription: Sam 31 Mar 2012 18:44
Localisation: IDF - TAVERNY

Re: Problème RTC Memoire V2 + MEGA 2560

Message non lude Florian » Mer 8 Oct 2014 09:38

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...
Florian
 
Messages: 75
Inscription: Mer 24 Juil 2013 17:36


Retourner vers Mémoire

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité

cron