Geschätztes Forum, ein kleines Beispiel, wie mit wenig Aufwand ein kostengünstiges 16MHz Frequenznormal aufgebaut werden kann. Genauigkeit liegt bei ca. maximal +/- 1Hz. Das Prinzip ist ganz einfach. Ein 16MHz Quarz wird durch eine Kapazitätsdiode (Varicap) um ca. +/- 50Hz "gezogen". Der hochgenaue 1s GPS-Impuls wird in den µC eingespeist, dieser berechnet dann die 8Bit PWM (Regelspannung) für die Kapazitätsdiode. Die Regelspannung muss zwischen 0...5V betragen (Messpunkt). Vorabgleich: - GPS Signal abschalten - kurz nach Programmststart beträgt die Regelspannung ca.2,5V - mit dem Trimmer grob 16MHz einstellen - Taste Frequenz min betätigen Ausgangsfrequenz ca. 15.999.950 Hz - Taste Frequenz max betätigen Ausgangsfrequenz ca. 16.000.050 Hz - GPS einschalten....warten, nach einigen Sekunden liegen 16MHz an Anmerkung: Das ganze Gebilde ist sehr temperaturabhängig , selbst nach dem Öffnen des Zimmerfensters bei einer Außentemperatur von 3°C, ändert sich sofort die Ausgangsfrequenz, der AVR korrigiert nach. Liegt kein GPS Signal mehr an, dann nimmt die Genauigkeit mit der Zeit ab. Die Ausgangsfreuenz ist nahezu korrekt, wenn sich die Regelspannnung längere Zeit nicht ändert. Wenn der µC die untere oder obere Regelspannung (PWM) erreicht hat leuchtet die rote LED und der BEEP warnt fürchterlich. Problem: Die Dimensionierung der Kapazitäten am Quarz und an der Kapazitätsdiode und am Trimmer ist nicht immer einfach, ggf. Werte abändern. Nachtrag: Bei jedem GPS-Impuls darf nur ein Klick zu horen sein, wenn nicht, dann stimmt etwas mir der Entprellung nicht ! Theoretisch müsste dieses Prinzip auch mit Quarzen von 8MHz, 4MHz, 2MHz und 1Mhz funktionieren, hab's aber nie getestet. In der Version2 (FN_16MHz_ATmega328p_V2.hex) leuchtet die grüne LED, wenn die Phasenreglung eingerastet ist, und die Ausgangsfrequenz schon ziemlich "genau" ist. Bernhard
:
Bearbeitet durch User
Hmm, ich würde eher so was nachbauen wenn ich ein Frequenznormal bräuchte: https://www.eevblog.com/forum/projects/lars-diy-gpsdo-with-arduino-and-1ns-resolution-tic/ Ein OCXO anstelle des Quarzes reduziert die Temperaturabhängigkeit. Ein TIC erhöht die Phasenauflösung auf ca. 1ns. (bei Arduino). Gruß Anja
Bernhard S. schrieb: > Genauigkeit liegt bei ca. maximal +/- 1Hz. Rund 1 * 10^-7 ist also die Startbedingung. Anja schrieb: > ich würde eher so was nachbauen Für 0,1 ppm reicht auch ein VCTCXO, der ohne Aufheizzeit und -leistung schnell eine stabile Frequenz liefert. Wenn es um ein "Frequenznormal" geht, dann sollte man auch 10 MHz erzeugen. Mal sehen, wie lange es dauert, bis wir bei der Forderung nach 1 * 10^-12 angekommen sind ;-)
m.n. schrieb: > Mal sehen, wie lange es dauert, bis wir bei der Forderung nach 1 * > 10^-12 angekommen sind ;-) Grinse du nicht gar so laut. Bis auf 1E-12 kannste ewig warten. Unsereiner hat schon so seine Probleme, 1E-10 gut zu halten, bei einem Quarz mit drangeklöppelter Kapazitätsdiode kommt mir da eher der alte Auersbach-Zähler in den Sinn: ein Trimmer für's Grobe, dann noch einer für's Feine und das Ganze unter einer Plastikhaube, die eigentlich zu einem Printtrafo gehört. So sah dort der OCXO aus. War zwar 'nur' für 1E-8 aber dennoch ne Zumutung. Und 1 PPS bei 16 MHz ist allenfalls für 1E-7 gut. Das weißt du natürlich. Für ne Stelle mehr müßte man dazu die Meßzeit verzehnfachen. Und so weiter, vom Jitter durch die Herumschalterei der Abstimmspannung mal ganz abgeshen. Also: ein netter Versuch des TO, aber für die nächste Version wäre erst einmal etwas mehr Nachdenken angesagt. W.S.
Warum? wenn 10^-7 gebraucht wird? m.n. schrieb: > Mal sehen, wie lange es dauert, bis wir bei der Forderung nach 1 * > 10^-12 angekommen sind ;-) Endlich jemand, der nicht gleich in die -9 oder -12 klettert. -7 reicht doch völlig aus, wenn man grad nicht die Erde neu vermessen will.
Ich hätte bei dem 100k neben (MP) noch eine kleine Drossel in Serie mit vorgesehen. ;-)
Schade, der hex code zeigt nicht, wie eigentlich der Kontroller verwendet wird, insbesonders ob da ints eingesetzt werden. C oder Assembler wäre da schon informativer.
Ein schoenes Projekt. Verbesserbar durch - ein temperaturisolierendes Gehaeuse. Low cost. - laengere Integrationszeit. Also nicht jeden Click gleich reagieren, sondern verteilt ueber laengere Intervallen. Pro zehnfache Integrationszeit bekommt man eine Deziamlstelle mehr. Integrationzeit bedeutet nicht einfcah warten... Sehr low cost. - ein OCXO bringt bessere Werte zu Beginn weg. Laesst dann auch 1000sek Integrationszeit zu, was ich bei einem Einfachansatz wie beschrieben bezweifle. Eigentlich haben viele OCXO Steuereingaenge, welche innerhalb 4.5 ppm angesteuert werden koennen. Ein VCOXCO, resp OCXO geht fuer 30Euro aufwaerts.
> Schade, der hex code zeigt nicht, wie eigentlich der Kontroller
verwendet wird, insbesonders ob da ints eingesetzt werden.
Integer ? Naja, du musst hoch genug zaehlen koennen, also 32 bit.
Interrupts ? Allenfalls waere ein Capture interrupt hilfreich, sonst
muss man pollen.
Man sollte uebrigens beachten, dass ein GPS 1 Sekunden Puls 50ns Jitter
haben kann.
:
Bearbeitet durch User
Was auch noch ins Gewicht fällt, ist der Temperaturdrift der Kapazitätsdiode. Wenn du per Temperaturfühler den noch rechnerisch kompensieren könntest, würde es ev noch stabiler werden. BD139?!? ist das BB139 ? https://datasheetspdf.com/pdf-file/1408174/ITT/BB139/1 73 55
Pandur S. schrieb: > Man sollte uebrigens beachten, dass ein GPS 1 Sekunden Puls 50ns Jitter > haben kann. Eher 100ns und so gut wie alle NEO8 uBlox Empfänger aus China sind Fälschungen, da ist eher noch schlimmeres zu erwarten.
Bernhard S. schrieb: > Das ganze Gebilde ist sehr temperaturabhängig , selbst nach dem Öffnen > des Zimmerfensters bei einer Außentemperatur von 3°C, ändert sich sofort > die Ausgangsfrequenz, der AVR korrigiert nach. Mit ein Quarzofen bekommt man das auch mit der Stabilität hin. Nur muss die Schaltung länger in Betrieb sein, damit der Ofen eine konstante Temperatur hat und der ATM muss nicht mehr so stark nachregeln.
Peter R. schrieb: > Warum? wenn 10^-7 gebraucht wird? Wenn nur 1E-7 benötigt wird, dann nimmt man einen kleinen TCXO, der sowas von Hause aus kann. Dazu benötigt man keinen GPS-Empfänger. Der Rest wäre nur bastlerischer Elan. W.S.
Ist sogar möglich das der PWM noch in den Oszillator einstreut. ;-) Temperatur drift, kommt hauptsächlich beim Quarz und der Kapazitätsdiode zum Tragen. Wäre natürlich möglich diese rechnerisch mit Temperatursensor noch zu kompensieren, so ähnlich wie es ein OCXO macht.
:
Bearbeitet durch User
Bin jetzt eingeloggt ;-) Die LEA Serie von uBlox ist für GPSDO besser geeignet und die Gefahr von Fälschungen ist geringer weil die ein anderes Gehäuse haben. Meine 2 ausgelöteten LEA8 aus China sind soweit ich es mit dem uBlox Tool beurteilen kann echt. Eine Mittelung über Minuten bringt erst die GPS Genauigkeit und solange bestimmt der geregelte Oszillator die Genauigkeit. Ich bin gerade dabei das für ein Rb zu machen.
Ich wuerde den unpassenden PWM durch einen DAC ersetzen. Ein 16bit DAC geht fuer vielleicht 5 Euro, das lohnt sich allemal fuer eine saubere Ansteuerung der Kapazitaetsdiode.
m.n. schrieb: > Für 0,1 ppm reicht auch ein VCTCXO, der ohne Aufheizzeit und -leistung > schnell eine stabile Frequenz liefert. Wenn es um ein "Frequenznormal" > geht, dann sollte man auch 10 MHz erzeugen. Wenn da nicht der kleine Unterschied zwischen Stabilität und Genauigkeit wäre ...
W.S. schrieb: > Wenn nur 1E-7 benötigt wird, dann nimmt man einen kleinen TCXO, der > sowas von Hause aus kann. Dazu benötigt man keinen GPS-Empfänger. Eben nicht ganz. Günstige 1 € VCTCXO Teile haben 0,5 ppm über den gesamten Temperaturbereich. Für die Langzeitstabilität ist dann ein 1 pps-Signal hilfreich, was ja nicht dauernd aktiv sein muß und nach wenigen Sekunden trotz Jitter einen hinreichend guten Mittelwert für den Vergleich Sollwert - Istwert liefert. Peter R. schrieb: > C oder Assembler wäre da schon informativer. Steht im Titel und wer Berhard S. hier "verfolgt", kennt seine Leidenschaft, in Assembler zu programmieren. Da die erzeugten 16 MHz nicht "normal" sind und vermutlich dazu dienen, seine Frequenzzähler genauer messen zu lassen, kann man auch einen anderen Weg gehen. Anstatt die lokalen 16 MHz nachzuführen, reicht es aus, einen Skalierungsfaktor zu ermitteln und den angezeigten Wert passend zu korrigieren. Wegen des Wertebereiches wird es mit Integerberechnungen da etwas schwieriger. Mit double Zahlen geht es deutlich einfacher. Hierzu ein "alter Hut": Beitrag "reziproker Frequenzzähler, GPS-stabilisiert, ATmega162" Wolfgang schrieb: > Wenn da nicht der kleine Unterschied zwischen Stabilität und Genauigkeit > wäre ... Wenn Du diesbezüglich bei 0,1 ppm damit Probleme hast, lass die Finger von Elektronik.
Weshalb sollte man wegen 16MHz ploetzlich in double rechnen, wenn Longint auch genuegen wuerden ?
Mit Abkürzungen ist es halt nicht so leicht, mit ints hab ich "interrupts" abgekürzt und nicht integers. btw, natürlich wird bezüglich der Genauigkeit gleich wieder das Besteigen der Achttausender breitgetreten (10^-9 und höher, Jitter im -zig-nanos-Bereich), obgleich es sich darum handelt, wie man den nächsten zum Rodeln geeigneten Berg hochkommt. (einfach10^-7) Und dass da jemand einen Feld-Wald-Wiesen-Quarz mit GPS zu einer genaueren Frequenzerzeugung benutzt ist ja schön, interessanter wäre aber das WIE. Und ein hex-file dafür zu disassemblieren ist wohl etwas viel Aufwand.
:
Bearbeitet durch User
Pandur S. schrieb: > Ich wuerde den unpassenden PWM durch einen DAC ersetzen. Ein 16bit DAC > geht fuer vielleicht 5 Euro, das lohnt sich allemal fuer eine saubere > Ansteuerung der Kapazitaetsdiode. Eine weitere Möglichkeit wäre, den Ausgang zum Integrationskondensator grundsätzlich hochohmig zu lassen (DDRD.3=0), lediglich zur Korrektur pro Sekunde einmal den PORTD.3 auf die Richtung der Korrektur (hoch/runter), und den DDRD.3 proportional zur festgestellten Abweichung, einige Mikrosekunden einzuschalten. Müsste lediglich die LED am PD3 entfernt werden.
Pandur S. schrieb: > Weshalb sollte man wegen 16MHz ploetzlich in double rechnen, wenn > Longint auch genuegen wuerden ? Weil das Komma von alleine fließt und es damit einfacher ist. Die Berechnungen sollten schon eine Stelle genauer als das letztlich geforderte Ergebnis sein. Longint hat keine eindeutige Größe. Meinst Du long long? Pandur S. schrieb: > Ein 16bit DAC > geht fuer vielleicht 5 Euro, das lohnt sich allemal fuer eine saubere > Ansteuerung der Kapazitaetsdiode. Der ATmega328 bietet 16 Bit PWM-Auflösung. Das ist völlig ausreichend, da es nicht schnell sein muß.
m.n. schrieb: > Der ATmega328 bietet 16 Bit PWM-Auflösung. Das ist völlig ausreichend, > da es nicht schnell sein muß. Ja nur sollte da wirklich nicht nur eine R-C Glättung hin, sondern eine RLC Glättung, wie ich schon in dem Post [Beitrag "Re: Frequenznormal selber bauen GPS diszipliniert 16MHz low cost ATmeg329p Assembler"] geschrieben habe. Dann kann man PWM problemlos nehmen. Ansonsten ist das Risiko groß das der PWM in den Quarzoszillator einstreut. Die Regelspannung von Kapazitätsdioden, werden in den Appnotes meistens mit einer Drossel gegen HF Geblockt. Kommt dazu dass du bei 100kOhm auch den Thermischen Drift der Kapazitätsdiode vergrößerst da ihr Regel-Strom ebenfalls ein Temperaturdrift aufweist.
:
Bearbeitet durch User
Patrick L. schrieb: > Kommt dazu dass... Daß man gar viele Detailverbesserungen andenken kann. Dazu sage ich nur eines: Mit einem sinnvollen OCXO ist das Ganze viel leichter zu machen, wenn es ein Referenzgenerator sein soll. Dort hat man bereits die Stabilisierung in der Temperatur und die Spannungssteuerung der Frequenz drin, ebenso hat man einen sinnvoll breiten Einstellbereich, denn es ist für einen Referenzoszillator, der auf weniger als 1 Hz bei 10..16 MHz einzuregeln ist, nicht sinnvoll, dort einen Verstellbereich von +/- 50 Hz oder noch mehr zu haben. Und besonders teuer ist so ein OCXO auch nicht. Mit so etwa 20€ ist man da dabei. Und wenn es nicht die Werkstatt-Referenz sein soll, sondern 'nur' der Oszillator in einem sonstigen Gerät (Radio usw.), dann reicht es auch aus, da einen noch billigeren TCXO zu nehmen und den anhand der Werkstattreferenz einmal ordentlich einzustellen. Ggf jährlich mal überprüfen. W.S.
Peter R. schrieb: > Und dass da jemand einen Feld-Wald-Wiesen-Quarz mit GPS zu einer > genaueren Frequenzerzeugung benutzt ist ja schön, interessanter wäre > aber das WIE. Das ist im Grunde doch supersimpel. Mit Timer1 wird per input-capture die Periodendauer des 1 pps-Impulses gemessen. Die Überläufe zählt man einfach mit und bildet die Differenz zum letzten Zeitpunkt. Im abgeglichenen Zustand ergibt das einen Zählerstand von 16000000. Ist der Zählerstand größer, muß der Takt verkleinert werden und umgekehrt. Bei 0,1 ppm ist ein Fehler von 60 ns zulässig, was in etwa dem maximalen Jitter eines 1 pps-Impulses entspricht. Das bedeutet, daß man jede Sekunde einen Korrekturwert bekommen kann. Eine erste Verfeinerung ergibt sich, wenn man über die letzten 10 s einen gleitenden Mittelwert bildet und somit den eff. Jitter reduziert. Wie schon angedeutet, wäre ein VCTCXO die bessere Wahl, der er deutlich temperaturstabiler arbeitet. Für möglichst schnelle Einschwingzeit nimmt man einmalig oder bei jedem Einschalten die Kennlinie der Kapazitätsdiode/TCXO auf. Wenn man doch beim nackten Quarz bleiben möchte, dann packt man diesen zumindest in eine kleine Schachtel, um direkte Zugluft zu vermeiden. Wichtiger als eine vermeintliche Drossel für die PWM-Glättung zu verwenden, ist eine stabile Versorgungsspannung. Auch hier ist ein VCTCXO mit separatem 3V3-Regler (aus dem auch das PWM-Signal abgeleitet wird) von Vorteil. Sofern man nicht auf niedrige Stromaufnahme achten muß geht natürlich immer auch ein OCXO. Aktuell im Angebot: Beitrag "10MHZ OCXO KVG O.60.800504-LF 3.3V"
Hi ! Ganz gut ist auch das hier: https://dl4zao.de/projekte/index.html Die Firmware dazu ist allerdings gruselig. Die habe ich neu geschrieben.
Ingo W. schrieb: > Eine weitere Möglichkeit wäre, den Ausgang zum Integrationskondensator > grundsätzlich hochohmig zu lassen (DDRD.3=0), lediglich zur Korrektur > pro Sekunde einmal den PORTD.3 auf die Richtung der Korrektur > (hoch/runter), und den DDRD.3 proportional zur festgestellten > Abweichung, einige Mikrosekunden einzuschalten. > Müsste lediglich die LED am PD3 entfernt werden. Danke Ingo, eine super Idee! Die momentane starre 8Bit-PWM Kopplung zur Erzeugung der Regelspannung ist zwar eine Möglichkeit, aber die Aufladung bzw. Entladung über einen kürzen Impuls ist, bei einer entsprechenden Dimensionierung von R und C, feinstufiger. Patrick L. schrieb: > Ich hätte bei dem 100k neben (MP) noch eine kleine Drossel in Serie mit > vorgesehen. ;-) Warum, könntest Du es uns fachlich begründen? Momentan wird das PWM-Signal (62kHz) 2x geglättet, 10k//100µ und 100k//20p (Varicap), eine Frequenzmodulation ist am Quarz ist nach meiner Meinung vernachlässigbar. m.n. schrieb: > Wenn es um ein "Frequenznormal" > geht, dann sollte man auch 10 MHz erzeugen. Man kann, man muss aber nicht ;-)
Bernhard S. schrieb: > Warum, könntest Du es uns fachlich begründen? Ja. Fachliche Begründung:(Wem es zu lange ist muss es ja nicht lesen) ;-) ... weil PWM "Harte Flanken" generiert und je nach Frequenz des PWM-Signals, können da Harmonische entstehen, die den Oszillator beeinflussen. Je nach Eingang der Quarzoszillator Stufe reichen da schon µV Pegel um den Oszillator aus dem Takt zu bringen. Kann aber muss nicht! Selbst schon eine DSO Sonde kann den Oszillator ungünstig beeinflussen, also kann es der PWM erst recht. Schau dir das Signal an, wenn du keine Veränderung siehst (über das ganze PWM Regelspektrum) ist der Filter genug, aber ich denke du wirst eine Veränderung sehen Ideal zum Feststellen und oft schon gesehen, ist wenn du ein DSO im Eye-Mode hast. Dann sieht man es extrem gut wie wenig es braucht um den Quarzoszi aus dem Takt zu bringen. Oft reicht schon eine Einstreuung eines benachbarten/Parallel verlaufendem Digitalsignals/Leiterbahn. Musste schon Oft Probleme von Kunden lösen, die genau das Problem hatten. In der Regel merkt man die kleinen "Ausreißer" nicht aber bei zeitkritischen Anwendungen können die "Ausreißer" zu Problemen führen die dann fast "Zufällig" auftauchen. Soll ja nur als gut gemeinter Rat sein, da ich da schon einige mahle Schaltungen/Layout genau mit solchen Problemen von Kunden überarbeiten musste. Das sind Hinterhältig gemeine Fehler, die mann nur selten entdeckt, weil sie nur Sporadisch auftauchen, wen die "Spikes" genau, in den Flankenschwellen des Eingangs Schmitt-trigger auftauchen bzw. zusammentreffen. Das sind dann immer wieder kleine "nS" Hüpfer, die sich summieren und irgend wann ist der Takt so verschoben dass es auffällt.
So ähnlich hab ich das schon vor 8 Jahren mit einem popligen Tiny24 gemacht. Erscheint der pps (noch) unregelmäßig, oder nach längerem pps-Ausfall gibt es rotes Licht. Lässt sich der Quarz-Oszillator nicht auf die Sollfrequenz einregeln, bleibt es bei rotem Licht. Kommt der pps regelmäßig und zeigt wiederholt, dass nur minimal nachzuregeln ist, gibt es grünes Licht. Fällt der pps danach aus, geht die Anzeige für kurze Zeit auf GN + RD = Warnung. Mit günstigen Amateur-Mitteln werden 10 MHz +/-1 Hz (0,1 ppm) plausibel bereitgestellt. Nicht mehr und nicht weniger. Solange GPS empfangbar ist, braucht es keine Kalibrierung!
Kurt schrieb: > So ähnlich hab ich das schon vor 8 Jahren mit einem popligen Tiny24 > gemacht. Jep aber du hast ein 3 Stuffen Filter, somit hast du einiges bessere PWM Glättung laut deinem geposteten Schema. ;-) Das Schema vom TO zeigt nur 1 Filterstuffe und dazu auch kein Blockkondensator der die HF Anteile sauber blockt. Ich gehe davon aus, dass du in Anbetracht des kleinen PWM->Analog "C" von nur 1000nF hast etwas höhere PWM Frequenz fährst. Gehst aber auch mit 100kOhm auf die CapDiode womit auch bei dir, durch ein leichten Temperaturdrift die Regelspannung etwas "wandern" könnte. 73 55
:
Bearbeitet durch User
Das Problem ist aber heutzutage die Kapazitätsdiode: Gibt's kaum noch! Die optimale VariCap ist natürlich die BB139 (bei Bernhard S. falsch als BD139 bezeichnet). Vor wenigen Jahren konnte ich noch wenige Exemplare ergattern...
Kurt schrieb: > Das Problem ist aber heutzutage die Kapazitätsdiode: Gibt's kaum noch! Also ich habe noch Rollenweise CapDioden, allerdings SMD da wir selber VCO's herstellen ;-) Kurt schrieb: > (bei Bernhard S. falsch als > BD139 bezeichnet). Jup hatte ich in meinem Post drauf hingewiesen und grad das Datenblatt angehängt; Beitrag "Re: Frequenznormal selber bauen GPS diszipliniert 16MHz low cost ATmeg329p Assembler"
:
Bearbeitet durch User
Bernhard S. schrieb: > Momentan wird das PWM-Signal (62kHz) 2x geglättet, > > 10k//100µ und 100k//20p (Varicap), eine Frequenzmodulation ist am Quarz > ist nach meiner Meinung vernachlässigbar. Was meinst du mit 2x glätten? Bei 62kHz würden die 100kΩ//20pF allenfalls Oberwellen wegnehmen, die nach den 10kΩ//100µF aber sowieso nicht mehr vorhanden sind. Der zweiten TP trägt zur Glättung nichts bei.
@ Patrick L. (Firma: S-C-I DATA GbR) (pali64) Meine Glättung ist schneller beim Einschalten, unterdrückt aber die PWM-Frequenz (8K Hz) noch ausreichend: Ripple <= 1/3 PWM-Step. Hastige Regelsprünge werden von der Software abgefangen. Ehrlich gesagt, habe ich mir bisher keine Gedanken darüber gemacht, ob eine Sperrspannung (I -> 0) über 100 kOhm thermisch schlechter wirkt, als über 10, oder 1000 kOhm. Beim vorgesehenen Gebrauch im "Heim-Labor" würde in jedem Falle entdeckt werden, wenn die Abstimmung auf die Sollfrequenz (auch thermisch) nicht mehr funktioniert. Rote LED!
Kurt schrieb: > Beim vorgesehenen Gebrauch im "Heim-Labor" würde in jedem Falle entdeckt > werden, wenn die Abstimmung auf die Sollfrequenz (auch thermisch) nicht > mehr funktioniert. Rote LED! Merkt deine Software bei 20° Differenz ca 0.5%? Das dürfte bei deiner Schaltung so ca. der Drift sein was ich anhand der Widerstände und anderen Bauteilen in deiner Schaltung(Schema) ausgerechnet habe ;-) Hängt natürlich noch stark von der Güte deines Quarzes ab da hast du leider keine Typenbezeichnung aufgeführt.
:
Bearbeitet durch User
Hallo Patrick L. (Firma: S-C-I DATA GbR) (pali64), ich befürchte, dass du dir kluge Gedanken machst, die an Sinn und Funktion meiner Schaltung vorbei gehen. Sie erfasst, ob der VCXO per PWM auf 10.000.000 +/- 1 Pulsen zwischen 2 pps-Pulsen abstimmbar ist. Gelingt es, verlässlich hintereinander eine Taktrate von 10.000.000 +/- 1 zwischen 2 pps-Pulsen zu messen, wird "grünes Licht" gegeben. Der 10 MHz-Ausgang liefert offensichtlich 10 MHz +/-0,1 ppm. Funktioniert das nicht, wird keine Fehler-Ursache vermutet, sondern nur signalisiert, dass die 10 MHz nicht auf 0,1 ppm genau sein können.
Patrick L. schrieb: > Fachliche Begründung:(Wem es zu lange ist muss es ja nicht lesen) ;-) > ... weil PWM "Harte Flanken" generiert und je nach Frequenz des > PWM-Signals, können da Harmonische entstehen, die den Oszillator > beeinflussen. > Je nach Eingang der Quarzoszillator Stufe reichen da schon µV Pegel um > den Oszillator aus dem Takt zu bringen. > Kann aber muss nicht! Diesen Scherz soltest Du besser für den 1.4. aufheben. Nachher baut das jemand noch tatsächlich nach oder bettet seinen Controller in ein Ferritgehäuse ein, das bei Mitternacht und Vollmond aus einem Block gefräst wurde. Ein Tiefpass 2. - 3. Ordnung reicht hier völlig aus. Daß man das PWM-Signal vor der Filterung nicht ringförmig um den Quarz führt oder an dessen Gehäuse legt, sollte allgemein bekannt sein. Alles andere ist Hysterie und Wichtigtuerei.
m.n. schrieb: > Ein Tiefpass 2. - 3. Ordnung reicht hier völlig aus. Naja, der Tiefpaß sollte auch sinnvoll dimensioniert sein. Wenn ich mir das 3. Bild des TO so anschaue, dann schnipst die Abstimmspannnung nach einem Tastendruck doch ziemlich herum, was dann einen ähnlichen Frequenz-Hopser bedeutet. So etwas ist schlußendlich eine ziemlich miserable Kurzzeit-Stabilität. W.S.
Ein RC Tiefpass heisst noch nicht, dass die gefilterte Frequenz auch weg ist. Es bedeutet nur, dass die Amplitude abgesenkt wurde. Die Frage ist daher, auf wieviel abgesenkt ? 10^-3 ? 10^-4 ?
Purzel H. schrieb: > Ein RC Tiefpass heisst noch nicht, dass die gefilterte Frequenz auch weg > ist. Es bedeutet nur, dass die Amplitude abgesenkt wurde. Die Frage ist > daher, auf wieviel abgesenkt ? 10^-3 ? 10^-4 ? https://www.elektroniktutor.de/analogtechnik/tiefpass.html
Ich stelle die Frage ja nicht. Das muss sich der Designer ueberlegen, welchen Rippel er auf der Kapazitaetsdiode haben will/darf/kann. Die ueblichen 20dB sind naemlich nur eine Absenkung um den Faktor 10 in der Amplitude. Bedeutet aus 5V PWM wird erst 0.5V Rippel. Eine Absenkung auf 0.001 der Amplitude, sind dann schon 60dB, sind dann schon 3 Dekaden in der Frequenz. Und dann hat man schon das Problem, dass die Teile nicht mehr das machen was man denkt. Ein 50Hz Tiefpass der bei 50kHz 60dB bringt. Also ein Elko anstelle eines keramischen Caps hat dann ploetzlich einen Leckstrom, ..
:
Bearbeitet durch User
@alle Momentan verwende ich dieses Modul, GPS Breakout-Platine, MTK3339. Welche Module würdet Ihr empfehlen?
Kurt schrieb: > Das Problem ist aber heutzutage die Kapazitätsdiode: Gibt's kaum noch! Nimm eine andere, ev. würde ein ganz normale Diode dafür ausreichen, es kommt nur auf die Kapazitätsänderung und auf die Erfüllung der Schwingbedingung an ;-)
Ingo W. schrieb: > Eine weitere Möglichkeit wäre, den Ausgang zum Integrationskondensator > grundsätzlich hochohmig zu lassen (DDRD.3=0), lediglich zur Korrektur > pro Sekunde einmal den PORTD.3 auf die Richtung der Korrektur > (hoch/runter), und den DDRD.3 proportional zur festgestellten > Abweichung, einige Mikrosekunden einzuschalten. > Müsste lediglich die LED am PD3 entfernt werden. Dieser sehr interessanten Idee bin ich mal nachgegangen, Danke für den Tipp. Folgende Erscheinung: Der PB3 ist zwar hochohmig, aber lädt bzw. entlädt ganz leicht den 100µF Elko, Ursache vermutlich interne Leckströme. Bei 10k, 100µF und 100µs wird der Elko pro Sekunde um ca. 2mV auf- bzw entladen. Dauert dann natürlich ein weilchen, bis ca. 2,5V Regelspannung erreicht sind ^^ Eventuell könnte auch ein Tantal-Elko die Leckströme gegen GND minimieren.
:
Bearbeitet durch User
Erklärt jetzt nicht den beobachteten Leckstrom, könnte aber zu einer erhöhten Stromaufnahme führen: Da der Port D3 nicht als Analogeingang ausgelegt ist, hat er auch kein "digital input disable register" (didr), womit der digitale Eingang gesperrt werden kann. Eventuell wäre es besser, für den Zweck ein Pin mit Eingangsfunktion (z.B. PC2) zu nutzen.
Bernhard S. schrieb: > Dieser sehr interessanten Idee bin ich mal nachgegangen, Danke für den > Tipp. > > Folgende Erscheinung: > > Der PB3 ist zwar hochohmig, aber lädt bzw. entlädt ganz leicht den > 100µF Elko, Ursache vermutlich interne Leckströme. Solche Schaltungen baut man anders auf: Schalter ohne relevante Leckströme und hochohmigen Puffer. Dann reicht 1 µF locker. Da hast Du einen fliegenden Aufbau, soweit zu erkennen Timer1 garnicht verwendet und von vielen Seiten den Rat bekommen, den Tiefpaß mehrstufig auszulegen. Somit wäre es ein Leichtes, den OCR1A-Ausgang auf PWM-Ausgabe umzulöten und meinetwegen ein 12 Bit PWM-Signal (mit 4 kHz) zu generieren. Das ergibt eine hinreichende Auflösung bei schneller Einschwingzeit. Eine stabile Versorgungsspanung setze ich voraus. Sowie ich Deine anderen Beiträge verfolgt habe, wirst Du meinen Rat sicherlich nicht befolgen ;-)
Mann muss das Verstehen, wenn man sich hier durch die Beiträge durchrackert. Sehr viele sagen gegen den Rat eines Zusätzlichen Filters aus: m.n. schrieb: > Diesen Scherz soltest Du besser für den 1.4. aufheben. Nachher baut das > jemand noch tatsächlich nach oder bettet seinen Controller in ein > Ferritgehäuse ein, das bei Mitternacht und Vollmond aus einem Block > gefräst wurde. Wenn das so beim TO Hängen bleibt meint er dass sein Filter OK ist und versteht nicht was mit: Purzel H. schrieb: > Ein RC Tiefpass heisst noch nicht, dass die gefilterte Frequenz auch weg > ist. Es bedeutet nur, dass die Amplitude abgesenkt wurde. Die Frage ist > daher, auf wieviel abgesenkt ? 10^-3 ? 10^-4 ? Und: m.n. schrieb: > Ein Tiefpass 2. - 3. Ordnung reicht hier völlig aus. Daß man das > PWM-Signal vor der Filterung nicht ringförmig um den Quarz führt oder an > dessen Gehäuse legt, sollte allgemein bekannt sein. > > Alles andere ist Hysterie und Wichtigtuerei. Gemeint ist. Da er ja nicht Profi ist. Deshalb Nochmals! Du hast nur 1 Filterstufe, und eine sehr niedrige PWM Frequenz. Da kommen sicher genügend Ripple durch um den Schwingkreis des Quarzes zu beeinflussen. Verwende doch das Design von: Kurt schrieb: > So ähnlich hab ich das schon vor 8 Jahren mit einem popligen Tiny24 > gemacht. im Post:Beitrag "Re: Frequenznormal selber bauen GPS diszipliniert 16MHz low cost ATmeg329p Assembler" Da ist eine viel bessere Filterung, und auch bessere PWM Frequenz realisiert. ;-)
Ingo W. schrieb: > Erklärt jetzt nicht den beobachteten Leckstrom, könnte aber zu einer > erhöhten Stromaufnahme führen: Da der Port D3 nicht als Analogeingang > ausgelegt ist, hat er auch kein "digital input disable register" (didr), > womit der digitale Eingang gesperrt werden kann. Eventuell wäre es > besser, für den Zweck ein Pin mit Eingangsfunktion (z.B. PC2) zu nutzen. Ein Versuch macht Klug. 100µF an PB1 (als Eingang, Pull-UP off) Der Elko wird auf ca. 120mV auf- bzw. entladen. s. Bild Den Eingangswiderstand des Multimeters wollen wir mal großzügigerweis vernachlässigen. Patrick L. schrieb: > Da ist eine viel bessere Filterung, und auch bessere PWM Frequenz > realisiert. Wie hoch ist denn die PWM-Frequenz ? In meinem Beispiel 62kHz.
:
Bearbeitet durch User
Bernhard S. schrieb: > Wie hoch ist denn die PWM-Frequenz ? > > In meinem Beispiel 62kHz. OK deine PWM Frequenz ist hoch genug ich hatte bei der Simulation den Widerstand des von dir verwendeten Pin mit einbezogen, da hätte die Frequenz 91 kHz sein müssen wenn du aber ein Pin hast der quasi OC ist dann reicht deine Frequenz. Mit dem 100µF müsste aber laut Simulation, die maximale Spannung von 5V schon bei etwa 70% des PWM erreicht werden. Ideal wäre ja das Tastverhältnis: 50% PWM= 2.5V und 99% =5V. Wenn du nahe daran kommst, ist deine PWM im Verhältnis Frequenz, Lade-C und Filter-last ideal. wie sieht es da bei dir aus?. Wie ich schon geschrieben habe, würde ich eine Ferrit Perle nach den 100K Widerstand setzen. Dieser würde sicher die AC Anteile aus deiner PWM Filtern. Der 100µF ist dazu, zu wenig HF Stabil und wird die Spikes nicht ganz blocken können. Ich hatte miteinbezogen dass "Kurt" ja ein quasi OC Nutzt und somit sein Lade-C, Prozessor seitig nicht entladen wird. Bei deinem Verwendeten Pin und µC hast du ja eine Entladung durch den µC Pin so wie ja ein Vorposter schreibt. Kann dies aber nicht Verifizieren, weil ich grad kein Simulationsmodell für die µC zur Hand habe.
:
Bearbeitet durch User
Frequenznormal 20MHz selber bauen, GPS geregelt, mit wenig Aufwand. Genauigkeit: +/- 1Hz = 0,05ppm Inbetriebnahme: - GPS deaktivieren - Neustart des ATmega328p, die Regelspannung beträgt ca. 2,5V am 19KHz 10Bit PWM-Ausgang - mit den Trimmern ca. 20MHz am Ausgang einstellen - Taste "Frequenz min", Regelspannung gegen GND (minimale Frequenz) - Taste "Frequenz max", Regelspannung gegen +5V (maximale Frequenz) - GPS aktivieren (low aktiv) - Neustart des AVR - nach einigen Minuten ist das System eingeschwungen - leuchtet die LED "Regelspannung + " oder "Regelspannung - " wird die Regelspannung nachgeregelt - leuchtet die grüne LED für mehrere Sekunden, dann ist die Freude riesig, das System ist eingeschwungen :-)
Oh! Timer1 wird nun für PWM-Erzeugung genutzt. Da die 1 Hz Messungen an INT0/PCINT18 doch recht ungenau sind, wäre die Erfassung über ICP1 an AIN1 oder einem freien ADCx geschickter. Gut, man kann den Controller auch schlafen legen und auf den ext. Interrupt warten. Bei einem 20 MHz Taktsignal könnte man auch CLKPR so setzen, daß 10 MHz erzeugt werden. Zudem würde ich auch noch ein 10 KHz Signal erzeugen - per OCR1B oder einen anderen Timer.
m.n. schrieb: > Oh! Timer1 wird nun für PWM-Erzeugung genutzt. Es stellte sich heraus, dass diese Variante bei der momentan vorhandenen Hardware doch die bessere ist. 8Bit ist etwas ungenau, zu grob, die relativ hohen Spannungssprünge bewirken zu große Frequenzsprünge, Ausgangssignal jittert unschön. Die Kapazitätsvariante, kurzer Lade- btw. Entladestromstoß, ist zwar theoretisch gesehen sehr feinstufig, aber diverse Leck bzw.- Biasströme entladen permanent den C. Anmerkung: Bei der momentanen Konfiguration ändert sich die Ausgangsfreuenz um ca. 200Hz (19.999.900...20.000.100Hz) bei einer Regelspannungsänderung von 5V (0...5V).
Wer mag, kann auch für das Eigenbau Frequenznormal statt der BD139 o.ä. eine ganz normale 1A Si-Diode verwenden, geht genauso gut :-) Im 20MHz-Bereich ist die C/U Kennlinie nahezu gleich.
:
Bearbeitet durch User
Die LCD OLED - Variante. Besonderheit: der 20MHz Quarz wird durch den GPS-Impuls auf +/- 1Hz genau synchronisiert, das ergibt eine Genauigkeit von 0,05ppm. Im Video Rudium(blau), Quarz(gelb) erkennt man deutlich die systembedingte Phasenverschiebung. Das analoge Zeigerinstrument zeigt die momentane Regelspannung an, erwärmt bzw. kühlt sich die Schaltung ab, ändert sich natürlich die Regelspannung. Folgende Ausgangsfrequenzen sind möglich: 10MHz, 1MHz, 100kHz Die Menues sind selbsterklärend. Inbetriebnahme: - GPS deaktivieren - Neustart des ATmega328p, die Regelspannung beträgt ca. 2,5V am 19KHz 10Bit PWM-Ausgang - mit den Trimmern ca. 10MHz am Ausgang einstellen - Taste "Frequenz min", Regelspannung gegen GND (minimale Frequenz) - Taste "Frequenz max", Regelspannung gegen +5V (maximale Frequenz) - GPS aktivieren (low aktiv) - Neustart des AVR - nach einigen Minuten ist das System eingeschwungen - leuchtet die grüne LED für mehrere Sekunden, dann ist das System ist eingeschwungen (login) Die Ausgangsfrequenz jittert etwas, mit einem Rudium Frequenznormal kann die einfache Schaltung leider nicht mithalten.
:
Bearbeitet durch User
Natürlich wäre eine Synchronisation mit einem DCF-Impuls möglich, ist aber nicht ganz einfach, da der der DCF-Impuls doch um einige ms jittert. Im Video GPS(gelb), DCF(blau)
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.