Wir entwerfen eine einfache Digitaluhr und verwenden einen 32,768-kHz-Quarz mit einer Frequenzstabilität von 20 ppm (Standard-SMT von der Stange).
Wir stellen fest, dass die Uhr um etwa 2,5 Minuten pro Monat vorgeht.
Jetzt haben wir hier vielleicht zwei Probleme ... wir haben Spuren, die unter dem Kristall laufen, was dazu führen könnte, dass der PIC zusätzliche Impulse sieht, und wir haben diese bei unserer nächsten Neugestaltung verschoben. Aber ich frage mich, ob ich einen besseren Kristall verwenden sollte?
Laut Mathematik könnte ein 20-ppm-Kristall 52 Sekunden pro Monat ausfallen; Wenn wir uns für einen 5-ppm-Kristall entscheiden würden, wären das 13 Sekunden pro Monat. Ich versuche hier nicht, eine Atomuhr zu bauen, aber 52 Sekunden pro Monat sind ein bisschen viel, ich würde 13 bevorzugen.
Kristalle mit 5 ppm scheinen jedoch sehr schwer zu bekommen zu sein, die meisten sind 20.
Darf ich fragen, welche Arten von Kristallen die Menschen verwenden, wenn sie eine normale Stechuhr bauen?
Wir haben eine weitere Option im PIC, wo wir die RTC-Kalibrierung anpassen können, aber das bedeutet, dass wir die tatsächliche Frequenz auf jeder Einheit ablesen müssen, was in der Produktion nicht sehr praktisch ist!
Was sollten wir also verwenden? Ein 5-ppm-Kristall oder ein 20-ppm-Kristall und jedes manuell anpassen?
Hier sind ein paar Bilder des Schaltplans und des Layouts
Zu lang, um all das Zeug zu lesen, also hier ist die Kurzgeschichte
Aus Kommentaren unter der Frage sagt Trevor Folgendes: -
Wir denken, dass die Kappen richtig sind. Wir haben 2x 15pf gegen Masse. Der Kristall, den wir verwenden, ist dieser
Der verknüpfte Teil ist jedoch ein 6-pF-Gerät (das eine 2 x 12-pF-Abstimmung erfordert): -
Sie verwenden also wahrscheinlich die falsche Ladekapazität und unten (die lange Geschichte) ist, wie das die Dinge ändern könnte ...
Ein bisschen Hintergrundmaterial zuerst
Das nachstehende Kristallmodell wurde erstellt, indem mehrere Standardangebote von 10-MHz-Quarzen betrachtet und dann ein „durchschnittliches“ Ersatzschaltbild gebildet wurden. Auf beiden Seiten des Kristalls befinden sich CL1 und CL2 (die Ladekondensatoren). In Reihe mit dem angetriebenen Ende (V1) der Schaltung liegt R1. All diese Komponenten sorgen dafür, dass der Kristall mit der auf der Dose aufgedruckten Frequenz „singt“: -
Die Modellwerte bewirken eine Serienresonanz von genau 10.000.000,1403 Hz. Aber ein Kristall kann niemals genau bei dieser Frequenz verwendet werden; Es muss gemäß diesem Diagramm leicht "induktiv" arbeiten: -
Kommen wir zu den Frequenzfehlern, indem wir uns die AC-Antwort der vollständigen Simulation ansehen.
Kristallfrequenzfehler aufgrund von Änderungen in der kapazitiven Belastung
Das Diagramm zeigt einige typische Frequenzänderungen, wenn die kapazitive Belastung in Schritten von 5 pF geändert wird: -
Wichtig ist hier die Frequenz, bei der die Phasenänderung zwischen Vin (dem Ausgang des invertierenden Logikgatters) und Vout (dem an den Eingang des invertierenden Gatters zurückgeführten Signal) 180° beträgt. Da das Gate ein Inverter ist, erhalten Sie eine Oszillation, wenn die Phasenänderung genau 180 ° beträgt.
Bei 2 x 20 pF Belastung beträgt die Schwingfrequenz 10,00137 MHz. Wenn sich die Belastung auf 2 x 15 pF ändert, wird die Oszillationsfrequenz 10,00165 MHz. Das ist eine Änderung von 280 Hz bei 10 MHz und entspricht 28 ppm.
Siehst du das Problem hier?
Leichte Änderungen treten auch auf, weil sich der Wert des Treiberwiderstands ändert
Es ist ein geringerer Effekt als bei Änderungen am Ladekondensator, aber dennoch ein Effekt, der verbessert werden könnte. Die obigen Ergebnisse gelten für eine Belastung von 2 x 20 pF.
Gate-Fortpflanzungsverzögerungen können Änderungen verursachen
Unabhängig davon, wie gut der Kristall ist oder wie sorgfältig Sie die Komponentenwerte um ihn herum ausgewählt haben, wenn das Inverter-Gate eine schlechte Leistung erbringt, treten Oszillationsfrequenzfehler und möglicherweise eine übermäßige Frequenzdrift auf. Betrachten Sie den Wechselrichter 74AC04: -
Die für ansteigende und abfallende Flanken angegebenen Ausbreitungsverzögerungszahlen liegen typischerweise bei etwa 5 ns, könnten aber bis zu 10 ns betragen. Dies bedeutet eine Gesamtausgangsverzögerungszeit von 10 ns, und wenn man bedenkt, dass wir einen 10-MHz-Oszillator betrachten, entsprechen 10 ns einer zusätzlichen Phasenverschiebung von 36°. Dies wird durch die Art der verwendeten Schaltung gemildert; Wir betreiben das Gate halblinear und eine tiefe Sättigung der Ausgangs-MOSFETs würde nicht auftreten, aber es könnte eine äquivalente Phasenverschiebung von etwa 20 ° erwartet werden.
Das bedeutet, dass die belastete Quarzschaltung nur eine Phasenverschiebung von 160° erzeugen muss, um eine Schwingung zu erzeugen: -
Wenn also das Gate, das verwendet wird, um den Kristall in einen Oszillator zu verwandeln, ein wenig flockig ist und driftet, erhalten Sie mehr Fehler. OK, das ist für einen 32.768-kHz-Quarz weniger ein Problem als für einen 10-MHz-Quarz, da Gate-Verzögerungen einen proportional kleineren Fehler darstellen.
Sie müssen jedoch immer noch überprüfen, ob Sie nichts wirklich Beschissenes verwenden, da der Fehler erheblich sein könnte.
Bilder (und etwas Text) von meiner beschissenen Website .
Zusammenfassung
Darf ich fragen, welche Arten von Kristallen die Menschen verwenden, wenn sie eine normale Stechuhr bauen?
Und
Was sollten wir also verwenden? Ein 5-ppm-Kristall oder ein 20-ppm-Kristall und jedes manuell einstellen?
Es hört sich für mich so an, als müssten Sie das Obige beachten und beachten, dass Sie einen Kristall in eine höhere Anfangsgenauigkeit optimieren können.
Erinnerung an die Diskrepanz der Ladekapazität
Die Mouser-Verbindung zum Kristall scheint zu sagen, dass die Belastung so idealerweise 6 pF beträgt, dh von 2 x 12 pF-Kondensatoren und nicht von 2 x 15 pF-Kondensatoren gebildet wird. Dann sollten Sie wahrscheinlich davon ausgehen, dass der Gate-Eingang eine Kapazität von 2 pF hat und dass aufgrund der Leiterplatte und ihrer Nachführung möglicherweise eine parasitäre Kapazität von 0,5 pF über dem Gerät vorhanden ist.
Alles in allem sieht es so aus, als würden Sie die Ladekapazität übertreiben, und möglicherweise sollten Sie eher 2 x 10 pF und nicht 2 x 15 pF anstreben.
Überprüfen Sie auch Ihre Antriebsleistung, da Sie bei einer Belastung von 2 x 15 pF möglicherweise zu viel Leistung in Ihren Kristall stecken (der in den Daten angegebene Antriebspegel beträgt maximal 1 μW.
Wenn das Gerät vorhersehbar anders als die tatsächliche Zeit läuft, können Sie im Nachhinein eine Kompensation in der Software vornehmen. Aber Sie müssen sich dessen sehr sicher sein, damit es sich nicht um eine langfristige zyklische Drift handelt.
Wenn Sie über ein geeignetes Mittel zur Messung der Frequenz verfügen, können Sie eine der Lastkappen mit einer Trimcap anpassen, um dem Ideal näher zu kommen. Sie benötigen jedoch einige Mittel zum Messen, ohne die Frequenz zu ändern (Sie können sicherlich nicht einfach eine Sonde auf den Kristallstift setzen).
Vielleicht finden Sie eine Möglichkeit, eine gepufferte und geteilte Version der Uhr auszugeben, z. B. 8.192 Hz. Um die Frequenz auf eine Toleranz von 10 Sekunden pro Monat einzustellen, benötigen Sie 1 Teil von 260.000, also etwa 6 Stellen Auflösung. Ein reziproker Frequenzzähler würde funktionieren, oder Sie könnten ihn durch weitere 8.192 (sagen wir) teilen und die Impulsbreite mit einer Auflösung von etwa einer Mikrosekunde messen. Die ersten Digitaluhren verwendeten eine LED-Anzeige (drücken Sie einen Knopf für die Zeit) und es wurde ein Patent erteilt, wenn der Speicher dient, um die Multiplex-Frequenz der LED-Anzeige als optische Ausgabe für die Kalibrierung zu verwenden (da sie von einem Hardware-Teiler abgeleitet wurde). ).
Alternativ (und wahrscheinlich die Option, die ich vorschlagen würde), wenn Sie (möglicherweise) eine etwas höhere Stromaufnahme aushalten können, können Sie den Kristall durch einen Oszillator ersetzen, der bereits auf Genauigkeit genug getrimmt ist. Wenn Sie einen Händler für 32,768-kHz-Oszillatoren suchen, finden Sie mehrere verfügbare TCXO (temperaturkompensierte Kristalloszillatoren) wie den 5uA SiT1566 mit +/-3ppm oder +/-5ppm Stabilität. Wenn Sie bereit sind, ein neues Design vorzunehmen, um einen Oszillator mit höherer Frequenz zu verwenden, und sich nicht um den Stromverbrauch kümmern, können Sie TXCO-Oszillatoren mit sehr engen Toleranzen und geringer Drift mit einer Genauigkeit und Stabilität im Bereich von unter 1 ppm (ohne Ofenbehandlung) oder besser mit Ofenbehandlung erhalten ( OCXO). Natürlich steigen die Kosten und der Stromverbrauch mit zunehmender Genauigkeit und Stabilität und irgendwann den Miniatur-Atomuhrmodulenins Spiel einsteigen, aber sie liegen im Bereich von 1.000 $. Die im Chip-Maßstab sind noch beeindruckender, kommen aber in den Bereich von 5.000 $. Wenn man bedenkt, dass zylindrische 32,768-kHz-Kristalle mit +/-3 ppm für 2-3 Cent verkauft werden, ist das ein Kostenbereich von 53 dB für einen Genauigkeitsbereich von vielleicht 5000: 1.
Diese sind zu teuer (£ 0,81 / 2.000) Swiss 20 ppm Xtals . Sie können einen Quarzoszillator mit <= 5 ppm für nicht viel mehr bekommen (1,58 USD für 3.000 USD). Kappen werden nicht benötigt. Mit mehr Suchaufwand erhalten Sie 1 oder 2 ppm XO's zum gleichen Preis. Aber Ihre Budget- und Toleranzangaben sind nicht klar.
Ich habe Ihren ungewöhnlichen Fehler zuvor überschätzt.
Es ist hoch, aber nicht dumm hoch. 2,5 Min./60 Min./24 Std./30 Tage= Fehler= 58 ppm. Ihr Datenblatt besagt, dass es mehrere Ladeoptionen gibt (6.0 7.0 9.0 10.0 12.5). Ich würde nicht erwarten, dass sie sie für jede herstellen, sondern nur testen und in Bins von Frequenzfehlern gegen Last C sortieren und auf diese Weise verkaufen ...
Ein niedrigeres C reduziert auch den Treiberstrom auf einer RTC und Sie können eine integrierte RTC mit XO für ein zusätzliches Pfund erhalten.
Ich würde eine Ursachen-Sensitivitätsanalyse durchführen und alle Annahmen wie die Genauigkeit der Obergrenze validieren. Aber vielleicht nicht.
Die Empfindlichkeit zum Reduzieren der Frequenz kann berechnet und simuliert werden, während die Kappen nicht gleich sein müssen. Ich würde damit beginnen, 50 pF am Eingang hinzuzufügen, was die Last auf 12 pF mit dem Ausgang 15 pF in Reihe erhöht. Das sollte das f um 30 bis 60 ppm reduzieren.
Messen Sie dann den Fehler und führen Sie eine Stichprobe von Xtals(X) durch und berechnen Sie die Standardabweichung und den mittleren Fehler, um die 3-Sigma-Ausbeute zu berechnen. Oder verwenden Sie die Prozessfähigkeitsberechnung „Cpk“.
Es könnte schnell auf einem Testboard durchgeführt werden. Eine Masseebene fügt EMI-Schutz und ein paar pF hinzu.
Es kann eine Empfindlichkeit von 5 bis 10 ppm gegenüber Vdd und Serie R geben, wenn sie nicht hinzugefügt werden.
Viele "einfache Digitaluhren", die ich heutzutage sehe, verwenden das gesendete Zeitsignal, um über längere Zeit genau genau zu bleiben.
Dies erfordert zwar einige zusätzliche Schaltungen, macht aber einen teuren Oszillator überflüssig.
Alternativ könnten Sie den Frequenzversatz jeder Uhr kalibrieren, da die Stabilität normalerweise viel besser ist als die anfängliche Genauigkeit (siehe Kommentar von @TimWescott), aber das ist für ein Massenprodukt unerschwinglich.
Viele gute Antworten auf Quarz bereits. Ich sehe zwei andere Lösungen:
Verwenden Sie eine externe RTC mit integriertem Kristall wie Maxim DS3231, Epson RX6110SA und viele andere. Welches ist laserkalibriert und hatte einen sehr geringen Stromverbrauch.
Verwenden Sie einen GPS-Empfänger, der fast eine Atomuhrgenauigkeit liefert, sobald Sie das GPS-Signal empfangen. GPS-Module sind jetzt eher klein und billig, aber der Verbrauch ist viel höher
brhans
Nur ich
Trevor
Feuerstelle
Trevor
TimWescott
Markus Müller
TimWescott
TimWescott
Hobbs
Nur ich
Trevor
Trevor
user_1818839
glen_geek
Tony Stewart EE75
J...