Forum: Mikrocontroller und Digitale Elektronik Empfangsprobleme mit der Funkuhr DCF-77 von ELV


von Ingo H. (ingo22)


Lesenswert?

Guten Tag,

Ich bin jetzt auch hier angemeldet, ich habe schon seit langem immer 
mitgelesen, da ich allerdings mich erst seit kurzem mit Microcontrollern 
beschäftige konnte ich bisher noch nie sinnvolle Beiträge liefern;)

Aber ich hoffe ihr könnt mir bei meinem Problem helfen.

ich versuche seit einigen Tagen die Funkuhr in Betrieb zunehmen.
Ich verwende einen Atmega32 und den Quellcode von Ulrich Radig, bei 
einer Taktfrequenz von 8MHz.
http://www.ulrichradig.de/home/index.php/avr/dcf77_uhr
Die Zeit gebe ich auf einem LC-Display aus.

Allerdings wird die Zeit einfach nicht sychronisiert. Da ich kein 
Oszilloskop habe hab ich mit einer LED den Signalempfang gestestet und 
sieht, soweit man das mit Hilfe einer LED beurteilen kann auch ganz gut 
aus.

Nachdem ich die Paritätsprüfung auskommenitert habe bekomme ich als 
erkanntes Datum und Zeit immer:
45.25.2165 um 45:85,
kann mir jemand sagen, was es mit diesen Werten auf sich hat? Ist da jmd 
in der Umgebung der die Daten stört, oder ist es auf ein anderes Problem 
zurückzuführen?

Was mich dabei vor allem wundert, dass sich der Wert nicht ändert, also 
die Uhr synchronisiert jetzt seit Stunden immer wieder auf diesen Wert.

Ich hoffe ihr könnt mir helfen!!

Lieben Gruß
Ingo Hunfeld

von Bernie (Gast)


Lesenswert?

Ich kenne dieses Radig-Projekt nicht, mein erstes µC-Projekt
(DCF-Uhr) habe ich selbst gemacht.

Hab es aber mal kurz aufgerufen - und auf die Schnelle keine
Hinweise für die Portierung auf den Mega32 gesehen.

Falls die zu finden sind - hast du sie beachtet?

Sind die FUSEs richtig gesetzt?

von Tom (Gast)


Lesenswert?

Ingo Hunfeld schrieb:
> Ist da jmd
>
> in der Umgebung der die Daten stört

Das ist definitiv kein Empfangsproblem. Wenn Du ein Empfangsproblem 
hättest, dann würdest Du ohne Paritätsprüfung immer ganz 
unterschiedliche Werte bekommen und nicht immer den gleichen.

Wenn der Wert immer gleich bleibt, dann liegt der Fehler im Bereich der 
Software. Oder ändert sich der Minutenwert doch ?

von Tom (Gast)


Lesenswert?

Tom schrieb:
> Oder ändert sich der Minutenwert doch ?

sorry, hätte Deinen Post richtig lesen sollen, dann hätte ich mir die 
Frage verkniffen ...

von Thomas D. (thomasderbastler)


Lesenswert?

Wie sieht Dein Aufbau aus ?

von Dietrich L. (dietrichl)


Lesenswert?

Polarität des DCF77-Signals falsch?

von Tom (Gast)


Lesenswert?

Dietrich L. schrieb:
> Polarität des DCF77-Signals falsch?
Dann würde er unterschiedliche Werte bekommen und nicht immer den 
gleichen...

von Tom (Gast)


Lesenswert?

1. Ist der Ausgang des DCF-Moduls am richtigen PIN des MC ?
2. Ist "45.25.2165 um 45:85" wirklich der Wert der aus der Radig-Routine 
decodiert wird, oder ist es der Wert der über deine Ausgabe-Routine auf 
dem LCD erscheint ?
3. Ohne Aufbau und Programm kann ich nicht mehr sagen...

von µC-Bastler (Gast)


Lesenswert?

Ingo Hunfeld schrieb:
> Ich verwende einen Atmega32 und den Quellcode von Ulrich Radig, bei
> einer Taktfrequenz von 8MHz.

Ist das die Takfrequenz für die der Code compiliert ist, oder die 
Frequenz, mit der der µC läuft? Die sollten identisch sein!
Kommt aus deinem DCF77-Modul das demodulierte Signal richtig raus?

von Ingo H. (ingo22)


Lesenswert?

Hey, vielen Dank für die vielen Rückmeldungen.

ich habe das Modul (mit einem 10kohm widerstand an vdd) an den INT0 pin 
angeschlossen.
ich verwende einen externen quarz mit 8 mhz und auch im Programm habe 
ich 8 mHz angegeben.
Aber auch als ich die Schaltung mit internen 1 und 8 MHz betrieben habe 
habe ich die gleichen Werte bekommen.

Die Minuten läuft bis auf 86 hoch und wird dann wieder zurückgesetzt, 
also sobald die Zeit synchronisiert wurde.

Die Fuses müssten richtig gesetzt sein, oder muss ich hier noch auf was 
besonderes achten? ich habe bei den fuses nur JTag ausgeschaltet und den 
Oszillator umgestellt.

"45.25.2165 um 45:85" das ist der Wert der auf meinem LCD ausgeben wird, 
aber dazu werden die variablen aus der Routine ausgegeben. Und wenn ich 
die Uhr einfach so laufen lasse passen die Werte eigt. immer.

Da ich kein Oszilloskop habe kann ich leider nicht sagen, ob das 
demodulierte Signal korrekt ist=(


Ich habe testweise auch mal die steigende und fallende Flanke getauscht, 
um zu prüfen, ob möglicherweise ein invertiertes Signal vorliegt. Dann 
bekomme ich immer die Werte 0.

Ich habe das Modul heute die ganze Nacht durchlaufen lassen und ich 
bekomme weiterhin die gleichen Werte.

Ich hoffe die Angaben helfen weiter.

von Tom (Gast)


Lesenswert?

Ingo Hunfeld schrieb:
> Die Minuten läuft bis auf 86 hoch und wird dann wieder zurückgesetzt,
>
> also sobald die Zeit synchronisiert wurde.

Wenn ich Dich richtig verstanden habe, dann laufen die Minuten von 0 bis 
86 und werden dann wieder auf 0 gesetzt ??
...das ist mit dem Code von Ulrich Radig nicht möglich... Du hast einen 
Fehler im Programm !

von Ingo D. (ingo2011)


Lesenswert?

> Ingo Hunfeld schrieb:
>> Ich verwende einen Atmega32 und den Quellcode von Ulrich Radig, bei
>> einer Taktfrequenz von 8MHz.

Hi Ingo,

die Software von Ulrich verwende ich auch.

http://www.igerlach.de/LedClock/index.html

 Die läuft aber normalerweise mit 12 MHz
nicht mit 8 MHz.

Gruß Ingo DH1AAD

von Ingo H. (ingo22)


Lesenswert?

Hey, nein die minuten werden auf 85 gesetzt durch das Signal und werden 
innerhalb der 86. Minute wieder auf 85 gesetzt.

Um den Code von Ulrich mit einer Frequenz von 8Mhz betreiben zu können, 
habe ich an der entsprechenden Stelle im Programm die CPU - Frequenz auf 
einen Wert von 8Mhz eingestellt.
Muss man noch an weiteren Stellen diese Änderung anpassen? Mir ist keine 
weitere Stelle aufgefallen, an der eine Anpassung nötig ist.

@ Ingo:
Ich sehe grade du verwendest auch das Empfangsmodul von ELV, ist bei dem 
Modell eine Transistorschaltung nötig, oder müsste die von mir 
verwendete Schaltung mit einem 10kohm widerstand von signal zu v+ auch 
ausreichen?

Vielen Dank für Eure Unterstützung.


Lieben Gruß

von Ingo D. (ingo2011)


Lesenswert?

> Ich sehe grade du verwendest auch das Empfangsmodul von ELV, ist bei dem
> Modell eine Transistorschaltung nötig, oder müsste die von mir
> verwendete Schaltung mit einem 10kohm widerstand von signal zu v+ auch

Hi Ingo,

habe ich ohne nicht getestet. Ich hatte hier noch ein altes Conrad-Modul 
und da brauchte ich diese Stufe. Um hier flexibler zu sein, habe ich die 
dann auch in der Schaltung gelassen.
Ich würde empfehlen, erst einmal die Software wieder in den 
Originalzustand zu versetzen.
Dann nur die Änderung auf 8 MHz zu machen.
Deine CPU läuft auch wirklich auf 8 MHz ?
Du kannst ja einfach prüfen ob der Empfang klappt wenn Du über einen 
weiteren
Treiber eine Led blinken lässt. Die muss im Sekundentakt auf blitzen , 
ausser
kurz bevor die Minute voll ist.... Schau dir an , wie die 
DCF-Übertragung aufgebaut ist.
Wenn Du ein Oszi hast, schau Dir an, wie das Signal am µC aussieht, was 
da ankommt.
Ansonsten, mal  ein paar Debug-Meldungen über die serielle Schnittstelle 
ausgeben..
Ist nen bisschen schwierig hier so aus der Ferne auf Deine Schaltung zu 
schauen ;-)
Gruss Ingo

von Ingo H. (ingo22)


Lesenswert?

Vielen Dank für die zahlreiche Unterstützung.
Nach weiteren Versuchen die Uhr in Betrieb zu nehmen, habe ich nochmal 
mit Dioden, die zum einen bei jeder Sekunde blinken und einmal bei jeder 
eins bemerkt, dass dies immer der gleiche Takt war. Somit habe ich 
überprüft, woran es liegen kann und bin schlussendlich auf die fallenden 
und steigenden Flanken gekommen. Somit müssen bei mir die steigenden und 
fallenden Flanken vertauscht werden.

Jetzt frage ich mich nur, was ich jetzt anders gemacht habe als am 
Anfang, als ich diesen Grund als Fehler ziemlich schnell ausgeschlossen 
habe.

Wie dem auch sei. Jetzt funktioniert es und ich danke allen Helfern für 
die tatkräftige Unterstützung=)

Lieben Gruß

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.