Arduino Forum

International => Français => Topic started by: Tarasbulba on Oct 26, 2015, 12:45 pm

Title: Pertubation d'un DCF77 lié à l'alimentation (Arduino Uno)
Post by: Tarasbulba on Oct 26, 2015, 12:45 pm
Bonjour,

J'utilise un Arduino Uno R3 officiel avec un module DCF77 (pollin.de).
Quand j'alimente l'arduino en USB, tout marche nickel.
Quand j'alimente l'arduino en 9V sur prise jack, je perds ma synchro DCF77.
Si j'ai USB+alim USB, ca marche pas non plus.

Comme le DCF77 est très sensible aux perturbations électromagnétiques, j'en déduis que mon alim 9V (transfo chinois à 10 eur) m'envoi des perturbations.

Je précise que le DCF77 est alimenté en 3.3V, tout le reste de mon montage est en 5V.

Je n'ai pas d'oscillo pour visualiser la sortie de mon transfo.

Des idéees pour régler le problème ?

Cdlt.
Title: Re: Pertubation d'un DCF77 lié à l'alimentation (Arduino Uno)
Post by: hazerty565 on Oct 26, 2015, 01:10 pm
rajoute des capas au niveau de l'alim pour supprimer les perturbations.
Des selfs aussi le cas echeant.

tu as pas des piles pour tester?
Title: Re: Pertubation d'un DCF77 lié à l'alimentation (Arduino Uno)
Post by: Tarasbulba on Oct 26, 2015, 01:53 pm
Merci pour le retour.

Je viens de tester avec des piles (2 accus de 3,7 V en série soit 7,4 V). Ca marche nickel. Donc c'est bien le transfo !!!

Je mets quoi comme capa ? Simplement entre le + et le - ?

Cdlt.
Title: Re: Pertubation d'un DCF77 lié à l'alimentation (Arduino Uno)
Post by: infobarquee on Oct 26, 2015, 01:59 pm
bonjour,
tu peux lire ce TUTO (http://forum.arduino.cc/index.php?topic=78406.0)
Title: Re: Pertubation d'un DCF77 lié à l'alimentation (Arduino Uno)
Post by: kamill on Oct 26, 2015, 03:16 pm
Bonjour,

Tu pourrais essayer de mettre un 22µF en parallèle avec un 100nF céramique sur le 3.3V
Title: Re: Pertubation d'un DCF77 lié à l'alimentation (Arduino Uno)
Post by: 68tjs on Oct 26, 2015, 03:41 pm
Et bobiner le fil de liaison, cela formera une self à air , donc de faible valeur mais ce sera mieux que rien.

Ne pas confondre les rôles du condensateur :

1) Quand il sert de réservoir de courant lors d'un pic d'intensité il faut réduire au maximum les longueurs de fil et l'inductance en série.

2) Quand il sert de filtrage d'alim le montage fonctionne comme un pont résistif abaisseur de tension -> c'est la même formule. S'il n'y a rien dans le fil série il n'y a aucun filtrage.
Ce qui donne l'impression qu'un simple condensateur filtre le bruit ce sont tous les éléments parasites qui sont présents sans qu'on les invite mais le résultat n'est pas efficace.

C'est quoi ton alim chinoise ?
Elle délivre qu'elle tension ?
Le DCF77 consomme combien ?

Je te pose toutes ces question pour voir s'il ne serait pas possible de mettre une résistance en série dans l'alim ce qui formerait un filtre RC avec le condensateur.
Title: Re: Pertubation d'un DCF77 lié à l'alimentation (Arduino Uno)
Post by: bricoleau on Oct 26, 2015, 04:26 pm
J'ai acheté le même il y a deux semaines

Voici la doc (http://homepages.uni-regensburg.de/~erc24492/DCF_Pollin/Pollin%20DCFModul.PDF) qui est fournie avec le module.

La Stromaufnahme (consommation de courant, en teuton) est donnée pour 120 µA maximum sous 3,3V.

Title: Re: Pertubation d'un DCF77 lié à l'alimentation (Arduino Uno)
Post by: bricoleau on Oct 26, 2015, 04:54 pm
De mon côté, j'en suis en train de finaliser mes librairies de décodage du signal, ce qui n'est pas simple car celui-ci est souvent altéré.

Ce qui est sûr, c'est que la bestiole est capricieuse.

Je n'ai pas encore mis le doigt sur tous les facteurs qui peuvent brouiller la réception.

Certains me semblent clair :
1) la distance à l'émetteur : dans mon cas, je suis à un millier de km de la frontière allemande
2) l'orientation de l'antenne, obligatoirement perpendiculaire à la direction de l'Allemagne
3) le jour ou la nuit : la nuit le signal en sortie du DCF1 est bien meilleur que le jour

D'autres plus incertains :
4) l'environnement électromagnétique / perturbations radio
5) la position du récepteur dans ma maison : j'ai l'impression de perdre le signal en m'approchant de certains murs ou objets électriques.

Pour l'instant, je n'ai pas encore alimenté par autre chose que l'USB du PC.

Ce qui est intéressant, c'est de tracer une courbe temporelle de signal en sortie du DCF1, pour comprendre ce qui se passe.

Par exemple, quand le signal reste propre mais affaibli (plutôt en journée), les niveau bas sont stables, en revanche les niveaux hauts sont plein de micro coupures.

Par moments, le signal est clairement parasité, avec des fronts montants un peu n'importe quand, de manière plus ou moins régulière (régulière = écho ?).


Title: Re: Pertubation d'un DCF77 lié à l'alimentation (Arduino Uno)
Post by: bricoleau on Oct 26, 2015, 05:01 pm
Bref tout ça pour dire que si tu veux mettre en évidence une différence de comportement du module DCF1 selon la nature d'alim, il faut t'assurer que tous les autres facteurs sont identiques.

Récepteur exactement au même endroit, orienté pareil, et tous les tests faits à peu près au même moment de la journée, dans le même environnement électromagnétique.
Title: Re: Pertubation d'un DCF77 lié à l'alimentation (Arduino Uno)
Post by: hazerty565 on Oct 26, 2015, 05:08 pm
faut dire que les transfo en general en CEM, c'est ce qui fout la mer...
surtout si il sont chinois, mais en gros faudrais connaitre la frequence se découpage de ton alim, et faire un filtre RC simple pour eliminer cette frequence.
Title: Re: Pertubation d'un DCF77 lié à l'alimentation (Arduino Uno)
Post by: 68tjs on Oct 26, 2015, 05:09 pm
Malgré avoir fait allemand deuxième langue ( il est vrai cas désespéré donc dernier rang au fond chargé de l'animation :) ) je ne comprends rien a la doc.

Je te fais confiance pour "Stromaufnahme" ( à vos souhaits !) et donc au 120µA max sous 3,3V

La tension nominale est de 3,0 V (ça j'ai compris).
Si, comme on peut le supposer, l'alim fourni 3,3V on peut perdre 0,3 V dans une résistance en série.
Soit Rmax = 0,3/ 120 e-6 = 2500 ohms.

Je pense que 1000 ohms seraient bien suffisant avec un condensateur entre 1µF et 10 µF
Avec 1 µF, RC = 1ms, soit une fréquence de coupure égale à 160 Hz.
Cela me parait pas mal.
*********************************************************************
Tau = R*C  --> c'est un temps, Tau s'exprime en seconde
oméga = 1/Tau -> oméga s'exprime en radians par seconde
F = omega / (2*PI)  -> F s'exprime en Hertz
**********************************************************************
Schéma pratique :
Il y a 2 condensateurs parce qu'un condensateur n'est bon que dans une gamme de fréquences :
Fréquence basse : grosses valeur de capa --> technologie chimique ou tantale.
Fréquences élevées : le précédent à trop de pertes pour êtreefficace on utilise un "petit" 100 nF technologie "céramique".

(http://forum.arduino.cc/index.php?action=dlattach;topic=355586.0;attach=141711)
Title: Re: Pertubation d'un DCF77 lié à l'alimentation (Arduino Uno)
Post by: hazerty565 on Oct 26, 2015, 05:16 pm
tu peux utiliser un Tore et enrouler le fil d'alim autour, ou des ferites, comme ceux utilisé parfois sur certain cable usb, ou appareil photos pour suprimer des perturbations.
Title: Re: Pertubation d'un DCF77 lié à l'alimentation (Arduino Uno)
Post by: Tarasbulba on Oct 26, 2015, 05:43 pm
Génial toutes vos réponses. Merci.

Si je comprend bien, on filtre l'alimentation du module DCF77 avec le montage de 68tjs.
On ne fait rien sur l'alim chinoise ?
Ou on fait les 2 mon capitaine ?

Je vous trouve plus d'info sur l'alim en rentrant.

Pour Bricoleau : c'est vrai que le DCF77 est sensible. Je suis à Paris en plein canyon urbain (intramuros) dans un immeuble en béton armé avec fenêtre au sud (l'émetteur est au nord est). Jusqu'à présent, je mettais mon install sur le balcon pour capter tant bien que mal. Par hasard, j'ai commencé à capter le signal en intérieur à plus d'1 mètre de la fenêtre. C'est vrai que la position du module ne bouge pas d'un iota et si je change son orientation, ca marche plus. (en fait, c'est en enlevant l'alim et en passant sur USB seulement que ca a commencé à marcher). (Pour mes tests avec usb, pile et alim, l'antenne ne change pas de place). Tu as du voir les autres travaux sur le décodage du signal DCF77. J'utilise la librairie de base pour l'instant. Je partagerai mon code d'ici peu, le temps de fignoler mon projet.
Title: Re: Pertubation d'un DCF77 lié à l'alimentation (Arduino Uno)
Post by: 68tjs on Oct 26, 2015, 05:55 pm
Quote
tu peux utiliser un Tore et enrouler le fil d'alim autour, ou des ferites,
Tout à fait .

Quote
Ou on fait les 2 mon capitaine ?
C'est à toi de voir : c'est toi qui es aux manettes.
Cette bébette a l'air capricieuse ce qui rend les conclusions délicates.
Si j'ai 1 conseil à donner : en environnement de mise au point aussi mouvant il ne faut jamais hésiter à remettre en question les conclusions passées.
Title: Re: Pertubation d'un DCF77 lié à l'alimentation (Arduino Uno)
Post by: Tarasbulba on Oct 26, 2015, 08:13 pm
Hello,

Pour l'alim c'est un petit transfo noir avec une led verte dessus.
Au dos, on peut lire :
AC/DC adapter,
model SP-888
Input 100-240 VAC 50/60 Hz 0,3 A
Output 9V DC 1A

Rien de bien précis de plus à vous communiquer.

Je vais essayer une ferrite que j'ai dispo et je vous dis.



Title: Re: Pertubation d'un DCF77 lié à l'alimentation (Arduino Uno)
Post by: hazerty565 on Oct 26, 2015, 09:45 pm
tu aurais pas un petit transfo de telephone en USB genre samsung ou iphone ou autre, tu le branche sur le secteur d'un coté et de l'autre a l'arduino... que ce passe t-il?
Title: Re: Pertubation d'un DCF77 lié à l'alimentation (Arduino Uno)
Post by: Tarasbulba on Oct 27, 2015, 10:28 pm
tu aurais pas un petit transfo de telephone en USB genre samsung ou iphone ou autre, tu le branche sur le secteur d'un coté et de l'autre a l'arduino... que ce passe t-il?
==> Quand j'alimente par USB depuis le PC ou par un transfo 220->USB, ca marche nickel.

Quand j'alimente par pile sur la prise jack, ca marche aussi nickel. Donc c'est pas la conversion de tension qui foire mais bien le transfo.

Je vais avoir un oscillo sous peu, je vous posterai le screenshot du signal d'alim.
Title: Re: Pertubation d'un DCF77 lié à l'alimentation (Arduino Uno)
Post by: Tarasbulba on Oct 28, 2015, 11:21 am
Bonjour,

Voici le screenshot de la tension 3,3v entre l'arduino et le module DCF : http://imgur.com/igItMFa

Le signal est le même que j'alimente en USB ou avec mon transfo chinois.

Je ne suis pas expert mais je ne vois pas de différence et je n'ai pas l'impression que le signal soit perturbé !

Vous en pensez quoi ?

PS : le signal 9V a vide et en charge du transfo chinois a exactement la même tête.

Title: Re: Pertubation d'un DCF77 lié à l'alimentation (Arduino Uno)
Post by: hazerty565 on Oct 28, 2015, 12:58 pm
comme je dis, la tension peut être bonne, la même, mais comme ton module DCF c'est de la "radio" ils se peut qu'il soit perturber, par un signal parasite.

Tu dis qu'avec l'USB  ou avec une pile il n'y a aucun soucis.

ESt ce que tu as tester la même chose, en alimentant ton module avec l'usb ou une qui marche, et avec ton alimentation chinoise allumé a coté, mais pas branché sur ton installation.

il faudrait que tu alimentes quelque chose d'autre, peut importe, avec ton alimentation chinoise, qui se trouve  juste a coté de ton module voir si c'est ton alim chinoise qui perturbe ton module ou pas.



La fréquence porteuse est de 77,5 kHz (désignée aussi par sa longueur d'onde de 3,868 km). Le seul défaut de cette fréquence est d'être très sensible aux parasites.

On le remarque notamment avec l'augmentation de la portée à 2 000 km3 la nuit (car il y a beaucoup moins de parasites la nuit que le jour, et la nuit, l'ionosphère devient réfléchissante pour cette fréquence).
Title: Re: Pertubation d'un DCF77 lié à l'alimentation (Arduino Uno)
Post by: Tarasbulba on Oct 28, 2015, 06:54 pm
Bonsoir,

Pour le transfo, il est sous la table, a environ 70cm de l'arduino et est tjrs dans la prise multiple. J'ai un deuxième arduino alimenté avec la même alim posé à coté et aucun soucis quand j'alimente en usb. Donc pas d'effet parasite hors branchement.
Je vais continuer de tester les differente combinaisons en essayant d'isoler le parametre en cause. Merci pour ton aide.

Et je confirme, je capte un bien meilleur signal la nuit que le jour.

J'ai branché l'oscillo sur la sortie du module DCF77. On voit bien le pulse de 100/200 ms toutes les secondes, mais c'est bardé de parasites.



Title: Re: Pertubation d'un DCF77 lié à l'alimentation (Arduino Uno)
Post by: bricoleau on Oct 29, 2015, 12:23 am
Vu qu'on est en train de travailler sur le même sujet, je me suis dit que c'était le bon moment pour sortir le tuto DCF77 (http://forum.arduino.cc/index.php?topic=356124) que j'avais en préparation.

Si tu as l'occasion de tester la librairie proposée, ça m'intéresse d'avoir ton retour.
Title: Re: Pertubation d'un DCF77 lié à l'alimentation (Arduino Uno)
Post by: patg_ on Oct 29, 2015, 09:16 am
Bonjour,
J'étais au début très enthousiaste à propos du DCF77, mais j'ai bien galéré.
J'ai utilisé la lib funkuhr, modifiée pour utiliser les interruptions (si j'ai bonne mémoire, ça date un peu).
Mais la réception est très dépendante de l'orientation de l'antenne, entre autres. Heureusement, mon mur est bien orienté.
J'ai une matrice multiplexée qui brouille aussi la réception. Je n'active donc le récepteur que la nuit quand la matrice est éteinte, mais ça n'empêche pas le truc de décoder des mauvaises trames de temps en temps.

J'ai fini par abandonner le DCF77 au profit d'horloges RTC plus stables à base de DS3231. La précision est largement suffisante et je gère le changement d'heure été/hiver de façon logicielle.

Title: Re: Pertubation d'un DCF77 lié à l'alimentation (Arduino Uno)
Post by: bricoleau on Oct 29, 2015, 10:43 am
Bonjour,

Effectivement, quand on s'embarque dans le DCF77, il vaut mieux avoir conscience de ses limites dès le départ. Ce que tu décrits est largement partagé sur la toile.

Mais c'est justement pour ça que j'ai décidé de mettre en ligne le tuto user-friendly que j'aurais aimé trouvé quand je me suis lancé.

Ce tuto commence d'ailleurs par rappeler les limites du DCF77.
Il apporte aussi des librairies faciles d'utilisation, pour moins galérer.
J'espère vraiment qu'il aidera tout un chacun à actualiser son RTC facilement une fois par jour.
Les décodages erronés sont aussi abordés dans le tuto.

C'est vrai que le besoin est moindre avec un DS3231, bien plus précis que le DS1307 de base.

Mais personnellement j'utilise d'avantage le DS1307, à cause d'une fonctionnalité supplémentaire que le DS3231 n'a pas : 56 octets de RAM non volatile, persistants grâce à la pile, d'usage libre et sans limite de réécriture. J'y stocke jusqu'à 14 timestamp, qui me permettent de tracer les derniers arrêts/démarrage de mon arduino, ou autres événements de fonctionnement.
Et à partir du moment où le RTC peut être actualisé régulièrement, l'avantage du DS3231 s'estompe.

Heures d'été / d'hiver effectivement c'est hors sujet. Il serait aberrant d'utiliser un DCF77 juste pour ça, là où quelques lignes de code suffisent.
Title: Re: Pertubation d'un DCF77 lié à l'alimentation (Arduino Uno)
Post by: patg_ on Oct 29, 2015, 12:00 pm
J'utilise cette breakout board qui a l'avantage d'avoir en plus du DS3231, une pile rechargeable et 32 KB d'EEprom. http://www.dx.com/fr/p/ds3231-high-precision-real-time-clock-module-blue-3-3-5-5v-222910#.VjH7FSuVP6l

Mais bon, c'était quand même sympa d'extraire le récepteur DCF77 d'une station météo et de l'utiliser dans une horloge :)
Title: Re: Pertubation d'un DCF77 lié à l'alimentation (Arduino Uno)
Post by: bricoleau on Oct 29, 2015, 01:35 pm
Malheureusement pas suffisant.

Lorsqu'un arduino redémarre après un coupure électrique intempestive, le seul moyen que j'ai trouvé pour savoir à quelle heure il s'est arrêté, c'est de sauvegarder l'heure courante chaque seconde dans une mémoire persistante.
Cela représente 86400 écritures par jour. Une Eeprom ne convient pas pour cela.
Title: Re: Pertubation d'un DCF77 lié à l'alimentation (Arduino Uno)
Post by: bricoleau on Oct 29, 2015, 01:42 pm
Quoique...

En répartissant la charge d'écriture sur toute l'eeprom de 32 kb.
Un timestamp = 4 octets = 32 bits
L'eeprom peut donc être gérée comme un tableau de 1000 timestamp.
Cela fait 87 écritures par jour et par bit de l'eeprom
Soit 32.000 écritures par bit et par an.
A voir en fonction du cycle maximum d'écritures supporté par l'eeprom.

Un peu compliqué quand même, pour juste un seul timestamp, comparé à la NVRAM d'un DS1307
Title: Re: Pertubation d'un DCF77 lié à l'alimentation (Arduino Uno)
Post by: patg_ on Oct 29, 2015, 03:41 pm
J'avais aussi réfléchi au truc pour le pilote d'horloge Bodet que je viens de terminer (article à venir dès que j'ai mis le schéma et le typon au propre).
Ce que je voulais faire c'est mettre un gros condensateur sur l'alim de l'ATMega, une diode anti-retour entre l'alim et le condo et mesurer la tension d'alimentation avant cette diode pour déclencher une interruption en cas de coupure de courant, pour que l'ATMega sauvegarde l'heure courante dans son EEProm.
L'idée étant de disposer d'assez de temps pour écrire les données avant la coupure.
J'ai fini par abandonner cette idée car ça ne me semblait pas fiable.
Je crois aussi qu'il y a des risques de corruption de mémoire si l'alim disparait en cours d'écriture de l'EEProm.
Title: Re: Pertubation d'un DCF77 lié à l'alimentation (Arduino Uno)
Post by: bricoleau on Oct 29, 2015, 04:01 pm
Oui pour le risque de corruption quand l'arduino s'éteint au milieu d'une écriture.

C'est pareil quand j'écris dans la NVRAM du DS1307.
Pour faire propre, il faut prévoir deux zones d'écriture, avec une gestion de flip flop et un flag qui indique quelle est la dernière zone mise à jour.

J'écris dans la zone A, puis je mets à jour le flag pour indiquer que la zone valide est la A.
Le coup suivant, j'écris dans la zone B, puis je mets à jour le flag pour indiquer que la zone valide est la B.
etc.

Comme ça au redémarrage, le programme est capable de retrouver la dernière valeur sauvegardée, même si l'arrêt brutal a eu lieu au milieu d'une écriture.

Title: Re: Pertubation d'un DCF77 lié à l'alimentation (Arduino Uno)
Post by: Tarasbulba on Nov 15, 2015, 08:59 pm
Hello,

Un petit up sur ce problème qui continue de me pourrir la vie.
J'ai essayé plusieurs combinaisons d'alimentation, avec des capa avant et après.
J'ai même alimenté directement l'arduino en 5v sur la pin 5V. Rien n'y fait, ca ne marche qu'avec une pile. Dès que j'alimente à partir d'un transfo, je perds le signal DCF.
J'ai aussi tenté d'alimenter le module DCF77 directement par pile, indépendamment de l'arduino, mais avec une masse commune bien sur.

Le symptôme est le suivant. Quand je suit en alim par pile, j'ai un cycle de signal DCF d'une seconde, ce qui est bon. Quand j'alimente par transfo, le cycle passe à qq dizaine de ms.

J'en déduit donc que la perturbation se reporte directement sur le port data.

J'aurai bien alimenté ma pendule par pile, mais la conso est trop importante et j'ai 1j d'autonomie, donc c'est pas jouable.

@Bricoleau, je n'ai pas encore testé ta librairie car je souhaite régler mon problème d'alim avant.
As tu testé le module DCF77 avec une alimentation transfo sur l'arduino, sans passer par l'USB du PC ? Est ce que ca marche bien pour toi ?

Title: Re: Pertubation d'un DCF77 lié à l'alimentation (Arduino Uno)
Post by: bricoleau on Nov 15, 2015, 11:37 pm
Bonsoir,

Non pas encore testé sur transfo, désolé. C'est pour dans la semaine. Je te dirai

As-tu essayé plusieurs alim externes ?
As-tu essayé de changer d'arduino ?
Ton module DCF1 a bien la broche PON à la masse ?

Si c'est un problème de tension, tu dois pouvoir le mettre en évidence avec ton oscillo.

Jette quand même un oeil aux programmes exemples de ma lib. L'enregistreur de trace ou la barre de qualité du signal pourraient t'aider.
Title: Re: Pertubation d'un DCF77 lié à l'alimentation (Arduino Uno)
Post by: Tarasbulba on Nov 16, 2015, 10:00 pm
Oui, idem avec plusieurs alim et plusieurs arduino. La PON est bien à la masse.
Je vais continuer mes analyses et je vous dis ou j'en suis.
Je suis impatient de ton retour avec transfo.
Cdlt.
Title: Re: Pertubation d'un DCF77 lié à l'alimentation (Arduino Uno)
Post by: fdufnews on Nov 17, 2015, 09:41 am
J'en déduit donc que la perturbation se reporte directement sur le port data.
Je dirais plutôt que la perturbation se reporte sur le signal radio. La perturbation peut être rayonnée pas conduite. Le transfo dont tu parles, c'est une vrai alimentation à transformateur ou une alimentation à découpage?
Title: Re: Pertubation d'un DCF77 lié à l'alimentation (Arduino Uno)
Post by: bricoleau on Nov 17, 2015, 10:28 am
Il manque des détails périphériques, dont tu ne parles pas donc je suppose que c'est maîtrisé.
Néanmoins à ce stade un petit check n'est pas forcément inutile.

Merci de confirmer le topo ci-dessous :

Si je résume, l'expérience la plus significative est :
- alim externe + arduino + module DCF1 => ne marche pas
- alim externe + arduino + module DCF1 alimenté par piles avec GND reliés => marche

Entre les deux montages, tout est identique jusqu'au positionnement de l'antenne
Ceci aurait tendance à prouver que la perturbation n'est pas radio mais bien électrique.

remplacement d'alim : même résultat
remplacement d'arduino : même résultat


Par ailleurs, tu as un oscillo et tu ne vois rien d'anormal sur la sortie 3V3 de l'arduino, qui alimente le DCF1

Ton cablage exact est :
DCF1.PON ------ arduino.GND
DCF1.GND ------ arduino.GND
DCF1.VCC  ------ arduino.3V3
DCF1.DATA ----- arduino.Pin numérique (laquelle ?)

Est-ce que tu as autre chose de branché sur ton arduino ?
Comment fais-tu pour savoir si la réception DCF77 fonctionne bien ? Terminal Série ?

As-tu fait un relevé exact (à l'oscillo) de la sortie DATA du DCF1, avant interprétation par ton programme arduino ?
Est-ce que tu peux poster une image de ce relevé ?

Quel est ton code source de test ?

Dans la librairie que j'ai mise en ligne, il y a plusieurs programmes exemples prêts à l'emploi.
Il te suffit d'installer la lib pour que ceux-ci soit proposés dans l'IDE arduino (menu exemples), directement prêts à téléverser, avec résultat sur le terminal Serie.
Il y a un indicateur de qualité du signal, qui te permettrait peut-être de mieux cerner ce qui cloche.
Title: Re: Pertubation d'un DCF77 lié à l'alimentation (Arduino Uno)
Post by: Tarasbulba on Nov 17, 2015, 11:36 pm
Merci @bricoleau d'avoir pris le temps de répondre en détail.
Oui, mon câblage est comme tu l'indiques.
Oui, l'antenne du DCF ne bouge (fixé au scotch sur la table en marbre).
Avec une alimentation par pile ou par cable USB seulement depuis le PC : ca marche.
Avec alimentation par transfo (pas à découpage), ca marche pas.
Quand j'alimente le DCF par une pile 3V, l'arduino par transfo, en reliant les masses, ca ne marche pas non plus.
Idem avec alim transfo 12v ou 9v sur la prise jack ou alim transfo 9v+7805+condo sur port 5V ou par transfo USB 5V sur port 5V.

Je vais ce WE refaire tous les tests à l'oscillo pour capturer les différents ports. Je me demande si la perturbation passe par la masse ou par le port DATA, je vais donc déconnecter le DATA de l'arduino et le mesurer à l'oscillo. Il n'y aura que la masse de commune. Le résultat permettra d'orienter les recherches.

Pour tester, j'utilise mon programme complet de pendule (plutôt chargé avec LEDS en pagaille, écran LCD, vumetres, DS3107). Et je vous confirme que j'ai exactement le même comportement avec un arduino nu et le sketch de démo de la librairie DCF77. J'utilise le sketch qui affiche la durée des cycles. Pour ne pas perturber le montage avec le port série branché en USB, j'ai une led qui ne s'allume que si j'ai un cycle d'une seconde (quand ca foire, le cycle est chaotique et donc la led clignote vite et pas au rythme de la seconde).

Tout me laisse penser que le problème n'est pas radio mais électrique et passe par la masse ou par la DATA.

A suivre d'ici quelques jours.
Title: Re: Pertubation d'un DCF77 lié à l'alimentation (Arduino Uno)
Post by: bricoleau on Nov 18, 2015, 10:25 am
Bonjour

Pas sûr de pouvoir t'aider beaucoup. Cela ressemble quand même bien à un problème lié à l'alim elle-même.

Je ne maîtrise pas bien la différence entre alim avec et sans découpage, en terme d'effet sur un montage arduino et donc de périmètre d'usage. Je suppose que toi non plus.
L'oscillo devrait te permettre d'éclairer le sujet de manière expérimentale, à défaut d'avoir un avis d'expert.
Mais la réponse m'intéresse aussi.
D'ici ce week end je vais essayer de faire un test sur transfo.

Enfin, au risque de me répéter et d'avoir l'air d'insister lourdement, tu devrais VRAIMENT essayer mes programmes exemples.
Tu n'as aucun programme à écrire. Juste installer la lib, charger les programmes exemples et les exécuter.
Le test sera très rapide.
Outre les infos supplémentaires que cela pourrait te donner, je pense que mon traitement de décodage du signal est un peu plus résistant aux parasites, par rapport à celui que tu utilises.
Donc si les parasites auxquels tu dois faire face ne sont pas trop importants, la solution pourrait être logicielle.
Title: Re: Pertubation d'un DCF77 lié à l'alimentation (Arduino Uno)
Post by: fdufnews on Nov 18, 2015, 11:13 am
Je ne maîtrise pas bien la différence entre alim avec et sans découpage, en terme d'effet sur un montage arduino et donc de périmètre d'usage.
Sur l'arduino l'effet n'est sans doute pas très important. Il n'en est pas de même avec le récepteur DCF77. Ce machin fonctionne avec des niveaux assez faibles et les perturbations conduites et rayonnées peuvent perturber la réception.
Pour les perturbations conduites, un filtres sur l'alimentation du module DCF77 peut être la solution (self + capa) pour couper les fréquences liées au découpage. les perturbations conduites peuvent aussi remonter par les I/O et donc des filtres sur les lignes d'I/O entre l'arduino et le récepteur DCF77 peuvent être envisagées.
Pour les perturbations rayonnées, c'est plus difficile car on ne peut pas blinder le récepteur DCF77. Dans ce cas il faudrait plutôt blinder l'alimentation.
Les essais réalisés jusque là tendraient plutôt à accréditer la possibilité de perturbations conduites.

Dans tous les cas, la réception du signal étant assez aléatoire, une horloge ne doit pas reposer entièrement sur DCF77 pour fonctionner. Ce système ne doit être envisagé que comme moyen de resynchronisation de l'heure.
Title: Re: Pertubation d'un DCF77 lié à l'alimentation (Arduino Uno)
Post by: Tarasbulba on Nov 18, 2015, 09:13 pm
Hello,

Voila de quoi alimenter la discussion :

Le montage est le suivant :

Le module DCF77 (pollin.de) est alimenté par une pile CR2032 lithium qui délivre du 3,3V.
Les pin PON et GND sont reliés au -
Le pin VCC est relié au +
Le pin DATA est relié à l'oscilloscope (le - de l'oscillo est relié au - de la pile).

Mesure faite à 20h, le signal est encore perturbé mais suffisamment clair pour permettre une synchro (ce qui n'est pas le cas à 19h...).

Image du haut : http://imgur.com/a/EW1Yr

Ensuite, je branche un arduino uno tout seul avec chargeur 9v sur la prise jack. et je relie la masse de l'arduino au - de la pile. C'est tout. Le seul lien entre les 2 montages, c'est le fil qui relie les masses.
On obtient l'image du bas : http://imgur.com/a/EW1Yr
==> on distingue bien le signal DCF, mais il est entièrement haché

A vos plumes...

Title: Re: Pertubation d'un DCF77 lié à l'alimentation (Arduino Uno)
Post by: bricoleau on Nov 18, 2015, 10:04 pm
D'après mes propres observations :

Le signal du bas est caractéristique d'un signal affaibli : les niveaux hauts ne sont pas stables, mais remplis de micro-coupures à la masse.

Dans cette situation, on peut encore théoriquement le décoder avec un filtre passe-bas rudimentaire. Le seul risque que j'ai observé, c'est que si le signal s'affaiblit encore plus, la largeur du niveau haut se réduit également. C'est embêtant car c'est cette largeur qui détermine si on reçoit un bit à 0 ou un bit à 1.
Mais d'expérience je dirais que le signal est encore assez bon pour le décoder.

J'ai regardé la librairie DCF77 proposée sur le site arduino. Celle-ci est bien prévue pour passer outre ces micro-coupures.

Le problème, ce sont les impulsions parasites occasionnelles que l'on voit sur les niveaux bas.
Sauf mauvaise analyse de ma part, la librairie que tu utilises ne gère pas bien ces parasites.

Alors que la mienne, si !
Tu as un problème à l'utilisation de ma librairie ?
Title: Re: Pertubation d'un DCF77 lié à l'alimentation (Arduino Uno)
Post by: Tarasbulba on Nov 18, 2015, 10:47 pm
@bricoleau : Non, aucun problème a utiliser ta librairie. Je vais tenter le coup ce we.

Mais je suis un peu obstiné et brancher l'arduino sur un chargeur 9V me pourri la masse. J'aimerai bien comprendre pourquoi et savoir si on peu régler le problème électriquement.

Petite question, si je met un optocoupleur pour remonter le signal du DCF vers l'arduino, suis je obliger de relier les masses ?
Title: Re: Pertubation d'un DCF77 lié à l'alimentation (Arduino Uno)
Post by: bricoleau on Nov 18, 2015, 10:57 pm
Pour l'opto coupleur je ne sais pas.

Mais bon c'est sûr, tu peux aussi aller jusqu'à mettre une liaison 100% optique entre la sortie du module DCF1 et l'entrée de l'arduino, et là ça marchera  ;D

Juste un point que ces courbes montrent peut-être et qu'il faut garder en tête : indépendamment du montage, la qualité du signal évolue de manière non maîtrisée entre deux expérimentations. Les modifications de cablage entre deux tests, ne sont pas forcément la seule différence.
Title: Re: Pertubation d'un DCF77 lié à l'alimentation (Arduino Uno)
Post by: rjnc38 on Nov 19, 2015, 07:10 am
Les pin PON et GND sont reliés au -
il faut peut être essayer de relier la pin PON au GND directement sur le module DCF (sans passer par l'Arduino)
Title: Re: Pertubation d'un DCF77 lié à l'alimentation (Arduino Uno)
Post by: fdufnews on Nov 19, 2015, 09:36 am
Petite question, si je met un optocoupleur pour remonter le signal du DCF vers l'arduino, suis je obliger de relier les masses ?
Cela peut aider mais attention selon la spec du module DCF77 la sortie ne peut délivrer que 5µA.
Title: Re: Pertubation d'un DCF77 lié à l'alimentation (Arduino Uno)
Post by: bricoleau on Nov 22, 2015, 05:37 pm
Bonjour

Comme promis, j'ai fait un test avec une alim externe.

Résultat : je n'ai trouvé aucune différence avec l'alim via l'USB du PC.
La qualité du signal calculée par l'arduino est la même.
Le décodage s'effectue normalement.

J'ai utilisé ce type d'alim, réglé sur 7,5V :(http://media.ldlc.com/ld3/zoom/2004/LD0000460092.jpg)

Title: Re: Pertubation d'un DCF77 lié à l'alimentation (Arduino Uno)
Post by: centinex on Jun 07, 2017, 12:35 am
Salut tous,

Petit UP de ce sujet qui m'a pas mal aidé a cerner la galère de DCF que j'ai sur un projet.
Ces modules sont effectivement *très* susceptibles aux perturbations.

Petit retour d'experience improbable qui va surement servir à d'autre qui tomberont sur ce sujet.
L'Arduino tout seul, alimenté en USB, juste avec le module DCF de chez Conrad, ne captait rien. Que du signal pourri (mille merci à bricoleau et son excellente lib avec utils très pratiques!)
Il me suffisait de **débrancher l'alimentation du PC** (portable) pour réussir à chopper une trame utile de temps en temps.... L'effet était instantané et net. Même en approchant la prise d'alim (sans la brancher), le signal se dégradait. Ce n'est plus de l'électronique, mais de la magie noire....

J'ai ensuite rajouté deux condos sur l'alim, à l'entrée du module (100uf // 10nf), et la, reception beaucoup plus facile, même sans trop ajuster l'antenne, même avec le PC sur secteur et l'Arduino alimenté par une alim a découpage. C'est maintenant 95% des trames qui sont captées et décodées correctement.... mais seulement avec la lib de bricoleau. Toutes les autres libs dispo sur le net galèrent.

Pour info je suis dans un trou ou même la radio FM passe mal et ou les horloges DCF du commerce galèrent a se synchroniser.

Etape suivante, finir de coder le bazar et l'installer à sa place.
Au sous sol.
À coté d'un moteur d'1.5kW.
Alimenté par un contacteur de puissance commandé par l'Arduino.
J'aime les défis.