Ich habe mir ein Gerät gebastelt um Quarz-Frequenzen genau zu messen. Bei meinem diskreten Frequenzmessgerät hatte ich immer das Problem, dass ich nicht genau wusste wie genau denn der dort eingebaute Quarz ist. Jetzt mit diesem neuen Aufbauch benutze ich das DCF77-Funkuhrsignal als Zeitreferenz. Ich hab schon einige Quarze ausprobiert und es scheint soweit zu funktionieren. Ob eine Genauigkeit von besser als 1 Hz (im Programm ist bis zu 0.001 Hz vorgesehen) auch wirklich erreicht werden kann, weiss ich noch nicht. Das auszutesten wird noch einige Zeit in Anspruch nehmen. Uhrenquarze zu messen (wo die Auflösung von 0.001 Hz auch Sinn machen würde) funktioniert leider (noch) nicht. Quarze im Bereich von 3.5 bis 16 MHz funktionieren aber ohne Programmändrungen. Einfach den zu messenden Quarz einstecken und dann einschalten. Hier noch die entsprechende Homepage: http://www.rolfp.ch/elektronik/#funkuhr2 Rolf
Hat das einen Grund, warum du C Code in C++ Dateien schreibst? Und dein Code ist irgendwie, äh, sehr schwer zu lesen. Du gönnst dir auch gar keine Leerzeilen, hm? ;-) Ansonsten aber eine lustige Idee. Um auf die Genauigkeit zu kommen, müsste man aber glaube ich schon einen sehr großen Mittelwert von dem DCF bilden.
Simon K. schrieb: > Hat das einen Grund, warum du C Code in C++ Dateien schreibst? Ja, weil ich ab und zu mal c++ Eigenschaften verwende. Z.B. const ulong, oder Variablendeklarationen mitten in einer Funktion. > Und dein Code ist irgendwie, äh, sehr schwer zu lesen. Du gönnst dir > auch gar keine Leerzeilen, hm? ;-) Irgendwie kann ich den Überblick besser behalten wenn ich keine Leerzeilen verwende, und so im Editor einen grösseren Ausschnitt vom Programm gleichzeitig sehe. Was ist denn sonst noch schwer lesbar? Simon K. schrieb: > Um auf die Genauigkeit zu kommen, müsste man aber glaube ich schon einen > sehr großen Mittelwert von dem DCF bilden. Ja genau. Deshalb lasse ich es Stundenlang oder Tagelang laufen. Darum dauert auch das Austesten der hohen Genauigkeit noch einige Zeit. Rolf
Rolf Pfister schrieb: > Deshalb lasse ich es Stundenlang oder Tagelang laufen. Darum > dauert auch das Austesten der hohen Genauigkeit noch einige Zeit. Dann mußt Du aber auch für eine stabile Temperatur über den Zeitraum sorgen, sonst wird das nichts. Eine ähnliche Idee hatte ich auch schon, aber bis jetzt konnte ich alles mit TCXO oder Ofen-Quarzoszillator messen. Wenn ich mehrere zum Vergleich benutze, ergeben sich +-2Hz bei 10MHz untereinander. Wenn es noch genauer sein soll, gibt es in der Bucht günstige Rubidium Module.... ... hp-freund
Ich habe inzwischen einige Verbesserungen eingebaut. Bei einem 3.579461 MHz Quarz ist es mir inzwischen gelungen 3 Messungen auf 1 Hz genau zu reproduzieren. Bessere Genauigkeit ist wohl wirklich nur mit einem guten Thermostaten zu erreichen. Um für die Berechnung der Nachkommastellen long long benutzen zu können, habe ich noch versucht Anpassungen für den ATmega328P zu machen. Entsprechend gibt es ein "makefile328p" das auf "makefile" zu kopieren ist, um für den 328P zu compilieren. (Für den ATmega8 compilieren dann wieder "makefile8" nach "makefile" kopieren.) Für den ATmega328P musste ich die Schaltung noch etwas anpassen. Das Problem war, dass das DCF1-Modul nur einen High-Pegel von etwa 2 Volt liefert. Was ich eigentlich nicht verstehe, da es ja ein Opencollektor-Ausgang ist. Jedenfalls habe ich eine Pegelanpassung mit einem FET-Transistor gemacht und anschliessender Inverterstufe mit einem NPN-Transistor. Warum dieses invertieren nicht auch in der Software funktioniert verstehe ich immer noch nicht. Im neuen Archiv ist also auch noch ein Schaltplan mit dabei, falls es jemand nachvollziehen möchte. Im Programm habe ich auch noch einige Leerzeilen und Leerzeichen eingefügt in der Hoffnung dass es jetzt leichter lesbar ist. Rolf
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.