|
|
Germany
Offline
Edison Member
Karma: 33
Posts: 1789
Arduino rocks
|
 |
« Reply #1 on: January 19, 2011, 10:16:32 am » |
Steht doch da: Das ist ein Uhrenquarz mit bestimmter Frequenz (32,768 kHz).
|
|
|
|
« Last Edit: January 19, 2011, 10:20:22 am by sth77 »
|
Logged
|
|
|
|
|
Munich/Germany
Offline
God Member
Karma: 8
Posts: 559
|
 |
« Reply #2 on: January 19, 2011, 10:16:43 am » |
Steht doch im Text: ein Quartz mit 32768kHz.
Edit: zu langsam :-?
|
|
|
|
« Last Edit: January 19, 2011, 10:17:25 am by MaFu »
|
Logged
|
_______ Manfred
|
|
|
|
0
Offline
Newbie
Karma: 0
Posts: 23
Arduino rocks
|
 |
« Reply #3 on: January 19, 2011, 10:17:20 am » |
lasst mich raten... es geht nicht ohne...
|
|
|
|
|
Logged
|
|
|
|
|
Munich/Germany
Offline
God Member
Karma: 8
Posts: 559
|
 |
« Reply #4 on: January 19, 2011, 10:18:22 am » |
Auch ein ds1307 muss sich nach einem Takt richten.
|
|
|
|
|
Logged
|
_______ Manfred
|
|
|
|
Germany
Offline
Edison Member
Karma: 33
Posts: 1789
Arduino rocks
|
 |
« Reply #5 on: January 19, 2011, 10:23:40 am » |
Nur zur Information: ich habe mich nämlich auch gerade mit der Tausenderpotenz vertan. Im Amerikanischen setzt man kein Komma, sondern einen Punkt. Verwechselt man schnell mit 'nem Tausenderpunkt und liegt somit schnell mal um Größenordnungen daneben... Der Hintergrund dieser scheinbar krummen Frequenz ist folgender: Ich muss diese Frequenz nur 15mal durch zwei teilen, um einen ziemlich exakten Sekundentakt herauszubekommen. 15 Flip-Flops hintereinander und du hast 'nen genauen Sekundenzähler. lasst mich raten... es geht nicht ohne... Zumindest nicht für eine sinnvolle Anwendung... 
|
|
|
|
« Last Edit: January 19, 2011, 10:25:10 am by sth77 »
|
Logged
|
|
|
|
|
Oldenburg
Offline
Sr. Member
Karma: 16
Posts: 268
Arduino, imagine the possibilities!
|
 |
« Reply #6 on: January 19, 2011, 10:26:07 am » |
Hi, hier mal ein Schaltbild mit dem DS1307 an meinem Arduino.  Vorsicht bei der Quarzwahl. Es es muss ein Quarz mit 12,5 pF sein, andernfalls geht die Uhr deutlich falsch. Gruß Sebastian
|
|
|
|
|
Logged
|
|
|
|
|
BZ (I)
Offline
Brattain Member
Karma: 161
Posts: 15707
+39 349 2158303
|
 |
« Reply #7 on: January 19, 2011, 11:17:44 am » |
Die 32.678 Quarze gibt es mit der Kapazität 12,5 und 6 pF. ein 12,5 müßte der Richtige sein ansonsten geht die Uhr falsch (ca 20 Sekunden am Tag zu schnell) Grüße Uwe
|
|
|
|
|
Logged
|
|
|
|
|
0
Offline
Newbie
Karma: 0
Posts: 23
Arduino rocks
|
 |
« Reply #8 on: January 19, 2011, 12:14:29 pm » |
Kann mir jemad sagen, warum das Beispiel nicht läuft: #include <WProgram.h> #include <Wire.h> #include <DS1307.h> // written by mattt on the Arduino forum and modified by D. Sjunnesson
void setup() { Serial.begin(9600);
RTC.stop(); RTC.set(DS1307_SEC,1); //set the seconds RTC.set(DS1307_MIN,23); //set the minutes RTC.set(DS1307_HR,12); //set the hours RTC.set(DS1307_DOW,4); //set the day of the week RTC.set(DS1307_DATE,5); //set the date RTC.set(DS1307_MTH,3); //set the month RTC.set(DS1307_YR,9); //set the year RTC.start();
}
void loop() {
Serial.print(RTC.get(DS1307_HR,true)); //read the hour and also update all the values by pushing in true Serial.print(":"); Serial.print(RTC.get(DS1307_MIN,false));//read minutes without update (false) Serial.print(":"); Serial.print(RTC.get(DS1307_SEC,false));//read seconds Serial.print(" "); // some space for a more happy life Serial.print(RTC.get(DS1307_DATE,false));//read date Serial.print("/"); Serial.print(RTC.get(DS1307_MTH,false));//read month Serial.print("/"); Serial.print(RTC.get(DS1307_YR,false)); //read year Serial.println();
delay(1000);
} Als Zeit kommt immer 0:0:0 0/0/2000
|
|
|
|
« Last Edit: January 19, 2011, 01:09:16 pm by hanspeter99 »
|
Logged
|
|
|
|
|
Oldenburg
Offline
Sr. Member
Karma: 16
Posts: 268
Arduino, imagine the possibilities!
|
 |
« Reply #9 on: January 19, 2011, 02:01:11 pm » |
|
|
|
|
|
Logged
|
|
|
|
|
0
Offline
Sr. Member
Karma: 4
Posts: 341
A SWL life as a coder... I'll try.
|
 |
« Reply #10 on: January 21, 2011, 04:05:01 am » |
|
|
|
|
|
Logged
|
|
|
|
|
Oldenburg
Offline
Sr. Member
Karma: 16
Posts: 268
Arduino, imagine the possibilities!
|
 |
« Reply #11 on: January 21, 2011, 06:11:57 am » |
Hi,
Hast Du schon überprüft wie genau die RTC geht? Ich habe ca. 2Sec pro Tag. Viel genauer ist wohl auch nicht möglich. Aber wie könnte eine "Trimmung" oder korrektur aussehen?
Gruß
Sebatsian
|
|
|
|
|
Logged
|
|
|
|
|
0
Offline
Sr. Member
Karma: 4
Posts: 341
A SWL life as a coder... I'll try.
|
 |
« Reply #12 on: January 21, 2011, 06:55:29 am » |
Hi Sebastian,
habe ich nicht geprüft. Kann gut sein, dass die Zeit abweicht. Ich konnte sie aber nicht mal korrekt stellen, da ich das beim ersten Kompilieren gemacht habe und seit dem ist Datum und Uhrzeit im DS. Das Setzen beim Kompilieren ist grundsätzlich nicht sekundengenau, weil man ja nie weiß wann der Code im Atmega ist und die Zeit im DS setzt... Im mir aber auch nicht so wichtig. Wenn ich's genau möchte würde ich ein DCF77 Modul zur Zeitsetzung nehmen....
|
|
|
|
|
Logged
|
|
|
|
|
CH
Offline
God Member
Karma: 19
Posts: 703
Book Writer "Arduino Praxiseinstieg"
|
 |
« Reply #13 on: January 21, 2011, 07:06:26 am » |
Aber wie könnte eine "Trimmung" oder korrektur aussehen?
Ein paar Ideen für die Abfrage der genauen Uhrzeit: -Webservice im Internet via Ethernet abfragen -Abfrage NTP-Server via Ethernet -täglicher Update via serieller Schnittstelle (Aktuelle Uhrzeit liefert PC) -DCF77-Quelle abfragen -Uhrzeit via GPS-Modul ermitteln
|
|
|
|
|
Logged
|
|
|
|
|
Oldenburg
Offline
Sr. Member
Karma: 16
Posts: 268
Arduino, imagine the possibilities!
|
 |
« Reply #14 on: January 21, 2011, 07:29:54 am » |
Das(2sec/Tag) sind immerhin 12Minuten pro Jahr ;-)
- Ethernet zu aufwendig/mit Kanonen auf Tauben geschossen - serieller Abgleich leider bei einer autarken Anwendung nicht möglich - DCF finde ich gut, man müßte die Empfangsmöglichkeinten in massiven, geschlossenen Gebäuden klären - GPS das gleiche wie mit der Ethernet Lösung
Gruß
Sebastian
|
|
|
|
|
Logged
|
|
|
|
|
|