Nochmal die Experten bitte - DCF77

Gast #138967
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,
Angehängte Dateien:
Gast #138968
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
Gast #138969
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
#138970
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
Gast #138971
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
#138972
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
Gast #138973
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.
Gast #138975
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.

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