Das funktioniert, aber einen genauen Typ zu kennen wäre nicht schlecht.
MfG Hannes
Das funktioniert, aber einen genauen Typ zu kennen wäre nicht schlecht.
MfG Hannes
Würde mit so was z.B. gehen DS1307 oder ähnlich es wird der Mega16 benutzt.
Wie genau soll denn die Sekunde sein? Denn einen Taktgeber braucht man nicht dazu.Ist es möglich einen Sekunden Takt mit dem RTC zu generieren unter Bascom als Sekundengenauer Taktgeber ?
Der Sekundentakt ist einfach mit einem Timer zu realisieren. Ich initialisiere beispielsweise auf meinen Controllern üblicherweise den Timer2A auf einen Interrupt von 50 µs und zähle in der ISR von 20000 runter. Beim Ablauf wird der Controller-Heartbeat getoggelt. Hintergrund: bei manchen "Hängern" des Controllers merke ich das am Heartbeat . . . ausserdem ist das ein guter Zähler für allerlei Geschwindigkeitsabfragen. Es gibt einfachere Lösungen , ich weiß!
Für "Nur-Heartbeat" bzw. "Nur-Sekundentakt" brauchts auch keine so kurzfristige Timereinstellung zu sein. Die Genaugikeit ist wie bei der RTC vom Quarz abhängig: ich habe das als Sekundenuhr mal gestoppt und bin auf knapp zehn Sekunden Fehler pro Tag gekommen. Ich nutze das aber nirgendwo als genaue Zeitangabe.
Ciao sagt der JoeamBerg
Im Datenblatt (https://datasheets.maximintegrated.com/en/ds/DS1307.pdf) steht auf S9 wie man den Ausgang einstellen kann (Control Register). Du musst das 4te Bit (SQWE) setzen, Bit 7 (OUT) darfst du nicht setzen. Dann hast du einen Takt am PIN 7. Welchen Takt du hast kannst du ebenfalls im Control Register einstellen, für 1Hz muss Bit 0 und Bit 1 log. 0 sein.
Man sollte das Datenblatt lesen und auch verstehen, sonst kommst du nicht weit.
MfG Hannes
Das mit dem Quarz stimmt mit den Abweichungen, ich habe einen Quarzoszilator benutzt weil die in der Regel genauer sind. Ich kam auch
auf 10 Sekunden Abweichung Pro Tag was eigentlich für einen Tag nicht tragisch ist. nach mehrere Wochen hm.
Oder ist es möglich eine Uhr rückwärts laufen zu lasen mit Config Clock es sollte eigentlich ein Timer werden.
Geändert von memory (02.04.2018 um 10:56 Uhr)
Was man machen kann wäre sich mit einer genauen Zeit zu synchronisieren (DCF77). Das muss man nicht ständig machen, einmal pro Tag oder Woche sollte ausreichen. Wenn die Zeit nicht wichtig ist, sondern ein Timing, kann man mit einer genauen Zeit und der RTC Zeit einen Faktor berechnen und das Timing mit diesem Faktor "kalibrieren". Das Timing über den 1Hz Takt aus dem RTC funktioniert dann aber nicht (müsste man dann über einen Alarm (den man jedesmal stellen muss) machen.
Was soll das genau werden? Dann könnte man genauere Angaben machen. Genauen Takt könnte man auch generell über DCF77 machen.
MfG Hannes
Es soll ein universal Timer werden der über Wochen gehen soll,
für nur 24 Std. wäre mir die 10 Sekunden egal.
Dann wäre doch die DCF77 an nem kleinen Mikrocontroller die erste Wahl. Und täglich, nächtlicher Weise, zwei oder drei Uhr, ein Abgleich mit der DCF77. Und die notwendige Korrektur merken - und entsprechend den Timer ein klitzekleines Bisschen korrigieren. Adaptive Uhrregelung.Es soll ein universal Timer werden der über Wochen gehen soll ..
Ciao sagt der JoeamBerg
Dann würde ich berechnen wann der Alarm stattfinden soll und stelle das im RTC ein. Damit die Zeit stimmt solltest (wenn es so genau sein muss) mit dem DCF77 Signal synchronisieren (z.b. 1x/Tag). Wenn die Synchronisation scheitert kannst du z.b. es in 5min nocheinmal probieren.
MfG Hannes
Lesezeichen