Forum: Mikrocontroller und Digitale Elektronik DCF77 - Problem im Zusammenspiel mit LED Matrix


von Patrick S. (patii)


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?

von Teo D. (teoderix)


Lesenswert?

Patrick S. schrieb:
> Hat jemand eine Idee, woran dies liegen könnte?

Überleg mal wie das ständig angesteuert wird!
Lauter steile Schaltflanken auf etlichen Leitungen, das ergibt ne menge 
hochfrequenter Störungen.
Da hilft meist nur, die Antenne ab zu setzen (Forums suche nutzen). Die 
Flankensteilheit zu verringern, bringt auch schon was.

von Patrick S. (patii)


Lesenswert?

Teo D. schrieb:
> Da hilft meist nur, die Antenne ab zu setzen (Forums suche nutzen). Die
> Flankensteilheit zu verringern, bringt auch schon was.

Das DCF-Module (inkl. Antenne) ist bereits 2 Meter von der restlichen 
Schaltung entfernt.

von MaWin (Gast)


Lesenswert?

> Lauter steile Schaltflanken auf etlichen Leitungen, das ergibt ne menge
> hochfrequenter Störungen. [Rechtschreibung so im Original]

Das Problem kann durchaus woanders liegen.

von Teo D. (teoderix)


Lesenswert?

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

Dann schickt Du die Störungen eventuell über diesen Weg zur Antenne.
Zeig mal den Schaltungsteil, wie Du die Antenne angebunden hast.

Obs an der LedControl lib liegt? Einfach mal ohne angeschlossen LED 
Modul testen!?

von nachtmix (Gast)


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.

von Teo D. (teoderix)


Lesenswert?

MaWin schrieb:
>> hochfrequenter Störungen. [Rechtschreibung so im Original]

Achtung, daran hat sich der echte MaWin bisher nie gestört!

von asdf (Gast)


Lesenswert?

Laß mal die LED-Ansteuerung aktiv, trenne aber die Stromversorgung der 
LEDs. Dann weißt du, ob der Fehler von der Ansteuerungsroutine kommt 
oder von den Schaltstörungen.

von Wilhelm M. (wimalopaan)


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.

von Marc V. (Firma: Vescomp) (logarithmus)


Lesenswert?

Patrick S. schrieb:
> Hat jemand eine Idee, woran dies liegen könnte?

 Das beide Module mit INTs arbeiten und nicht unterbrochen werden ?

von Patrick S. (patii)


Angehängte Dateien:

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.

von asdf (Gast)


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.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.