Forum: Mikrocontroller und Digitale Elektronik Guten Kombi Quarz/Teiler für Uhr


von Chronos (Gast)


Lesenswert?

Hallo,

welchen Quarz mit welchen Timereinstellungen nutzt Ihr um einen halbwegs 
genauen Sekundentakt abzuleiten?

+/- 10 Sekunden/ Tag sin völlig ausreichend.

Der Atmega hat nicht mehr zu tun, als Sekunden zu zählen und einen 
Portausgang zu schalten....

Vielen Dank.

von Chronos (Gast)


Lesenswert?

Der Controller kann also ruhig mit einem niedrigen Takt laufen...

von Chronos (Gast)


Lesenswert?

Sorry, gern ein kleiner Attiny, das reicht mir völlig aus.

von Harald W. (wilhelms)


Lesenswert?

Chronos schrieb:

> Guten Kombi Quarz/Teiler für Uhr

Ich würde Dir die Elektronik eines Quarzweckers empfehlen.
Leicht erhältlich, billig (ab ca. 2EUR) und recht präzise.
Die Präzision kann man ja  vor dem "Schlachten" im zusam-
mengebautem Zustand prüfen und ein schlechtes Exemplar
zurückgeben.

von nachteule (Gast)


Lesenswert?

Ich werfe mal die Epson GPS-Quarze dazu.
Kostenfaktor 1,50 bei farnell/hbe und trotzdem 0,5 ppm und TCXO.

Genauer gibts auch, kostet dann aber ne Nummer mehr.
Der Haken: SMD und mit 4 Pins @ 2*1 mm schön fummelig.

Größer gibt es bei Ilsi America (3,xx*2,5), kostet aber erstens ca. 5 
Euro und hat nur noch 2 ppm.

von nachteule (Gast)


Lesenswert?

Er hier

https://hbe-shop.de/Art-2545848-EPSON-X1G004691001912-TCXO-GPS-13MHZ-2X16MM-UEBERST-SINUS

Achtung, das sind natürlich Oszillatoren, keine Quarze. Wenn es aber um 
einen Mikrocontroller geht, dann sind die Dinger wunderbar geeignet WENN 
der Mikrocontroller mit 3,3V-Pegel klarkommt.

von c-hater (Gast)


Lesenswert?

Chronos schrieb:

> Sorry, gern ein kleiner Attiny, das reicht mir völlig aus.

Na, dann wäre es doch irgendwie praktisch, einfach einen zu nehmen, der 
in der Lage ist, mit einem handelsüblichen 32,768kHz Uhrenquarz als 
Taktquelle zu laufen. Also z.B. ATtiny 24/44/84 oder 25/45/85.

von Jacko (Gast)


Lesenswert?

Fast genau wie  c-hater  schreibt:

µC und 32768 Hz Quarz

8-Bit-Timer mit Prescaler 1:128 ergibt Overflow jede Sekunde.

Im Timer Overflow-Interrupt:
Sekunden in einem Register zählen,
  bei 60 auf Null setzen und
  Minuten in einem weiteren Register zählen,
    bei 60 auf Null setzen und
    Stunden in einem weiteren Register zählen,
      bei 24 auf Null setzen
      und alles geht von vorn los.

Im Hauptprogramm (Endlosschleife) die Register für HH:MM:SS
abfragen und reagieren. - Fertig.

Wie willst du es denn sonst machen?

von c-hater (Gast)


Lesenswert?

Jacko schrieb:

> Im Hauptprogramm (Endlosschleife) die Register für HH:MM:SS
> abfragen und reagieren. - Fertig.

Fast. Danach geht man natürlich noch schlafen (IDLE), um Strom zu 
sparen.

Und vor allem anderen (also noch in der Initialisierung) schaltet man 
alle nicht benötigte Peripherie ab. Bei den genannten Tinys also ADC, 
USI und den zur Taktzählung nicht benötigten Timer.

von Jacko (Gast)


Lesenswert?

Hihi:  c-hater  hat immer noch einen auf der Pfanne!

Ist schon OK, aber ob der µC nun Strom als Grundlast verbrauchen
MUSS, oder an Knopfzellen nur mit Mager-Diät überleben KANN?

Hat der TO nix von erzählt... ;-)

von Chronos (Gast)


Lesenswert?

C-hater, Jacko lesen die Anforderungen und der Rest ist off topic..;-)

Ich müsste bei einem 32678 Quarz durch 2^ 15 teilen, korrekt?

Ok 8 Bit timer = 256 * 128 = 2^15 = 32768..... passt genau, Danke.

Den Uhrenquarz nehme ich also als Taktquelle, also externen Quarz.
Genau so ?!

Was nimmt man da für " Ziehkapazitäten" am Quarz, 22pF ?

von Jacko (Gast)


Lesenswert?

Ansonsten: Ich muss auch gleich auf IDLE!

HIBERNATING auf Madeira o.ä. wäre mir lieber,
aber das WAKE-UP-EVENT kommt um 04:45.  :-(

von Jacko (Gast)


Lesenswert?

Schnell noch was von mir:

Mit CKSEL auf  "Low-frequency Crystal Oscillator" bist du
meist schon besser, als +/- 10 Sekunden/ Tag.

Hauptsache dein µC kann das. -> Tiny25

Gute Nacht!

von Jacko (Gast)


Lesenswert?

Äh, ja,
und natürlich auch mit einem 32768-Quarz an XTAL1/2...

von Chronos (Gast)


Lesenswert?

Jacko schrieb:
> Schnell noch was von mir:
>
> Mit CKSEL auf  "Low-frequency Crystal Oscillator" bist du
> meist schon besser, als +/- 10 Sekunden/ Tag.
>
> Hauptsache dein µC kann das. -> Tiny25
>
> Gute Nacht!

Verstehe ich nicht.....

Wer taktet den MC?

Uhrenquarz für Interrupt?

von c-hater (Gast)


Lesenswert?

Chronos schrieb:

> Den Uhrenquarz nehme ich also als Taktquelle, also externen Quarz.

Jepp. Dran denken: Wenn du erstmal mittels der Fuses auf diese 
Taktquelle umgeschaltet hast, kannst du nur noch mit sehr geringem 
ISP-Takt programmieren. Maximal ca. 8kHz, besser noch deutlich weniger.

> Was nimmt man da für " Ziehkapazitäten" am Quarz, 22pF ?

Das hängt (wie immer) vor allem vom Quarz selber ab. Aber auch vom 
physischen Aufbau, da dieser auch schon einen Teil der Bürdekapazität 
liefert. In aller Regel kannst du davon ausgehen, dass die üblichen 
Uhrenquarze an den genannten Tinys (in DIP auf Lochraster) auch ohne 
jede zusätzliche Kapazität anschwingen.

von c-hater (Gast)


Lesenswert?

Chronos schrieb:

> Wer taktet den MC?

Na der eingebaute Quarzoszillator unter Benutzung des extern 
angeschlossenen Uhrenquarzes.

> Uhrenquarz für Interrupt?

Das hat direkt nichts miteinander zu tun.

Es ist aber sinnvoll, den Timerinterrupt zu benutzen, weil das die 
Möglichkeit gibt, zwischen den Sekundenticks in den Schlafzustand zu 
wechseln und damit erheblich Strom zu sparen. Den Interrupt braucht man 
nur, um aus diesem Schlaf auch wieder aufwachen zu können...

Wenn der Energieverbrauch keine Rolle spielt, kann man natürlich 
problemlos auch ohne Interrupt auskommen. Notfalls sogar ohne Timer...

von Chronos (Gast)


Lesenswert?

c-hater schrieb:
> Chronos schrieb:
>
>> Wer taktet den MC?
>
> Na der eingebaute Quarzoszillator unter Benutzung des extern
> angeschlossenen Uhrenquarzes.
>
.? Das ist doch ein Widerspruch in sich?

Interner Quarzoszillator benutzt externen Quarzoszillator (Uhrenquarz)?

Jetzt bin die ich ganz wüsche ;-)

von Chronos (Gast)


Lesenswert?

Ähh "wuschig"...

von Thomas E. (thomase)


Lesenswert?

Chronos schrieb:
> Jetzt bin die ich ganz wüsche

Statt wie üblich einen Quarz der Kategorie 16MHz oder so zu benutzen, 
nimmst du den Uhrenquarz. Damit läuft der Controller zwar grottenlangsam 
aber für deine Anwendung immer noch schnell genug.

von c-hater (Gast)


Lesenswert?

Chronos schrieb:

>> Na der eingebaute Quarzoszillator unter Benutzung des extern
>> angeschlossenen Uhrenquarzes.
>>
> .? Das ist doch ein Widerspruch in sich?

Nein.

> Interner Quarzoszillator benutzt externen Quarzoszillator (Uhrenquarz)?

Nein, die interne Oszillator-Elektronik benutzt den externen Quarz. Und 
wird damit zum funktionsfähigen Quarz-Oszillator. Ohne den sind es nur 
tote Transistoren, da oszilliert nix.

Und du bist offensichtlich ein Troll. Aber wenigstens mal ein etwas 
besser getarnter als das übliche Gesocks, welches hier mittlerweile 
>>80% des Traffics generiert...

von Chronos (Gast)


Lesenswert?

Wieso soll ich ein Troll sein, wenn Du dich etwas unglücklich 
ausdrückst?

von Peter D. (peda)


Lesenswert?

c-hater schrieb:
> Jepp. Dran denken: Wenn du erstmal mittels der Fuses auf diese
> Taktquelle umgeschaltet hast, kannst du nur noch mit sehr geringem
> ISP-Takt programmieren.

Ich hatte mit 32kHz Takt große Programmierprobleme. Nur mit dem STK500 
und 12V Programmierung ging es dann weiter.
Wenn es also nicht um Batteriebetrieb geht, sollte man besser einen 
Quarz >=1MHz benutzen.

von Peter R. (Gast)


Lesenswert?

Chronos schrieb:
> Was nimmt man da für " Ziehkapazitäten" am Quarz, 22pF ?

hängt vom Quarz ab, wie er bei der Herstellung abgeglichen wird. 
Stichwort Lastkapazität.

 Aber heutzutage "zieht" ´man den Quarz nicht mehr, sondern korrigiert 
per Software (siehe unter "die genaue Sekunde")denn Trimmer sind teuer, 
verschmutzungsempfindlich temperaturabhängiger als COG (NP0) Keramik.

von S. Landolt (Gast)


Lesenswert?

Peter Dannegger schrieb:
> Ich hatte mit 32kHz Takt große Programmierprobleme. Nur mit
> dem STK500 und 12V Programmierung ging es dann weiter.

Das hatten wir schon öfter besprochen: ein Hilfstakt an XTAL2 reicht. 
Für diesen gibt es sicher eine Obergrenze, aber hier sind zum Beispiel 
500 kHz möglich bei einem ATtiny85.

von Peter D. (peda)


Lesenswert?

S. Landolt schrieb:
> ein Hilfstakt an XTAL2 reicht.

Ich hatte zum Stromsparen noch zusätzlich das CLKPR geladen und das wird 
ja bekanntlich vom Resetpin nicht rückgesetzt.
Da ging dann beim 5V ISP im STK500 nichts mehr und ich mußte das 12V ISP 
nehmen.

von S. Landolt (Gast)


Lesenswert?

Okay, kommt jetzt drauf an: nehmen wir die genannten 500 kHz, /256 /4, 
dann müsste das Programmiergerät also schlimmstenfalls einen SPI-Takt 
von unter 488 Hz erreichen.

von Jacko (Gast)


Lesenswert?

Ach du gute Güte,
kaum geht man Schlafen, geht hier das Streiten los!

Wie ich (mit Nachtrag) schon schrieb: 32768 Quarz anschließen
und Fuses (CKSEL) auf  "Low-frequency Crystal Oscillator" und
schon bist du fast immer im +/-10 s/d Bereich, also +/-115 ppm.

JA DOCH, die ISP muss DANACH also nach dem FUSEn auf LF-Xtal
mit den 32768 Hz klarkommen - und muss für Änderungen auf
<= 8 kHz Prog-Takt umgeschaltet werden.
Auf der STK500 muss man sowieso den CLK per Brücke, oder
mit external Clock an den Tiny25...85 (XTAL1) bringen.
Ich hoffe doch, du hast für Prog-Änderungen auf dem STK einen
NE555-Taktgenerator o.ä. mit 20...70 kHz in greifbarer Nähe...

Hach-ja, der gute  c-hater  ist oft auf der gleichen Wellenlänge
wie ich, was das ASM-Programmieren betrifft - und hat oft auch
viel bessere Ideen, aber er ist schon etwas mimosig im Umgang...

Aber lass dich bloß nicht auf die Software-Genauigkeits-
Fraktion ein: Was soll der Quatsch bei +/-10 s/d! (115 ppm)

Das KANN was beim Trimmer-Sparen im Bereich +/-50 ppm
helfen (wenn der µC sonst nix zu tun hat) um auf realistische
+/-2...5 ppm zu kommen. Mehr ist GARANTIERBAR bei einem µC-Quarz
nicht drin - und es kostet VIEL Zeit...

(Freu mich schon auf den Gegen-Shit-Storm!) :-)

Musst du eigentlich beim Stromverbrauch sparen?

von Chronos (Gast)


Lesenswert?

Stromverbrauch ist nebensächlich.
Ich hab zwar ein STK 500, aber die Fummelei mit der Programmierung spare 
ich mir dann lieber und nehm einen 1 MHz Quarz o.ä.

Da es mir auch auf ein paar Sekunden/Tag überhaupt nicht ankommt, würde 
wohl auch der interne "Resonator" reichen.

Ich suchte halt nach einem guten Takt/Teiler Verhältnis.

Anwendung soll übrigens eine einfache und komfortable Nachlaufsteuerung 
sein, welche auch eine Unterbrechung ermöglicht und im Standbymodus 
Stromlos arbeitet.

Hab ich von der Stange bisher nicht gefunden....


Danke

von Jacko (Gast)


Lesenswert?

Der interne RC-Oszillator liegt pro Tag eher bei
+/-20 Minuten.

Dann lieber ein 4,194304 MHz Quarz (0,25 EU) mit 2 x 27 pF
an XTAL1/2: +/-10 s sollten drin sein.

Musst du halt noch mal weiter durch 128 teilen, um 1 s zu
erhalten.

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.