Ist es möglich einen Sekunden Takt mit dem RTC zu generieren unter Bascom als Sekundengenauer Taktgeber ?
Ist es möglich einen Sekunden Takt mit dem RTC zu generieren unter Bascom als Sekundengenauer Taktgeber ?
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 09: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.
Hallo Memory,
Späte Anfrage:
Soll es ein Zeitmesser(Uhr) werden.
Wenn ja könnte ich hier ein Projekt (Kalenderuhr mit DS1307) einstellen.
Zeitkorrektur einmal pro Tag. Ist natürlich nicht so genau wie mit DCF77 aber +/- 3 Sekunden pro Monat ist wohl akzeptabel. Mit Zeitumstellung nochmals eine Anpassung.
Natürlich noch 3 Taster für manuelle Korrektur vorhanden.(Select plus und minus)
Wenn wie vorgeschlagen DCF77 zum Einsatz kommen soll, macht es nach meiner Sicht kein Sinn, diese aktiv und ständig für Zeitkorrektur zu nutzen. Senden doch alle 3 Minuten das volle Packet an Infos.
Benötigst nur ein Pin vom µC und hast immer alles aktuell. Also warum vorab so eine RTC-Zeitbasis.
Wenn kein DCF Signalempfang möglich ist, ist mein erster Vorschlag eine Alternative.
P.S Wer in ca. 999 km Entfernung vom DCF- Sender( Frankfurt A.M.) kein sichern Empfang hat, lebt nicht gesund.
Spaß beiseite. Meist sind es nur die DCF- Empfangsmodule die für instabilen oder nicht Empfang in diesem Bereich verantwortlich sind.
Mit freundlichen Grüßen
Lesezeichen