Timer

Gast #48581
Lesenswert?

Hallo,
Ich habe folgendes Problem: Ich will mit einem Atmel eine Art
Langzeitmessung durchführen, d.h es soll jede Stunde 1 Messwert im
Eeprom gespeichert werden um die Daten irgendwann einmal mit dem PC
auszulesen. Mein Problem ist wie ich es hinbekomme dass genau jede
Stunde 1mal gemessen wird und dann im Eeprom gespeichert wird(möglichst
mit Datum und Uhrzeit). Ich würde das ganze gerne in Basic
programmieren. Wie kann ich das möglichst ohne externer Bauteile
realisieren ?

Vielen Dank schon mal für euer Bemühen
Gast #48582
Lesenswert?

ist eigentlich recht einfach, du programmierst dir einen Timer, der eine
bestimmte Zeiteinheit liefert, sagen wir mal eine Sekunde (kann auch
weniger oder mehr, je nach Quarz, Timer (8 oder 16bit, Vorteiler), ist
im Prinzip egal. Kannst auch 10ms nehmen und dann per Software erstmal
100 Timerüberläufe zählen.
Hast du dann den Sekundentakt, gehts weiter, brauchst nur noch eine Uhr
programmieren, entweder als einfachen Sekundenzähler (mit einer
long-Variablen kommst du dann immerhin auf rund 136 Jahre :-). Aus
dieser Zahl kann dann bei Bedarf die "richtige" Uhrzeit berechnet
werden. Oder du nimmst anderes Format, je nach Bedarf Jahr, Monat, Tag,
Stunde, Minute, Sekunde. Rechnen lässt es sich einfacher, wenn du die
gesamte Zeit in einer Variablen hast.
Gast #48583
Lesenswert?

Was oft auch nicht schlecht ist:

während dem Messzeitraum regelmässig messen, alles addieren und daraus
den Mittelwert bilden. Kommt aber auf die Anwendung an. Rauschen und
andere Messfehler werden dadurch zu einem guten Teil rausgefiltert.

Und wenn Du z.B. 64 mal einen 10-Bit-Wert addierst, dann bekommst Du
automatisch einen (Pseudo-) 16-Bit-Wert. Die Genauigkeit kommt zwar
lange nicht an echte 16 Bit ran, ist aber viel besser als bei einer
einzelnen 10-Bit-Messung.

Viele Grüße, Stefan
Gast #48584
Lesenswert?

Vielen Dank crazy horse
Vielen Dank Stefan (übrigens interessante Idee mit dem Mittelwert!).

Was ich allerdings immer noch nicht hinbekomme ist der Timer in Bascom.
Kann mir jemand kurz sagen wie das geht ?

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren