Suche genauen Quarz

Hallo,

ich suche einen möglichst genauen Quarz.
Im Bereich von 100KHz, gibt es da eine Empfehlung?
Sollte möglichst einen weiten Spielraum von der Eingangsspannung haben, so 4,5 bis 5V wo der Takt sich aber nicht verändert.

MfG
Andi

Haribo68:
ich suche einen möglichst genauen Quarz.
Im Bereich von 100KHz, gibt es da eine Empfehlung?
Sollte möglichst einen weiten Spielraum von der Eingangsspannung haben, so 4,5 bis 5V wo der Takt sich aber nicht verändert.

ich vermute, du bringst etwas durcheinander.

Ein Quarz ist erst mal nur ein passives Bauteil welches auf einer bestimmten Frequenz erregt werden kann.

Der hat keine Eingangsspannung.

Ich vermute du benötigst einen “Takt-Oszillator” der eine Frequenz von 100 kHz bei einer Spannung von 4,5 bis 5 Volt ausgeben soll.

Die Spannung ist eher unwesentlich... Die Temperatur ist es.

Ein kleiner Quarzofen ist schnell gebaut.

Haribo68: ich suche einen möglichst genauen Quarz.

Wie schon geschrieben verwechselst Du vermutlich etwas.

Wenn Du nur eine Möglichkeit suchst, eine feste Frequenz erzeugen zu können, könntest Du eine entsprechende WAV-Datei erzeugen (z. B. mit Audacity) und auf dem Händi oder so abspielen.

Gruß

Gregor

Ähm, ja. Einen Quarzoscilator, Taktgeber und so. Da man sich auf die Resonatoren ja nicht wirklich verlassen kann, dachte ich mir ich gebe an einen Pin mit Intx den Ausgang eines Oscilators, setze, wenn möglich noch einen Prescaler im 32u4 und habe dann (vielleicht) haargenaue Millisekunden.

Kann mir vielleicht jemand was Taktstabiles empfehlen?

MfG Andi

Hier findest du eine reichliche Auswahl.

Jau, vielen Dank. Kann zwar SMD nicht brauchen - Klohände und so - aber jetzt weis ich ja wonach ich suchen muss.

MfG Andi

Ok, die gibt es auch mit "Drahtanschlüssen", sicher nicht mehr in der großen Auswahl.

Haribo68: Ähm, ja. Einen Quarzoscilator, Taktgeber und so. Da man sich auf die Resonatoren ja nicht wirklich verlassen kann, dachte ich mir ich gebe an einen Pin mit Intx den Ausgang eines Oscilators, setze, wenn möglich noch einen Prescaler im 32u4 und habe dann (vielleicht) haargenaue Millisekunden.

Kann mir vielleicht jemand was Taktstabiles empfehlen?

MfG Andi

Arduino's mit dem ATmega32U4 haben immer Quarze, keine Risonatoren. Quarze haben generell 100ppm Abweichung innerhalb des gesamten Temperaturbereichs. Wieso willst Du einen 100kHz Quarz?

Grüße Uwe

uwefed:
Wieso willst Du einen 100kHz Quarz?

Weil sich mit dem und dem passenden Prescaler ganz easy Millisekunden takten lässt, oder auch 10KHz.
Mit einem 32,768KHz ist es ja nicht gerade einfach.

MfG
Andi

Haribo68: Mit einem 32,768KHz ist es ja nicht gerade einfach.

Die sind dazu da mit einem 2^15 Binärteiler einen Sekundentakt für Uhren zu erzeugen

Haribo68: Mit einem 32,768KHz ist es ja nicht gerade einfach.

Es kommt auch drauf an wie lang Du das messen möchtest und über welche Zeitspanne das genau sein muss.

Ich habe mit einem 32khz Quarz die Abweichung des Hauptquarzes bestimmt.. so addieren sich Fehler nicht auf und in einer Sekunde hat man schon ziemlich genaue Millisekunden.

Möchtest Du jetzt jede Millisekunde diese auch bestimmen oder Millisekundengenau eine längere Zeit messen?

Haribo68:
Ähm, ja. Einen Quarzoscilator, Taktgeber und so.
Da man sich auf die Resonatoren ja nicht wirklich verlassen kann, dachte ich mir ich gebe an einen Pin mit Intx den Ausgang eines Oscilators, setze, wenn möglich noch einen Prescaler im 32u4 und habe dann (vielleicht) haargenaue Millisekunden.

Nimm einen Arduino mit Quarz. Nach meinem Wissen haben die Leonardos mit 32u4 alle einen 16.000MHz Quarz. Dann kannst du einfach mit millis arbeiten.

Wenn es wesentlich genauer werden muss, könntest du den 32,768kHz-Ausgang einer DS3231 nutzen.

Hallo,

wer etwas mehr über Quarze wissen möchte, dem kann ich nur das Buch empfehlen. Ist seit seit einer Weile kostenlos verfügbar. http://www.axtal.com/Deutsch/TechnInfo/Quarzkochbuch/

Theseus: Nimm einen Arduino mit Quarz. Nach meinem Wissen haben die Leonardos mit 32u4 alle einen 16.000MHz Quarz. Dann kannst du einfach mit millis arbeiten.

Wenn es wesentlich genauer werden muss, könntest du den 32,768kHz-Ausgang einer DS3231 nutzen.

Der zusätzliche Quartz ist (vielleicht) gedacht als genauer Zeitgeber. Es sind bereits 2 A-Star 32u4 verschaltet zum steuern von momentan 275 LEDs, max. für 720. Der eine steuert die LEDs je nach gewähltem Modi, statische wie auch variabel verstellbare Modis. Der andere dekodiert eine bzw. zur Zeit 2 verschiedene IR-Fernbedienungen, bei interesse liefere ich gerne den Algorythmus, hat ein Zeitsystem (Uhrzeit, Stopuhr, Sleeptimer, Timer) was auch mit einer "Overlayfunktion" auf den LEDs schön dargestellt wird. Jetzt bastel ich gerade noch an Sequenzer-Modis für Lichtsequenzen zur Musik was bisher wunderbar parallel mitläuft, soll irgendwann auch mal Tongesteuert, also dynamischer gehen, hoffe ich. Bisher habe ich mit dem Chrystal des 32u4 bzw. "rumspielen" mit dem COMP-A eine Abweichung von ca. 1 Sekunde nach ca. 5 Tagen hinbekommen. Nach einem gewissen Algorythmus wird der Comp-A für Timer 0 (nein, ich verwende kein delay(); und auch keine millis, habe da was eigenes gemacht) jedes mal entsprechend angepasst:

ISR (TIMER0_COMPA_vect){
  if(TWIdelay)TWIdelay--;   //TWIdelay für TWI-Verzögerung minus 1
  SeqBeats+=SeqBpm;
  T1++;                     //Softwaretimer 1 eins hochzählen
  OCR0A=(T3&31)?249:248;    //OCR0A mit Kalibrierungwerte setzen. Alle 32mS 4µS kürzer
  T3++;                     //Softwaretimer 3 eins hochzählen
//  if(T3>998)OCR0A=248;    //OCR0A mit Kalibrierungwerte setzen. 2*4µS (2 Takte) kürzer
  if(T3>999){               //Ist T3 >= 1000?
    T3-=1000;               //T3 auf 0 setzen
    Sekunde++;              //Sekunde + 1
    OCR0A=(Sekunde&7)?249:248;
    if(T2)T2++;             //Wenn T2 für Schlafmodus gesetzt dann + 1
    if(TAuto)if(On==1)TAuto++;
    if(Tim==1)TimSekunde--;}
  if(SW){T4++;
    if(T4>999){
      T4-=1000;
      SWSekunde++;}}
}

Für manche sieht das jetzt übelst überfüllt aus aber wenn man bedennkt, das in jeder ms so gut wie 16000 Takte zur verfügung stehen ist das ein klacks. T0-Overflow für delay ist eh abgeschaltet, kriege blos den Code nicht aus dem 32u4, verwest schon irgendwo :) Nichts desto trotz dachte ich mir eben ich könnte das mit einem zusätzlichen Taktgenaueren Oszilator an einem intX-Eingang noch genauer hinbekommen da mir aufgefallen ist das der Standardquarz stark Temperaturabhängig zu sein scheint.

MfG Andi

Dann genügt ein 32kHz tcxO.. Wie schon geschrieben wurde ds3231. Du bekommst ja alle 32768 Takte und von einer abgeschnittenen Millisekunde den 32768 Teil, also 20 mal genauer wie eine Millisekunde.

Ich hab da letztens mal was gebastelt.. https://github.com/schuppeste/Precise-Time-Millis

Vielleicht reicht das als Anregung.

Haribo68: Bisher habe ich mit dem Chrystal des 32u4 bzw. "rumspielen" mit dem COMP-A eine Abweichung von ca. 1 Sekunde nach ca. 5 Tagen hinbekommen.

Nichts desto trotz dachte ich mir eben ich könnte das mit einem zusätzlichen Taktgenaueren Oszilator an einem intX-Eingang noch genauer hinbekommen da mir aufgefallen ist das der Standardquarz stark Temperaturabhängig zu sein scheint.

Hallo,

1s auf 5Tage ist doch schon ziemlich genau. Das sind 2,3ppm, also weit unter der Grundgenauigkeit eines Quarz mit 100ppm. Manche Echtzeituhr hat eine höhere Abweichung. Ein Arduino mit Resonator hätte in den 5Tagen durchaus etliche Minuten an Abweichung. Die Quarze sind temperaturabhängig. Wenn man hohe Genauigkeit braucht macht man eine Temperaturkompensation oder einen Quarzofen, der den Quarz auf konstanter Temperatur hält.

Da die DS3231 temperaturkompensiert ist, würde ich mit der einen Versuch als 32k-Taktgeber machen oder den 32u4 regelmäßig synchronisieren.

Oder wenn Du's ganz genau willst DCF77 oder GPS.

Grüße Uwe