INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.

Antwort schreiben 
 
Themabewertung:
  • 0 Bewertungen - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
DCF77 Empfänger
15.07.2016, 21:50
Beitrag #1
DCF77 Empfänger
Hallo,

Ich komme gerade überhaupt nicht zurecht mit meinem DCF77 Empfänger

Datenblatt: http://www.pollin.de/shop/downloads/D810054D.PDF
Board: Arduino MEGA2560

Pin belegung wie im Datenblatt
PON ist an GND

Testscript:
Code:
/*===============================================================================​=
  Einfaches Programm zum Enlesen von digitalen Signalen eines DCF77 Empfängers
  Ausgabe der Impulse auf eine LED
  Ausgabe des eingelesenen Logik-Pegels auf den Seriellen Monitor der Arduino IDE
================================================================================​==*/


#define DCF77Pin 53                                                // An deisen Pin wird der DCF77 Empfänger angeschlossen
#define LEDPin 13                                                 // Eingelesene Impulse des Empfängers werden hier ausgegeben
int vorheriger_DCF_Wert = 0;                                      // Zwischenspeicher für vorherigen Impulswert (dient zur Flankenerkennung)

void setup() {
  Serial.begin(9600);
  pinMode(DCF77Pin, INPUT);                                       // DCF77PIN für Eingabe setzen
  pinMode(LEDPin, OUTPUT);                                        // LEDPin für Ausgabe setzen
  Serial.println("0,0s   0,1s      0,2s      0,3s      0,4s      0,5s      0,6s      0,7s      0,8s      0,9s      1,0s       1,1s       1,2s");
}

void loop() {
  int DCF77Pegel = digitalRead(DCF77Pin);                         // Wert am DCF77Pin einlesen und in DCF77Pegel speichern
  if (DCF77Pegel == 1 && vorheriger_DCF_Wert == 0) {              // prüfen ob der aktuelle Wert = 1 ist und der vorherige 0 war
    Serial.println("NEW SEC");                                           // wenn dem so ist, dann wurde eine ansteigende Flanke erkannt
  }                                                               // und eine neue Sekunde beginnt, Ausgabe in neuer Zeile fortsetzen
  digitalWrite(LEDPin, DCF77Pegel);                               // Eingelesenen Pegel auf LEPin ausgeben (irgendwas muss halt am Arduino blinken)
  Serial.print(DCF77Pegel);                                       // aktuellen Pegelwert auf seriellen Monitor ausgeben
  vorheriger_DCF_Wert = DCF77Pegel;                               // aktellen Pegel zwischenspeichern
  delay(10);                                                      // 10 millisekunden warten, somt 100 Meßwerte je Sekunde
}

Ausgabe:
Code:
000,0s   0,1s      0,2s      0,3s      0,4s      0,5s      0,6s      0,7s      0,8s      0,9s      1,0s       1,1s       1,2s
0000000000000000000000000000000000000000000NEW SEC
11111111111111111111110000000000000000000000000000000000000000000000000000000000​0000000000000000000NEW SEC
11111111111111111111100000000000000000000000000000000000000000000000000000000000​0000000000000000000NEW SEC
11111111111111111111100000000000000000000000000000000000000000000000000000000000​0000000000000000000NEW SEC
11111111111111111111110000000000000000000000000000000000000000000000000000000000​00000000000000000000NEW SEC
11111111110000000000000000000000000000000000000000000000000000000000000000000000​000000000000000000NEW SEC
11111111111000000000000000000000000000000000000000000000000000000000000000000000​00000000000000000000NEW SEC
11111111111000000000000000000000000000000000000000000000000000000000000000000000​0000000000000000000NEW SEC
11111111111111111111100000000000000000000000000000000000000000000000000000000000​0000000000000000000NEW SEC
11111111111111111111100000000000000000000000000000000000000000000000000000000000​0000000000000000000NEW SEC
11111111111100000000000000000000000000000000000000000000000000000000000000000000​00000000000000000000NEW SEC
11111111111111111111000000000000000000000000000000000000000000000000000000000000​000000000000000000NEW SEC
11111111111000000000000000000000000000000000000000000000000000000000000000000000​0000000000000000000NEW SEC
11111111111100000000000000000000000000000000000000000000000000000000000000000000​00000000000000000000NEW SEC
11111111110000000000000000000000000000000000000000000000000000000000000000000000​00000000000000000000NEW SEC
11111111111111111111000000000000000000000000000000000000000000000000000000000000​00000000000000000000000000000000000000000000000000000000000000000000000000000000​0000000000000000000000000000000000000NEW SEC
11111111111000000000000000000000000000000000000000000000000000000000000000000000​000000000000000000NEW SEC
11111111111110000000000000000000000000000000000000000000000000000000000000000000​00000000000000000000NEW SEC
11111111111111111111100000000000000000000000000000000000000000000000000000000000​0000000000000000000NEW SEC
11111111111111111111100000000000000000000000000000000000000000000000000000000000​0000000000000000000NEW SEC
11111111111111111111100000000000000000000000000000000000000000000000000000000000​0000000000000000000NEW SEC
11111111111111111111111000000000000000000000000000000000000000000000000000000000​0000000000000000000NEW SEC
11111111111000000000000000000000000000000000000000000000000000000000000000000000​0000000000000000000NEW SEC
11111111111000000000000000000000000000000000000000000000000000000000000000000000​00000000000000000000NEW SEC
11111111111000000000000000000000000000000000000000000000000000000000000000000000​000000000000000000NEW SEC
11111111111100000000000000000000000000000000000000000000000000000000000000000000​00000000000000000000NEW SEC
11111111111100000000000000000000000000000000000000000000000000000000000000000000​0000000000000000000NEW SEC
11111111111000000000000000000000000000000000000000000000000000000000000000000000​0000000000000000000NEW SEC
11111111111000000000000000000000000000000000000000000000000000000000000000000000​0000000000000000000NEW SEC
11111111111111111111100000000000000000000000000000000000000000000000000000000000​0000000000000000000NEW SEC
11111111111100000000000000000000000000000000000000000000000000000000000000000000​0000000000000000000NEW SEC
11111111111100000000000000000000000000000000000000000000000000000000000000000000​00000000000000000000NEW SEC
11111111111000000000000000000000000000000000000000000000000000000000000000000000​0000000000000000000NEW SEC
11111111111111111111100000000000000000000000000000000000000000000000000000000000​000000000000000000NEW SEC
11111111111000000000000000000000000000000000000000000000000000000000000000000000​00000000000000000000NEW SEC
11111111111000000000000000000000000000000000000000000000000000000000000000000000​00000000000000000000NEW SEC
11111111111111111111000000000000000000000000000000000000000000000000000000000000​000000000000000000NEW SEC
11111111111000000000000000000000000000000000000000000000000000000000000000000000​0000000000000000000NEW SEC
11111111111100000000000000000000000000000000000000000000000000000000000000000000​0000000000000000000NEW SEC
11111111111100000000000000000000000000000000000000000000000000000000000000000000​0000000000000000000NEW SEC
11111111111100000000000000000000000000000000000000000000000000000000000000000000​00000000000000000000NEW SEC
11111111111111111111100000000000000000000000000000000000000000000000000000000000​000000000000000000NEW SEC
11111111111111111111110000000000000000000000000000000000000000000000000000000000​00000000000000000000NEW SEC
11111111111000000000000000000000000000000000000000000000000000000000000000000000​0000000000000000000NEW SEC
11111111111000000000000000000000000000000000000000000000000000000000000000000000​000000000000000000NEW SEC
11111111111100000000000000000000000000000000000000000000000000000000000000000000​00000000000000000000NEW SEC
11111111111111111111100000000000000000000000000000000000000000000000000000000000​0000000000000000000NEW SEC
11111111111000000000000000000000000000000000000000000000000000000000000000000000​0000000000000000000NEW SEC
11111111111000000000000000000000000000000000000000000000000000000000000000000000​0000000000000000000NEW SEC
11111111111100000000000000000000000000000000000000000000000000000000000000000000​0000000000000000000NEW SEC

könnt ihr mir weiterhelfen?

Vielen Dank vorab

Gruß
paq
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
15.07.2016, 22:05 (Dieser Beitrag wurde zuletzt bearbeitet: 15.07.2016 22:24 von SkobyMobil.)
Beitrag #2
RE: DCF77 Empfänger
Hallo,
damit der Sketch funktioniert, braucht es ein einwandfreies DCF-Signal. Keine MatschePampe.

im Sketch:
(irgendwas muss halt am Arduino blinken)
Serial.print(DCF77Pegel);

probiere mal:
//(irgendwas muss halt am Arduino blinken)
Serial.println(DCF77Pegel);


ich würde mal…
VCC an 3v
GND an GND
PON GND
DATA an 53


dann Abfragen wie Taster

if 53 high
led an
else
led aus

Das bastels Du Dir zurecht, mit einem Taster.
Wenn das mit dem Taster funktioniert, Taster gedrückt LED an, Taster nicht
gedrückt, LED aus.

Dann schließt Du den Empfänger mal an.
Die LED sollte bei Empfang im "SekundenTakt" leuchten.
Ich weiß aber nicht, wie lange der Baustein zum synchronisieren braucht.
Richte die Antenne mal Richtung DCF-Sender aus.
Gruß und Spaß
Andreas
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
15.07.2016, 22:11
Beitrag #3
RE: DCF77 Empfänger
(15.07.2016 21:50)paq schrieb:  ...
könnt ihr mir weiterhelfen?

Vielen Dank vorab

Gruß
paq

Hallo,

wenn ich mir die Ausgabe anschaue macht das Programm aber doch genau das was Programmiert ist.
Oder gibt es irgendwelche Differenzen zwischen dem was das Programm macht und dem was du willst?
Dann wäre es allerdings nicht schlecht wenn du uns erzählst was passieren soll.

Gruß
Arne

ExclamationMit zunehmender Anzahl qualifizierter Informationen bei einer Problemstellung, erhöht sich zwangsläufig die Gefahr auf eine zielführende Antwort.Exclamation
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
16.07.2016, 00:56
Beitrag #4
RE: DCF77 Empfänger
Hallo,

Es ist mir nicht möglich (mit dem Beispiel Sketch aus Arduino möglich eine Uhrzeit zu bekommen) drum hab ich diesen Sketch drüber laufen lassen.

was ich durch google herausgefunden haben ist das es ja eher etwas gemischt sein sollte.

zB; 011100001010110110101

darum gehe ich davon aus das dass Signal Falsch/Ungültig ist ?

Meine Anschlussbelegung ist genau wie SkobyMobil geschrieben hat.

Die LED Blinkt auch im Sekunden Takt

der Sketch InternalClockSync aus der Standard DCF77 Bibliothek liefert nach 20 min immer noch keine gültige Uhrzeit.

ich halte mich auch 2m von Störquellen weg und das drehen das Empfängers in mehrere Richtungen (u.a nach Frankfurt) bringt keinen Erfolg.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
16.07.2016, 10:03
Beitrag #5
RE: DCF77 Empfänger
Hallo,
wenn die LED im SekundenTakt leuchtet, dann würde ich das schon einmal als
nicht schlecht betrachten.
Wenn Du eine Uhrzeit sicher haben willst, muß der Empfang sicher mindestens
38sek gewährleistet sein. Spätestens nach 2min hast Du alle Informationen, die
für die Uhrzeit benötigt werden.

Das Problem liegt in dem schei.. Empfänger. Es gibt für den verwendeten IC
keine Information. Es wird nur darauf hingewiesen, das es bis zu 20min dauern
kann, bis es zur Uhrzeit kommt.

Das DCF-Signal ist ja Amplituden-Moduliert, wenn es bei der Ausgabe zu Fehlern
kommt und diese nicht erkannt werden- bekommst Du nichts zu sehen.

Ich würde diesen Baustein sofort- so in die Tonne klobben.
Besorg Dir einen Empfänger der dokumentiert ist, und für den es sicher Lib
und Sketche gibt.
Gruß und Spaß
Andreas
P.S. Arduino und DCF kann Dich in den Wahnsinn treiben- ich stand kurz davor.

Seid langem benutze ich eine ChronoDot. Genau: < 3sek/Jahr. Die spreche ich
ohne Lib an und funktioniert ohne wenn und aber- immer.
gibt es auch günstiger
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
16.07.2016, 11:30
Beitrag #6
RE: DCF77 Empfänger
(16.07.2016 10:03)SkobyMobil schrieb:  Ich würde diesen Baustein sofort- so in die Tonne klobben.
Besorg Dir einen Empfänger der dokumentiert ist, und für den es sicher Lib
und Sketche gibt.

kanst du einen Empfehlen? dan würde ich noch einen versuch Starten bevor ich dan auf RTC oder das von dir vorgeschlagene ChronoDot umsteige

(16.07.2016 10:03)SkobyMobil schrieb:  P.S. Arduino und DCF kann Dich in den Wahnsinn treiben- ich stand kurz davor.

Kann ich bestätigen, ich hab mehere Sachen ausprobiert und es gibt nichtmal einen kleineren Erfolg. Das einzige das ein Sketch mal angezeigt hat Guter Empfang aber ich nie zu einer Uhrzeit kanm
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
16.07.2016, 12:30
Beitrag #7
RE: DCF77 Empfänger
Hallo,
da kann und will ich Dir keine Empfehlung geben. Bei einigen Anwendern scheint
das ja zu laufen. Wir sind wahrscheinlich zu blöd…
Ich hatte das mit dem ConradEmpfänger probiert (aus meiner C-Control-Zeit)
habe das aber nie hinbekommen. Auch mit dem nicht.
Gruß und Spaß
Andreas
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
16.07.2016, 12:48
Beitrag #8
RE: DCF77 Empfänger
Mich würde jetzt mal interessieren, warum muss es denn DCF77 sein?

Ich bin vor langer Zeit auch mit dem Gedanken rangegangen, eine genaue Uhr zu bauen, aber mit einer RTC angefangen. Diese wollte ich dann mit DCF77 synchronisieren, habe aber festgestellt und gelesen, eine DS3231 ist sehr genau und es dabei belassen.
Also wen du die von SkobyMobil gezeigte oder einfach eine DS3231 (ebay) wirst du sehen, das ist ok.

I2C = weniger ist mehr: weniger Kabel, mehr Probleme. Cool
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
Antwort schreiben 


Möglicherweise verwandte Themen...
Thema: Verfasser Antworten: Ansichten: Letzter Beitrag
  Empfänger RF 433 peterfried 6 366 10.06.2016 23:01
Letzter Beitrag: hotsystems
  AKtuelle Uhrzeit bekommen, RTC oder DFC-Empfänger Cray-1 34 15.531 11.02.2016 23:49
Letzter Beitrag: hotsystems
  DMX Empfänger BennIY 12 2.198 24.09.2015 19:51
Letzter Beitrag: BennIY
  Hilfe bei RC-Empfänger Signale auswerten und verarbeiten Pat12-6 7 1.676 19.03.2015 20:17
Letzter Beitrag: Eichner
Wink Bitte helft mir: RC Empfänger auslesen und an Motortreiber weitergeben. christian@schiltkamp.info 7 3.906 15.03.2015 17:54
Letzter Beitrag: Pat12-6
  RC-Empfänger auslesen und Motoren steuern Pat12-6 0 971 14.03.2015 10:29
Letzter Beitrag: Pat12-6
  Auto Level Quadrocopter (Modellbau Empfänger) Neumi 12 1.695 20.01.2015 13:47
Letzter Beitrag: Eichner
  IR SENDER & EMPFÄNGER Marc2014 13 3.454 02.10.2014 11:36
Letzter Beitrag: Marc2014
  RC-Empfänger-Signal auswerten DerFranke 6 3.432 18.09.2014 21:06
Letzter Beitrag: scritch
  IR Sende / Empfänger Klasse - wo hier deponieren? Hobel 0 1.649 15.09.2013 13:00
Letzter Beitrag: Hobel

Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste