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
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?
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 ?
Tom schrieb: > Oder ändert sich der Minutenwert doch ? sorry, hätte Deinen Post richtig lesen sollen, dann hätte ich mir die Frage verkniffen ...
Dietrich L. schrieb: > Polarität des DCF77-Signals falsch? Dann würde er unterschiedliche Werte bekommen und nicht immer den gleichen...
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...
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?
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.
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 !
> 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
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ß
> 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
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.