imported>Apo |
|
Zeile 1: |
Zeile 1: |
| Ein 10-MHz Quarz (VCXO) wird durch einen STM32 an die Trägerfrequenz des [https://de.wikipedia.org/wiki/DCF77 DCF77 Zeitzeichensenders] gebunden.
| | == Idee == |
| Da diese selber an die Atomuhren in Braunschweig gebunden ist und eine relative Standardabweichung von 10^-12 hat, sollte so (bei vorhandenem Signal)
| |
| ein sehr genaues aber gleichzeitig günstiges [https://de.wikipedia.org/wiki/Frequenznormal Frequenznormal] entstehen.
| |
|
| |
|
| = Überblick =
| | Ein Workshop über die LoRa bzw. LoRaWAN. |
| Als Antenne wird eine herkömmliche Ferritkern-Antenne, wie sie in Funkuhren zu finden ist, verwendet.
| | Erklärung der Funktionsweise, Anwendungsbeispiele und IoT mit TheThingsNetwork. |
|
| |
|
| Das empfangene Signal wird durch einen Bandpass auf den 77.5 kHz-Träger reduziert und durch z.B. einen Komparator
| | == Verantwortliche(r) == |
| zu einer Rechtecksschwingung umgewandelt. (Alternativ: Analoge Messung durch Microcontroller)
| | * Simon |
|
| |
|
| Ein STM32-Microcontroller, dessen PLL von den VCXO gespeist wird, zählt bestimmt die Phasenverschiebung
| | == Datum == |
| gegenüber dem DCF77 Signal und korrigiert die Kontrollspannung des VCXO so, dass
| | * Montag, 2. Dezember 2019 |
| die Abweichung auf 0 gemittelt wird.
| |
|
| |
|
| = Signalempfang = | | == Material == |
| | * Ein paar ESP32 mit LoRa Modul (z.B.: [https://www.banggood.com/2Pcs-LILYGO-TTGO-LORA32-868Mhz-ESP32-LoRa-OLED-0_96-Inch-Blue-Display-bluetooth-WIFI-ESP-32-Development-Board-Module-With-Antenna-p-1507044.html?utm_design=41&utm_source=emarsys&utm_medium=Neworder171109&utm_campaign=trigger-emarsys&utm_content=winna&sc_src=email_2675773&sc_eh=4a6c1db81031fa671&sc_llid=15150285&sc_lid=105229698&sc_uid=OCFpZipIvn&cur_warehouse=CN diese]) |
| | * Draht für Antenne |
| | * event. bessere Antenne |
| | * SDR |
|
| |
|
| Zum Empfang des Signals wird eine Ferritkern-Antenne verwendet, die aus einem alten Funkwecker entfernt werden kann.
| | == Inhalt == |
| Bei Bedarf kann ein größerer Ferritstab gekauft werden (eBay oder Aliexpress haben 200x10 mm Stäbe für etwa 8 Euro
| | Zweiteiliger Workshop: |
| bzw. 7 USD). Solche Antennen sind recht schmalbandig, was hier von Vorteil ist, und haben im Vergleich zur Wellenlänge
| | # Generelle Einführung in LoRa |
| des Signals sehr kleine Dimensionen - eine Welle eines 77.5 kHz Signals hat eine Länge von etwa vier Kilometern.
| | # [https://revspace.nl/DecodingLora Decoding Lora] |
| | # Praktischer Teil zum Rumspielen mit LoRa-Modulen |
| | (dazu z.B. [https://github.com/lemariva/uPyLora diesen Code] für LoRa mit Micropython zum Laufen bekommen - Check) |
|
| |
|
| = Signalaufbereitung = | | == Referenzen == |
| | *[https://www.hackerspace-ffm.de/wiki/index.php?title=LoRaWAN LoRa Workshop hackerspace-ffm] |
| | *[http://www.jailbreaksecuritysummit.com/s/Reversing-Lora-Knight.pdf Reversing LoRa] |
| | *[https://revspace.nl/DecodingLora Decoding LoRa] |
| | *[https://electronics.stackexchange.com/questions/278192/understanding-the-relationship-between-lora-chips-chirps-symbols-and-bits LoRa modulation] |
|
| |
|
| [[Datei:DCF77-Spektrum-mit-PC.png|320px|thumb|right|Spektrum an einer Ferritkern-Antenne, störender Einfluss durch die Verbindung vom PC an das Oszilloskop durch einen USB-RS232-Adapter]]
| | [[Kategorie:Workshops]] |
| [[Datei:DCF77-Spektrum-ohne-PC.png|320px|thumb|right|Spektrum an einer Ferritkern-Antenne, ohne direkte Verbindung mit dem PC]]
| |
| | |
| Im Test ist knapp unterhalb der Trägerwelle ein Störsignal zu sehen, das sich in der Regel zwischen 70 und 75 kHz aufhält, aber teilweise
| |
| auch näher an die Trägerwelle herankommt. Dies kommt von dem Rechner, der in der Nähe des Oszilloskops steht. Die Antenne sollte also möglichst weit
| |
| von PCs (oder anderen Geräten mit Schaltnetzteilen) aufgebaut und ihr Signal nach Verstärkung über ein abgeschirmtes Kabel zum digitalen Teil
| |
| der Schaltung geleitet werden.
| |
| | |
| Als Filter bietet sich ein Quarzfilter an. Quarzfilter haben eine sehr niedrige Bandbreite, was den Empfang von Sekundenpulsen ungenauer macht. Da
| |
| für unseren Zweck die Zeit egal und nur die Trägerwelle von Interesse ist, ist dies belanglos.
| |
| | |
| Nach dem Filter sollte eine Verstärkung des Signals erfolgen, die eventuell einen AGC (Automatic gain control) Kreis beinhaltet.
| |
| | |
| * JFET-Buffer (TL084?)
| |
| * Quarzfilter als Bandpass um 77.5 kHz
| |
| * Verstärkung mit AGC?
| |
| | |
| == Quarzfilter ==
| |
| Es wurden 100 77.5 kHz Quarze von [https://www.aliexpress.com/item/77-5KHZ-77-500KHZ-3-8-308-2Pin-DIP-XTAL-Crystal-Oscillator-x-50PCS/1988635809.html AliExpress] bestellt.
| |
| In Messungen mit einem [http://sdr-kits.net/VNWA3_Description.html VNWA3] hatten vier davon eine durchschnittliche Serienresonanzfrequenz <math>f_s</math> = 77495.2 Hz, eine Parallelresonanzfrequenz <math>f_p</math> = 77537.5 Hz, und eine Serienkapazität <math>C_s</math> = 1.42187 fF. Mit diesen Werten lässt sich nach [http://www.giangrandi.ch/electronics/crystalfilters/xtalladder.html Iacopo Giangrandis Kristallfilter-Rechner] mit einigen 18 pF (nach Rundung, vorher 16.7 pF und 19.4 pF) Kondensatoren ein Filter bauen, der eine Bandbreite von 8 Hz hat und nach 200 Hz eine Dämpfung von 86 dB erreicht.
| |
| | |
| = Kontrollalgorithmus =
| |
| | |
| Der Träger wird mit 10 kHz abgetastet, es wird also eine <math>(77.5 % 10) \text{kHz} = 7.5 \text{kHz}</math> Schwingung gemessen. Zu jedem
| |
| Zeitschritt wird der Messwert <math>v_k</math> zu einer komplexen Zahl <math>v_k + 0*i</math> erweitert und durch Multiplikation mit
| |
| <math>(sin(2\pi\cdot 2500 \cdot t), cos(2\pi\cdot 2500 \cdot t))^T</math> mit 2500 Hz gemischt. Dies entspricht abwechselnder Multiplikation mit
| |
| (0,1), (1,0), (0,-1), (-1,0). Die Komponenten des Vektors werden (wenn sie nicht gerade mit 0 multipliziert wurden) über längere Zeit gemittelt.
| |
| | |
| Aus den Komponenten lässt sich eine Phase berechnen, und aus deren Ableitung die Frequenzabweichung des Ofenquarzes, die man auf 0 regelt.
| |
| Alternativ lässt sich entweder die Phase auf 0 regeln, oder man lässt die Phasenberechnung komplett aus und stellt den Sollpunkt des Reglers z.B.
| |
| so ein, dass die In-Phase und Quadratur Komponenten des Vektors gleich sind. Dies kann aber zu Problemen führen, wenn die Frequenz nicht ausreichend
| |
| schnell geregelt werden kann und es Phasenüberläufe gibt.
| |
| | |
| [[Kategorie:Projekte]] | |