Forum: Mikrocontroller und Digitale Elektronik Uhrenquarz am ESP32


You were forwarded to this site from EmbDev.net. Back to EmbDev.net
von David P. (devryd)


Lesenswert?

Hallo zusammen,
ich würde gerne an einem ESP32 einen Uhrenquarz nutzen um während deep 
sleep sinnvoll die Zeit zu behalten. Das ganze funktioniert auch so 
grob. Ich habe den Quarz an PIN 32 und 33 angeschlossen, parallel zu 
einem 6MOhm Widerstand und mit 2 Kondensatoren zu Masse. Leider läuft 
das ganze sehr ungenau (ca 10 Sekunden pro Stunde zu schnell). Ich habe 
daraufhin versucht die Kondensatoren größer zu wählen, was allerdings 
nicht wirklich einen Unterschied macht. Ich habe mit 2x 10pF angefangen 
und bin jetzt bei 2x 68pF. Leider ohne erkennbare Verbesserung. Hat 
jemand eine Idee woran es liegen könnte?

von c-hater (Gast)


Lesenswert?

David P. schrieb:

> Leider läuft
> das ganze sehr ungenau (ca 10 Sekunden pro Stunde zu schnell).

Das sind ca. 0,3% und somit sehr viel mehr, als einem Quarz überhaupt 
möglich ist, daneben zu liegen. Sprich: da schwingt vielleicht 
irgendetwas, aber das ist mit Sicherheit nicht der Quarz.

Also ist entweder der Quarz defekt oder die Oszillatorschaltung ist 
nicht dafür gedacht, einen solchen Quarz zu betreiben, wie du ihn hast.

Was sagt denn das Datenblatt zu dem Thema?

von David P. (devryd)


Lesenswert?

Leider habe ich kein Datenblatt, habe den Uhrenquarz letztes Jahr mal 
auf Ebay gekauft, weil ich dachte, dass die alle recht ähnlich 
funktionieren. Es ist auch möglich, dass der Quarz nicht richtig 
funktioniert, nur kann ich das leider nicht überprüfen. Der ESP32 kann 
aber soweit ich weiß Uhrenquarze betreiben.

von S. Landolt (Gast)


Lesenswert?

Drei Promille? Einerseits zu viel, andererseits zu wenig - da hätte ich 
eher auf einen Programmfehler getippt.

von David P. (devryd)


Lesenswert?

An sich will ich das bei mir eigentlich nie ausschließen, aber ich setze 
einmal eine Zeit im Programm und gebe sie dann alle 5 Sekunden aus. 
Dazwischen wird geschlafen. Da ist nicht viel was ich falsch machen 
kann, denke ich. Ich habe auch in sdkconfig die RTC_CLK auf den externen 
Quarz gestellt.

von 🕵︎ Joachim L. (Gast)


Lesenswert?

NTP server abfragen oder Clock Modul. Was spricht dagegen?

von Stefan F. (Gast)


Lesenswert?

Du könntest den Quarz mal mit einem provisorischen Oszillator (oder an 
einem anderen µC) testen. Vielleicht war das Ausschussware - ist bei 
Ebay ja keine Seltenheit.

von David P. (devryd)


Lesenswert?

Joachim L. schrieb:
> NTP server abfragen oder Clock Modul. Was spricht dagegen?

NTP geht nicht, weil kein WLAN vorhanden ist. Clock Modul ist schwierig, 
weil es so klein wie möglich werden soll. Außerdem ist ein Uhrenquarz 
günstiger als ein Clock Modul, oder? Wenn der Uhrenquarz nicht geht wird 
es aber wohl darauf hinauslaufen

von Stefan F. (Gast)


Lesenswert?

David P. schrieb:
> Außerdem ist ein Uhrenquarz
> günstiger als ein Clock Modul, oder?

Kommt drauf an, ob man die Arbeitszeit für Probleme wie deins mit zählt.

von Wolfgang (Gast)


Lesenswert?

Joachim L. schrieb:
> NTP server abfragen oder Clock Modul. Was spricht dagegen?

Gegen NTP Server spricht, dass man da ohne Satellitenverbindung nicht 
immer ran kommt.

von c-hater (Gast)


Lesenswert?

David P. schrieb:

> Leider habe ich kein Datenblatt

Das ist ganz schlecht.

> habe den Uhrenquarz letztes Jahr mal
> auf Ebay gekauft

Mein Gott, damit kannst du ja nicht einmal wirklich sicher sein, dass es 
überhaupt ein Uhrenquarz ist. Das könnte sonstwas sein. Zeig doch mal 
ein Foto von dem Teil. Am besten auf Millimeterpapier. Damit könnte ma 
vielleicht manchen Fall schon ausschließen...

> weil ich dachte, dass die alle recht ähnlich
> funktionieren.

Klar, Quarze funktionieren prinzipiell natürlich immer auf die gleiche 
Weise. Der Teufel steckt im Detail...

von David P. (devryd)


Lesenswert?

Ich mache gleich mal ein Foto

von Ludwig (Gast)


Lesenswert?

Kondensatoren weglassen und 680 kOhm von X1 oder X2 gegen VCC probieren.

Sagt das Datenblatt des ESP32 was zum Anschluss eines Quarzes?

von David P. (devryd)


Angehängte Dateien:

Lesenswert?

Ludwig schrieb:
> Sagt das Datenblatt des ESP32 was zum Anschluss eines Quarzes?

Ja, da steht 5-10MOhm widerstand parallel zum Quarz und die passenden 
Kondensatoren zu Masse.

von c-hater (Gast)


Lesenswert?

David P. schrieb:

[Foto]

Ja, das könnte zumindest ein Uhrenquarz sein. Aber leider auch 
unzählige andere Quarze, die im exakt gleichen Gehäuse verpackt werden.

von David P. (devryd)


Lesenswert?

Gibt es denn Quarze, die bei ca 100Hz mehr schwingen?
Viel größer ist die Abweichung ja nicht

von Stefan F. (Gast)


Lesenswert?

David P. schrieb:
> Gibt es denn Quarze, die bei ca 100Hz mehr schwingen?

Die Frequenz wird durch mechanische Bearbeitung festgelegt. Wenn man das 
schlecht macht, sind beliebig große Abweichungen möglich. zudem sind 
Ebay und Aliexpress dafür bekannt, dass dort oft Ausschussware verkauft 
wird.

von David P. (devryd)


Lesenswert?

Ok, ich habe mal bei reichelt einen anderen Uhrenquarz bestellt. Kann es 
auch an dem Widerstand liegen, den ich parallel geschaltet habe? Im 
Datenblatt stand nur "zwischen 5 und 10MOhm". Macht es da einen 
Unterschied ob ich 6MOhm oder 10 wähle?

von c-hater (Gast)


Lesenswert?

David P. schrieb:

> Gibt es denn Quarze, die bei ca 100Hz mehr schwingen?
> Viel größer ist die Abweichung ja nicht

Dar Knackpunkt ist: du hast durch Änderung der Bürdekapazitäten keine 
Änderung der Frequenz erreicht. Sprich: es ist nicht der Quarz, der da 
schwingt!

von Noch ein Kommentar (Gast)


Lesenswert?

Hast du irgendein Oszilloskop?

Den Uhrenoszillator mit Hilfe des Timers auf einem normalen Ausgabepin 
kopieren. Das Signal nicht direkt abgreifen.

Das Signal muss absolut stabil aussehen. Ohne jeden Jitter. Ach wenn du 
deine Hand ein paar cm drüber hältst. Wenn nicht, stimmen Widerstände 
oder Kondensatoren nicht.

von David P. (devryd)


Lesenswert?

Noch ein Kommentar schrieb:
> Hast du irgendein Oszilloskop?

Leider nein

von 🕵︎ Joachim L. (Gast)


Lesenswert?

Stefan F. schrieb:
> David P. schrieb:
>> Gibt es denn Quarze, die bei ca 100Hz mehr schwingen?
>
> Die Frequenz wird durch mechanische Bearbeitung festgelegt. Wenn man das
> schlecht macht, sind beliebig große Abweichungen möglich. zudem sind
> Ebay und Aliexpress dafür bekannt, dass dort oft Ausschussware verkauft
> wird.

Astreines China-Bashing. Du glaubt doch nicht, das die jemand nachmisst? 
Und Schwankungen kommen bei korrekter Beschaltung nicht vor. Falls 
überhaupt, dann weicht er .korrigierbar per SW- ein bischen ab. Meiner 
auf dem Uhrenmodul ist Spot on. Außerdem ist das ein Centartikel. 20 
Stück für drei Euro in der Bucht...

Nachmessen geht auch mit chinesischem Salea-Clone. Dessen Preis war vor 
Kriegsanfang noch halb so hoch i.e. 5 Euro.- Aber das Teil lohnt sich 
echt. Läuft auch mit Open Source, falls Salea das mittlerweile 
abgestellt hat.

von David P. (devryd)


Lesenswert?

Ok ich habe eventuell einen Fehler gefunden. Zwar sage ich in sdkconfig, 
dass der quarz benutzt werden soll, zur laufzeit bekomme ich aber diesen 
Fehler:

 (859) clk: 32 kHz XTAL not found, switching to internal 150 kHz 
oscillator

Das erklärt auch, warum sich beim verändern der Kondensatoren die Zeit 
nicht ändert...

von Stefan F. (Gast)


Lesenswert?

Joachim L. schrieb:
> Astreines China-Bashing.

Wie kann etwas China-Bashing sein, wo nicht einmal das Wort China" vor 
kommt? Man kann auch den Müll von deutschen Firmen klauen und verhökern.

> Nachmessen geht auch mit chinesischem Salea-Clone.

Wie soll das gehen, hat der einen geeichten Oszillator?

von Klaus R. (klaus2)


Lesenswert?

David P. schrieb:
> (859) clk: 32 kHz XTAL not found, switching to internal 150 kHz
> oscillator

Meinst du, wirklich? Ei ei ei.

Aber selbst dann erklärt das die vd angg Abw NICHT.

Klaus.

: Bearbeitet durch User
von David P. (devryd)


Lesenswert?

Klaus R. schrieb:
> Aber selbst dann erklärt das die vd angg Abw NICHT.

kannst du das ein wenig ausführen?

von 🕵︎ Joachim L. (Gast)


Lesenswert?

Stefan F. schrieb:
> Joachim L. schrieb:
>> Astreines China-Bashing.
>
> Wie kann etwas China-Bashing sein, wo nicht einmal das Wort China" vor
> kommt? Man kann auch den Müll von deutschen Firmen klauen und verhökern.

Aliexpress? und "Müll von deutschen Firmen klauen"
>
>> Nachmessen geht auch mit chinesischem Salea-Clone.
>
> Wie soll das gehen, hat der einen geeichten Oszillator?

Der hat einen 24 MHz Quarz und bei einem ursprünglichen Preis von 5 .- 
ist da garantiert nix geeicht. Außerdem ist diese Diskussion ohnehin 
überzogen. Uhren Modul, falls zu gross Batterie umplatzieren und gut. 
Wenn er schon argumentiert, das dieser teurer als das Uhrenmodul ist 
(siehe oben) hat er wahrscheinlich sein ganzes Vermögen in einen völlig 
unnötigen gechten Oszi gesteckt. Es bringt mehr die Temperatur möglichst 
konstant zu halten. Aber auch das ist nicht der Grund für derartig große 
Schwankungen.

@David Probiere mal einen fetten Elko an der Spannungsversorgung. Bei 10 
Sekunden pro Stunde ist da IMHO was oberfaul mit der 
Spannungsversorgung.

Geeichter Oszillator? So ein Lötzinn.

von Frank E. (Firma: Q3) (qualidat)


Angehängte Dateien:

Lesenswert?

Die einfachste Quelle für eine genaue Zeitangabe ist (bei freiem Blick 
zum Himmel), ein GPS-Chip. Ich benutze genau dafür einen GPS-Empfänger 
(Ublox-Chip) von pimoroni.com, der per I2C angebunden wird ...

Die Platine ist ca. 1 x 2 cm "groß".

: Bearbeitet durch User
von 🕵︎ Joachim L. (Gast)


Angehängte Dateien:

Lesenswert?

Hmm, P. sitzt in UK. Das Ding kostet 29.70 Pfund also ca. 35 Euro.-, 
plus 20% Einfuhrumsatzsteuer sind schon 42 Euro, plus Versandkosten 
(schätz´ ich mal, die schweigen sich da vornehm aus) 8.- Euro also 
schlappe 50.- Eus. Frage mich ob das mit der winzigen internen Antenne 
einigermaßen empfängt. Wer so was kauft, hat Knete und wird garantiert 
nicht beschissen, der Beschißverzicht wurde hier einfach einkalkuliert 
und dann mit Faktor 10 multipliziert.

Beim pösen Chinesen (Aliexpress siehe Anlage) verkaufen die ein 
GPS-Modul mit Antenne für 2,71 Euro plus 1,21 Versand (Sowas 
Unverschämtes, unter 4.- Euro ;-). Also ich bestelle dann gleich drei, 
das senkt die Versandkosten und schützt durch die größere Stückzahl auch 
wirksam vor Aufbaufehlern. Wenn man vorsichtig ist, bleiben noch welche 
für andere Zwecke.

von J. S. (jojos)


Lesenswert?

gerade die Uhrenquarze sind sehr unterschiedlich. Es kommt auf den 
Oszillator im µC an welche Lasten der treiben kann, das sollte im 
Datenblatt stehen.
Bei den STM32 ist bei einigen Serien dieser Treiber einstellbar, ob der 
Xtensa das auch kann weiß ich nicht.

von Bauform B. (bauformb)


Lesenswert?

David P. schrieb:
> Clock Modul ist schwierig, weil es so klein wie möglich werden soll.

Ist 1.6 x 1.0 x 0.6 mm klein genug? Du sparst auch noch einen 
Kondensator und notfalls auch noch den Widerstand.

https://www.microcrystal.com/en/products/khz-oscillators/

Und überhaupt: warum nimmt man einen ESP32, wenn man kein WLAN braucht?

: Bearbeitet durch User
von Stefan F. (Gast)


Lesenswert?

Joachim L. schrieb:
> Aliexpress? und "Müll von deutschen Firmen klauen"

Ich hatte geschrieben, dass Ebay und Aliexpress für den Handel mit 
Ausschussware bekannt sind.

von c-hater (Gast)


Lesenswert?

David P. schrieb:

>  (859) clk: 32 kHz XTAL not found, switching to internal 150 kHz
> oscillator
>
> Das erklärt auch, warum sich beim verändern der Kondensatoren die Zeit
> nicht ändert...

Ja. Wie ich bereits im ersten Reply dieses Threads sagte: was auch immer 
da schwingt, es ist nicht der Quarz.

von David P. (devryd)


Lesenswert?

Heute kamen die neuen Uhrenquarze von reichelt. Es funktioniert jetzt 
alles, wie es soll.

von Stefan F. (Gast)


Lesenswert?

David P. schrieb:
> Heute kamen die neuen Uhrenquarze von reichelt. Es funktioniert jetzt
> alles, wie es soll.

Erinnert mich an meinen Fall. Da hatte ich bei einem BluePill Board zwei 
Stifte entfernen müssen, damit die Uhr überhaupt lief. Aber die lief 
auffällig ungenau (nicht ganz so schlimm wie bei dir). Zahlreiche Leute 
stellten prompt den Quarz in Frage - sie hatten Recht.

von Manfred K. (4for)


Lesenswert?

David P. schrieb:
> Heute kamen die neuen Uhrenquarze von reichelt. Es funktioniert jetzt
> alles, wie es soll.

wie hast du es geschafft innerhalb von 2 Tagen vom Reichelt eine 
Lieferung zu kriegen ????

von Andreas S. (Gast)


Lesenswert?

Vermutung : der TO will seine Ruhe haben - ich habe noch nie in zwei
Tagen was von Reichelt bekommen.

von Bauform B. (bauformb)


Lesenswert?

Manfred K. schrieb:
> David P. schrieb:
>> Heute kamen die neuen Uhrenquarze von reichelt. Es funktioniert jetzt
>> alles, wie es soll.
>
> wie hast du es geschafft innerhalb von 2 Tagen vom Reichelt eine
> Lieferung zu kriegen ????

Naja, aber fast: Dienstag Mittag bestellt, gerade vor 10 Minuten 
angekommen. Und da ist schon der Weihnachtsstau dabei. Mit 3 Quarzen im 
Brief wären 2 Tage zu schaffen.

Bei der letzten Bestellung hatte ich etwas vergessen, ungefähr 3 Stunden 
später sagt die Bestellhotline "leider zu spät, das ist schon 
unterwegs". Dass Päckchen dann doch länger dauern liegt eher an DHL.

von David P. (devryd)


Lesenswert?

Andreas S. schrieb:
> Vermutung : der TO will seine Ruhe haben - ich habe noch nie in zwei
> Tagen was von Reichelt bekommen

Also hier wird einem ja nichts mehr geglaubt... Soll ich dir ein Foto 
der Rechnung schicken?

von S. Landolt (Gast)


Lesenswert?

> Also hier wird einem ja nichts mehr geglaubt...

Was allerdings durchaus verständlich ist:

> ... 10 Sekunden pro Stunde zu schnell ...
> (859) clk: 32 kHz XTAL not found, switching to
> internal 150 kHz oscillator

von Robert M. (r0bm)


Lesenswert?

David P. schrieb:
> Heute kamen die neuen Uhrenquarze von reichelt. Es funktioniert jetzt
> alles, wie es soll.

Glück gehabt. Die weiter oben gezeigte Schaltung aus dem DB bietet nicht 
die notwendige Phasendrehung damit die Schaltung zuverlässig 
(an)schwingt.

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
Noch kein Account? Hier anmelden.