Forum: Projekte & Code Ad-hoc-Frequenznormal und -Zeitzeichenempfänger


von Daniel V. (danielv2)



Lesenswert?

Smartphone, GPS & Co zum Trotz: Ein weiterer Selbstbau-DCF77-Empfänger!

Wie man sieht, diesmal einer mit 08/15 Bauteilen. Qualitativ aber 
brauchbar. Grund ist das SDR-Konzept ("Software-defined radio"). Dazu 
verwendet wird der STM32F103C8T6 (das Blue Pill Board).

Der Empfänger ist gut als Behelfslösung (oder zum Basteln) geeignet. Als 
Alternative zum normalen Empfänger nur bedingt:

- Der Stromverbrauch ist mit 15mA enorm (1000x). Ein Betrieb mit
  Knopfzellen ist nicht möglich.
- Der Controller stört den Empfang. Eine kompakte Bauweise geht nur
  bedingt (s. "STM32-Störungen mindern" in "dcf77.h").
- Normalerweise unkritische Stromspitzen auf den GND-/VCC-Leitungen
  sind sehr störend. (s. "Verwendung" in "dcf77.h")
- Eventuell müssen während des Empfangs andere Tätigkeiten
  (Display-Ansteuerung, ...) eingestellt werden (s.u. "Verwendung").
- Das Programm (inkl. Dekoder) belegt mit etwa 9 kB einen wesentlichen
  Teil vom Flash.
- bla
  - Fremdsoftware erzeugt Abhängigkeiten.
  - Fremdsoftware ist selten Plug&Play.

Wer den Empfänger trotzdem nicht nur vorübergehend einsetzen möchte, der 
findet in der "DCF77.h" unter "Verwendung" einige Hinweise.


(1) Hardware

Die Schaltung darf grob nachgebaut werden. Bauteilabweichungen von 50% 
wären allerdings etwas viel.

Bei der Wahl der Empfangsspule ist auch wenig zu beachten. Spulen mit 
Eisenkern oder geschlossene Spulen sind jedoch unbrauchbar. Je größer 
der Durchmesser der Spule und je mehr Windungen, desto höher wird die 
empfangene Spannung. Ein Kern aus Ferritmaterial wirkt dabei als 
Multiplikator/Verstärker. Das beste Signal erreicht man mit der längsten 
im Bild gezeigten Spule. Allerdings findet man sie selten in einer 
Bastelkiste. Hier meist kaum schlechter sind deutlich kleinere Spulen. 
Besonders praktisch sind Speicherdrosseln, weil die überall verbaut sind 
und der Induktivitätswert bekannt (aufgedruckt) ist. Bei mehr als 500 km 
Senderentfernung sollte man signalschwache Spulen (oft klein und 
L<200µH) erstmal meiden.

Passend zur Spule ist der Kondensator zu wählen. Elektrolytkondensatoren 
sind ungeeignet. Der Kondensator sollte eine gute (?Steckbrett?) und 
direkte Verbindung zur Spule haben. Zur Berechnung bitte googeln nach 
"wikipedia schwingkreis" oder "schwingkreis online berechnen".

Es kann passieren, dass der Aufdruck auf der Spule oder dem Kondensator 
falsch gelesen/interpretiert wird oder dass man sich verrechnet. Das 
wäre schlecht.



(2) Software

Der Anhang 08_Software_DCF77_v1.zip enthält folgende Dateien:
1
- DCF77.c, DCF77.h
2
  Der "Empfänger".
3
4
- DCF77DecBit.c, DCF77DecBit.h
5
  Ein normaler (verwendbar bis ca. 3% Bitfehler) Dekoder.
6
7
- DCF77DecHit.c, DCF77DecHit.h
8
  Ein fehlertoleranterer (bis ca. 15%) Dekoder.
9
10
- main.c
11
  Beispiele für die Verwendung der obigen Dateien.
12
13
- main_LCResonanceMeter.c
14
  Eigenständiges Hilfsprogramm. Nützlich wenn man die Resonanzfrequenz des
15
  Schwingkreises messen/prüfen möchte.
16
17
- DCF77p.hex
18
  Kompilat aller obigen Dateien. Kann mit den üblichen Programmen
19
  zum STM32F103C8T6 übertragen/"geflashed" werden.

Es gibt keine richtige Dokumentation. Das Nötigste findet man in den 
jeweiligen Header-Dateien.

Das einfachste ist, wenn man eines der Beispiele aus "main.c" für seine 
Zwecke anpasst. Die anderen Dateien sollten besser unverändert bleiben.

Das allereinfachste ist, wenn man die Datei "DCF77p.hex" flasht, per 
Jumperkabel das passende Beispielprogramm wählt und die USART-Ausgabe 
(9600/8-N-1 an GPIO_PA9) auswertet.
1
Zur Auswahl des Beispiels den entsprechenden GPIO-Pin vor dem Start
2
mit GND verbinden:
3
4
  PA0 : USART_LCResonanceMeter
5
        (s.o. main_LCResonanceMeter.c)
6
        LC-Parallelschwingkreis an GND und über 1 kOhm Widerstand an PA6.
7
        Der Empfänger sollte/darf angeschlossenen bleiben. Die ermittelte
8
        Resonanzfrequenz wird an USART1 (9600/8-N-1 an GPIO_PA9) ausgegeben.
9
  PA1 : LED_SignalQuality
10
        Empfangsqualität durch Blinken der Bluepill-LED anzeigen
11
        0 x blinken  unbrauchbar (Trefferzahl   0..19 Bits)
12
        1 x blinken  schlecht    (Trefferzahl  20..40 Bits)
13
        2 x blinken  gut         (Trefferzahl  40..60 Bits)
14
        3 x blinken  sehr gut    (Trefferzahl 60..256 Bits)
15
  PA2 : LED_MinuteSignal
16
        Bluepill-LED für die erste Sekunde einer Minute einschalten.
17
        Solange unbekannt, Dauerleuchten.
18
  PA3 : GPIO_SyncSignals
19
        1. Sekundenimpuls an GPIO_PB0
20
           - bei DCF77-Sekundenbeginn steigende Flanke an PB0
21
           - die Abweichung ist besser als +-0.7ms
22
           - die Impulsdauer ist mind. 70ms
23
           - bei schlechtem Signal wird kein Impuls ausgegeben
24
        2. Frequenznormal mit 1000 Hz an GPIO_PA8
25
           - die Phasenlage ist (einmalig) zufällig
26
           - die Phasenlage ist dauerhaft ("Atomzeit") auf +-3µs konstant
27
             (zuzüglich sonstigen Fehlern (+-10µs?; s. "PTB-Mitteilungen 114
28
             (2004), Heft 4")
29
           - das Signal wird erst bei ausreichend sicherem Empfang eingeschaltet
30
             (mind. 10s)
31
           - das Signal wird bei schlechtem Empfang _dauerhaft_ abgeschaltet
32
             (STM32-Reset erforderlich)
33
             -> damit ist sichergestellt, dass ein vorhandenes GPIO_P8-Signal
34
                immer synchron ist
35
           - Taktverhältnis 1:1
36
           - Temperaturausgleich abwarten (z.B. 1-2 Minuten für Eigenerwärmung)
37
           - schnelle Temperaturänderungen verhindern
38
  PA4 : USART_DCF77
39
        Liefert Informationen über den Empfang. Die Ausgabe erfolgt an
40
        USART1 (9600/8-N-1 an GPIO_PA9). Die Bedeutung der Parameter 
41
        ist in "DCF77.h" beschrieben.
42
  PA5 : USART_DecodeBitValue
43
        Zeigt Datum, Uhrzeit und Zeitzone an. Die Dekodierung erfolgt auf Basis
44
        der "DCF77_BitVal"-Werte. Die Bedeutung der Parameter ist in
45
        "DCF77DecBit.h" beschrieben.
46
  PA6 : USART_DecodeHitValue
47
        Zeigt Datum, Uhrzeit und Zeitzone an. Die Dekodierung erfolgt
48
        auf Basis der "DCF77_HitVal"-Werte. Die Bedeutung der Parameter ist 
49
        in "DCF77DecHit.h" beschrieben.
50
        - fehlertolerant (erreicht wird das durch Zusammenfassung von Messdaten
51
          über max. 10 Minuten) 
52
        - liefert Information über die Fehlerwahrscheinlichkeit
53
        Achtung: Die "dbErr"-Werte zeigen keine Fehlerzahl. Der Minimalwert 0
54
        bedeutet quasi Zufall und der Maximalwert 255 bedeutet eine
55
        Fehlerwahrscheinlichkeit von 1:5000 Milliarden. Siehe "DCF77DecHit.h".



(3) Erstbetrieb / Fehlersuche

Das Ziel ist, eine funktionierende Basis zu schaffen.
1
1. Schaltung aufbauen und anschließen (drei Leitungen)
2
2. die DCF77p.hex zum STM32F103C8T6 übertragen ("flashen")
3
3. Zuleitung Empfangsspule zur Empfängerelektronik kurz halten (<5cm)
4
4. sämtliche Leitungen von der Empfangsspule fernhalten
5
5. Mindestabstände für die Empfangsspule sicherstellen:
6
   - 10 cm zum Controller und damit verbundenen Teilen (Batterien, ...)
7
   - 1 m zu sonstiger Elektronik (insbesondere Monitor, Rechner, ?Smartphone?)
8
4. Antenne ausrichten:
9
   - Spulenachse senkrecht zu Frankfurt-Mainflingen und waagerecht zum Boden
10
   - bei flachen Spulen (SMD, Luftspule) kurz nachdenken
11
5. Controller-Leitung GPIO_PA1 mit GND verbinden (wählt Beispiel #1
12
   "LED_SignalQuality" aus)
13
6. Controller resetten oder kurz vom Strom trennen
14
7. Daumen_drücken
15
   Die Leuchtdiode vom Blue Pill Board sollte nach einigen Sekunden zu
16
   blinken beginnen. Falls sie meist doppelt oder dreifach blinkt:
17
   Prima - Erstbetrieb erfolgreich! Andernfalls...
18
8. Mit einem Multimeter die Spannung an den Transistoren überprüfen:
19
   Die Spannung zwischen Kollektor und Emitter muss bei beiden
20
   Transistoren 1V-2V betragen.
21
9. Überbrückung (von GPIO_PA1-GND) nach GPIO_PA2-GND ändern (Beispiel #2
22
   "LED_MinuteSignal")
23
10. Controller resetten oder kurz vom Strom trennen
24
    Die Leuchtdiode sollte nun dauerhaft leuchten. Falls nicht, dann ist das
25
    Programm nicht richtig geflasht worden oder das Board ist falsch oder
26
    kaputt. 
27
    Wenn aber die LED leuchtet, mit dem nächsten Punkt fortzufahren:
28
11. Überbrückung nach GPIO_PA4-GND ändern (Beispiel #4 "USART_DCF77")
29
12. Leitung GPIO_PA9 mit einem seriellen Adapter verbinden,
30
    Adapter konfigurieren ...
31
    - 9600 Baud
32
    - 8 Bit
33
    - keine Parität
34
    - 1 Stoppbit
35
    ... und serielle Konsole (z.B. "PuTTY") starten.
36
13. Controller resetten oder kurz vom Strom trennen
37
14. Der serielle Adapter sollte nun jede Sekunde eine Datenzeile
38
    empfangen/anzeigen. Wichtig von diesen Daten ist der Zahlenwert
39
    der vor "uV" steht (die Signalspannung für die Senderfrequenz). 
40
    Nun bitte den Schwingkreis C1-L1 vom Kondensator C2 abtrennen. Sollte 
41
    der Wert der Signalspannung über 50µV liegen, dann werden zu viele 
42
    Störungen eingestreut (bitte abstellen). Als zweites den Antennenanschluss
43
    am Kondensator C2 mit den Fingern anfassen. Sollte die Signalspannung nicht
44
    über 1000 µV ansteigen, dann liegt ein Fehler im Verstärker vor oder er 
45
    ist falsch am STM-Board angeschlossen.
46
    Andernfalls mit dem nächsten Punkt fortfahren:
47
15. Überbrückung nach GPIO_PA0-GND ändern (Programm "LCResonanceMeter")
48
16. Controller resetten oder kurz vom Strom trennen
49
17. Den Schwingkreis an GND und über 1 kOhm Widerstand an PA6 anschließen 
50
    (s. Bild). Falls der serielle Adapter einen Wert außerhalb von 77500Hz +- 
51
    5000 Hz anzeigen, bitte Schwingkreis besser abstimmen.
52
18. Bitte ausprobieren (sieht nicht gut aus):
53
    - anderer Messort (um eine unerkannte Störquelle auszuschließen)
54
    - Betrieb ohne Spannungsregler mit passender(!!!) Batterie
55
    - weiteres: siehe "Hardware-Todo" in "DCF77.h"
56
    Bei sehr großer Senderentfernung gäbe es noch folgende Ideen:
57
    - eine große Spule mit viel Windungen und Ferrit
58
      (z.B. 50mm x 8mm) verwenden
59
    - genauer Abgleich (+-2kHz) der Schwingkreisfrequenz
60
    - einige Stunden nach Sonnenuntergang messen


(4) Tipp für den Spulentest

Letztendlich wichtig ist, ob eine Spule reicht oder nicht reicht.
Bei dieser Frage hilft der Parameter "AvrHitVal" vom DCF77DecHit-Dekoder 
(s. Beispiel #6 "USART_DecodeHitValue"). Dieser liefert nach rund einer 
Minute (träge) einen Wert, womit sich die mittlere Dekodierzeit für die 
jeweilige Empfangssituation aus einer Tabelle (s. "DCF77DecHit.h") 
ermitteln lässt.

-

Übrigens:
Die Schwingkreisspannung bei der noch im Mittel nach zehn Minuten Datum 
und Uhrzeit mit einer Fehlerwahrscheinlichkeit besser als 1:100.000 
empfangen wird, beträgt 0.00000003 Volt (0.03µV)!


Viel Erfolg und viel Spaß beim Basteln!

: Bearbeitet durch User
von Daniel V. (danielv2)



Lesenswert?

Diverses (nur unwichtiges)

Bis zur Fertigstellung vom Programm war für mich der Teil vor dem 
ADC-Eingang unwichtig. Der Verstärker wurde mit LTSpice per Trial/Error 
"entworfen" und die Schwingkreise wurden vom Inhalt der Bastelkiste 
"inspiriert". Ob man bei größerer Senderentfernung auch so vorgehen 
darf? Vor der "Veröffentlichung" wollte ich das geklärt haben. (Es wäre 
einfach zu schade wegen der langen Programmentwicklungszeit.) Als Folge 
ist das Projekttagebuch nun doppelt so dick geworden. Manches daraus 
habe ich aufbereitet, da es vielleicht für andere interessant ist:
1
Inhalt
2
(1) Wo liegt die Grenze bei der Spulenwahl?
3
(2) Signalqualität und Signalstärke
4
(3) Wie wichtig ist die Bandbreite vom Schwingkreis?
5
(4) Wie genau muss die Resonanzfrequenz abgeglichen werden?
6
(5) Wie wichtig ist die Antennenausrichtung?
7
(6) Wie gut sind "Ad-hoc-Spulen"?
8
(7) Geht ein Empfang auch ohne Schwingkreis?
9
(8) DCF77-Feldstärke im Münsterland
10
(9) "DCFMeter"


(1) Wo liegt die Grenze bei der Spulenwahl?

Da hier im Münsterland das Empfangssignal (DCF77: 30 kW; 270km) zu gut 
ist, habe ich Tests mit dem russischen Zeitzeichensender RBU (RBU 66: 
10kW; 2000km) gemacht:

Bei Tageslicht erhält man mit der langen Stabantenne (s. Bild - 
Schwingkreis #19) etwa 25% Bitfehler. Mit der kleinen hellblauen 400µH 
Drossel (#17) verschlechtert sich der Wert um einige Prozent. Die 
winzige SMD-Spule (durch neue Wicklung von 22µH nach 700µH 
"hochgeskillt"; #14) liefert rund 40% Bitfehler. Bei Tageslicht ist eine 
Dekodierung (die Grenze ist 15%) also mit keiner Spule möglich.

Bei Dunkelheit erreicht man mit der langen Antenne unter 0.1% Bitfehler, 
mit der 400µH Drossel etwa 0.2% und mit der SMD-Spule etwa 8% Bitfehler. 
Bei Dunkelheit ist eine Dekodierung also immer möglich. Bei der großen 
Spule bereits bei Sonnenuntergang und bei der SMD-Spule 1-2 Stunden 
später. Außerdem muss sie genauer als +-30° ausgerichtet sein. Mit einem 
zusätzlichen Vorverstärker (5x; JFET) sinkt die Bitfehlerqoute auf 2% 
und die Ausrichtungstoleranz steigt auf etwa +-50°.

"Erkenntnisse":
(Für den RBU wurde ein grundsätzlich anderer Empfängerprogrammcode 
verwendet. Die Aussagen sind desbalb unsicher.)
- Die in üblichen DCF-Empfängern verwendeten großen Spulen sind hier
  unnötig.
- Eine 22µH SMD-Spule mit 8x8x3 mm³ ist für den sicheren Betrieb
  in 2000km Senderentfernung selbst mit ergiebigerer Wicklung und
  zusätzlicher Verstärkung nicht verwendbar. (Beim 270km entfernten
  DCF77 reicht die Originalspule mit Originalverstärker vollkommen.)
- Bei sehr großer Senderentfernung ist ein Empfang möglicherweise
  erst in den Nachtstunden (Dunkelheit) möglich.
- Kleine Spulen oder welche mit vielen Windungen verschlechtern die 
Qualität.
  Erkennbar ist das daran, dass - verglichen mit größeren Spulen -
  für die gleiche Bitfehlerqoute eine höhere ADC-Spannung nötig ist.


(2) Signalqualität und Signalstärke

Im wesentlichen ist die Signalqualität "DCF77_HitVal" proportional zur 
Signalstärke "Signal_Ueff_uV". Die Proportionalitätskonstante hängt von 
der 'Störung' ab. Dazu gehören alle Fremdsignale, besonders solche um 
77500Hz+-650Hz. In der Regel wird das aber das Rauschen sein, dass in 
der ersten Verstärkerstufe entsteht. Das Bild 
"01_QualitätUndSpannung.png" (wenig Inhalt - dafür bunt) zeigt Verläufe 
für unterschiedliche Mengen an rosa Rauschen.

Die 100%-Linie gilt als Referenzrauschmenge und entspricht in etwa dem 
Rauschen des hier verwendeten Verstärkers. Wie man sieht nimmt die 
Empfindlichkeit (Steigung) bei weniger Rauschen erwartungsgemäß zu. 
Unter der Rauschmenge von 5% kehrt sich das allerdings um. Grund ist die 
ADC-Auflösung (800µV=3.3V/4096). Der 5% Rauschschwellwert ergibt sich 
dabei aus dem Anteil vom Rauschen um 77500Hz bezogen auf das gesamte 
Rauschen. Aus dem Bild lässt sich folgern, dass die 35 fache Verstärkung 
der zweiten Verstärkerstufe effektiv/qualitativ nur etwa 6 beträgt. Der 
ADC arbeitet ("Rauscharbeitspunkt") dafür in einem sehr stabilen 
Bereich.

Bei einem HitVal von etwa 10 Bit liegt ein anderer Schwellwert. Dieser 
entsteht dadurch, dass der TPRNBitOfs-Programmcode innerhalb der 200s 
simulierten Sekunden je Messpunkt die Position der PRN-Sequenz nicht 
immer finden konnte. Dieser Wert hängt also vom Algorithmus und der 
Laufzeit ab.

Bei einem HitVal von etwa 13 Bit liegt noch ein Schwellwert. Ab diesen 
Hitval können Daten vom "DCF77DecHit.h"-Dekoder dekodiert werden. Der 
Wert hängt ausschließlich von der verrechneten Messzeit ab, der 
"DCF77DecHit.h"-Dekoder erlaubt hier maximal 10 Minuten.

Die Verstärkung der Schaltung hängt stark von den verwendeten 
Transistoren ab. Selbst bei Transistoren vom gleichem Typ gibt es große 
Unterschiede. Bei einem konkreten Aufbau liegt man nicht auf der 100% 
Linie sondern eher auf einer gedachten Linie zwischen 50% und 200%. - 
Mit der Verstärkung ändert sich auch die Rauschmenge. Für einen 
bestimmten Schwingkreis erhält man je nach Transistor zwar 
unterschiedliche Spannungen, der Qualitätswert "DCF77_HitVal" wird aber 
ähnlich sein.

Genau genommen gibt "Signal_Ueff_uV" nicht die Signalstärke, sondern die 
Amplitude im Intervall 77500Hz+-0.5Hz an. Das Nutzsignal liegt aber eher 
im Intervall 77500Hz+-650Hz. Die Amplitude von Störungen in diesem 
Bereich wird mit "Signal_Ueff_uV" also nicht erfasst, was Vor- und 
Nachteile hat. Außerdem ist die Amplitude über eine Sekunde gemittelt, 
wobei der DCF77 aber nur einmalig je Minute für eine volle Sekunde 
sendet.


(3) Wie wichtig ist die Bandbreite vom Schwingkreis?

Je niedriger die Bandbreite desto stärker werden unerwünschte Frequenzen 
gedämpft. Der Schwingkreis unterstützt also den Störungsfilter in der 
Software. Dieser ist besonders für Frequenzen um 77500Hz störanfällig 
("02_Softwarefilter.png"). Das ist hinzunehmen, da in dieser 
"Hauptkeule" das Nutzsignal liegt. Die Nebenkeulen dürfen aber 
unterdrückt werden. Alle zusammen erhöhen den unvermeidlichen Störanteil 
der Hauptkeule um 82% (die logarithmische Darstellung täuscht hier). Ein 
Schwingkreis mit einer schlechten Bandbreite von 5000Hz senkt diesen 
Wert auf praktisch ideale 13%. Bezüglich der Störunterdrückung spielt 
die Bandbreite also eine geringe Rolle.

Die Parameter vom Softwarefilter (-3dB bei +-560Hz; -72dB bei +-1100Hz) 
wurden anhand von Testdaten "nach Gefühl" gewählt: Ein Kompromiss aus 
Qualitätsverlust durch Störungen und Qualitätsverlust durch 
Nutzsignalschwächung.

Die Nebenkeulen könnten durch die Software entfernt werden: Ein Filter 
mit z.B. halbiertem 'PeriodsPerSample' halbiert die Keulenzahl. 
Problematisch ist nicht die STM32-Last sondern der steigende 
Debug-Datenstrom (>60kB/s).


(4) Wie genau muss die Resonanzfrequenz abgeglichen werden?

Eigentlich einfach: Bei einer Abweichung von einer halben Bandbreite 
sinkt die Spannung auf 70% und bei einer ganzen Bandbreite auf ca. 50%. 
Unklar ist, inwiefern sich die Unsymmetrie in den Seitenbändern auf den 
Qualitätswert "DCF77_HitVal" auswirkt. Aus diesem Grund wurde ein 
DCF-Signal, der Schwingkreis und ein Verstärkerrauschen simuliert und 
dem normalen Programm ("DCF77.c") als ADC-Wert übergeben. Es stellte 
sich heraus, dass die einfache Rechnung reicht.

Als Nebenprodukt entstanden folgende Qualitätswertverläufe:
1
          | U/U0 | HitVal in Bit bei beispielhaften
2
          | / %  | Signal_Ueff_uV-Werten
3
    df/fb |      |  50 µV   100 µV   200 µV   400 µV
4
    ------+------+----------------------------------
5
     0.0  |  100 |   23.0     46.7     92.1    167.4
6
     0.1  |   98 |   22.5     45.6     90.6    164.6
7
     0.2  |   93 |   21.4     43.6     86.3    158.6
8
     0.3  |   86 |   20.1     40.4     81.1    149.7
9
     0.4  |   78 |   18.6     36.6     74.9    139.3
10
     0.5  |   71 |   16.3     34.2     67.3    128.8
11
     0.6  |   64 |   15.3     31.0     61.4    119.0
12
     0.7  |   58 |   12.5     27.3     56.8    109.6
13
     0.8  |   53 |   11.1     25.2     52.4    101.5
14
     0.9  |   49 |   12.5     23.5     48.2     93.8
15
     1.0  |   45 |   11.8     22.5     44.9     87.3
16
     1.1  |   41 |   11.0     20.9     41.7     81.5
17
     1.2  |   38 |    9.3     19.5     38.9     76.3
18
     1.3  |   36 |    7.1     18.5     36.7     71.6
19
     1.4  |   34 |    8.5     17.3     34.4     67.5
20
     1.5  |   32 |    0.0     13.3     32.5     64.0
21
     1.6  |   30 |    0.0     15.2     30.6     60.9
22
23
    df/fb : Abweichung in Relation zur Bandbreite
24
    U/U0  : Näherung der Amplitudenabnahme (=1/sqr(4*(df/fb)^2+1))
25
26
    Beispiel:
27
    Bei einer Bandbreite von 5kHz führt ein Fehlabgleich von 3kHz (df/fb=0.6)
28
    dazu, das man z.B. statt einem "DCF77_HitVal" von 92 Bit nur einen Wert
29
    von 61 Bit erhält.

Durch den hier verwendeten Verstärker werden die Schwingkreise praktisch 
auf eine Bandbreite von etwa 4kHz "normiert". Ein Abgleich der 
Resonanzfrequenz auf max. +-2 kHz Abweichung sollte deshalb reichen.


(5) Wie wichtig ist die Antennenausrichtung?

Die Signalstärke nimmt erst langsam und später schnell ab 
(Cosinus-Funktion). Bei 60° halbieren sich Signal und Qualität. Bei 
maximaler Fehlausrichtung von 90° (normalerweise kein Signal) ist oft 
ein Empfang trotzdem zeitweise möglich!


(6) Wie gut sind "Ad-hoc-Spulen"?

Zur Erzeugung eines Magnetfeldes wurde eine Luftspule mit 65cm 
Durchmesser verwendet ("03_Ad-hoc-Messaufbau.jpg"). Der Spulenstrom 
stammt von zwei STM32-PWM-Ausgängen. Es lassen sich so Wechselfelder von 
30kHz bis 120kHz mit einer definierten Feldstärke von bis zu 14 V/m 
erzeugen. Im Spulenzentrum ist das E-Feld somit 4000 mal stärker (ab 5m 
schwächer) als das Feld vom DCF77. Als hochohmiger Messverstärker wurde 
ein LF357-Operationsverstärker verwendet. Bei jedem Schwingkreis aus dem 
Bild "03_Ad-hoc_Schwingkreise.jpg" wurde die Empfindlichkeit U_LC/E 
("Schwingkreisspannung pro Feldstärke") bestimmt. Anstelle des 
Messverstärkers wurde auch der normale Verstärker angeschlossen, wodurch 
die Empfindlichkeit Uv/E ("Signal_Ueff_uV pro Feldstärke") der 
Gesamtschaltung bestimmt wurde:
1
   Schwingkreis              |   f /  B /    U/E / |  fv /  Bv /  Uv/E / |  L /  C /
2
   #                         |    Hz   Hz µV/(V/m) |    Hz    Hz V/(V/m) |   µH   nF
3
  ---------------------------+---------------------+---------------------+----------
4
   1 Miniaturspule           | 78583 4113       58 | 78478  4110   0.086 | 5.6*  750
5
   2 22µH Drossel            | 80205 3509       81 | 80337  3579   0.119 |  22   210
6
   3 Mantelwellenfilter      | 76372 4831      185 | 76244  4780   0.279 | 4.4* 1000
7
   4 blaue 47µH Drossel      | 79727 3997      183 | 79714  4244   0.261 |  47   100
8
   5 schwarze 47µH Drossel   | 73773 2272      260 | 73746  2460   0.361 |  47   100
9
   6 schwarze kleine Drossel | 77769 2418      403 | 77712  2772   0.519 |  89*   47
10
   7 Miniaturferritstab      | 77357 3139      391 | 77279  3878   0.476 | 159* 26.7
11
   8 0.75er Kabel            | 74604 4135      607 | 74605  4119   0.913 | 6.7*  680
12
   9 Kupferdrahtrolle        | 78397 4955      636 | 78341  5405   0.868 | 106*   39
13
  10 schwarze 100µH Drossel  | 78004 3332      660 | 77981  3717   0.869 | 100    43
14
  11 blaue 100µH Drossel     | 78538 2113      714 | 78487  2545   0.889 | 100  41.2
15
  12 kleine Schraubkernspule | 77357 3125      992 | 76978  6228   0.741 | 761*  5.6
16
  13 Drossel mit rotem Draht | 77814 1550     1582 | 77752  2517   1.473 | 187*   22
17
  14 700µH Drossel (22µH)    | 79952 1162     1666 | 79581  4178   0.701 | 708*  5.6
18
  15 Kabelkernferrit         | 80425 3539     2688 | 80355  4456   3.188 | 177*   22
19
  16 große Schraubkernspule  | 78018 6515     3452 | 76979 14471   2.331 |2114*    2
20
  17 blaue 400µH Drossel     | 79460  853     5186 | 79225  2579   2.543 | 400   9.8
21
  18 dünner Ferritstab       | 74979 1507     7097 | 74966  2916   5.354 | 381* 11.6
22
  19 dicker Ferritstab       | 78309 1876    19788 | 77965  5566  10.058 | 924*  4.5
23
  20 DCF77-Spule von TCM     | 76449  794    39764 | 76087  4402  10.769 | 920*  4.7
24
25
  f    : gemessene Resonanzfrequenz
26
  B    : gemessene Bandbreite
27
  U/E  : Schwingkreisempfindlichkeit (LF357-Verstärkung von 15.7 ist rausgerechnet)
28
  fv   : gemessene Resonanzfrequenz mit normalen Verstärker
29
  Bv   : gemessene Bandbreite mit normalen Verstärker
30
  Uv/E : Empfindlichkeit mit normalen Verstärker
31
  L    : Nominalwert der Spule falls ohne Stern, sonst ein berechneter Wert
32
  C    : Nominalwert des Kondensators

Wie zu erwarten, verändert der Verstärker besonders bei Schwingkreisen 
mit kleiner Kapazität die Resonanzfrequenz. Eigentlich wäre der 
Unterschied noch größer, wenn nicht auch der Messverstärker (hier wegen 
der Kabelkapazität) die Resonanzfrequenz ändern würde.

Der Schwingkreis #20 dient hier als Referenz. Er stammt (Leihgabe) aus 
einen Tchibo-Funkthermometer.

Wie man sieht, erhöht sich mit dem Transistorverstärker die Bandbreite. 
Die Empfindlichkeit geht zwangsläufig im gleichen Maß zurück, Beim 
Schwingkreis #20 leistet der Verstärker ganze Arbeit. (Es ist wie Perlen 
vor die Säue werfen.)

Es sieht so aus, als ob sich die Empfindlichkeit von üblichen 
Speicherdrosseln abschätzen lässt: Etwa 0.006 V/(V/m) Empfindlichkeit je 
µH Induktivität.

Anhand der Tabelle kann nun berechnet werden, welcher Schwingkreis sich 
für eine Senderentfernung von z.B. 500km eignet. Die PTB 
("PTB-Mitteilungen 114 (2004), Heft 4"; Bild 17) rechnet in dieser 
Entfernung (bei normaler Bodenfeuchte) mit einer Feldstärke von ca. 
65dB\*(µV/m) = 10^(65/20)/1e6 V/m = 0.00178 V/m. Bei einer tolerierten 
Antennenfehlausrichtung von +-60° würden 0.00178\*cos(60°) V/m 
verbleiben. Nach einem tolerierten Abstimmungsfehler von 50% der 
Bandbreite bleiben 0.00178\*cos(60°)\*0.71 V/m. Für einen guten Empfang 
wird ein HitVal von 50 Bit benötigt. Durch das Verstärkerrauschen 
braucht man dazu ein Signal von 110µV. Die Empfindlichkeit vom 
Schwingkreis muss also mindestens 110µV/(0.00178\*cos(60°)\*0.71 V/m) = 
0.17 V/(V/m) betragen. Das heißt, dass bis auf die Spulen #1 und #2 alle 
Spulen geeignet sind - theoretisch.

Die Resonanzfrequenz wurde auch nochmal mit dem "LCResonanceMeter" 
gemessen. Bei der Messvariante "Verstärker" (statt Messverstärker) war 
dieser nur als "Last" angeschlossen (aber mit Stromversorgung). Die 
Abweichungen zu den Werten mit der obigen Amplitudenmethode haben die 
unterschiedlichsten Gründe und gehen nur teilweise auf Fehler zurück, 
die es bei beiden Methoden gab. Trotzdem ist es eine Bestätigung, dass 
sich mit dem "LCResonanceMeter" die Resonanzfrequenz vom Gesamtsystem 
(fv') ausreichend genau bestimmen lässt.
1
                             | per Amplitude   |  per "main_LCResonanceMeter.c"
2
   Schwingkreis              |    f /    fv /  |  f'/      fv'/
3
   #                         |     Hz      Hz  |  Hz        Hz 
4
  ---------------------------+-----------------+---------------
5
   1 Miniaturspule           |  78583   78478  |  78683   78822
6
   2 22µH Drossel            |  80205   80337  |  80182   80392
7
   3 Mantelwellenfilter      |  76372   76244  |  75544   76206
8
   4 blaue 47µH Drossel      |  79727   79714  |  79589   79589
9
   5 schwarze 47µH Drossel   |  73773   73746  |  73730   73765
10
   6 schwarze kleine Drossel |  77769   77712  |  77636   77636
11
   7 Miniaturferritstab      |  77357   77279  |  77532   77183
12
   8 0.75er Kabel            |  74604   74605  |  74497   74602
13
   9 Kupferdrahtrolle        |  78397   78341  |  78404   78264
14
  10 schwarze 100µH Drossel  |  78004   77981  |  78055   77950
15
  11 blaue 100µH Drossel     |  78538   78487  |  78578   78473
16
  12 kleine Schraubkernspule |  77357   76978  |  77776   76729
17
  13 Drossel mit rotem Draht |  77814   77752  |  78194   77845
18
  14 700µH Drossel (22µH)    |  79952   79581  |  80322   79310
19
  15 Kabelkernferrit         |  80425   80355  |  81159   80671
20
  16 große Schraubkernspule  |  78018   76979  |  78717   77427
21
  17 blaue 400µH Drossel     |  79460   79225  |  79694   79031
22
  18 dünner Ferritstab       |  74979   74966  |  75474   74916
23
  19 dicker Ferritstab       |  78309   77965  |  78822   77601
24
  20 DCF77-Spule von TCM     |  76449   76087  |  76904   75788
25
26
  f    : Kopie (s. vorherige Tabelle)
27
  fv   : Kopie (s. vorherige Tabelle)
28
  f'   : Resonanzfrequenz ohne Verstärker und ohne Messverstärker
29
  fv'  : Resonanzfrequenz mit parallel angeschlossenem Verstärker


(7) Geht ein Empfang auch ohne Schwingkreis?

Bei Wikipedia 
(https://de.wikipedia.org/wiki/Elektromagnetische_Induktion#Induktionsbeispiel:_Leiterschleife_im_Magnetfeld) 
findet man:
1
  U(t) = B*A*(-2*pi*f)*sin(2*pi*f*t)
Eigentlich geht es dort um eine drehende Leiterschleife im Magnetfeld 
(hab nichts passenderes gefunden). Es sollte aber egal sein, ob die 
zeitliche Flussänderung durch einen drehenden Leiter oder durch ein 
änderndes B-Feld entsteht. Bei sinusförmigem B-Feld-Verlauf müsste 
deshalb für die Effektivwerte gelten:
1
  Ueff = Beff*A*2*pi*f
Da diesem B-Feld zwangsläufig ein entsprechendes E-Feld gegenübersteht, 
müsste auch gelten:
1
  Ueff = (Eeff/c)*A*2*pi*f
Bei einer Leiterschleife mit mehreren Windungen (N) und mit Verstärker 
(k) an einem STM32 erhält man für die Eingangsspannung:
1
  UADC = (Eeff/c)*N*A*2*pi*f*k
Hieraus kann die Empfindlichkeit "Uv/E" der Spule berechnet werden:
1
  Uv/E = 1/c*N*A*2*pi*f*k
2
       = 1/c*N*pi*d^2/4*2*pi*f*k
3
       = 2*pi*f*N*pi*(d/2)^2/c*k
Für die Luftspule vom Schwingkreis #8 erhält man z.B.:
1
  Uv/E = 2*pi*77500*10*pi*(0.05/2)^2/3e8*1260 V/(V/m)
2
       = 0.040 V/(V/m)
Die Empfindlichkeit ohne Kondensator ist also über 20 mal niedriger. 
Außerdem fehlt hier die Filterwirkung der Resonanz. Als Folge wird für 
die gleiche Empfangsqualität noch mehr Signalspannung benötigt.

Fazit: Der Empfang ohne Schwingkreis geht, ist aber schlecht.


(8) DCF77-Feldstärke im Münsterland

Theoretisch (s.o. "PTB-Mitteilungen") beträgt sie 73.5 dB\*(µV/m). Passt 
das?

Zur Prüfung braucht nur die Signalstärke vom Empfänger "Signal_Ueff_uV" 
abgelesen werden. Mit Hilfe der Parameter der Empfangsspule kann dann 
die DCF77-Feldstärke berechnet werden. Beim Schwingkreis #14 betrug 
"Signal_Ueff_uV" am 05.09.2021 beispielsweise "1756". Die Feldstärke 
betrug also:
1
  E = U/(Uv/E)*sqr(4*(((fv-fDCF)/Bv))^2+1)
2
    = 71.0 dB*(µV/m)
  (Rechnung: 
"log(1756/(0.701/sqr(4\*(((79581-77500)/4178))^2+1)))/log(10)\*20")

Die Feldstärke lag damit 3dB unter dem "PTB-Wert". Erklärbar wäre das 
z.B. durch die niedrigere Bodenleitfähigkeit in den Sommermonaten. Es 
könnte aber auch ein Rechenfehler/Denkfehler sein. Zur Klärung sollte 
die Feldstärke über ein anderes Messverfahren bestätigt werden. Hierzu 
bietet sich eine einfache Luftspule ohne Kondensator 
("04_DCF77-Feldstärke.jpg") an. Es reichen dann die Werte 
"Signal_Ueff_uV"(12440), Windungszahl (14), Durchmesser (0.390m) und 
Verstärkung (1260) um die Feldstärke zu berechnen:
1
  E = Ueff/(2*pi*f*N*pi*(d/2)^2/c*k)
2
    = 71.2 dB*(µV/m)
  (Rechnung: 
"log(12440/(2\*pi\*77500\*(14\*pi\*(0.390/2)^2)/3e8\*1260))/log(10)\*20" 
)

Wie man sieht, führen beide Wege zum gleichen Ergebnis. Die Feldstärke 
scheint also tatsächlich um 3 dB niedriger als der PTB-Wert für "Land" 
zu sein.

Hier eine Übersicht mit Werten anderer Schwingkreise vom 05.09.2021 
sowie Theoriewerte der PTB für eine Senderentfernung von 270km.
1
  Wert für...                   |   E / dB*(µV/m)
2
  ------------------------------+------------------
3
  #14 700µH Drossel (22µH)      |   71.0
4
  #16 große Schraubkernspule    |   71.1
5
  #17 blaue 400µH Drossel       |   70.8
6
  Luftspule (kein Schwingkreis) |   71.2
7
  PTB - "Land"                  |   73.5
8
  PTB - "mitteltrockener Boden" |   71.0
9
  PTB - "trockener Boden"       |   64.2

Ehrlicherweise muss erwähnt werden, dass die Werte beider Verfahren erst 
um 25% (2dB) auseinander lagen, was für eine Ungenauigkeit viel zu hoch 
war. Es musste ein Fehler in einen der Verfahren sein. Die Suche wurde 
nach einigen Stunden erfolglos abgebrochen. Obwohl eigentlich unsinnig, 
habe ich die Messung zum Abschluss ein zweites Mal gemacht. Nun passte 
es sogar gut. (Ein dritte Messung werde ich sicherheitshalber nicht 
machen.)


(9) "DCFMeter"

Im Anhang liegt ein Programm um die Resonanzfrequenz, die Bandbreite und 
die Empfindlichkeit vom Gesamtsystem zu messen. Die main.c enthält Infos 
zur Verwendung. (Die Datei hat nicht viel mit dem oben verwendeten 
Quelltext gemeinsam.) Eigentlich ist das Programm überflüssig, da die 
Resonanzfrequenz mit dem "LCResonanceMeter" bestimmt werden kann, die 
Bandbreite praktisch mit 4kHz konstant ist und die Gesamtempfindlichkeit 
nicht benötigt wird. Das "DCFMeter" ist aber nützlich, wenn man viele 
Schwingkreise hinsichtlich ihrer Empfindlichkeit miteinander vergleichen 
möchte.


-

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
Noch kein Account? Hier anmelden.