DCF77 auslesen

Hallo Udo,

ich dachte du hast 2 Versionen. Eine für alle und eine zum testen die mehr Speicher verbraucht. Und du suchtest Tester. :slight_smile: Sobald ich mein Modul wiedergefunden habe melde ich mich nochmal.

Hallo ihr,

wow, danke euch total für die vielen Hinweise. Ich war gestern sowieso noch mal in der Nähe von Conrad und habe mir gleich noch mal fünf Keramik-Kondensatoren besorgt. Nicht, dass ich jetzt alle fünf verbaue, aber wer weiß, wo man die noch mal braucht.

Ich werde mir eure Infos wahrscheinlich zum Wochenende hin einzeln durchgehen und dann mal etwas ausprobieren. Heute bin ich leider lange in der Firma, sodass heute Abend das Experimentieren sicherlich nicht mehr klappt. Aber ich versorge euch da auf jeden Fall mit den notwendigen Infos.

Noch was zum Thema Quarz: Ich habe nicht verstanden, warum es so wichtig ist, dass man einen Quarz verbaut haben muss. Ich nutze diesen Aufbau später ja in engen Platzverhältnissen und daher ist ein UNO leider nicht drin. Ich habe eher sowas wie einen Pro Mini oder einen Nano. Vermutlich fehlt da auch der Quarz...

Wenn ich das bisher richtig verstanden habe, dann schwingt der Quarz einfach deutlich stabiler, wodurch die Auswertung des Zeitsignals funktioniert. Und, dass die Frequenz dann auch noch temperaturabhängig ist. Ist das richtig?

Was wäre denn, wenn ich parallel noch ein RTC Modul in der Schaltung verbaut habe. Das RTC hat einen Quarz, wenn ich das richtig sehe und damit dürfte die einzelne Sekunde auch recht stabil gemessen werden können. Jedenfalls stabil genug für eine Auswertung des DCF Signals? Wenn jetzt das Arduino-Modul keinen eigenen Quarz hat, warum messe ich denn dann nicht für einen gewissen Zeitraum die aktuelle Schwingungsfrequenz gegen die jeweils eine Sekunde der RTC? Damit könnte man doch ziemlich einen Korrekturwert ermitteln, der es mir ermöglicht, die 100ms bzw. 200ms recht gut zu erkennen (bei gutem Signal...)

Das sind jetzt nur mal so Gedanken und ich hoffe, ich habe jetzt nicht den totalen Blödsinn geschrieben...

Liebe Grüße
Tim

Hallo Udo,

wie kann ich denn den Datenstrom loggen? Ganz normal eine Stunde lang das serielle Fenster bei der Arduino IDE offen lassen und später kopieren? Oder gibts da andere Möglichkeiten?

Wie dimensioniere ich denn einen Keramik Kondensator? Ich habe nur einen 1uF Keramikkondensator bekommen, die Dame bei Conrad meinte, keramisch wäre das das Höchste, was sie da hat.

Wenn man sich die Schaltung aber noch mal anschaut:
http://thijs.elenbaas.net/2012/04/arduino-dcf77-radio-clock-receiver-hardware-2/

dann sind da 10uF abgebildet. Wo kann ich die Dinger denn beziehen, wenn nicht von Conrad?

Und mal ganz abgesehen von meinem aktuellen Fragen, was sollte man denn so in der Schublade liegen haben, um ein nicht zu großes, aber handhabbares Sortiment an Bauteilen zuhause zu haben? Habt ihr vielleicht irgendwo schon einmal eine sinnvolle Liste mit einer kleinen Basisausstattung in Netz gefunden?

Liebe Grüße
Tim

TConnect:
Wenn man sich die Schaltung aber noch mal anschaut:
http://thijs.elenbaas.net/2012/04/arduino-dcf77-radio-clock-receiver-hardware-2/

dann sind da 10uF abgebildet. Wo kann ich die Dinger denn beziehen, wenn nicht von Conrad?

Wenn Du Dir die von Dir verlinkte Schaltung mal genau anschaust, dann handelt es sich dabei um eine Schaltung "nackter Atmega-Controller auf einem Breadboard".

Wenn Du ein fertiges Arduino Board (z.B. "Uno R3") verwendest, kannst Du Dir den Kondensator zwischen 5V und GND sparen, es ist alles auf dem Arduino Board schon drauf, was der Controller zur Stabilisierung der Betriebsspannung braucht.

Und wenn Du ein extra "Modul" anschließt, dann ist auf der Platine des Moduls alles drauf, um die Versorgungsspannung des Chips auf dem Modul zu stabilisieren. Normalerweise ein 100 nF Kondensator ganz in der Nähe des VCC-Pins.

Nur wenn Du einen "nackten IC Chip" anstelle eines "Moduls auf Platine" an Deinen Arduino anschließt, würdest Du die Betriebsspannung des nackten ICs noch zusätzlich stabilisieren müssen. Mit einem 100 nF Kondensator ganz in der Nähe des VCC-Pins.

Kondensatoren größer als 100 nF / 0.1µF sind im Normalfall "Elektrolytkondensatoren". Die gibt es beim großen C natürlich auch. Im Unterschied zu Keramikkondensatoren, die keine Polung haben, müssen Elektrolytkondensatoren immer polrichtig angeschlossen werden, sonst werden die in kurzer Zeit ruiniert. Deshalb ist der Minuspol an Elektrolytkondensatoren gekennzeichnet und Du kannst sie nur in einer Schaltung an Gleichspannung verwenden. In dem Fall, bei 5V Gleichspannung einen Elektrolytkondensator zwischen GND und 5V zu verwenden, ist überhaupt kein Thema. Einfach anschließen und auf die Polung achten, wenn es ein Elektrolytkondensator ist. Aber wie gesagt: Bei einem fertigen Arduino-Board brauchst Du die Betriebsspannung nicht extra stabilisieren, da das Arduino-Board schon Bauteile enthält, unter anderem auch Kondensatoren zwischen GND und 5V.

Hallo jurs,

nun, testweise kann ich gerne einen UNO R3 nutzen, Ziel ist aber für später, die Zeit auf einem Pro Mini oder Nano auszulesen und darzustellen... Gelten die Aussagen dann auch für diese Boards?

Liebe Grüße
Tim

[Ärgerlich, dass ich heute Abend keine Zeit habe... :-)]

TConnect:
nun, testweise kann ich gerne einen UNO R3 nutzen, Ziel ist aber für später, die Zeit auf einem Pro Mini oder Nano auszulesen und darzustellen... Gelten die Aussagen dann auch für diese Boards?

Ja. Schau Dir beispielsweise das Schaltbild eines "Pro Mini" an!

Links oben im Bild, rechts neben dem Spannungswandler, findest Du die Kondensatoren C13 und C10.

C13 ist ein 10µF großer Elektrolytkondensator.
C10 ist ein 0.1µF (100nF) kleiner Keramikkondensator
Beide jeweils parallel zwischen VCC (5V) und GND angeschlossen.

Die Nano und Pro Mino Boards sind genau so fertige Developer-Boards wie ein UNO, und auch diese Boards stellen eine Spannungsversorgung für den Controller bereit.

Nur wenn Du einen "nackten" Atmega328 auf ein Breadboard oder eine Platine setzt, mußt Du selbst für eine angemessene Beschaltung der Stromversorgung sorgen. Zum Beispiel Abblockkondensatoren zwischen VCC und GND.

Kleiner Nachtrag: Die Ferrtistabantenne des DCF-Moduls ist eine Richtantenne, daher hast Du den besten Empfang, wenn die Antenne korrekt zum Sender ausgerichtet ist (ungefähr).

           Frankfurt
               ^
               |
               |
               |
+---------------------------+
|     Ferritstabantenne     |
+---------------------------+

Hallo zusammen,

ich habe jetzt mal erste Ergebnisse, und die sehen so aus, dass es keine Ergebnisse sind. Es kommt 0,0 Signal an und das ist schon aufgerundet!

Angeschlossen habe ich das ganze exakt wie hier: https://blinkenlightblog.files.wordpress.com/2013/02/c0e_dcf77_module_conrad_bottom_compressed_1200.jpg

Nix. Nada....

Die Data-Leitung habe ich über das Breadboard mit Pin 2 vom Arduino UNO R3 MIT Quarz verbunden. Der Pullup-Widerstand geht auf plus. Meiner Ansicht nach ist alles korrekt angeschlossen.

Ich habe insgesamt drei Conrad-Module und zwei davon habe ich zum Testen angeschlossen. Die können doch nicht beide defekt sein?

Wo könnte ich noch einen Fehler gemacht haben?
Habt ihr eine Idee?

Grüße Tim

Was den Quarz angeht: die Minis gibt es mit und ohne Quarz, man muss nur danach suchen. http://www.ebay.de/itm/Arduino-Pro-Mini-compatible-5V-16MHz-CRYSTAL-XTAL-ATMega328-headers-UK-SELLER-/251742348017?pt=LH_DefaultDomain_3&hash=item3a9d0362f1

Ein Quarz hat eine höhere Frequenzstabilität und Genauigkeit. Deshalb kann man mit einem Quarz die Bandbreite schmaler wählen. Damit bekommt man ein besseres Signal Rauschverhältnis weil nur noch Sötrungen innerhalb des (engeren) Passbandes relevant sind. Wenn der Filter eingeschwungen ist kann ich mit einem Quarz unter 1 mHz (also 1/1000 Hz).

Was MSF angeht: klar habe ich ein MSF Modul hier. Aber das schlechte Signal hat 2 Probleme.

  1. Das sind Störungen auf 60 kHz nicht auf 70 kHz, also andere Störungen.
  2. Die Signalform ist anders, DCF77 ist leichter einzurasten
  3. Ich sehe nur wie das bei mir aussieht und nicht was andere so bekommen.

Was das loggen angeht: entweder den Monitor kopieren oder ein beliebiges Terminal Programm nehmen. "Putty" ist sehr beliebt, es gibt aber auch jede Menge andere.

Danke Udo für den Link. Aktuell verzweifle ich aber gerade daran, überhaupt mal ein Signal zu bekommen. Auch wenn es wg. des USB vielleicht verrauscht wäre. Ich sitze hier gerade im Wohnzimmer und um mich herum sind drei Funkuhren. Eine hängt an der Wand, zwei stehen irgendwie im Regal. Alle bekommen sauber das Signal. Habe gerade mal eine davon aus- und wieder eingeschaltet, Signal kommt nach ein paar Minuten sauber an. Bei denen.

Warum nicht am Conrad-Modul??? Es können doch nicht zwei von drei Modulen defekt sein?

Grüße Tim

        1, +---------+---------+---------+---------+---------+---------+---------+---------+---------+---------
        2, +---------+---------+---------+---------+---------+---------+---------+---------+---------+---------
        3, +---------+---------+---------+---------+---------+---------+---------+---------+---------+---------
        4, +---------+---------+---------+---------+---------+---------+---------+---------+---------+---------
        5, +---------+---------+---------+---------+---------+---------+---------+---------+---------+---------
        6, +---------+---------+---------+---------+---------+---------+---------+---------+---------+---------
        7, +---------+---------+---------+---------+---------+---------+---------+---------+---------+---------
        8, +---------+---------+---------+---------+---------+---------+---------+---------+---------+---------
        9, +---------+---------+---------+---------+---------+---------+---------+---------+---------+---------
       10, +---------+---------+---------+---------+---------+---------+---------+---------+---------+---------
       11, +---------+---------+---------+---------+---------+---------+---------+---------+---------+---------
       12, +---------+---------+---------+---------+---------+---------+---------+---------+---------+---------
       13, +---------+---------+---------+---------+---------+---------+---------+---------+---------+---------
       14, +---------+---------+---------+---------+---------+---------+---------+---------+---------+---------
       15, +---------+---------+---------+---------+---------+---------+---------+---------+---------+---------
       16, +---------+---------+---------+---------+---------+---------+---------+---------+---------+---------
       17, +---------+---------+---------+---------+---------+---------+---------+---------+---------+---------
       18, +---------+---------+---------+---------+---------+---------+---------+---------+---------+---------
       19, +---------+---------+---------+---------+---------+---------+---------+---------+---------+---------
       20, +---------+---------+---------+---------+---------+---------+---------+---------+---------+---------

TConnect:
Aktuell verzweifle ich aber gerade daran, überhaupt mal ein Signal zu bekommen. Auch wenn es wg. des USB vielleicht verrauscht wäre. Ich sitze hier gerade im Wohnzimmer und um mich herum sind drei Funkuhren. Eine hängt an der Wand, zwei stehen irgendwie im Regal. Alle bekommen sauber das Signal. Habe gerade mal eine davon aus- und wieder eingeschaltet, Signal kommt nach ein paar Minuten sauber an. Bei denen.

Warum nicht am Conrad-Modul??? Es können doch nicht zwei von drei Modulen defekt sein?

Also Du hast kein "Powerline" im Haus installiert?
Und Mindestabstände zu möglichen Störquellen beachtet, die ich gepostet hatte?

Hast Du denn mal mit einem einfachen Test-Sketch laufen lassen?

Was zeigt beispielsweise der "DCFPulseLength" Sketch von Thijs Elenbaas?

Oder beiliegender Test-Sketch, den ich mal gemacht habe:

#define LEDPIN 13
#define DCFPIN 8

void setup() {
  Serial.begin(9600);
  Serial.println("DCF77 test sketch by 'jurs'");
  pinMode(LEDPIN, OUTPUT);
  pinMode(DCFPIN, INPUT);
}

boolean lastState;
unsigned long lastChangeTime;
unsigned int hitime, lotime, pulsetime;

void loop() {
  boolean state= digitalRead(DCFPIN);
  if (state!=lastState)
  {
//    digitalWrite(LEDPIN,state); // mit dieser Zeile ==> schlechte Daten
    long changeTime=millis();
    if (lastState)
    {
      Serial.print("H ");
      hitime=changeTime-lastChangeTime;
      Serial.print(hitime);
      Serial.print('\t');
    }
    else 
    {
      Serial.print("L ");
      lotime=changeTime-lastChangeTime;
      Serial.print(lotime);
      Serial.print('\t');
      pulsetime=hitime+lotime;
      Serial.print("= ");
      Serial.print(pulsetime);
      if (pulsetime>=960 && pulsetime<=1040)
      {
        Serial.print("\tOK  ");
        if (hitime<150) Serial.println('0'); else Serial.println('1');
      }
      else if (pulsetime>=1960 && pulsetime<=2040) Serial.println("\tMinute Marker");
      else Serial.println();
    }
    lastState=state;
    lastChangeTime=changeTime;
  }
}

Dass beim Conrad-Modul ein PullUp-Widerstand zwischen VCC und Datenpin (ca. 4.7K Ohm) installiert sein muss, hast Du beachtet?

Dein Beiliegender Sketch wirft folgendes aus:

DCF77 test sketch by 'jurs'
L 29	= 29
H 6	L 125	= 131
H 16	L 104	= 120
H 7	L 48	= 55
H 35	L 89	= 124
H 43	L 83	= 126
H 23	L 84	= 107
H 85	L 1	= 86
H 22	L 6	= 28
H 26	L 73	= 99
H 126	L 74	= 200
H 22	L 27	= 49
H 18	L 20	= 38
H 7	L 15	= 22
H 8	L 68	= 76
H 28	L 9	= 37
H 11	L 1	= 12
H 28	L 117	= 145
H 39	L 17	= 56
H 113	L 6	= 119
H 21	L 33	= 54
H 8	L 5	= 13
H 1	L 106	= 107
H 5	L 2	= 7
H 35	L 34	= 69
H 30	L 8	= 38
H 56	L 11	= 67
H 32	L 123	= 155
H 11	L 73	= 84
H 26	L 33	= 59
H 7	L 12	= 19
H 18	L 46	= 64
H 59	L 18	= 77
H 80	L 87	= 167
H 2	L 58	= 60
H 1	L 15	= 16
H 7	L 9	= 16
H 3	L 27	= 30
H 5	L 23	= 28
H 11	L 9	= 20
H 12	L 10	= 22
H 50	L 6	= 56
H 51	L 85	= 136
H 21	L 105	= 126
H 7	L 100	= 107
H 15	L 22	= 37
H 62	L 3	= 65
H 11	L 99	= 110
H 48	L 22	= 70
H 50	L 5	= 55
H 38	L 10	= 48
H 4	L 1	= 5
H 13	L 11	= 24
H 31	L 90	= 121
H 43	L 20	= 63
H 63	L 240	= 303
H 98	L 27	= 125
H 37	L 135	= 172
H 59	L 25	= 84
H 28	L 271	= 299
H 6	L 27	= 33
H 31	L 19	= 50
H 17	L 22	= 39
H 98	L 12	= 110
H 4	L 16	= 20
H 52	L 42	= 94
H 114	L 23	= 137
H 70	L 140	= 210
H 94	L 34	= 128
H 23	L 7	= 30
H 6	L 16	= 22
H 24	L 9	= 33
H 60	L 79	= 139
H 2	L 90	= 92
H 24	L 125	= 149
H 5	L 2	= 7
H 107	L 25	= 132
H 4	L 35	= 39
H 2	L 3	= 5
H 49	L 7	= 56
H 24	L 75	= 99
H 84	L 62	= 146
H 136	L 20	= 156
H 17	L 29	= 46
H 36	L 81	= 117
H 27	L 16	= 43
H 51	L 64	= 115
H 37	L 26	= 63
H 9	L 13	= 22
H 19	L 28	= 47
H 8	L 8	= 16
H 19	L 1	= 20
H 2	L 4	= 6
H 4	L 6	= 10
H 1	L 5	= 6
H 14	L 44	= 58
H 23	L 29	= 52
H 9	L 89	= 98
H 22	L 1	= 23
H 10	L 94	= 104
H 45	L 55	= 100
H 58	L 13	= 71
H 33	L 55	= 88
H 141	L 75	= 216
H 62	L 186	= 248
H 1	L 208	= 209
H 16	L 13	= 29
H 22	L 20	= 42
H 15	L 11	= 26
H 52	L 88	= 140
H 55	L 64	= 119
H 56	L 34	= 90
H 42	L 22	= 64
H 12	L 1	= 13
H 3	L 171	= 174
H 33	L 5	= 38
H 30	L 34	= 64
H 38	L 108	= 146
H 1	L 68	= 69
H 99	L 133	= 232
H 13	L 5	= 18
H 16	L 3	= 19
H 26	L 50	= 76
H 22	L 44	= 66
H 2	L 30	= 32
H 16	L 15	= 31
H 49	L 99	= 148
H 17	L 9	= 26
H 18	L 81	= 99
H 17	L 38	= 55
H 3	L 14	= 17
H 27	L 19	= 46
H 45	L 208	= 253
H 12	L 20	= 32
H 102	L 93	= 195
H 63	L 7	= 70
H 49	L 16	= 65
H 29	L 21	= 50
H 26	L 93	= 119
H 39	L 2	= 41
H 47	L 29	= 76
H 4	L 9	= 13
H 34	L 18	= 52
H 24	L 53	= 77
H 8	L 5	= 13
H 39	L 19	= 58
H 35	L 7	= 42
H 51	L 65	= 116
H 38	L 123	= 161
H 2	L 24	= 26
H 60	L 2	= 62
H 2	L 5	= 7
H 40	L 6	= 46
H 24	L 15	= 39
H 12	L 31	= 43
H 40	L 19	= 59
H 13	L 18	= 31
H 3	L 1	= 4
H 3	L 1	= 4
H 2	L 64	= 66
H 12	L 32	= 44
H 56	L 1	= 57
H 57	L 19	= 76
H 2	L 28	= 30
H 5	L 4	= 9
H 155	L 15	= 170
H 12	L 21	= 33
H 21	L 3	= 24
H 2	L 51	= 53
H 18	L 16	= 34
H 65	L 127	= 192
H 53	L 10	= 63
H 3	L 35	= 38
H 8	L 61	= 69
H 47	L 7	= 54
H 20	L 58	= 78

Was sagt mir das?
Ich sitze auf der Couch und habe eigentlich nur Licht im Zimmer an. Den UNO vom Rechner abklemmen kann ich nicht, weil ich ansonsten keine Daten mehr über den seriellen Monitor empfangen und hier posten kann. Eine Powerline habe ich nicht. Ich habe beim Umbau des Hauses dafür gesorgt, dass in allen Räumen mit Ausnahme des Schlafzimmers zwei CAT5 Leitungen raus kommen, sodass ich netzwerktechnisch ganz gut aufgestellt bin und auf eine Powerline (LAN via Stromnetz?) verzichten kann.

Grüße Tim

So, jetzt habe ich den Aufbau mal so weeeeiiiit wie es irgendwie das USB Kabel zulässt von allem entfernt, was hier so rumsteht, Licht macht oder selbst funkt. Hier ist noch mal ein Messergebniss:

DCF77 test sketch by 'jurs'
L 159	= 159
H 152	L 860	= 1012	OK  1
H 212	L 777	= 989	OK  1
H 244	L 765	= 1009	OK  1
H 117	L 168	= 285
H 2	L 703	= 705
H 125	L 874	= 999	OK  0
H 226	L 784	= 1010	OK  1
H 124	L 865	= 989	OK  0
H 243	L 767	= 1010	OK  1
H 135	L 862	= 997	OK  0
H 235	L 771	= 1006	OK  1
H 115	L 885	= 1000	OK  0
H 126	L 859	= 985	OK  0
H 144	L 862	= 1006	OK  0
H 123	L 1888	= 2011	Minute Marker
H 146	L 90	= 236
H 3	L 2	= 5
H 2	L 3	= 5
H 7	L 12	= 19
H 71	L 3	= 74
H 13	L 1	= 14
H 3	L 66	= 69
H 0	L 2	= 2
H 4	L 1	= 5
H 1	L 2	= 3
H 2	L 3	= 5
H 1	L 553	= 554
H 127	L 882	= 1009	OK  0
H 218	L 774	= 992	OK  1
H 223	L 784	= 1007	OK  1
H 208	L 788	= 996	OK  1
H 124	L 874	= 998	OK  0
H 133	L 866	= 999	OK  0
H 127	L 880	= 1007	OK  0
H 120	L 882	= 1002	OK  0
H 220	L 779	= 999	OK  1
H 115	L 578	= 693
H 2	L 12	= 14
H 5	L 3	= 8
H 122	L 19	= 141
H 20	L 119	= 139
H 214	L 1	= 215
H 2	L 531	= 533
H 2	L 74	= 76
H 2	L 179	= 181
H 212	L 784	= 996	OK  1
H 225	L 780	= 1005	OK  1
H 120	L 429	= 549
H 2	L 448	= 450
H 117	L 886	= 1003	OK  0
H 123	L 396	= 519
H 6	L 7	= 13
H 1	L 457	= 458
H 230	L 773	= 1003	OK  1
H 130	L 717	= 847
H 2	L 151	= 153
H 126	L 4	= 130
H 2	L 468	= 470
H 2	L 60	= 62
H 5	L 51	= 56
H 5	L 274	= 279
H 239	L 774	= 1013	OK  1
H 203	L 793	= 996	OK  1
H 130	L 798	= 928
H 11	L 3	= 14
H 10	L 41	= 51
H 228	L 12	= 240
H 1	L 772	= 773
H 114	L 379	= 493
H 4	L 1	= 5
H 59	L 426	= 485
H 117	L 580	= 697
H 34	L 288	= 322
H 215	L 293	= 508
H 1	L 487	= 488
H 1	L 2	= 3
H 104	L 885	= 989	OK  0
H 229	L 784	= 1013	OK  1
H 223	L 773	= 996	OK  1
H 1	L 1	= 2
H 208	L 564	= 772
H 48	L 176	= 224
H 114	L 3	= 117
H 0	L 743	= 743
H 2	L 85	= 87
H 3	L 21	= 24
H 157	L 710	= 867
H 5	L 64	= 69
H 3	L 84	= 87
H 125	L 876	= 1001	OK  0
H 224	L 498	= 722
H 73	L 215	= 288
H 210	L 786	= 996	OK  1
H 140	L 861	= 1001	OK  0
H 227	L 766	= 993	OK  1
H 237	L 769	= 1006	OK  1
H 160	L 283	= 443
H 51	L 75	= 126
H 55	L 376	= 431
H 118	L 883	= 1001	OK  0
H 244	L 2	= 246
H 1	L 745	= 746
H 227	L 782	= 1009	OK  1
H 123	L 865	= 988	OK  0
H 227	L 785	= 1012	OK  1
H 120	L 874	= 994	OK  0
H 243	L 2	= 245
H 0	L 763	= 763
H 214	L 787	= 1001	OK  1
H 117	L 879	= 996	OK  0
H 138	L 859	= 997	OK  0
H 224	L 783	= 1007	OK  1
H 119	L 871	= 990	OK  0
H 225	L 780	= 1005	OK  1
H 135	L 861	= 996	OK  0
H 231	L 777	= 1008	OK  1
H 112	L 883	= 995	OK  0
H 124	L 548	= 672
H 8	L 1	= 9
H 1	L 1	= 2
H 87	L 224	= 311
H 121	L 876	= 997	OK  0
H 140	L 1868	= 2008	Minute Marker
H 139	L 865	= 1004	OK  0
H 223	L 777	= 1000	OK  1
H 122	L 885	= 1007	OK  0
H 121	L 871	= 992	OK  0
H 130	L 598	= 728
H 3	L 6	= 9
H 6	L 17	= 23
H 1	L 1	= 2
H 1	L 241	= 242
H 207	L 794	= 1001	OK  1
H 120	L 879	= 999	OK  0
H 217	L 782	= 999	OK  1
H 154	L 843	= 997	OK  1
H 126	L 483	= 609
H 23	L 363	= 386
H 141	L 867	= 1008	OK  0
H 230	L 772	= 1002	OK  1
H 209	L 784	= 993	OK  1
H 122	L 403	= 525
H 10	L 16	= 26
H 78	L 373	= 451
H 131	L 8	= 139
H 2	L 865	= 867
H 128	L 877	= 1005	OK  0
H 110	L 878	= 988	OK  0
H 235	L 777	= 1012	OK  1
H 117	L 878	= 995	OK  0
H 116	L 886	= 1002	OK  0
H 216	L 780	= 996	OK  1
H 125	L 855	= 980	OK  0
H 248	L 784	= 1032	OK  1
H 211	L 785	= 996	OK  1
H 119	L 873	= 992	OK  0
H 139	L 858	= 997	OK  0
H 224	L 778	= 1002	OK  1
H 126	L 116	= 242
H 75	L 680	= 755
H 216	L 795	= 1011	OK  1
H 212	L 783	= 995	OK  1
H 217	L 785	= 1002	OK  1
H 123	L 776	= 899
H 3	L 2	= 5
H 3	L 18	= 21
H 1	L 3	= 4
H 3	L 15	= 18
H 2	L 45	= 47
H 162	L 1	= 163
H 3	L 835	= 838
H 111	L 384	= 495
H 10	L 1	= 11
H 2	L 1	= 3
H 7	L 2	= 9
H 58	L 191	= 249
H 71	L 2	= 73
H 17	L 4	= 21
H 2	L 1	= 3
H 13	L 4	= 17
H 1	L 32	= 33
H 307	L 787	= 1094
H 230	L 770	= 1000	OK  1
H 152	L 37	= 189
H 20	L 4	= 24
H 10	L 1	= 11
H 3	L 2	= 5
H 4	L 759	= 763
H 247	L 2	= 249
H 0	L 506	= 506
H 2	L 247	= 249
H 211	L 792	= 1003	OK  1
H 121	L 871	= 992	OK  0
H 121	L 891	= 1012	OK  0
H 209	L 718	= 927
H 13	L 5	= 18
H 19	L 2	= 21
H 4	L 18	= 22
H 220	L 788	= 1008	OK  1
H 160	L 842	= 1002	OK  1
H 222	L 775	= 997	OK  1
H 119	L 891	= 1010	OK  0
H 199	L 799	= 998	OK  1
H 220	L 784	= 1004	OK  1
H 107	L 878	= 985	OK  0
H 127	L 882	= 1009	OK  0
H 227	L 769	= 996	OK  1
H 129	L 868	= 997	OK  0
H 242	L 763	= 1005	OK  1
H 116	L 879	= 995	OK  0
H 243	L 766	= 1009	OK  1
H 111	L 886	= 997	OK  0
H 121	L 694	= 815
H 5	L 4	= 9
H 80	L 96	= 176
H 125	L 850	= 975	OK  0
H 1	L 15	= 16
H 146	L 1860	= 2006	Minute Marker
H 118	L 884	= 1002	OK  0
H 128	L 873	= 1001	OK  0
H 120	L 881	= 1001	OK  0
H 211	L 512	= 723
H 2	L 1	= 3
H 21	L 254	= 275
H 120	L 871	= 991	OK  0
H 128	L 886	= 1014	OK  0
H 209	L 788	= 997	OK  1
H 217	L 784	= 1001	OK  1
H 229	L 770	= 999	OK  1
H 208	L 785	= 993	OK  1
H 120	L 887	= 1007	OK  0
H 123	L 873	= 996	OK  0
H 223	L 779	= 1002	OK  1
H 214	L 782	= 996	OK  1
H 219	L 786	= 1005	OK  1
H 122	L 880	= 1002	OK  0
H 115	L 880	= 995	OK  0
H 224	L 780	= 1004	OK  1
H 121	L 880	= 1001	OK  0
H 111	L 891	= 1002	OK  0
H 224	L 773	= 997	OK  1
H 215	L 778	= 993	OK  1
H 241	L 413	= 654
H 3	L 4	= 7
H 5	L 340	= 345
H 220	L 783	= 1003	OK  1
H 124	L 868	= 992	OK  0
H 156	L 855	= 1011	OK  1
H 216	L 784	= 1000	OK  1
H 121	L 873	= 994	OK  0
H 122	L 788	= 910
H 4	L 87	= 91
H 230	L 773	= 1003	OK  1
H 216	L 784	= 1000	OK  1
H 173	L 2	= 175
H 1	L 819	= 820
H 121	L 883	= 1004	OK  0
H 121	L 878	= 999	OK  0
H 213	L 783	= 996	OK  1
H 223	L 788	= 1011	OK  1
H 105	L 899	= 1004	OK  0
H 205	L 553	= 758
H 23	L 2	= 25
H 9	L 208	= 217
H 215	L 768	= 983	OK  1
H 138	L 815	= 953
H 194	L 858	= 1052
H 221	L 781	= 1002	OK  1
H 225	L 778	= 1003	OK  1
H 131	L 860	= 991	OK  0
H 222	L 323	= 545
H 6	L 24	= 30
H 3	L 4	= 7
H 2	L 2	= 4
H 1	L 15	= 16
H 58	L 9	= 67
H 56	L 3	= 59
H 3	L 12	= 15
H 11	L 53	= 64
H 9	L 2	= 11
H 64	L 128	= 192
H 115	L 263	= 378
H 39	L 582	= 621
H 230	L 768	= 998	OK  1
H 226	L 777	= 1003	OK  1
H 153	L 844	= 997	OK  1
H 121	L 876	= 997	OK  0
H 219	L 785	= 1004	OK  1
H 110	L 891	= 1001	OK  0
H 224	L 772	= 996	OK  1

Heißt also, dass ich ein Signal bekomme und dass es prinzipiell richtig angeschlossen ist, korrekt?

Ich mach mich mal an Deine anderen Sketche, die Du mit über GitHub bereitstellst. Mit welchem könnte ich jetzt mal weiter machen? Was macht in einem weiteren Schritt Sinn?

Grüße Tim

TConnect:
Heißt also, dass ich ein Signal bekomme und dass es prinzipiell richtig angeschlossen ist, korrekt?

Ja.

Das, was Du im Beitrag #30 gepostet hast, war nur reiner Datenmüll, darin konnte ich kein Muster erkennen.

Zuletzt in #31 war es ein "fast gutes" Signal. Zwar wohl bei weitem nicht gut genug, damit Du mit dem simplen Code von Thijs Elenbaas irgendeine gültige Zeit bekommen kannst. Das kannst Du wohl vergessen.

Aber Udo sollte da eigentlich bei seinen Sketchen etwas dabeihaben, mit dem ein Signal dieser Qualität noch decodiert werden kann. Zwar wohl auch nicht innerhalb einer Minute, aber innerhalb einer überschaubaren Anzahl von Minuten.

Nachdem mit dem Conrad Modul bei meinem Sketch nichts rauskam, mit einem anderen aber schon, war das Modul wohl falsch angeschlossen. Oder die Pinbelegung nicht richtig eingestellt. Kannst Du mal zehn Minuten mit meinem Sketch und korrekter Pinbelegung aufzeichnen?

Suchst Du immer noch "schlechte DCF-Signale, aufgezeichnet mit dem DCF77 Scope Sketch"?

Anbei hänge ich Dir mal eine Aufzeichnung von ca. drei Stunden dran, die ich heute nachmittag gemacht habe, bei recht schlechtem Empfang mit einem wohl über 25 Jahren alten DCF77 Modul von Conrad. Aufgezeichnet in Schleswig-Holstein, der DCF77 Sender befindet sich knappe 450 km Luftlinie von mir entfernt.

Wenn Du mit Deinen Modulen "schlechten Empfang" haben möchtest, brauchst Du doch eigentlich nur einen Aufbau mit DCF77 Modul und eine bewegliche "Energiesparlampe in Glühlampenfassung". Die Stärke der DCF-Störungen erhöhst Du, indem Du die eingeschaltete Lampe näher zum DCF-Modul bewegst und die Störungen werden vermindert, indem Du die Lampe weiter weg vom DCF-Modul bewegst. So kannst Du beliebig große DCF-Empfangsstörungen simulieren, einfach durch Abstandsveränderung zu einer Energiesparlampe.

BadDCF77.zip (170 KB)

Hi Jurs,

erst mal Danke für die Aufzeichnung. Ich erzwinge schlechten Empfang meistens dadurch, daß ich ein aktives Handy direkt auf die Antenne lege. Oder indem ich Zufallszahlen zum demodulierten Signal dazugebe. Damit kann ich gut testen. Was ich nicht simulieren kann ist: was für Probleme haben Leute die ein richtig schlechtes Signal haben obwohl sie von Störquellen fern bleiben wollen? Solange ich keine "realistischen" Aufzeichnungen habe kann ich da nur raten.

D.h. es hilft mir nichts wenn mir Leute schlechte Signale synthetisieren. Das kann ich selber.

Was ich letztendlich brauche ist ein Modell des zu erwarteten Rauschens. Typischerweise modelliert man "AWGN" also weisses Rauschen. Nur: ist das wirklich so? Wenn nicht, dann könnte man durch ein besseres Modell noch ein bischen mehr rauskitzeln.

Viele Grüße,
Udo

Nachtag zum aufgezeichneten Signal - und nochmal danke für die Mühe.

  1. Das war wohl ein Uno mit Resonator (macht nichts für die Analyse, nur die Library kann halt nichts damit anfangen)
  2. Die Polarität des Signals war invertiert (ebenfalls kein Problem)
  3. Die Störungen sind gering.
    3a) Viele kurze Störimpulse (die schon in der ersten Decoderstufe weggefiltert werden)
    3b) Einige Längere Aussetzer (die relative wenige Bitfehler erzeugen)

Ich würde sagen: sowas bringt meine Library noch nicht einmal ansatzweise an ihre Grenzen. Hat jemand mal ein richtig schlechtes Signal für mich? Also ohne die besagten Energiesparlampen? Mich interessieren vor allem die Störungen die "auf der Strecke" hinzukommen. Elektrosmog kann ich dann schon selber dazumischen?

Ja, UNO mit Resonator. Boards mit Schwingquarz gibt es kaum noch. Wahrscheinlich haben zu viele Bastler in der Vergangenheit ihre Arduino-Boards in Roboter und Quadcopter eingebaut, wo sie zu starken Erschütterungen und Crashs ausgesetzt waren, so dass es reihenweise zu Ausfällen wegen defekter Schwingquarze gekommen ist. Schwingquarze sind ja relativ stoßempfindlich und die keramischen Resonatoren können viel höhere g-Beschleunigungen verkaften und sind dabei ziemlich unkaputtbar.

Irgendwo müßte ich aber noch ein altes Board mit Quarz rumfliegen haben. Wenn mal wieder ein "Bad DCF77 Day" ist, kann ich das Modul ja mal dranhängen.

Keine Ahnung, wieso das Signal hier bei mir gestern so gestört war, jedenfalls heute ist mein Signal am selben Arduino, mit demselben DCF-Modul, am selben Standort wieder völlig einwandfrei:

Also entweder hatten wir auch gestern einen geomagnetischen Sonnensturm, der den Empfang verschlechtert hat. Oder es waren die ganzen Gewitterzellen, die durch Deutschland gezogen sind. Ich hatte gestern nebenbei auch mal aufs Regenradar geschaut: Deutschland war regelrecht mit einem Flickenteppich von Regengebieten durchzogen und in etlichen Gebieten wurde zeitweise auch "Starkregen" angezeigt, so dass ich mal davon ausgehe, dass das Gewitterzellen waren. Eventuell waren die kurzfristigen Störungen einfach Gewitterblitze zwischen Frankfurt und Schleswig-Holstein aufgrund von Gewittern?

Invertiert? Für mich ist das Signal so "normal".

Also mein Signal gestern war schlecht, ohne dass ich es künstlich verschlechtert hätte. Unter genau denselben Betriebsbedingungen, die heute ein gutes Signal liefern, war das Signal gestern schlecht. Wie gesagt, ich habe für gestern Gewitter in Deutschland im Verdacht.

Für richtig schlechte Signale wirst Du vermutlich Leute im Ausland suchen müssen. Kalkuliere doch mal grob: Die Reichweite von DCF wird mit 1500 km angegeben, aber in Deutschland gibt es fast nirgendwo eine Entfernung von mehr als 500 km Luftlinie zum DCF-Sender. Da sich die Funkwellen im Raum ausbreiten, nimmt die Feldstärke mit der dritten Potenz der Entfernung ab. Oder umgekehrt: Bist Du dreimal dichter am Sender dran als es der Maximalreichweite entspricht, ist die Empfangsfeldstärke 333 = 27-fach höher als unter Minimalbedingungen erforderlich.

Außer durch Sonnenstürme und Gewitter, wo sollen in Deutschland so große Störungen "auf der Strecke" dazukommen?

Ich gehe davon aus: Wenn jemand in Deutschland das DCF-Signal nicht ordentlich reinbekommt, an Tagen ohne "Sonnensturm" und ohne "Gewitter in Deutschland", sind die Störungen bei ihm immer im Nahbereich zu suchen, und nicht zuerst "auf der Strecke".

Ich werde das mit den Gewittern mal auf dem Regenradar im Auge behalten. Und dann mal ggf. mein quarzgenaues Arduino-Board für eine Aufzeichnung mit Deinem Scope-Sketch dranhängen, wenn ich hier mal wieder einen Bad-DCF77-Day habe. Heute ist der Empfang jedenfalls (anders als gestern) wunderprächtig und praktisch störungsfrei.

Hi Jurs,
mit invertiert habe ich gemeint, daß die Zeile

const uint8_t dcf77_inverted_samples = 1;

bei Dir besser

const uint8_t dcf77_inverted_samples = 0;

sein sollte. Was die Qualität angeht: Dein Log sah für mich nach gutem Empfang aus. Die Feldstärke nimmt übrigens quadratisch ab, nicht kubisch. Die Feldstäke ist aber normalerweise kein Problem, sowas korrigiert man mit einer größeren Antenne (Ferritantenne zum Empfang von Langwelle Signalen von 20-100 kHz BAZ Spezialantennen) :wink:

-Udo

Jetzt verstehe ich, was Du meinst. Den Code hatte ich unverändert übernommen, so wie ich den Sketch heruntergeladen hatte.

Stimmt, Denkfehler von mir. Wie bei der Lautstärke eines Schallsignals nimmt auch die Feldstärke von Funkwellen mit 1/r ab, also mit der Fläche der Kugel: Dreifacher Kugelradius = neunfache Kugelfläche = 1/9 Feldstärke.

Gerade sehe ich übrigens auf dem Regenradar von T-Online, wie sich von Westen her ein Regengebiet heranschiebt, und obwohl es die Linie Frankfurt - Schleswig-Holstein noch gar nicht erreicht hat, zeigt das heute bis zum frühen Nachmittag völlig fehlerfreie DCF-Signal bereits wieder erste Aussetzer an meinem Conrad-Modul.