probleme ds1307 dérèglé

djbouns:
...
mais a priori vous êtes d'accord pour dire que les moteur dérègle mon qz ?

en ce qui me concerne, je pense que c'est une possibilité relativement probable, mais surement pas une certitude :grin:

Un ds1307 c'est pas une horloge atomique!

C'est la stabilité du quartz qui conditionne sa précision.

Voir ce qui peut faire dériver un Quartz.
En premier lieu, la température.

Question subsidiaire : pourquoi le remettre à l'heure à chaque redémarage?
Il n'a pas de pile ?
La méthode utilisée est très peu précise.
Dans les exemples du logiciel arduino il y a une méthode basée sur l'horjoge du PC. Elle introduit environ 15sec de décalage mais c'est certainement mieux.

Il n'est pas remis à l'heure à chaque redémarrage, cette partie est commentée :wink:

Sinon oui c'est pas une horloge atomique mais djbouns évoque le fait que le problème est relatif à ce montage spécifiquement, donc, à priori il ne faut pas remettre en cause le module en lui même.

bonjour,
malgré le delay ajouter en fin de boucle, le dérèglement de l'horloge continu.
est t'il possible de glisser dans ma boucle un code qui, journalièrement, reculerait l'heure de quelque seconde ?

Un petit surplus de découplage sur l'alimentation du DS1307.

salut fdufnews
l'alimentation se fait par l'arduino avec un condensateur ajouté.
il n'est pas possible de glisser dans le code un "recalage" de l'heure ?

Essaye quand même avec un autre module DS1307 ... il ne devrait pas ce décaler autant c'est pas normal ...
Reculer de quelques secondes chaque heure l'horloge c'est comme vouloir mettre des rustines sur un pneu complétement crevé.

skywodd:
Essaye quand même avec un autre module DS1307 ... il ne devrait pas ce décaler autant c'est pas normal ...
Reculer de quelques secondes chaque heure l'horloge c'est comme vouloir mettre des rustines sur un pneu complétement crevé.

Bonjour skywodd

en fait tu veux amplifier son problème initial ? :grin:

elle se dérègle et prend environ 1.30 minute de retard par semaine

retour serieux 8)

faire un vrai test avec 2 modules différents pour voir les écarts de dispersion.

si ils sont de progression en valeur de perte quasi identique cela tendra à impliquer le code
si ce n'est pas le cas , regarder le hard , pour les "QZ horloger" on peu trouver de tout , faire un echange de QZ entre modules peut etre un debut de reponse

a tu essayé avec la librairie "RTClib.h" qui est bien plus pratique ?
http://www.ladyada.net/make/logshield/rtc.html

Une procédure de dépannage bête et systèmatique :

  • faire tourner le programme 24h tous moteurs débranchés
  • idem moteur 1 branché
  • moteur 2
  • etc ...

Une intuition : les PWM à 64khz, c'est un peu tenter le diable ! A peu de chose près on est au double de la fréquence du quartz.
En plus c'est un peu élevé pour un moteur . Il suffit d'être au dessus des fréquences audibles.

Artouste:
en fait tu veux amplifier son problème initial ? :grin:

elle se dérègle et prend environ 1.30 minute de retard par semaine

Oui enfin non, tu m'as compris, on recule vers l'avant quoi :grin:

alienboats:
Une intuition : les PWM à 64khz, c'est un peu tenter le diable ! A peu de chose près on est au double de la fréquence du quartz.

bonsoir alienboats
c'est peut etre pas une si mauvaise intuition , mais intuitivement j'aurais aussi tendance à penser que cela ferait avancer et pas retarder l'horloge.

un petit oscillo sur la sortie SQW out permettrais simplement de voir si il y a "decrochage" lors des phases moteurs.

par curiosité, je vais stresser un ds1307 et voir la plage qu'il accepte en entrée Oscillateur

si le problème est les interférences a 64khz, un tore de ferrite sur le cablage de l'horloge peut résoudre l'affaire ?

Il est plus simple de changer la fréquence !

Il faut les filtré au plus près du moteur avec un petit condensateur de 0,01uF les interférences.

Bonsoir,

Je vois que se sujet engendre la reflection des grand esprit :fearful:
le problème c'est que j'ai décrocher depuis le milieu de la page précédente ...
je suis pourtant sur le forum français et je lit du chinois :astonished:

qu'est que je doit faire pour cette frequence qui a l'air de vous derangez ?
quelqun peut me modifier le code et l'afficher ?

Normal, tu as assisté à une discussion sur le sexe des anges :astonished:

Faut revenir aux principes de base :

  1. séparer l'alimentation de la logique de celle des moteurs
  2. tester méthodiquement

Pour bien faire :

  • transfo secteur->12v (secondaire isolé, écran si possible)
  • un redresseur suivi d'une capa de 100µF et d'une autre de 100nF vers l'arduino,
  • un autre redresseur suivi d'une capa de 470µF ou plus et si possible un filtre ferrite vers les moteurs,
  • une capa de 100nF sur chaque moteur.

Reste à savoir si les shields moteurs permettent une alimentation séparée ?

Les moteurs à balais/collecteurs sont de puissants emetteurs de parasites dans une gamme de fréquence très étendue.

Le plus simple des tests consiste à faire tourner le montage moteurs débranchés.

Après, il faudra commencer à s'interroger pour savoir ce qu'il y a sous la jupe des anges :grin:

jy comprend rien :frowning:
personne ne peut me donne rune combine pour avancer de 10 / 15 seconde tout les jour ?

djbouns:
jy comprend rien :frowning:
personne ne peut me donne rune combine pour avancer de 10 / 15 seconde tout les jour ?

Lire l'heure, faire +10 aux secondes et reprogrammer l'heure.

Un truc dans ce genre :

DateTime t = rtc.now().unixtime() + 10;
rtc.adjust(t);

Après je pense pas que ce soit la solution de rajouter des secondes comme ça ...

Bonjour,
a mon avis il est tres peu probable qu'une perturbation, qui est aleatoire par definition, te donne une derive de 15 secondes par jour systematiquement.

Fais comme on te l'avait demande :

  • des test systematiques avec tes 2 modules puis, si tu constates une difference, inverser les quartz et recommencer
  • pour eliminer completement le risque, un test sans alimenter tes moteurs.

Si j'etais a ta place, je placerais une boucle d'attente dans ton programme afin de ne pas aller lire l'heure des centaines de fois par seconde. Inutile dans ton cas et peut etre pas apprecie par le DS1307.

Si tu me communiques ton adresse privee, je peux t'envoyer un ou 2 quartz pour completer tes essais.

Bonne journee

Jacques