Hi ihr Lieben, Hab ein kleines Problem bei einem Projekt mit DCF77 Empfänger von Pollin. Angeschlossen ist das Modul mit dem Data-Ausgang an den PD2 (Int 0) und der PON an einen anderen Pin zum kontrolliert an/ausschalten. Versorgungsspannung ist sauber (6V Bleiakku und 78L03) und zusätzlich wurde der Data-Out des DCF77 mit 100nF gegen VCC gezogen, damit die Impulse sauberer Kommen. Laut OSZI schickt das DCF-Modul auch sauber die Impulse raus (vgl. DCF_high_bit und DCF_low_bit Bilder). Ich nutze die Firmware von Michael S. (Beitrag "Re: DCF-Uhr ohne Sonnenstand etc. in C"), welche ich nur an den Atmega8 angepasst habe (siehe dazu dcf77_mini1.c) Laut RS232 Debug empfängt der AVR auch etwas, allerdings interpretiert er jedes Bit als Low-Bit außer die neue Minute (da dort das Bit anscheinend länger gesendet wird). Ich vermute ich habe irgend etwas mit den Timern verrissen, komme aber nicht drauf wo der Fehler liegt, daher bitte ich um ein Prüfendes Augenpaar von euch. In der Main (bzw. der Initialisierung) wird das DCF-Modul und der Interrupt so initialisiert: // Port D für Interrupts Initialisieren DDRD &= ~(1<<PD2) | ~(1<< REED_OBEN); // INTs als Eingänge DDRD &= ~(1<<REED_UNTEN); // untere Endlage DDRC &= ~(1<<LIGHT_SWITCH); // Lichtschalter PORTD |= (1<<REED_OBEN) | (1<< REED_UNTEN); // INT1 und untere Enlage mit PullUp MCUCR |= 0b00001001; // INT1 bei fallender Flanke, INT0 any logical change GICR |= 0b11000000; // INTs aktiv _delay_ms(1000); PORTC |= (1<<DCF77_PON); // DCF77 off _delay_ms(1000); PORTC &= ~(1<<DCF77_PON); // DCF77 Restart DCF_Init(); // Timer Init, Interrupts #if USART == TRUE RS232_Init(); // Serielle Schnittstelle Initialisieren #endif sei (); // Enable Interrupts
Steve F. schrieb: > Laut OSZI schickt das DCF-Modul auch sauber die Impulse raus (vgl. > DCF_high_bit und DCF_low_bit Bilder). Was ist dadran sauber? Sauber wäre ein Wechsel von L auf H am Anfang des Sekundenpulses und ein Wechsel von H auf L am Ende.
Ich dachte das muss so? Nutze das erste mal das Pollin-Modul, und hatte gelesen, dass es eine reihe von Impulsen raus schickt. Hmm...sollte dem nicht so sein, was könnte dann die Ursache dafür sein?
Dein Oszilloskop Bild zeigt sehr unsaubere Impulse. Ich hatte mal eine Uhr mit einem DCF77 Modul gebaut und da kamen top-saubere TTL Signale raus.
hmm...na gut, würde zumindest erklären warum es nicht so funktioniert wie es soll. Aber woran kann es liegen, dass die Impulse so zerstückelt kommen? Das Signal sieht auch bei offenem Ausgang so aus...kommt also vom DCF-Modul.
ähhmm..sorry. Ich hatte wohl was verwechselt. Habe soeben den 100nF Kerko zwischen Data und Vdd entfern und siehe da die Impulse kommen sauber und zusammenhängend entweder 100ms oder 200ms lang. Dennoch erkennt meine Firmware das nicht (siehe Screenshot). Die Impulslänge wird zwar ordentlich berechnet, aber irgendwie wertet das Ding die Bits nicht aus...
Ok, wollte mich nur hier zurückmelden falls jemand auf das Thema stoßen sollte. Die Uhr läuft jetzt. Grund für den Fehler war zum einen genannter 100nF Kondi und die Unfähigkeit meiner Person den genutzten Quelltext ordentlich zu lesen. // --- DCF-Empfänger ---------------------------------------------------------- // erwartet wird vom DCF-Empfänger: // DCF-Ruhe-Level: HIGH, bei Signal: LOW !!!!!!!!!!!!!!!!!!!!!!!!! ...habe das Signal vom DCF-Empfänger nun über einen kleinen Mosfet invertriert. Läuft 1A. Danke trotzdem allen ;)
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.