Offline
Newbie
Karma: 0
Posts: 12
|
 |
« on: January 28, 2011, 11:46:47 am » |
hallo,
ich beschäftige mich jetzt das erste mal mit dem arduino und habe ein frage. ich habe ein uhr, bzw. nur den motor (nebenuhr). die würde ich gerne mit einem rechecksignal jede minute für 600ms versorgen. dafür habe ich ein kleines programm geschrieben und nutze millis() um die minute zu errechnen. da auf dem arduino uno board ein quartz drauf ist, dachte ich dass der tackt schon stimmt. leider geht die uhr jetzt nach 19h schon 97s nach.
sind die millis() so genau, dass man sie für eine uhr verwenden kann (vlt is was in meinem code falsch) oder sollte ich einen externen taktgeber nutzen?
|
|
|
|
|
Logged
|
|
|
|
|
Oldenburg
Offline
Sr. Member
Karma: 16
Posts: 268
Arduino, imagine the possibilities!
|
 |
« Reply #1 on: January 28, 2011, 11:55:35 am » |
Hi Thomas, ich würde diese Library verwenden. Dort gibt es als Beispiel eine "Software Realt Time Clock". Gruß Sebastian
|
|
|
|
|
Logged
|
|
|
|
|
Offline
Newbie
Karma: 0
Posts: 12
|
 |
« Reply #2 on: January 28, 2011, 11:59:38 am » |
das würde aber heißen, ich bräuchte noch etwas extra. kann ich mich also auf den takt, den der arduino gibt nicht verlassen?
|
|
|
|
|
Logged
|
|
|
|
|
Oldenburg
Offline
Sr. Member
Karma: 16
Posts: 268
Arduino, imagine the possibilities!
|
 |
« Reply #3 on: January 28, 2011, 12:02:35 pm » |
Hi,
nein, Du benötigst nichts extra. Es ist ja eine Softwarelösung. Nur diese Library einbinden und und die Soft RTC benutzen.
Sebastian
|
|
|
|
|
Logged
|
|
|
|
|
Offline
Newbie
Karma: 0
Posts: 12
|
 |
« Reply #4 on: January 28, 2011, 12:16:56 pm » |
ahh ok danke. leider habe ich vom arduino und programmieren nicht so viel ahnung. ich habe mir auch nin kumpel ran geholt der davon mehr weiß. vlt gehe ich mit ihm das mit der biblothek nochmal durch. aber was macht denn die biblothek? die kann doch auch nur den takt über millis() nutzen oder? na ich versuche da jetzt erstmal durch zu steigen. melde mich bestimmt wieder 
|
|
|
|
|
Logged
|
|
|
|
|
CH
Offline
God Member
Karma: 19
Posts: 703
Book Writer "Arduino Praxiseinstieg"
|
 |
« Reply #5 on: January 28, 2011, 12:32:46 pm » |
ich würde diese Library verwenden. Dort gibt es als Beispiel eine "Software Realt Time Clock". @stundenblume dieses erwähnte Beispiel scheint aber nicht in der erwähnten Bibliothek zu sein.  Ich befasse mich auch gerade mit dem Thema und wollte meine Library aktualisieren.
|
|
|
|
|
Logged
|
|
|
|
|
CH
Offline
God Member
Karma: 19
Posts: 703
Book Writer "Arduino Praxiseinstieg"
|
 |
« Reply #6 on: January 28, 2011, 12:41:17 pm » |
NachtragDie erwähnte Software Real Time Clock benötigt zusätzlich die Time-Library. http://www.arduino.cc/playground/Code/TimeLösung mit der Time Library: The main advantages of software only clock is no hardware to buy or integrate, everything runs on the Arduino.
|
|
|
|
|
Logged
|
|
|
|
|
Oldenburg
Offline
Sr. Member
Karma: 16
Posts: 268
Arduino, imagine the possibilities!
|
 |
« Reply #7 on: January 28, 2011, 12:49:22 pm » |
dieses erwähnte Beispiel scheint aber nicht in der erwähnten Bibliothek zu sein. mmmh, bei mir war das softRTC Beispiel bei der RTC Library mit drin...
|
|
|
|
|
Logged
|
|
|
|
|
0
Offline
Full Member
Karma: 2
Posts: 109
Arduino rocks
|
 |
« Reply #8 on: January 28, 2011, 02:13:49 pm » |
ahh ok danke. leider habe ich vom arduino und programmieren nicht so viel ahnung. ich habe mir auch nin kumpel ran geholt der davon mehr weiß. vlt gehe ich mit ihm das mit der biblothek nochmal durch. aber was macht denn die biblothek? die kann doch auch nur den takt über millis() nutzen oder? na ich versuche da jetzt erstmal durch zu steigen. melde mich bestimmt wieder  Die Biliothek holst du im Code über #include <DS1307.h>
und die dazugehörige Time-Lib über #include <Time.h> das Ganze schreibste über die void setup() {}
|
|
|
|
|
Logged
|
|
|
|
|
Offline
Newbie
Karma: 0
Posts: 12
|
 |
« Reply #9 on: January 28, 2011, 02:34:43 pm » |
ok. habe mir jetzt das ganze auf http://www.arduino.cc/playground/Code/Time mal angeschaut. das is ja alles gut. doch ich brauche ja eigentlich gar nicht so viel. nur halt jede minute ein takt. basiert denn die time bibliothek nicht auch auf millis()? warum geht denn die uhr mit meinem code so nach? na wenns gar nicht anders geht, werde ich wohl die biblo nehmen
|
|
|
|
|
Logged
|
|
|
|
|
Oldenburg
Offline
Sr. Member
Karma: 16
Posts: 268
Arduino, imagine the possibilities!
|
 |
« Reply #10 on: January 28, 2011, 02:41:51 pm » |
ok. habe mir jetzt das ganze auf http://www.arduino.cc/playground/Code/Time mal angeschaut. das is ja alles gut. doch ich brauche ja eigentlich gar nicht so viel. nur halt jede minute ein takt. basiert denn die time bibliothek nicht auch auf millis()? warum geht denn die uhr mit meinem code so nach? na wenns gar nicht anders geht, werde ich wohl die biblo nehmen Weil die Bibliothek nunmal anders arbeitet als Du es tust. Sie arbeitet genauer, verliert keine Zeit bei der Berechnung. Natürlich auch auf Basis des selben Quarzes.
|
|
|
|
|
Logged
|
|
|
|
|
Offline
Newbie
Karma: 0
Posts: 12
|
 |
« Reply #11 on: January 28, 2011, 02:48:50 pm » |
ok. ich will das ja nur verstehen. wenn wir, sagen wir mal millis() 60000 erreicht hat, ich berechne und dann meinen impulse raus schicke. dann warten und wenn millis() dann 120000 erreicht hat ich wieder einen los schicke. dann dürfe sich doch kein fehler addieren und so die zeit eingehalten werden, oder?
|
|
|
|
|
Logged
|
|
|
|
|
CH
Offline
God Member
Karma: 19
Posts: 703
Book Writer "Arduino Praxiseinstieg"
|
 |
« Reply #12 on: January 28, 2011, 02:53:37 pm » |
@foo_mep Versuche doch beide Lösungen. So kannst du vergleichen wie die Genauigkeit ist und auch den nötigen Aufwand für die Realisierung.
|
|
|
|
|
Logged
|
|
|
|
|
Offline
Newbie
Karma: 0
Posts: 12
|
 |
« Reply #13 on: January 28, 2011, 02:56:53 pm » |
naja. scheint ja schon was dran zu sein. weil bei meine lösung geht ja die uhr nach. aber ich glaube ich habe jetzt ne lösung gefunden. wollte ja gerne meinen code nicht so stark ändern. von daher hat mir second() nicht so gut gefallen. aber now() ist sehr gut  werde jetzt mal meine code umbauen, und die uhr nin tag laufen lassen. mal sehen ob sich was ändert. resultat folgt...
|
|
|
|
|
Logged
|
|
|
|
|
Oldenburg
Offline
Sr. Member
Karma: 16
Posts: 268
Arduino, imagine the possibilities!
|
 |
« Reply #14 on: January 28, 2011, 02:58:52 pm » |
Ansonsten zeig doch bitte mal den Code, mit dem Du den Takt erzeugst. Dann kann man vielleicht mehr sagen.
Sebastian
|
|
|
|
|
Logged
|
|
|
|
|
|