2^x-Quarz oder Oszillator

Gast #1688930
Lesenswert?

Hallo,

ich benötige für ein Mikrocontrollerprojekt einen Quarz oder 
vorzugsweise einen Oszillator mit einer Schwingung von 2^x Hz, deutlich 
größer als 2^15 Hz. Er sollte zudem möglichst genau sein, d.h. kleiner 
5ppm.

Bisher habe ich nur Quarze für z.B. 2^22Hz gefunden, leider bestenfalls 
mit 10ppm. Oszillatoren, ganz zu schweigen von TCXO, sind mir noch nicht 
über dem Weg gelaufen.

Zum Mikrocontroller kann ich im Moment noch nicht mehr sagen, als daß 
ich wohl einen besseren Atmel mit USB verwenden werde.

Meine Fragen:
Kann mir jemand von Euch verraten, wo ich geeignete Quarze/Oszis 
finde/kaufen kann?

Wie schwer/sicher ist es wirklich, eine Oszillatorschaltung für meine 
Zwecke zu entwickeln?

Vielen Dank im Vorraus!
Gast #1689056
Lesenswert?

Travel Rec. schrieb:
> Was genau sind Deine Zwecke? Für USB genügen jedenfalls 12Mhz +-0.5%.

Den USB hatte ich nur wegen der Spannung für den Quarz genannt, falls 
relevant, also 5V oder vielleicht 3,3V.

Ich steuere mit dieser Frequenz zu Testzwecken Uhrenmotoren an.
Damit die Versuche auch ihre Ordnung haben, also eine 2^(x+15)-Frequenz.

- Aber ich freu mich schon, daß ihr so schnell antwortet!!
Ich bin gespannt!
Gast #1690775
Lesenswert?

Hmm, vielleicht stehe ich auf dem Schlauch...

Also, daß es viele 32768MHz-Quarze gibt habe ich schon gesehen,
aber wie kann man mit einem Mikrocontroller durch 1000 teilen, ohne 
Fourietransformation?

Ich kenne nur Rechenoperationen wie shiften, usw.
Gast #1690777
Lesenswert?

Mal andersrum gefragt:

Was wäre wenn ich einen VCXO verwenden würde? Wie soll ich mir das 
Einstellen der gewünschten Frequenz praktisch vorstellen? Haben die 
kleine Schräubchen, wie alte Quarzuhren mit Trimmer oder benötigen die 
noch spezielle Kondensatoren ....

Ich meine die haben doch sehr weite Frequenbereiche. Wie schwer ist es 
da, eine Frequenz von 2^22Hz genau einzustellen?

Ich glaube auch die VCXO sind tendenziell ungenaurer als feste XO oder?
Gast #1691199
Lesenswert?

"Also, daß es viele 32768MHz-Quarze gibt habe ich schon gesehen,
aber wie kann man mit einem Mikrocontroller durch 1000 teilen, ohne
Fourietransformation?"

Zaehlen und vergleichen? Hier soll ja ein Takt und keine Zahl geteilt 
werden.
Gast #1691290
Lesenswert?

Für die von Dir gewünschten Frequenzen, musst Du dir wohl einen Quarz 
anfertigen lassen, ist aber nicht so teuer/schwierig wie es klingen mag:

http://andyquarz.de/pageID_4902356.html

Da es sich im Bereich von 1.5..30MHz (wir dort angegeben) um 
Grundtonquarze handelt, kannst Du sie ggf. auch direkt an 
controllerinterne Quarzoszillatorschaltungen anschließen.
Wie sehr Dir das überhaupt weiterhilft, ist ohne genaue Beschreibung 
Deines Problems kaum zu sagen.

Viel Erfolg
Sascha
Gast #1691615
Lesenswert?

arno nyhm schrieb:
> Da es sich im Bereich von 1.5..30MHz (wir dort angegeben) um
> Grundtonquarze handelt, kannst Du sie ggf. auch direkt an
> controllerinterne Quarzoszillatorschaltungen anschließen.
> Wie sehr Dir das überhaupt weiterhilft, ist ohne genaue Beschreibung
> Deines Problems kaum zu sagen.

Ich denke das geht vermutlich schon.

Der erste Schritt wäre ja schon mal erreicht, eine geeignete Frequenz zu 
haben. Nur in Bezug auf die Genauigkeit müßte ich mir noch überlegen, ob 
mehr Mühe nötig ist.

Ich muß mal nachschauen, was die Datenblätter geeigneter Quarze sagen.
Gast #1691628
Lesenswert?

arno nyhm schrieb:
> Für die von Dir gewünschten Frequenzen, musst Du dir wohl einen Quarz
> anfertigen lassen

Gibt es denn keine Möglichkeit einen 2^22Hz- oder 32,769MHz-Quarz mit 
eigener Oszillatorschaltung noch etwas in meinen Genauigkeitsbereit zu 
ziehen?

Wie weit wäre das denn möglich? (z.B. von 10ppm -> 5ppm?)
Oder ist der Aufwand zu groß?


Vielen Dank auch schon einmal für Eure Beteiligung!
Gast #1691696
Lesenswert?

faustian schrieb:
> Geht es um Echtzeit oder um plesiochrone
> Datenuebertragung?

Wenn Du mit Echtzeit meinst, daß ich ständig aktiv das Verhalten der 
Motoren beeinflusse (Regelung), dann zweiteres.

Anmerkung: Ich komme nicht aus der Nachrichtentechnik, ich befasse mich 
mit Motoren.
Moderator Persönliche Seite #1691867
Lesenswert?

Boris schrieb:
> Wieviel Ungenauigkeit könnte der Timer zusätzlich in meinen Takt
> bringen?

Ein vernünftig implementierter Timer bringt keine zusätzliche
Ungenauigkeit mit sich.  Falls dein Controller aber nur einen
relativ primitiven Timer hat, den man beim Erreichen eines
bestimmten Zählerstandes "zu Fuß" in der ISR wieder auf einen
anderen Wert setzen muss, dann kommt die Latenz der ISR bzw.
deren zeitliche Unbestimmtheit hinzu.
#1692012
Lesenswert?

Jörg Wunsch schrieb:
> Falls dein Controller aber nur einen
> relativ primitiven Timer hat, den man beim Erreichen eines
> bestimmten Zählerstandes "zu Fuß" in der ISR wieder auf einen
> anderen Wert setzen muss, dann kommt die Latenz der ISR bzw.
> deren zeitliche Unbestimmtheit hinzu.

Auch dann kann man zyklusgenau timen, z.B. bei den einfachen 8051.

Der Timer läuft nach dem Überlauf weiter, also einfach den 
Verkürzungswert addieren.
Man muß davon noch Zeit für die Addition abziehen und die ist immer 
konstant. Unter C muß man sie aus dem Listing ermitteln.


Peter
Moderator Persönliche Seite #1692088
Lesenswert?

Peter Dannegger schrieb:
> Der Timer läuft nach dem Überlauf weiter, also einfach den
> Verkürzungswert addieren.

Das geht aber nur, wenn die Zeit zwischen Überlauf und der Bearbeitung
der ISR konstant ist und nicht jittert (bspw. weil ein [höher priori-
sierter] Interrupt gerade bearbeiet wird).

Wenn ich es mir aussuchen kann, würde ich jedenfalls einen Timer
bevorzugen, der das in Hardware erledigt.  Ob nun so wie beim AVR,
dass der Zähler vorwärts zählt und beim Erreichen eines bestimmten
Standes automatisch auf 0 geht, oder wie beim ehrwürdigen Z80, bei
dem der Zähler mit einem einstellbaren Wert vorgeladen wird und
dann rückwärts bis 0 zählt, spielt dabei weniger eine Rolle.
#1692239
Lesenswert?

Jörg Wunsch schrieb:
> Peter Dannegger schrieb:
>> Der Timer läuft nach dem Überlauf weiter, also einfach den
>> Verkürzungswert addieren.
>
> Das geht aber nur, wenn die Zeit zwischen Überlauf und der Bearbeitung
> der ISR konstant ist und nicht jittert (bspw. weil ein [höher priori-
> sierter] Interrupt gerade bearbeiet wird).
>

Nein, wenn man in der ISR (dann ist das "Jittern" ja schon passiert) den 
weitergelaufenen Timer ausliest (das ist der "Jitter", bzw. 
"Verkürzungswert") und den Timer dann neu startet unter Berücksichtigung 
dieses Wertes. Die Berechnung / neu starten ist konstant und kann 
einberechnet werden. Natürlich darf die ISR selbst innerhalb dieser 
Aktion nicht von einer höher priorisierten ISR unterbrochen werden.
Moderator Persönliche Seite #1692319
Lesenswert?

Bernhard M. schrieb:
> Natürlich darf die ISR selbst innerhalb dieser
> Aktion nicht von einer höher priorisierten ISR unterbrochen werden.

Außerdem hast du immer noch die Unsicherheit von 1 digit, da der
Zähler ja kurz nach dem Auslesen (während der Berechnung) noch um
1 weitergezählt worden sein könnte.  Oder du hältst den Timer vor
dem Auslesen an und startest ihn danach neu, aber das könnte auch
weiteren Jitter generieren.

Ja, machbar ist das schon, aber es wäre nicht mein Vorzug
Gast #1692422
Lesenswert?

Boris, um was für Motoren handelt es sich denn überhaupt? Wie wirst Du 
diese ansteuern? Welche Rolle spielt der Mikrocontroller - was soll er 
erledigen?

Sehr genaue Oszillatoren sind immer noch eine gewisse 'Kunst' - schnell 
kommt man bei Quarzen nicht mehr um eine Temperaturstabilisierung herum, 
also einen Ofen (OCXO).
Die  20/10ppm die vom Andy angeboten werden sind schon nicht schlecht, 
evtl. kann er es auch noch genauer fertigen, da musst Du ihn wohl mal 
direkt fragen!
In einer einfachen Oszillatorschaltung, so z.B. auch bei den der 
Mikrocontroller, lässt sich die Schwingfrequenz mittels eines 
zusätzlichen (Trimm-)Kondensators etwas 'ziehen', den Temperaturdrift 
beeinflusst das aber weiter negativ.

Hast Du mal grob abgeschätzt/durchgerechnet wie genau dein System 
überhaupt sein muss - wie stark sich eine gewisse Abweichung bemerkbar 
machen wird? 'Möglichst genau' ist zwar immer eine nette Anforderung, 
doch steigt der Aufwand für die letzten Etappen enorm an, ob es sich 
wirklich lohnt sollte man dann mal konkret abschätzen.
Dein Problem schein ja mit Uhren zu tun zu haben - wenn Du wirklich 
Langzeitpräzision mit geringsten Abweichungen benötigst, solltest Du 
vielleicht in Richtung Rubidium- oder DCF77-Frequenznormal gehen, 
welches dann einen anderen Oszillator stabilisiert.

Ein größeres Experiment mit vielen synchronisierten Komponenten wird bei 
mir von einem mit Rubidium-Frequenznormal stabilisierten Timer gesteuert 
- dabei liefert das Frequenznormal 'ultragenaue' 5MHz welche als 
Ausgangsfrequenz für mehrere PLL-Stufen dienen, um die benötigten 
Frequenzen zu liefern - so kämst Du auch von einer gegebenen Frequenz 
auf deine gewünschte: PLL.

Der 'Efratom FRS' ist sehr gutmütig und einfach anzusteuern, alle Magie 
passiert im inneren! Gebraucht, bei Helmut-Singer, kostet so ein Modul 
weniger als so mancher OCXO - von daher ist es vielleicht eine 
Überlegung wert?!
http://www.helmut-singer.de/stock/-542008900.html

Grüße
Sascha
#1692428
Lesenswert?

Jörg Wunsch schrieb:
> Außerdem hast du immer noch die Unsicherheit von 1 digit, da der
> Zähler ja kurz nach dem Auslesen (während der Berechnung) noch um
> 1 weitergezählt worden sein könnte.

Man darf dann natürlich keinen Vorteiler verwenden (hat der 8051 nicht).
Damit ist man CPU-zyklusgenau.

>  Oder du hältst den Timer vor
> dem Auslesen an und startest ihn danach neu, aber das könnte auch
> weiteren Jitter generieren.

Sollte man beim 8051 machen, da die 16Bit nicht gleichzeitig gelesen 
werden und ein 8Bit Überlauf möglich ist.
Oder man garantiert, daß der Interrupt innerhalb 256 Zyklen nach 
Überlauf erfolgt (höchste Priorität zuweisen).

Beim Anhalten entsteht kein Jitter.


Peter
Gast #1693299
Lesenswert?

Hallo Sascha,

also für normale Menschen klingt ein Rubidiumzähler schon abgefahren.
Aber vielleicht bringe ich meinen Chef so auch wieder auf dem Boden. 
(Lach!)
Nun, bei Euren Überlegungen sollte ich die Genauigkeitsanforderungen 
wirklich noch einmal prüfen.

Aber die Lösung find ich allemal Klasse!
Ich prüf auf jeden Fall mal was der kostet, würde mich interessieren.
Vielleicht denk ich mal privat dran, fänd ich näckisch, damit fällt mir 
schon allerhand ein...  ;)


Peter, an was denkst Du, wenn Du von 8051 sprichst? Für mich ist das ein 
riesiges Feld.

---------------------------------------
Also ich fasse mal zusammen:

Taktproblem: 32,768MHz (mit Augenmerk Timer/Interruptprioritäten) oder 
2^22Hz (<10ppm noch nicht aufgefunden)

Genauigkeit: Rubidium, TCXO, Oszi bauen lassen (bis 10...20ppm)

Entwicklungsboard zum leichten Quarztausch scheint wohl zu entfallen, da 
dem Takt mehr Aufmerksamkeit gegeben werden muß. Also erst 
Quarz-/Oszillatorwahl dann Entwicklungsboard.

---------------------------------------
Na, vielen Dank für die vielen Antworten!
Ich glaube fast wir sind am Ende angekommen, oder fällt noch jemandem 
etwas zu Genauigkeit, Takt oder Beschaffung ein?

Über Links und Anregungen bin ich natürlich weiterhin dankbar!
Vielen Dank noch einmal!
Gast #1693345
Lesenswert?

Rubidium-Oszilatoren und weiteres taktvolles Equipment gibt es zum Glück 
nicht nur in Singers Vollpreis-Apotheke, sondern bspw. auch beim 
freundlichen Chinesen im Netz um die Ecke:

  http://stores.ebay.de/Flyingbests-Equipment

Vier Datum-Rubidum-Oszillatoren habe ich dort vor etwa einem halben Jahr 
erworben, Lieferzeit knapp drei Wochen, incl. einer Woche für die von 
DHL selbst ausgeführte Zollabfertigung, zur Entrichtung des 
19prozentigen Wegelagerer-Bakshish.

Recht beeindruckend ist es, zwei 10MHz-Rubidium-Oszillatoren an X und Y 
eines Scopes zu hängen, um nach ca. 90s zu sehen, wie die 
Lissajous-Schleife langsam "einfriert"...

;-)

MfG
Gast #1693393
Lesenswert?

Bei den Rubidiumteilen lese ich immer wieder dass die Dinger doch 
diverse Verschleissmodi und keine unbegrenzte Lebensdauer haben....

OCXO gibts oefter bei Hoefler - gerade wohl leider nicht ;( Auf den 
letzten DAT hatte er massenhaft 32.768MHz 3.3V Vectron OCXOs auf dem 
Tisch, vielleicht mal anfragen ob er noch ein paar hat (meinen nutze ich 
als Labornormal und gebe den hoechstens im Tausch gegen einen anderen 
OCXO her).
Gast #1693493
Lesenswert?

Ich denke ich nehme Rubidium in meine Liste der Möglichkeiten mit auf.

Werde mich informieren, wie es mit der Stromversorgung aussieht, wie das 
Signal abzugreifen ist, wie erschütterungsanfällig ...

Vielen Dank.
Moderator Persönliche Seite #1693567
Lesenswert?

visitor schrieb:
> Recht beeindruckend ist es, zwei 10MHz-Rubidium-Oszillatoren an X und Y
> eines Scopes zu hängen, um nach ca. 90s zu sehen, wie die
> Lissajous-Schleife langsam "einfriert"...

Selbst die Lissajous-Figur des Rb-Oszillators gegen den OCXO eines
alten sowjetischen Zählfreuenzmessers (Ч3-54) wird schon beeindruckend
langsam, wenn man den OCXO erstmal kalibriert hat.  Zwar liefert der
OCXO irgendwas, nur keinen Sinus, so dass die Figur sehr lustig
aussieht, aber der komplette Umlauf der Figur lag dann auch bei
einigen 10 s.

Ich kann mir allerdings nicht vorstellen, warum man Motoren mit der
Genauigkeit einer Atomuhr steuern können muss.  Immerhin, so ein
Rb-Oszillator geht im Verlauf von vielleicht eines Jahrzehnts um eine
Sekunde falsch.  Normale synchrone Funkkommunikationsprotokolle wie
IEEE 802.15.4 kommen mit einer Genauigkeit von ±40E-6 aus.
Gast #1694019
Lesenswert?

Noch eine Frage:

Die Temperaturstabilität halte ich für ein vernünftiges Argument, doch 
für meine Frage möchte ich sie zunächst einmal vernachlässigen:

Mal angenommen, ich die gewohnte Genauigkeit eines Uhrenquarzes 
(32768Hz, mit Oszilatorschaltung ca.5ppm) würde mir ausreichen.

Gibt es eine mögliche Schaltung mir der man die Frequenz (2^15 * 2^x) 
vervielfachen könnte (also 2^15 * 2^x), ohne an Genauigkeit einzubüßen?

- Wieder bin ich gespannt am Warten!
Persönliche Seite #1694221
Lesenswert?

Boris schrieb:
> Mal andersrum gefragt:
>
> Was wäre wenn ich einen VCXO verwenden würde? Wie soll ich mir das
> Einstellen der gewünschten Frequenz praktisch vorstellen? Haben die
> kleine Schräubchen, wie alte Quarzuhren mit Trimmer oder benötigen die
> noch spezielle Kondensatoren ....
>
> Ich meine die haben doch sehr weite Frequenbereiche. Wie schwer ist es
> da, eine Frequenz von 2^22Hz genau einzustellen?
>

Stehe ich auf dem Schlauch? 4,194xxxMHz gibt es doch standardmäßig als 
Quarz. Dazu noch ein 74HC4060. fertig. Trimmen ginge auch.

Ansonsten ist meine Antwort wie immer: Si570
Gast #1696400
Lesenswert?

Hallo,

es sieht so aus, als ob sich das Problem mit einem TCXO lösen lässt.
Ein freundlicher Hersteller ist sogar bereit mir einen zu schenken.
Besser wärem mehr, da bei SMD und ja noch viel falsch gehen kann...

Aber immerhin, es sieht so aus, als ob in diese Richtung endlich Licht 
ist.
Scheinbar sind die Hersteller nur etwas langsamer gewesen.

------------------------

Es hat sich für mich eine Folgefrage ergeben, doch ich dachte, daß ich 
die besser in einem getrennten Thread stelle:

Beitrag "Atmel mit separatem integriertem USB-Oszillator"

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren