Forum: Mikrocontroller und Digitale Elektronik Nochmal die Experten bitte - DCF77


von Hans-Ulrich Gienapp (Gast)


Angehängte Dateien:

Lesenswert?

Hallo,
ich habe schon viel versucht, aber es will einfach nicht...
bei wem funzt das Programm ?
bis zur **DCF-77 Uhr ** geht es aber es will in keiner Weise etwas
weiteres passieren.
Ich habe erst angefangen mich für die Programmierung zu interessieren
und möchte nun erst mal was sehen, um danach das Programm auseinander
zunehmen. Leider kann ich ich nicht mehr nachvollziehen woher ich es
habe ...
Kann mir jemand sagen ob es überhaupt mit einem Mega8 funzt ??
Am Pind.2 will sich kein Erfolg einstellen egal wie ich die Polarität
des DCF Signals wähle.
Wer gibt bitte ein paar Tips ???

Mit freundlichen Grüssen,

von peter dannegger (Gast)


Lesenswert?

Das ist völlig normal.

Wenn man von irgendwo Code nimmt, aber ihn nicht versteht, wäre es
sogar ein Wunder wenn es trotzdem geht.

Und da der Code fast nicht kommentiert ist, hat auch kaum ein anderer
Lust sich da durchzuwursteln.


Prinzipiell kann absolut jeder Mikrokontroller DCF77 dekodieren, da ja
die Signale mit wahnsinns Super-Highspeed von genau 1 Baud (Bit/s)
daherkommen.
Es funzt also sowohl auf einem ATTiny12 als auch ATMega8.


Ich hatte mir mal eine Routine in C für den AT89C2051 geschrieben, lief
auf Anhieb. Dann noch die Fehlerauswertung etwas verfeinert und damit
ist sie auch absolut fehlerfrei.
Ich hab sie dann auf den AVR portiert (in Assembler und in C).


Wichtig ist bei allen Problemen, daß man sie erstmal in einzelne
Schritte zerlegt und die der Reihe nach programmiert und testet, z.B.:

- "normale" Uhr mit Timerinterrupt als Gangreserve, wenn DCF77
gestört ist

- Timerinterrupt zur Impulslängen und -abstandsmessung (z.B. in 10ms
Schritten)

- Auswertung von Impulslänge und -abstand (1-Bit, 0-Bit, Syncpause,
Fehler)

- Dekodierung

- Fehlerprüfung

- Bei Erfolg Übernahme der Zeit in die "normale" Uhr


Dann kannst Du auch sagen wo genau es hakt und Dir kann auch jemand
helfen.


Peter

von Peter (Gast)


Lesenswert?

Also ich habe ebenfalls Stunden damit verbracht und gedacht, ich wäre
cht zu blöd. Dann stellte ich fest, das mein ATMega16 mit 4x20 LCD
Display dermaßen viele Störungen fabriziert hat, dass das Conrad-Modul
nichts mehr empfing. Das Modul muss mind. 2 Meter vom Prozessor
entfernt sein, dann klappte auch das.

Viel Glück

Peter

von Peter D. (peda)


Lesenswert?

@Peter

da könnteste Recht haben.

Ich hab dazu in dem Timerinterrupt, der die Impulslänge mißt, einfach
noch eine LED mit geschaltet. D.h. dann sieht man gleich, ob die LED
wirr flackert oder die Impulse sauber sind.


Aber das ist alles eben nur ein einziges Rumgerate bei der super
konkreten Fehlerbeschreibung "es will einfach nicht..."


Peter

von Peter (Gast)


Lesenswert?

@peter dannegger
> Ich hab dazu in dem Timerinterrupt, der die Impulslänge mißt, einfach
noch eine LED mit geschaltet. D.h. dann sieht man gleich, ob die LED
wirr flackert oder die Impulse sauber sind.

Hab ich fast genauso gemacht, allerdings kann man auch direkt am DVD77
Modul den Output mit einer LED  (über Widerstand) verbinden und sieht
dann, ob diese nur flackert oder saubere Impulse abgibt. Da braucht man
noch kein Programm für. Hätte nie gedacht, dass der Mega16 (oder das LCD
Modul) dermaßen viele Störungen verursacht.

Peter

von Peter D. (peda)


Lesenswert?

Ich hab nur deshalb die LED in Software angesteuert, weil der Uhrenmodul
nicht so viel Strom abkann.

Allerdings habe ich keine großen Störprobleme bemerkt, zwischen
Uhrenmodul und ATTiny26 sind etwa 5cm Abstand.

Lediglich als ich die Multiplex-LED-Anzeige (MAX7219) angeschaltet
habe, ging nichts mehr. Ich schalte daher imer um 4.00 Uhr die Anzeige
für max 10min ab und synchronisiere dann die interne Uhr.


Peter

von Malte (Gast)


Lesenswert?

Ja, dass die DCF77 Empfänger störanfällig sind musste ich auch lernen.
Bei mir half dann eine reduzierung des LED Stroms und ein Abstand von
mindestens 2cm zu den 7-Segment Anzeigen.
Fehlerkorrektur ist aber pflicht!
Direkt am Ausgang des DCF77 Empfängers lässt sich das Signal auch
wunderbar mit einem analogem Zeigermessgerät ansehen. Die Lage der
Antenne zum Sender in der nähe von Frankfurt hat auch einen starken
Einfluss auf die Signalqualität.

von Peter (Gast)


Lesenswert?

Das ist eine Super-Idee mit der nächtlichen Abschaltung des LCD Displays
bis zur Synchronisierung! Warum bin ich nur nicht drauf gekommen. Das
werde ich direkt mal übernehmen.

von Benedikt (Gast)


Lesenswert?

Eine der größten Störquellen:
TVs und Monitore. Die 15625Hz Horizontalfrequenz, bzw. deren Oberwellen
liegen bei 78125Hz, also ziemlich nahe und stören das Signal komplett.
Dasselbe gilt für PC Monitore. Diese laufen fast immer mit
Horizontalfrequenzen von 50-100kHz.
Sobald ich irgendwelche Problem im Bereich <100kHz habe, schalte ich
erstmal alle Monitore aus, dann sind die schlimmsten Störquellen weg.
Mit einer Spule an der Soundkarte und einem Spektrum Analyser kann man
einen TV (falls er parallel zur Spule steht) über mehrere 10m, mit
etwas Glück sogar über 50m und mehr hinweg erkennen.

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.