0
Offline
Newbie
Karma: 0
Posts: 14
Arduino rocks
|
 |
« on: April 22, 2011, 05:43:39 pm » |
hallo zusammen,
ich benutze die Time Library, habe aber eine Zeitabweichung von mehreren Sekunden pro Tag. Nun würde ich gern eine Kalibrierung durchführen, an welchem wert muß ich schrauben? Ich habe ein VB Programm geschrieben, das die synchronisierung mit der PC Zeit durchführt, der Arduino soll aber längere Zeit unabhängig laufen. Ich möchte eine Funktion basteln, die in Abhängigkeit der Zeit der letzten Synchronisation und der ab da aufgetretenen Zeitabweichung den Timer kalibriert. Hat da jemand eine Idee?
Gruss Michael
|
|
|
|
|
Logged
|
|
|
|
|
0
Offline
Faraday Member
Karma: 16
Posts: 3220
20 LEDs are enough
|
 |
« Reply #1 on: April 23, 2011, 03:01:48 am » |
Bist Du Dir sicher, daß die Library schuld ist oder ist das Problem vieleicht Dein Quarz / Resonator? Die einzige wirklich brauchbare Methode ist auf einen RTC Chip zu wechseln.
|
|
|
|
|
Logged
|
|
|
|
|
Weinsberg, Germany
Offline
God Member
Karma: 2
Posts: 770
A Coder's Tale
|
 |
« Reply #2 on: April 24, 2011, 01:02:18 am » |
Die einzige wirklich brauchbare Methode ist auf einen RTC Chip zu wechseln. ...welche aber leider auch nicht immer 100%ig ist. Meine RTC z.B. geht pro Tag 1,57 Sekunden vor.  Optimal wäre ein DCF77-Empfänger oder ein GPS, sofern Du Empfang hast...
|
|
|
|
|
Logged
|
|
|
|
|
0
Offline
Faraday Member
Karma: 16
Posts: 3220
20 LEDs are enough
|
 |
« Reply #3 on: April 24, 2011, 01:16:18 am » |
Wenn Deine RTC soviel daneben liegt, dann solltest Du die Kondensatoren / den Quarz checken oder gleich einen richtig guten RTC nehmen. Z.B. ds3231. Und wenn Du es unbedingt "100%ig" haben willst, dann hol Dir eben bei Ebay ein gebrauchtes Trimble Thunderbolt Modul.
|
|
|
|
|
Logged
|
|
|
|
|
Forum Moderator
BZ (I)
Offline
Brattain Member
Karma: 172
Posts: 16128
+39 349 2158303
|
 |
« Reply #4 on: April 24, 2011, 02:04:35 am » |
Optimal wäre ein DCF77-Empfänger oder ein GPS, sofern Du Empfang hast...
Auch ein Radioempfänger mit RDS gibt die genaue Uhrzeit und ist funktioniert im Gegensatz zu GPS innerhalb von Häusern und ist weniger kritischer auf Störungen vom Rest der Elektronik als DFC77. Grüße Uwe
|
|
|
|
« Last Edit: April 24, 2011, 03:27:13 pm by uwefed »
|
Logged
|
|
|
|
|
Weinsberg, Germany
Offline
God Member
Karma: 2
Posts: 770
A Coder's Tale
|
 |
« Reply #5 on: April 24, 2011, 08:03:50 am » |
oder gleich einen richtig guten RTC nehmen. Ist ein DS1307-Breakout von Watterott, funktioniert mit Korrekturzeit mittlerweile ganz gut. Aber das Wahre ist das natürlich nicht, gibts von dem DS3231 irgendwo eine Breakout-Version zu kaufen?
|
|
|
|
|
Logged
|
|
|
|
|
0
Offline
Faraday Member
Karma: 16
Posts: 3220
20 LEDs are enough
|
 |
« Reply #6 on: April 25, 2011, 08:57:21 am » |
|
|
|
|
|
Logged
|
|
|
|
|
Weinsberg, Germany
Offline
God Member
Karma: 2
Posts: 770
A Coder's Tale
|
 |
« Reply #7 on: April 25, 2011, 09:54:59 am » |
Bestellt, bin gespannt.  Tnx!
|
|
|
|
|
Logged
|
|
|
|
|
0
Offline
Faraday Member
Karma: 16
Posts: 3220
20 LEDs are enough
|
 |
« Reply #8 on: April 27, 2011, 01:44:23 pm » |
Berichte wie gut das Ding wirklich ist. Ich habe ein Thunderbolt hier, das ist richtig gut. Leider ist der Stromverbrauch ziemlich groß. Ohne Steckdose läuft da nichts. Es ist immer wieder cool zu sehen wenn der Frequenzzähler in der letzten Stelle abweicht und klar ist, daß der Frequenzzähler schuld ist 
|
|
|
|
|
Logged
|
|
|
|
|
0
Offline
Newbie
Karma: 0
Posts: 14
Arduino rocks
|
 |
« Reply #9 on: June 05, 2011, 12:18:31 pm » |
Einen extra chip wollte ich eben vermeiden. Es muß doch eine Möglichkeit geben, die Zeit z.B. einmal am Tag zu korrigieren?
|
|
|
|
|
Logged
|
|
|
|
|
Cologne
Offline
Sr. Member
Karma: 4
Posts: 358
Arduino rocks
|
 |
« Reply #10 on: June 05, 2011, 12:55:05 pm » |
Ich habe beste Erfahrungen mit dem PCF8583 gemacht. Mit einem Trimmer-C (siehe Datenblatt) habe ich es geschafft, den Chip auf ca. 1-2 sek Abweichung im Monat zu tunen (bei Raumtemperatur). Leider gibt's dafür noch kein Shield. Eine Arduino Library ist verfügbar. Der Chip hat einen Speicher, den man theoretisch zusätzlich dazu nutzen könnte eine SW-Korrektur der Zeit durchzuführen. Eine reine SW Lösung kann ich nicht empfehlen.
|
|
|
|
|
Logged
|
|
|
|
|
Deutschland, Ruhrpott
Offline
Jr. Member
Karma: 1
Posts: 78
Arduino rocks Amiga rocks RC Truck rocks
|
 |
« Reply #11 on: June 06, 2011, 07:48:28 am » |
Hi,
ich habe mittlerweile 2 DS3231 im Einsatz und bin damit sehr zufrieden. Für den DS3231 braucht man eigentlich kein Shield der Anschluss beschränkt sich auf Spannungsversorgung +5V 0V, Batterie und den I2c Bus.
|
|
|
|
|
Logged
|
Gruesse big-maec
|
|
|
|
Offline
Full Member
Karma: 3
Posts: 146
|
 |
« Reply #12 on: June 06, 2011, 07:59:15 am » |
Hallo, Es muß doch eine Möglichkeit geben, die Zeit z.B. einmal am Tag zu korrigieren?
ein Kollege von mir macht das mit einem Funkwecker. Mittags um 12 "klingelt" dieser. Das Signal wird abgegriffen und auf einen Eingang des Prozessors geleitet. Damit stellt er täglich die Uhr, die intern läuft. (funktioniert auch für Sommer-/Winterzeit) Gruss Kurti
|
|
|
|
|
Logged
|
Es gibt nur 10 Arten von Menschen: die, die das Binär-System verstehen und die, die es nicht verstehen.
|
|
|
|
Offline
Newbie
Karma: 0
Posts: 10
|
 |
« Reply #13 on: June 08, 2011, 12:25:05 pm » |
Hallo zusammen, hallo Michael, ich glaube du suchst so etwas (Schnipsel aus meinem letzten Programm): void UhrKorrektur (){
time_t t = now (); if (hour(t) == 2 && minute(t) == 2 && second(t) == 2){ adjustTime(30); Alarm.delay(1000); } }
Ich habe ausprobiert um wieviel die Uhr pro Tag falsch geht (bei mir ca. 30sec) und korrigiere sie jede Nacht um 02:02:02 Danach verzögere ich das Programm um 1 Sekunde damit ich nicht mehrfach den adjust.Time aufrufe. Nachteil: Wenn du deine Zeitsyncronisation mit dem PC kurz vor 02:00 Uhr machst, geht deine Uhr ab 02:02 Uhr 30 Sekunden vor. (Aber dafür nahezu konstant und sie läuft nicht weg) (Hinweis: Aus der Alarm Libary verwende ich keine "repeat" Funktion sondern nur "once" sonst gibt es noch andere Probleme) Viele Grüße, finu
|
|
|
|
|
Logged
|
|
|
|
|
0
Offline
Faraday Member
Karma: 16
Posts: 3220
20 LEDs are enough
|
 |
« Reply #14 on: June 11, 2011, 11:16:04 pm » |
30s Abweichung pro Tag? Das sind ~348 ppm, wie passiert denn sowas? Was für einen Arduino hast Du? Einen mit Resonator oder einen mit Quartz? Mit Resonator wäre das ziemlich gut, mit Quarz wäre das total daneben. D.h. falls Dein Arduino mit Quartz läuft stimmt was mit Deiner Software nicht.
|
|
|
|
|
Logged
|
|
|
|
|
|