Forum: Mikrocontroller und Digitale Elektronik DCF77 dekodieren?


von Thomas Gessner (Gast)


Lesenswert?

Hi,
habe eine Ferritantenne mit Kondensator als Schwingkreis
zusammengeschaltet um DCF77 zu empfangen. Wie kann ich das Signal jetzt
dekodieren ohne ein spezieles DCF-Modul.

Gruß
Thomas Gessner

von Martin S. (Gast)


Lesenswert?

Geheimtip: google

Unter dem Suchwort "dcf77 decodieren" bzw. dcf77 dekodieren kommen
ca. 500 Links zum Thema. Welche der dort aufgeführten
Versuchsanordnungen hast du denn schon nachgebaut, und worin besteht
nun genau dein (softwaretechnisches ??? / hardwaretechnisches ???)
Problem?

von Martin S. (Gast)


Lesenswert?

eh jetzt wieder jemand auf mich einprügelt:

google > dcf77 decodieren > direkt der 4. Link verweist auf

http://www.digital-hobby.de/seite.php?uid=Cf032079d6f103f83e1d16ab66dec0e56

hast du das schon mal soweit nachgebaut?

von Thomas Gessner (Gast)


Lesenswert?

Danke für eure Beiträge.
Also wie schon gesagt habe ich nur die Ferrit Empfangsantenne von
CONRAD. Direkt ans Oszi angeschlossen empfange ich nur sehr schwache
Signale, also am besten mit Transistor verstärken!?
Und kann ich dann die Antenne direkt an einen µC anschließen, denke
nicht. Muss wohl irgendwie decodieren, aber wie?

Thomas

von Martin S. (Gast)


Lesenswert?

hast du meinen Link gelesen und verstanden was dort auf dieser Seite
beschrieben steht?

von geloescht (Gast)


Lesenswert?

Dieser Beitrag wurde auf Wunsch des Autors geloescht.

von Peter D. (peda)


Lesenswert?

Das Signal ist sehr schwach, um es zu empfangen, brauchst du mindestens
einen 4-Kreis Superhet.

Ich hatte mir mal sowas aufgebaut mit einem A244 (DDR AM-Empfänger-IC),
der Oszillator schwingt auf etwa 79,5kHz, die ZF war etwa 2kHz. Ich
hatte einfach 2 Schalenkerne auf die gleiche Frequenz (=ZF)
abgeglichen.

Funktioniert genau so gut, wie die heutigen Platinenkleckse mit 77,5kHz
Quarz dran.

Es geht also auch ohne Quarz, ist eben nur erheblich aufwendiger.


Peter

von Thomas Gessner (Gast)


Lesenswert?

Also, wie das DCF77 Signal aufgebaut ist habe ich verstanden. Ich habe
nur schwiriegkeiten, das Signal als 1 oder 0 umzuwandeln(decodieren).
Gibt es eine Schaltung oder so?

von Uwe (Gast)


Lesenswert?

Hi!
UE2125 + Gogle

MFG Uwe

von Thomas Gessner (Gast)


Lesenswert?

Ja, danke.
Habe auf der Seite von CONRAD den IC gefunden.

von Michi (Gast)


Lesenswert?

Hat jemand einen guten Beitrag, wie das Ganze zur Dekodierung abläuft??? 
Ich habe einen IC (MAS6180), welcher mir das Signal bereits 
digitalisiert. Leider habe ich noch nicht ganz begriffen, wie die 1. 
Sekunde erkannt wird und wie nachher die Sache umgewandelt wird, damit 
ich dann auch die Werte auf eine Variable ausgeben kann. Danke für eure 
Hilfe

von Carsten (Gast)


Lesenswert?


von Niels H. (monarch35)


Lesenswert?

Michi wrote:
> Hat jemand einen guten Beitrag, wie das Ganze zur Dekodierung abläuft???

Die erste Sekunde erkennt man am ausbleiben des Signals, was wiederum 
nämlich die 59. Sekunde signalisiert.

Wenn du eine LED am Dekoder anschliesst und das DCF-Signal empfängst, 
wird die LED im Sekundentakt blinken. Dabei unterscheidet die 
Leuchtdauer das übertragene Datum. Ein 100ms langes Signal bedeutet "0", 
ein 200ms langes Signal bedeutet "1". Ein ausbleibendes Signal (LED 
blinkt einmal nicht) markiert die 59.ste Sekunde.

von Michi (Gast)


Lesenswert?

Naja ich würde das Ganze mit C programmieren, wenn dies möglich ist? 
Danke für das Programm, aber die Funktion habe ich noch nicht begriffen 
:-S!

von Carsten (Gast)


Lesenswert?

http://www.ptb.de/de/org/4/44/442/dcf77_1.htm

ist der Link zu den Experten

wenn es Dir um ein fertiges DCF77-ASM-Modul geht findest Du es hier:

http://www.mikrocontroller.net/forum/codesammlung

wenn es Dir um eine fertige Funkuhr geht

die gibs bei jedem Discounter im Angebot. :)

Gruß Carsten

von Niels H. (monarch35)


Lesenswert?

Michi wrote:
> Naja ich würde das Ganze mit C programmieren, wenn dies möglich ist?

Ich würde glatt weg behaupten, das C in den allermeisten Fällen ohnehin 
die bessere Wahl ist. Wieviel C-Kenntnisse sind denn vorhanden?

von Carsten (Gast)


Lesenswert?

>Ich würde glatt weg behaupten, das C in den allermeisten Fällen ohnehin
>die bessere Wahl ist.

nicht schon wieder ...

   , aber wenn man ASM kann kann man auch (in der Regel) nach Suaheli
     portieren!

von Niels H. (monarch35)


Lesenswert?

Carsten wrote:
>>Ich würde glatt weg behaupten, das C in den allermeisten Fällen ohnehin
>>die bessere Wahl ist.
>
> nicht schon wieder ...

ja genau...also blassen wir es besser dabei...das ist meine Meinung, die 
ich hier eigentlich auch überhaupt nicht zur Diskussion stellen 
möchte...

von Michi (Gast)


Lesenswert?

Ja nach 2 Jahren Elektronikerausbildung im Berech C-programmieren dürfte 
schon etwas vorhanden sein ;)

von Niels H. (monarch35)


Lesenswert?

Also die Therorie ist eigentlich ganz einfach.
Du misst die Phasenlängen einer Periode und wertest diese dann aus. 
Daraus lässt sich die DCF77-Uhrzeit dekodieren.

Meine favorisierter Lösungansatz dabei sieht so aus:

Man initialisiert einen 16Bit-Counter so, daß er Systemtakte zählt, die 
so geteilt sind, daß dieser ungefähr einmal in zwei Sekunden überläuft. 
Den Ausgang des DCF-Dekoders schliesst man am Kontroller an einen 
Portpin an, der so programmiert werden kann, daß er bei jedem 
Phasenwechsel (state-change) einen Interrupt auslöst. Mit dem 
16Bit-Counter bestimmt man dann die Phasenlängen.

Mit einem gewissen Satz an Hirnschmalz, Eindenkungsvermögen und zwei 
Jahre Elekronikerausbildung lässt sich damit bestimmt ein Zeitdekoder 
basteln, der gänzlich vom Hauptprogramm unabhängig in Hintergrund die 
DCF-77 Zeit dekodieren kann.

von Christian R. (supachris)


Lesenswert?

Mit den ganzen Möglichkeiten der Capture-Compare-Einheiten eines Timers 
lässt sich das nahezu in Hardware lösen. Am MSP430 geht sowas sehr 
leicht z.B. mit dem Timer A3, getaktet von einem Uhrenquarz.

von Michi (Gast)


Lesenswert?

Oke ich danke euch vorerst für eure Mithilfe. Ich denke, dass mir das 
helfen wird und ich diese Aufgabe lösen kann!

von Fralla (Gast)


Lesenswert?

Hab da ein Problem mit der Hardware. Ich hab den DCF77 empfänger von 
Conrad. Jab zu testzwecken an den DCF77 Ausgang einen BC547 gehängt, der 
eine LED Schaltet damit ich das Signal mal sehe. Jedoch blinkt die LED 
nicht im Sekundentakt sondern eher so mit 3-5Hz. Was mach ich da flasch?

von Niels H. (monarch35)


Lesenswert?

potentielle Störquellen testweise abschalten (Computer, Monitore, 
Fernseher, uController, Staubsauger, Bohrmaschine, Generatoren, 
Bräunungsgeräte, Guitarrenverstärker, Spielautomaten, Massagestäbe, 
Grammophone, Spielkonsole, usw.)

von Michi (Gast)


Lesenswert?

Kann mir noch jemand erklären, für was die Prüfbits sind??? Haben diese 
einfach die Funktion als Lückenfüller, damit jede Sekunde ein Signal 
eintritt???

Danke für eure Antwort

von Ralf (Gast)


Lesenswert?

Hi Michi,

> Kann mir noch jemand erklären, für was die Prüfbits sind??? Haben diese
> einfach die Funktion als Lückenfüller, damit jede Sekunde ein Signal
> eintritt???
Guckst du hier:
http://de.wikipedia.org/wiki/DCF77

Ralf

von Sven S. (stepp64) Benutzerseite


Lesenswert?

Niels Hüsken wrote:

> Grammophone, Spielkonsole, usw.)

Grammophone auch?   ;-))

Sven

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.