www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik DCF77 dekodieren?


Autor: Thomas Gessner (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Martin S. (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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?

Autor: Martin S. (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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=Cf032079...

hast du das schon mal soweit nachgebaut?

Autor: Thomas Gessner (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Martin S. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hast du meinen Link gelesen und verstanden was dort auf dieser Seite
beschrieben steht?

Autor: geloescht (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Dieser Beitrag wurde auf Wunsch des Autors geloescht.

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Thomas Gessner (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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?

Autor: Uwe (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi!
UE2125 + Gogle

MFG Uwe

Autor: Thomas Gessner (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja, danke.
Habe auf der Seite von CONRAD den IC gefunden.

Autor: Michi (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Carsten (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert

Autor: Niels Hüsken (monarch35)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Michi (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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!

Autor: Carsten (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Niels Hüsken (monarch35)
Datum:

Bewertung
0 lesenswert
nicht 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?

Autor: Carsten (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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!

Autor: Niels Hüsken (monarch35)
Datum:

Bewertung
0 lesenswert
nicht 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...

Autor: Michi (Gast)
Datum:

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

Autor: Niels Hüsken (monarch35)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Christian R. (supachris)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Michi (Gast)
Datum:

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

Autor: Fralla (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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?

Autor: Niels Hüsken (monarch35)
Datum:

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

Autor: Michi (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Ralf (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Sven Stefan (stepp64) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Niels Hüsken wrote:

> Grammophone, Spielkonsole, usw.)

Grammophone auch?   ;-))

Sven

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.