DCF77 - Problem im Zusammenspiel mit LED Matrix

OP #4825797
Lesenswert?

Hey Leute,

ich bin grade dabei eine kleine Funkuhr zu basteln und habe mir dafür 
ein DFC77-Modul von Pollin und eine LED-Matrix mit MAX7912-Chip besorgt. 
Das ganze soll auf einem Arduino (Nano) laufen.

Dank der Library von Udo Klein 
(https://blog.blinkenlight.net/experiments/dcf77/binary-clock/) habe ich 
die Uhr soweit zum Laufen bekommen - jedenfalls funktioniert die 
Zeitsynchronisation.

Für die LED verwende ich die LedControl-Library 
(http://playground.arduino.cc/Main/LedControl) - auch das funktioniert 
problemlos.

Allerdings stoße ich auf Probleme, sobald beides zusammen laufen soll.
Sobald ich die LED-Matrix initialisiere, empfange ich keinerlei Werte 
mehr vom DCF-Modul.

Das DCF-Modul hängt am Eingang A5, die Matrix an D10-D12.

Sobald ich das Programm von Udo durch die entsprechenden Zeilen für die 
Matrix erweitere, schweigt das DCF-Modul komplett:
1
#include "LedControl.h"
2
LedControl lc = LedControl(12,11,10,1);

Nehme ich die Initialisierung des LED-Moduls wieder raus, empfange ich 
wieder klare Signale vom DCF-Modul.

Hat jemand eine Idee, woran dies liegen könnte?
Gast #4825834
Lesenswert?

Patrick S. schrieb:
> Das DCF-Module (inkl. Antenne) ist bereits 2 Meter von der restlichen
> Schaltung entfernt.

Trotzdem kannst du über einen unzweckmäßigen Aufbau und das Kabel die 
Störungen bis dort hin verschleppen.

Poste mal Detailfotos und die Schaltpläne der verwendeten Baugruppen.
#4825841
Lesenswert?

Patrick S. schrieb:
> Hey Leute,
>
> Nehme ich die Initialisierung des LED-Moduls wieder raus, empfange ich
> wieder klare Signale vom DCF-Modul.
>
> Hat jemand eine Idee, woran dies liegen könnte?

Die Erfahrung habe ich mit den DCF Modulen ebenfalls gemacht.

Die Lösung ist eigentlich ganz einfach: man synchronisiert seine eigene 
Zeit mit der DCF Zeit nur etwa einmal am Tag. Bspw. zu einer Zeit, wo 
vielleicht eh keiner die Anzeige benutzt. Dazu schaltet man einfach die 
LEDs ab und verwendet das DCF Signal.

Zwischen den Zeitpunkten lässt man einfach die Zeit im uC hochzählen, 
etwa per 1 Tick/s.
OP #4825868
Lesenswert?

Danke für die zahlreichen Antworten.
Die Schaltung ist zur Zeit sehr einfach aufgebaut. Ich habe mal 
versucht, den Schaltplan zu skizzieren.

@nachtmix: ein Foto habe ich leider aktuell nicht, die Schaltung läuft 
aktuell auch noch über ein Breadboard.

@Teo: eine andere Lib habe ich bereits getestet, mit dem selben 
Ergebnis.

@asdf: auch ohne aktive Stromversorgung der LEDs ist kein Empfang 
möglich.
Wenn die LED's noch leuchten (weil nicht ausgeschaltet) aber das 
LedControl nicht initialisiert wurde, funktioniert der Empfang. Alleine 
die Initialisierung des LedControl (darin wird u.a. der spi-transfer 
initiiert) sorgt dafür, dass der Empfang abbricht.

@Wilhelm M.: daran habe ich auch schon gedacht, wäre aber nicht die 
schönste Lösung. Ich muss mal testen, ob ein Ausschalten der LEDs über 
die Library etwas bringt.


Mir kam heute Morgen die Idee, das DCF-Modul mit einem separaten 
Mikrocontroller auszustatten (ggf. direkt mit einer RTC) und nur die 
ausgelesene Uhrzeit via I2C an den Arduino zu übermitteln.
Angehängte Dateien:
Gast #4825900
Lesenswert?

Patrick S. schrieb:
> @asdf: auch ohne aktive Stromversorgung der LEDs ist kein Empfang
> möglich.
> Wenn die LED's noch leuchten (weil nicht ausgeschaltet) aber das
> LedControl nicht initialisiert wurde, funktioniert der Empfang. Alleine
> die Initialisierung des LedControl (darin wird u.a. der spi-transfer
> initiiert) sorgt dafür, dass der Empfang abbricht.

Dann scheint es doch ein Softwareproblem zu sein. Ich würde mir das 
Timing mal anschauen (unter Berücksichtigung der Interrupts). Die dürfen 
sich natürlich nicht stören. Marc sagte das auch schon.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren