Hallo, ich versuche gerade das DCF-Signal mit dem Empfänger von Pollin auszulesen. Allerdings scheint es doch etwas schwieriger zu sein als ich dachte. Ich versuche einfach nur das rohe Signal auszulesen, um erstmal eine Vorstellung davon zu bekommen. An einen Arduino angeschlossen versuche ich es mit folgendem Code: void setup() { pinMode(9, INPUT); Serial.begin(57600); } int DCFValue = 0; void loop() { DCFValua = digitalRead(9); Serial.println(DCFValue); delay(1000); } Gehe ich da etwas zu naiv an die Sache ran? Es kommen bei mir nämlich nur Nullen an. Angeschlossen habe ich den Empfänger folgendermaßen: Vcc ist klar. GND auch. PON geht auf Masse und Data auf Pin 9 des Arduinos. Grüße!
Dominik Gebhardt schrieb: > Ich versuche einfach nur das rohe Signal auszulesen, um erstmal > eine Vorstellung davon zu bekommen. Bei Signalproblemen ist klassische Signalverfolgung von Stufe zu Stufe angesagt, in diesem Fall z.B. ein Oszi am Ausgang des Empfängerbausteins.
Mahlzeit, Dominik Gebhardt schrieb: > Gehe ich da etwas zu naiv an die Sache ran? ja. Nicht jeder hier im Forum nutzt einen Arduino. Kommentiere deine Quellen und poste diese im gesamten. MfG
Hmm, ein Oszillator ist gerade nicht wirklich griffbereit. Werde es aber demnächst mal damit versuchen. Was meinst du mit Quellen auskommentieren? Das ist eigener Code bzw. wie ich denke, wie es eigentlich funktionieren sollte, ein digitales Signal auszulesen. Ein Pin wird als Input für externe Hardware gesetzt. Jede Sekunde wird geschaut, ob dort eine 0 oder eine 1 ankommt. Dieser Wert wird über einen Serial Monitor ausgegeben. Oder habe ich dich jetzt falsch verstanden? Danke schonmal für die Hinweise! Grüße
Mahlzeit, Die DCF77 Signale liegen unterhalb von 1. Sekunde. http://de.wikipedia.org/wiki/DCF77 Abschnitt "Zeitinformation" MfG
Dominik Gebhardt schrieb: > Hmm, ein Oszillator ist gerade nicht wirklich griffbereit. Wolfgang schrieb: > ein Oszi am Ausgang des Empfängerbausteins. Damit war auch mehr ein Oszilloskop gemeint ;-) Sorry für das Kürzel. Ein Oszillator nützt dir nur als Testsignal beim Prüfen von Verstärkern. Zum Glück sendet der DCF77 durchgehend und liefert dir ein passendes Signal.
Häng erstmal nur ne LED an den Empfänger, dann siehst Du, ob Du überhaupt Empfang hast. Und betreibe ihn mit ner Batterie (keine Störungen über das Netzteil). Peter
Dominik Gebhardt schrieb: > Ein Pin wird als Input für externe Hardware gesetzt. Jede Sekunde wird > geschaut, ob dort eine 0 oder eine 1 ankommt. Da wirst du schon häufiger auf das Signal gucken müssen. Die Trägerabsenkungen haben eine Dauer von 100 bzw. 200 ms. Wenn du nicht immer einen konstanten Wert auslesen möchtest, mußt du das Signal also deutlich häufiger abtasten.
Hallo Ich habe auch ein DCF-Modul von Pollin. Zu Hause funktioniert das einwandfrei. Selbst neben Monitor oder aehnlichen. Nach ca 2min. synchronisiert sich das Teil. Angeschlossen ist es am "Pollin-Spiel". Ort ist hier am Rand von Berlin. Nun hab ich mal spasshalber den kleinen Testaufbau eingepackt und mit nach Györ (Ungarn) genommen. Dort war dann kein empfang mehr moeglich. Die LED blinkt zwar, aber selbst nach mehreren Stunden und antennendrehen war keine synchronisation moeglich. Das nur mal zu Info. Gruss Asko.
Hallo Dominik schalte doch erst mal an den Ausgang des Pollin-Moduls einen Transistor z.B BC547 mit einer LED im Kollektorkreis. Dann kannst Du bereits die unterschiedliche Dauer der Impulse 100/200ms und die Impulspause vor Sekunde 0 mit bloßem Auge erkenne. Der Ausgang des Moduls ist nur schwach, glaube mit ca. 5µ belastbar! mfg GroberKlotz
Sieht mir aus, wie eine Funktion, die alle 1s den UART ausliest. Wenn ja, wie kommst du dann auf die Baudrate 57600? Abgesehen davon ist das DCF kein serieller Datenstrom mit Startbit und Stoppbit und so. Vielleicht interpretiere ich den Code auch falsch, aber wenn nicht, kannst du es so nicht machen...
Ah ok, du gibst den eingelesenen Wert nur über UART raus. Sorry. Falls das Modul einen open-Collector Ausgang hat, Ware ein pullup-Widerstand vllt ganz hilfreich falls du noch keinen hast...
Moin, thomas schrieb: > Vielleicht interpretiere ich den Code auch falsch, aber wenn nicht, > kannst du es so nicht machen... deshalb meinte ich Sauger schrieb: > Kommentiere deine Quellen und poste diese im gesamten. MfG
PON muss erst mal eine Sekunde auf high Pegel und erst dann auf low. Also etwa so.
1 | int PowerOnPin = 13; |
2 | int DCFDataPin = 9; |
3 | |
4 | void setup() { |
5 | pinMode(PowerOnPin,OUTPUT); |
6 | pinMode(DCFDataPin, INPUT); |
7 | |
8 | digitalWrite(PowerOnPin, HIGH); |
9 | delay(1000); |
10 | digitalWrite(PowerOnPin, LOW); |
11 | |
12 | Serial.begin(57600); |
13 | } |
14 | |
15 | void loop() { |
16 | Serial.println(digitalRead(DCFDataPin)); |
17 | delay(50); |
18 | } |
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.