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,
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
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
@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
@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
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
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.
Das ist eine Super-Idee mit der nächtlichen Abschaltung des LCD Displays bis zur Synchronisierung! Warum bin ich nur nicht drauf gekommen. Das werde ich direkt mal übernehmen.
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.
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.