Go Down

Topic: [TUTO] DCF77 (Read 17242 times) previous topic - next topic

electronn2002

Bonjour,

J'ai acheté 2 modules cités plus haut (DCF1 de chez Pollin.de).
J'ai voulu les tester avec l'exemple ''demo_decodeurDCF1 ''.
Branchement à l'arduino (uno) tel que dans l'exemple et conforme à la data sheet du module.

Rien, aucun des 2 ne fonctionne, même après 30min.
Comme je sais que le signal dcf77 est parfois difficile à capter j'ai essayé à différents endroits de la maison, mais rien n'y fait

Mon oscilloscope étant fichu, impossible de tester le signal data du module.

Ci joint copies d'écran du moniteur série.

Une idée ?
Merci

bricoleau

#16
Sep 27, 2016, 07:30 pm Last Edit: Sep 27, 2016, 07:32 pm by bricoleau
Bonjour

Pour vérifier le signal brut en sortie du récepteur, utiliser le sketch trace_DCF77

...
Mais bien souvent, le signal observé est plus ou moins éloigné du modèle théorique.
Par exemple, en cas de réception affaiblie, on observe ceci :


...

Et là, on voit mieux le travail à réaliser pour pondre un algorithme capable de repérer l'information utile dans un tel fouillis.
La qualité du logiciel utilisé est donc un élément essentiel à l'obtention d'un résultat satisfaisant, pour tous ceux qui n'ont pas la chance de vivre au pied de l'émetteur.

NB : ces courbes ont été obtenues grâce au sketch trace_DCF77, également fourni avec la librairie.
Ce sketch est un stand-alone rudimentaire, qui n'utilise aucune librairie.
Il se contente de lire en boucle l'état de la pin à raison d'un échantillon par milliseconde puis, lorsque son buffer en RAM est plein, de vider le tout sur le terminal série.
Une arduino de base peut ainsi mémoriser jusqu'à 10 secondes de signal.
Ensuite, un copier/coller vers un tableur de type excel, permet d'obtenir la courbe (CTRL-A dans le terminal série pour tout sélectionner...)
C'est artisanal, mais facile. Un genre d'oscillo du pauvre.

Tutoriels arduino : http://forum.arduino.cc/index.php?topic=398112.0

fdufnews

#17
Sep 27, 2016, 09:04 pm Last Edit: Sep 27, 2016, 09:05 pm by fdufnews
Comme je sais que le signal dcf77 est parfois difficile à capter j'ai essayé à différents endroits de la maison, mais rien n'y fait
Plutôt que sa position, c'est surtout l'orientation de l'antenne qui est critique

Michel53

j'ai récupéré 2 module DCF77 dans un réveil et une horloge, les 2 fonctionnent mais uniquement le soir entre 18 et 19h.
apres avoir orienté l'antenne correctement grâce a demo_tunerDCF77, cela marche bien a ces heures la, le signal doit etre plus fort sans doute car dans la journée et sans rien changer de la position de mon module c'est signal avec parasites...

Ce qui est étonnant c'est que les horloges radio-pilotées trouve en 10mn, quelque soit l'heure.

Et quand le signal est OK, c'est bon avec demo_decodeurDCF77 et aussi avec avec une autre lib Funkhur.

sur un module pas besoin de résistance pullup elle est deja sur le module, sur l'autre il en faut une, j'ai mis 1k
c'est bon.

me reste plus qu'a envoyer le résultat dans la RTC.

neutrinos

Bonjour et un grand merci pour ce tuto qui ne semble très bien rédigé, car je pense avoir tout compris.

Il m'est quand même venue une question :

Pour les arduinautes désireux de soulever le capôt et mettre les mains dans le cambouis logiciel :

La librairie proposée contient en réalité 4 headers distincts.


trameDCF77.h

Une librairie permettant la mise en buffer et manipulation des bits d'une trame DCF77.

Sa fonction de décodage logique d'une trame complète, effectue des contrôles de validité sur tout ce qu'il est possible de vérifier.
Ainsi par exemple, si le jour de la semaine ne correspond pas à la date reçue, la trame est considérée comme invalide.

Idem pour l'indicateur heure d'été / heure d'hiver, au regard de la date/heure.

Une directive européenne pourrait bien mettre fin aux changements d'horaires saisonniers dans l'Union Européenne. Si le système est effectivement abandonné, cela rentrerait en vigueur en 2021, date sur laquelle les ministres des transports européens se sont mis d'accord lors d'un sommet en décembre 2018.

(source France Inter : https://www.franceinter.fr/economie/heure-d-ete-heure-d-hiver-ou-les-deux-vous-avez-jusqu-a-dimanche-pour-choisir )

Est-ce qu'en 2021 cette librairie détectera une erreur 6 mois sur 12 ?

hbachetti

Quote
Idem pour l'indicateur heure d'été / heure d'hiver, au regard de la date/heure.
Si le changement d'heure disparaît, cet indicateur disparaît aussi.

http://www.cplusplus.com/reference/ctime/tm/ : tm_isdst
Linux is like a wigwam: no Windows, no Gates, and an Apache inside ...

bricoleau

bah si nécessaire il y aura un petit update de la lib en temps utile ;)

M'enfin, d'ici à ce que tous les européens se mettent d'accord, j'ai comme l'impression qu'il n'y a pas une grosse urgence sur le sujet.
Tutoriels arduino : http://forum.arduino.cc/index.php?topic=398112.0

bricoleau

Ce qui est étonnant c'est que les horloges radio-pilotées trouve en 10mn, quelque soit l'heure.
Oui j'ai aussi constaté ce truc agaçant chez moi, où la réception via DCF77 ne marche bien que la nuit.

J'avoue que je ne sais trop à quoi c'est dû.
Peut-être une meilleure antenne, ou une meilleure électronique qui filtre les parasites, ou un meilleur algo de décodage qui assure un bon filtrage numérique.
Tutoriels arduino : http://forum.arduino.cc/index.php?topic=398112.0

bricoleau

Et pour finir :

Ce tuto date de 2015.
Aujourd'hui, pour récupérer l'heure exacte, les possibilités se sont élargies.
Les ESP se sont démocratisés. Il suffit d'un accès wifi et on peut même se passer d'un RTC.

Et pour les cas de montage non connecté à internet, un module GPS de type NEO6M ne coûte pas plus cher qu'un récepteur DCF77.
Perso j'en utilise rien que pour récupérer l'heure exacte. La synchro est rapide, même en intérieur, car la date /heure est disponible dans la trame dès le premier satellite capté, même si la position longitude/latitude (que je n'utilise pas) n'est pas encore déterminée.
Tutoriels arduino : http://forum.arduino.cc/index.php?topic=398112.0

neutrinos

#24
Feb 28, 2019, 06:54 am Last Edit: Feb 28, 2019, 07:02 am by neutrinos
Et pour finir :

Ce tuto date de 2015.
Aujourd'hui, pour récupérer l'heure exacte, les possibilités se sont élargies.
Les ESP se sont démocratisés. Il suffit d'un accès wifi et on peut même se passer d'un RTC.

Et pour les cas de montage non connecté à internet, un module GPS de type NEO6M ne coûte pas plus cher qu'un récepteur DCF77.
Perso j'en utilise rien que pour récupérer l'heure exacte. La synchro est rapide, même en intérieur, car la date /heure est disponible dans la trame dès le premier satellite capté, même si la position longitude/latitude (que je n'utilise pas) n'est pas encore déterminée.

A propos du module GPS de type NEO6M, sera-t-il concerné par le bug du 06 avril 2019 ?
Je pose cette question car sites vendeurs précisent que c'est un ancien modèle.

Les satellites donnant une heure GMT, il faudra là aussi revoir le changement d'heure dans nos scripts.
Pour avoir l'heure avec ce module, les lib que j'ai trouvées, me font attendre qq minutes, le temps d'avoir un "fix" pour donner l'heure et le reste.
Je veux bien voir le tien, pour capter l'heure dès la première trame.

Dépendre d'un réseau wifi, c'est moins autonome que DCF ou GPS, surtout si l'on change de FAI, en cas de coupure EDF, etc.


Pour ceux qui ont des soucis en journée, peut-être est-ce une industrie dans un rayon de qq km : à heures fixes, avec changement d'heure été/hiver, aussi le we,

68tjs

Propagation de nuit.

C'était connu du temps où il n'y avait que le Teu Seu Teu, c'est à dire il y a bien longtemps quand j'étais petit garçon qui ne voyais la télé que dans les vitrines des marchands.
C'est du à une meilleure réflexion des ondes radios sur les couches de l'athmosphère quand le soleil  s'en va éclairer un autre coté de la planette

bricoleau

Aucune idée pour le bug des GPS du 19 avril 2019.

Pour le délai de synchronisation de l'heure au démarrage d'un NEO6M, il suffit d'effectuer une simple recopie des infos reçues par la liaison série avec le module, vers le terminal de l'IDE Arduino, et regarder la trame GPMRC.
Chez moi je constate que la date/heure y apparaît bien avant l'arrivée des coordonnées longitute/latitude.

Après, pas sûr qu'il existe une lib "standard" NEO6M qui permette d'avoir la visibilité sur cette information disponible, tant que la localisation n'est pas établie.
Car il me semble me souvenir que la trame comporte un statut, qui reste à un équivalent de "recherche en cours", même si la date/heure est valorisée. Une lib "bourrine" se contente de tester le statut avant d'essayer de décoder la trame.
Tutoriels arduino : http://forum.arduino.cc/index.php?topic=398112.0

Go Up