Geben Sie etwas Platz oder einen Mikrocontroller wie ein Frequenzmesser

Jeder kennt Satellitenkoordinatensysteme. Sie informieren Sie auch über die Geschwindigkeit und die aktuelle Uhrzeit. Auf der Basis solcher Systeme werden exakte Zeitserver aufgebaut, die hier und nicht nur hier bereits mehrfach erwähnt wurden. Die Genauigkeit dieser Systeme wächst, der Preis sinkt, kurz gesagt, der Fortschritt steht nicht still. Es scheint, dass es in letzter Zeit um Millisekunden ging, und jetzt wundern Mikrosekunden niemanden. Und der Tag ist nicht mehr fern, wenn ...


Ehrlich gesagt, dieser Tag ist schon für mich gekommen. Vor nicht allzu langer Zeit wurde ich darauf aufmerksam, dass einer der Hersteller seiner Module eine Genauigkeit des PPS-Ausgangssignalintervalls in der Größenordnung von zehn Nanosekunden verspricht.


Mit anderen Worten, ein zweiter Standard erschien mit sehr anständiger Genauigkeit. Es stimmt, es ist nicht immer zur Hand und hängt oft von äußeren Umständen ab, aber Sie können günstige Bedingungen erreichen und es bekommen. Und vor allem, wie man sich selbst kopiert.


Für alle Fälle habe ich mir angesehen, wie es anderen Herstellern ähnlicher Produkte geht, und dabei die gleichen technischen Spezifikationen ermittelt. "Trend jedoch", ein Gedanke schoss mir durch den Kopf, ungefähr wie bei Shtirlits. Es war notwendig, etwas zu tun.


Diejenigen Leser, die wissen, wie man einen Widerstand von einer Leiterplatte lötet oder wie man eine Mikroschaltung lötet, und sogar wissen, wie man das macht, stimmen mir mental zu, dass ein Frequenzmesser mit einer Genauigkeit von 7-8 Zeichen niemals schaden wird. Vor allem, wenn es wenig Platz beansprucht und Sie nicht viel Geld ausleihen müssen, um es zu kaufen. Und diejenigen, die nicht aufhören wollen zu denken, können an eine Uhr denken, die für einige Sekunden im Jahr verwechselt wird (in der siebten Ziffer, Clara). Fans der Amateurfunkkommunikation werden sich wahrscheinlich an das Design eines guten, selbst hergestellten Schmalbandfilters für Quarzresonatoren erinnern.


Das erste, was zu tun war, war die richtige Hardware zu finden. Mir hat das einfache Evaluation Board mit einem kleinen Teseo-LIV3F-Modul einer bekannten Firma gefallen. Unten ist, wie sie aussieht.



Dieses Ding wird mit einer aktiven Antenne verkauft, die näher am Fenster installiert werden kann, damit die Satelliten gut "sehen" können. Jumper werden an die Tafel gesetzt, um das Storytelling und die erfolgreiche Programmierung fortzusetzen. Das Foto enthält auch Schaltungsverbesserungen in Form einer einzelnen Diode mit guter Geschwindigkeit.


Das Schema der Verbesserungen wird unten gezeigt. Der Hersteller hat vorausgesetzt, dass dieses Board in ein geeignetes Nucleo-Evaluierungsboard mit integriertem Mikrocontroller gesteckt werden kann (tatsächlich handelt es sich um Anschlüsse für das Arduino, aber ich möchte nicht mit 32 Bit fortfahren). In der Beschreibung des GPS / GNSS-Moduls selbst habe ich Folgendes gefunden.



Dies ist sehr gut und kann als erste Annäherung an einen guten Frequenzzähler dienen. Jetzt habe ich ein sehr genaues zweites Intervall und kann die Frequenz von Oszillationen beispielsweise meines eigenen thermostatisch gesteuerten Kristalloszillators berechnen. Und vielleicht sogar, um es in die für sich selbst notwendige Richtung zu lenken. Es wird wahrscheinlich später sein. In der Zwischenzeit wollte ich die Frequenzen der in der Wirtschaft angesammelten Quarzresonatoren messen.


Auf dem STM32L476RG ist eine geeignete Nucleo-Platine aufgebaut. Es kommt ohne Quarzresonator (die Uhr zählt nicht). Unterhalb des Fotos sehen Sie die Pfeile, an denen die fehlenden Elemente angelötet werden mussten.



Diese Board-Option wird aus drei Gründen ausgewählt. Erstens arbeitet der Mikrocontroller-Generator mit einem externen Resonator von 4 bis 48 MHz. Nicht alle Nucleo-Mikrocontroller-Boards haben solche Toleranzen. Wir werden diesen Generator mit unserem Quarz betreiben. Zweitens kann der serielle Port (UART) von einem separaten eingebauten RC-Generator mit 1% Genauigkeit bei einer Frequenz von 16 MHz getaktet werden. Daher ist es nicht erforderlich, die Einstellungen und Teiler in der UART-Konfiguration bei einer Änderung der Frequenz des externen Generators zu ändern. Und am wichtigsten ist, dass der Quarzresonator an der Wand montiert werden kann. Hier können Sie die Steckverbinder installieren, um nicht jedes Mal den nächsten Resonator anlöten zu müssen.


Die serielle Schnittstelle ist bereits mit der virtuellen USB-Schnittstelle im integrierten Debugger verbunden. Sie können also den Terminalemulator verwenden, um Informationen anzuzeigen. Nach dem Finalisieren und Installieren von zwei Abfällen für den Quarz vom Spannzangenanschluss sieht die Platine wie folgt aus.



Jetzt müssen wir den Timer für genau eine Sekunde starten und er zählt die Impulse seiner Systemuhr, dh die Frequenz unseres Quarzresonators. Glücklicherweise bietet der Timer einen Modus, in dem er gleichzeitig zurückgesetzt wird und ab der ansteigenden Flanke des externen Impulses startet.


Ich wollte es sofort machen, um nicht ein paar Sekunden zu mitteln, sondern um die Frequenz in zehn Sekunden zu messen, das heißt genauer. Zu diesem Zweck musste der Schaltung eine Diode hinzugefügt und diese Idee programmgesteuert unterstützt werden. Die Verfeinerung der Schaltung ist unten gezeigt.



Die folgenden Abbildungen zeigen, wie aus einer Sekunde ein Zehn-Sekunden-Intervall erstellt wird.



Das PPS-Signal wird über eine Diode dem Timer und direkt dem zusätzlichen externen Interrupt-Eingang zugeführt. Im Interrupt des Timers ist ein externer Interrupt zulässig, der sich bis zu zehn Mal verbietet und den Pull-up-Widerstand von oben nach unten ändert.


Die roten Pfeile kennzeichnen die Momente des Timer-Interrupt-Vorgangs und die grünen kennzeichnen die Momente des Starts des externen Interrupts, nach denen die erforderlichen Sekundenintervalle berücksichtigt werden. Blau zeigt Ein-Aus-Pull-Up-Widerstände. Das Projekt wurde in IAR gemacht und Sie können es hier sehen . Das Foto unten zeigt das Ergebnis des Steuerungsprogramms in Verbindung mit dem Terminalemulator, der den eingeschwungenen Zustand anzeigt.



Um das Diagramm und nicht die trockenen Linien der Frequenzwerte zu sehen, musste ich ein kleines Hilfsprogramm für Windows erstellen. Ihr Kadaver befindet sich am selben Ort wie das Firmware-Projekt.


Alle Versuche wurden nach dem gleichen Szenario durchgeführt. Vor den Messungen wurde die Platte 15 bis 20 Minuten im Kühlschrank stehen gelassen, wo sie leicht unter Null lag. Dann wurde es natürlich eine halbe Stunde lang auf Raumtemperatur erwärmt. Dann erhielten die Platine und der Resonator einige Minuten lang warme Luft aus dem Haartrockner (hier funktionierten die gleichen Bedingungen nicht).


Gute Resonatoren verhielten sich entsprechend der Temperaturabhängigkeit des AT-Schnitts des Kristalls gut. Diese Grafiken (oder mehrere Kopien?) Sind im Internet leicht zu finden. Die Ergebnisse der Messungen von drei Resonatoren bei 16 MHz sind nachstehend gezeigt.



Dann stellte sich heraus, dass es zu dem üblichen Verhaltensbild Ausnahmen gibt. Die folgenden Daten zeigen zwei Quarze desselben Typs und höchstwahrscheinlich desselben Ursprungs, die sich unterschiedlich verhalten haben.



Auf dem Resonator, der sich wie gewohnt verhält, atmete ich nur ein wenig, und der zweite entschied sich, mehr zu erhitzen, weil er sich anders zeigte. Wie einfach es ist, die Temperaturabhängigkeit von ihm oder einer anderen Person zu erkennen.


Eine weitere interessante Beobachtung. Nach dem Aussetzen der Temperatur kehrt der Resonator nicht zu früheren Frequenzwerten zurück, oder ich hatte nicht die Geduld zu warten. In jedem Fall spielt es keine Rolle, ob Sie sich nach dem sechsten Tag nicht um die Schilder kümmern.


Hier ist eine weitere Beobachtung. Dies ist ein und derselbe Resonator, der zweimal gemessen werden musste, weil er für Überraschung sorgte. Ich habe noch keine Erklärung für ein solches Verhalten gefunden und habe mir keine ausgedacht.



Es wäre nützlich, die individuelle Temperaturabhängigkeit der Frequenz für einen individuellen Resonator zu entfernen. Dann können Sie mit einem guten Temperatursensor und Kenntnis der Temperaturkurve des Resonators einen hochstabilen Generator mit Sekundenintervallen herstellen. Dies erfordert jedoch bereits eine Wärmekammer. Ich frage mich, welche Temperatursensoren heute als gut angesehen werden können.

Source: https://habr.com/ru/post/de476442/


All Articles