2 AVR zeitsynchron ohne Bus

Gast #655338
Lesenswert?

Ich möchte 2 AVR per gemeinsamen Netzschalter starten und möchte, dass 
diese an einem Tag höchstens eine Sekunde auseinanderlaufen.

Das heißt als Beispiel. Jede volle Stunde soll jeder AVR etwas machen. 
Also beide zur gleichen Zeit an verschiedenen Orten.

Erste Testschaltungen mit Timer und blinkender Led zeigen trotz Quarz, 
dass bereits nach 1 Stunde beide AVRs ziemlich auseinandergehen ...

Verstehe ich nicht !! Gehen denn die Timer nicht durch auch bei 
Interrups, die sind doch mit dem Prozessortakt verbunden?

Danke für Hilfe ....
Gast #655370
Lesenswert?

Hi, Jens,

Du: "...Testschaltungen ...zeigen trotz Quarz..,
dass ... nach 1 Stunde beide AVRs ziemlich auseinandergehen ..."

wenn "ziemlich" deutlich mehr ist als 10e-4 beduetet, dann ist das 
pathologisch, dann ist das Symptom eines Fehlers.

Denn die Timer laufen durch - wenn Du sie richtig programmiert hast, 
also z.B. im CTC-Mode.


Ciao
Wolfgang Horn
Gast #655381
Lesenswert?

ja mit Master geht alles ...

Eigentlich müsste man doch eine quarzgenaue Uhr mit dem AVR realisieren 
können, oder bin ich da auf einen Zeit-IC wie DS 1302o.a. angewiesen.

ich habe jetzt den Timer1 bei beiden AVRs laufen ohne Interrupt. Nun 
vergleiche ich die Werte und es läuft eben auseinander, ziemlich viel in 
einer Stunde ....
#655414
Lesenswert?

Grundgenauigkeit eines handelsüblichen Quarzes: +/-50ppm. 2 Stück können 
also im Extremfall um 100ppm auseinander liegen, was ungefähr 1 Sekunde 
in 3 Stunden entspricht, also an der LED bereits im Bruchteil einer 
Stunde sichtbar wird. Temperaturunterschiede, unterschiedlicher Aufbau 
des Oszillators etc. addieren sich noch dazu.
#655419
Lesenswert?

Ach ja, apropos Quarzuhren und RTCs: Uhrenquarze mögen mit 30ppm etwas 
genauer sein, aber ohne Kalibrierung wird daraus auch keine gute Uhr. 
Will man es genau haben, muss man sie mit einem Trimmkondensator 
kalibrieren. Quarzkochbuch: http://www.axtal.de/info/buch.html.

Mit µCs kann man das ggf. auch einfacher haben, indem man einen 16bit 
Timer so betreibt, dass der Teiler möglichst hoch ist (dicht unter den 
maximalen 65536), und dann an ebendiesem Wert etwas dreht.
Gast #655420
Lesenswert?

Sollte man einen Uhrenquarz 32,768 kHz verwenden?

Dann wird aber mein Takt so langsam oder gibt es da eine Lösung mit 8Mhz 
und trotzdem Uhrenquarz?

Wie funktionieren denn da die Quarzuhren? Die gehen doch auch sehr 
genau....

Danke für Tipps ....
#655427
Lesenswert?

> Dann wird aber mein Takt so langsam oder gibt es da eine Lösung mit 8Mhz
> und trotzdem Uhrenquarz?

Bei vielen AVRs kann man einen Timer vom Uhrenquarz separat takten 
lassen, während der AVR mit internem Takt oder einem zweiten Quarz 
läuft. Ich würde aber erst mal versuchen, per Software zu trimmen. Also 
beide einige Stunden laufen lassen, Abweichung ablesen und 
Teilungsfaktor entsprechend korrigieren.
Gast #655524
Lesenswert?

ja mit dem Netzschalter das stimmt. Aber mir reicht eine Genauigkeit von 
einer Sekunde pro Tag. Am nächsten Tag starte ich die Schaltung erneut.

Jetzt ist es so -- Netzschalter ein und beide laufen ziemlich genau 
zugleich los --- und dann eben nach einer Stunde fast 1s Unterschied ...

ich probiere das jetzt mit dem Trimmen .... Danke
Moderator Persönliche Seite #655910
Lesenswert?

Bei aktuellen AVRs kannst du die CKOPT-Fuse setzen und bekommst dann
den internen Takt an einem Portpin raus.  Damit kannst du den zweiten
AVR takten, und schon laufen sie dir nicht mehr auseinander. ;-)

Bei älteren AVRs kann man den Takt an XTAL2 abgreifen, sollte dafür
aber die CKOPT-Fuse gesetzt haben und eigentlich auch besser eine
Pufferstufe zwischen beiden einfügen.
Gast #656263
Lesenswert?

> Aus dem "gemeinsamer Netzschalter" schließe ich, daß sich beide nahe
> beieinander befinden, richtig?

Ich hätte jetzt aus "beide zur gleichen Zeit an verschiedenen Orten" 
geschlossen, daß genau das nicht der Fall ist. Vielleicht liegt ja ein 
langes Stromkabel dazwischen.
Gast #656267
Lesenswert?

> Jede volle Stunde soll jeder AVR etwas machen.
> Also beide zur gleichen Zeit an verschiedenen Orten.

Da, wo ich früher (vor 15 Jahren) gearbeitet habe, hat man das mittels 
DCF-Empfang synchronisiert. So ein DCF-Empfängermodul kostet ja nicht 
die Welt, zumal bei einem Projekt, wo es so sehr auf Synchronität 
ankommt.

Ob das heute noch üblich ist, weiß ich allerdings nicht. schulterzuck
Gast #656326
Lesenswert?

Ja es ist so.

Es gibt mehrere Travos an einem Ort. Dann gehe ich mit ca. 15V ~ 
Einzelleitungen (10 Stück) ca. 50m jeweils weit weg (durchs Wasser auch 
noch). Und an den Enden sind die Controller. Ich möchte halt nur mit je 
einer 3adrigen Leitung arbeiten und nicht unbedingt einen Bus aufbauen.

Im Test habe ich gerade die Nutzung der Netzspannungsfrequenz. Das geht 
erst mal sehr gut.

Eine Diode, eine Z-Diode, ein Optokoppler, und evtl. noch ein Teiler 
(4040) und dann an den INT des AVRs. Auch mit 50Hz ohne Teiler geht es, 
logisch.
Gast #656341
Lesenswert?

>Ich möchte 2 AVR per gemeinsamen Netzschalter starten und möchte, dass
>diese an einem Tag höchstens eine Sekunde auseinanderlaufen.

Das entspricht, wie hier schon gesagt wurde, ungefähr 1/86400 = 11 ppm. 
Das ist schon ziemlich anspruchsvoll.  Mach Dich mal über die 
Temperaturabhängigkeit der Frequenz von Schwingquarzen schlau; die 
beträgt nämlich günstigstenfalls (AT-Schnitt) schon ca. ±10 ppm bei 20 
°C Temperaturänderung.

Eine mögliche Lösung für Dein Problem wären - wenn kein Kabel zwischen 
den Bausteinen liegt - DCF77-gesteuerte Uhren.

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