Forum: Mikrocontroller und Digitale Elektronik ATMEGA32 RTC eichen


von Winne Z. (rugbywinne)


Lesenswert?

Hallo zusammen,
ich möchte die Genauigkeit des RTC einstellen.
HardwareKonfiguration: ATMEGA 32, 32,768Khz Uhren-Quarz an TOSC1 und 
TOSC2, Systemtakt interner RC auf 8 Mhz (crystal = 800000), 
Dauerbetrieb, kein sleep usw.
Brenner: myAvr

Software:
- Sofware in bascom
- Config Clock = soft
- Interrups sind enabled
- Fusebits auf internen RC 8 Mhz , Ckopt ist gesetzt
verwendet werden die bascom Routinen Time$ und secofday()

Problem
Ich habe innerhalb von 24 Stunden eine Abweichung von ca. 5 Sekunden.

Ich gehe davon aus, dass die Basis für den Time$ der Quarz und nicht der 
interne RC ist. Sonst macht der Quarz an TOSC1 und TOSC2 keinen Sinn.

Mein Workaround wäre jeden Tag die 5 Sekunden zu korrigieren.

Was gibt es noch für Möglichkeiten ?

Winne

von Oliver (Gast)


Lesenswert?

Winfried Z. schrieb:
> Ich gehe davon aus, dass die Basis für den Time$ der Quarz und nicht der
> interne RC ist. Sonst macht der Quarz an TOSC1 und TOSC2 keinen Sinn.

Um das zu verifizieren, könnte man a) den Quarz einfach mal abklemen 
oder b) die Doku lesen.

Oliver

von Winne Z. (rugbywinne)


Lesenswert?

Quarz kurzgeschlossen > Uhr bleibt stehen
Quarz normal > Uhr läuft weiter

Also hatte ich richtig vermutet.

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

Hast du am Quarz Kondensatoren? Wenn ja, ersetze einen durch einen 
Trimmkondensator und justiere den über ein paar Tage. Uhr zu langsam -> 
Trimmer ein wenig rausdrehen, Uhr zu schnell -> Trimmer leicht 
reindrehen.

Oder du schaust dir die 'Software Korrektur' nochmal an:
http://www.mikrocontroller.net/articles/AVR_-_Die_genaue_Sekunde_/_RTC

Ah, sorry , nee das geht bei dir nicht so gut, die Prozedur ist für 
HF-Quarze und ausserdem nicht direkt für Bascom.

von Falk B. (falk)


Lesenswert?

@Winfried Z. (rugbywinne)

>ich möchte die Genauigkeit des RTC einstellen.

Nö, du willst deine RTC einstellen bzw. kalibrieren. Die Genauigkeit ist 
das, was am Ende dabei rauskommt.

>Ich habe innerhalb von 24 Stunden eine Abweichung von ca. 5 Sekunden.

Das sind 58ppm, ein normaler Fehler für einen unkalibrierten Quarz.

>Ich gehe davon aus, dass die Basis für den Time$ der Quarz und nicht der
>interne RC ist. Sonst macht der Quarz an TOSC1 und TOSC2 keinen Sinn.

Logisch, dann hättest du 5 Minuten Abweichung ;-)

>Mein Workaround wäre jeden Tag die 5 Sekunden zu korrigieren.

>Was gibt es noch für Möglichkeiten ?

Den Quarz mittels Trimmkondensator kalibrieren. Oder den Fehler 
automatisch per Software kompensieren.

http://www.mikrocontroller.net/articles/AVR_-_Die_genaue_Sekunde_/_RTC#Echtzeituhr_mit_Uhrenquarz

In BASCOM gibt es die Option, eine Funktion SECTIC zu definieren, dort 
kann man z.b. jeden Tag um 00:00 die Uhr um x Sekunden vor oder 
rückstellen. Mittels Time$ = ""hh:mm:ss". Oder man greift direkt auf die 
Variablen _Sec, _Min and _Hour zu, könnte einfacher sein.
1
SECTIC
2
if time$="00:00:00" then _sec = 5  ' Uhr geht nach, vor stellen
3
Return

P S Eichen kannst und darfst du nicht, das dürfen nur zugelassene 
Institute ala PTB etc. Siehe

http://www.mikrocontroller.net/articles/Aufl%C3%B6sung_und_Genauigkeit#Eichen.2C_Kalibrieren.2C_Justieren

von Falk B. (falk)


Angehängte Dateien:

Lesenswert?

OK, ein bisschen mehr Logik braucht es schon, vor allem wenn die Uhr vor 
geht und zurückgestellt werden muss. Etwa so

von Winne Z. (rugbywinne)


Lesenswert?

Hallo Falk,
danke für Deine Mühe und Erklärungen.

Elegant gemacht die SETIC Routine.

Gruß
Winne

Hallo  Matthias Sch.
Nach Datenblatt sind erstmal KEINE Cs am Uhrenquarz vorgesehen.  Auch 
sonst ist das Datenblatt bei diesem Punkt sehr dürftig.
Abgleich über Cs bzw. TrimmerCs ist nicht so das Wahre.
Hätte aber den Vorteil eines "schnellen" Abgleichs.

Bei einem Softwareabgleich muss die Abweichung über einen längeren 
Zeitraum ermittelt werden, was dauern kann.

Gruß
Winne

von Nils S. (kruemeltee) Benutzerseite


Lesenswert?

Eichen darf nur das Eichamt. Kalibrieren dürfen wir ;)

von Falk B. (falk)


Lesenswert?

@Winfried Z. (rugbywinne)

>Abgleich über Cs bzw. TrimmerCs ist nicht so das Wahre.
>Hätte aber den Vorteil eines "schnellen" Abgleichs.

Es geht auch schneller, mit einem Frequenzzähler. Aber man muss einiges 
beachten.

http://www.mikrocontroller.net/articles/AVR_-_Die_genaue_Sekunde_/_RTC#Uhrentakt_genau_messen_und_digital_korrigieren

>Bei einem Softwareabgleich muss die Abweichung über einen längeren
>Zeitraum ermittelt werden, was dauern kann.

Man kann den Fehler auch umrechnen und in die Software eintragen.

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.