Temperatur im Atmega speichern möglich?

#1239855
Lesenswert?

Hallo,

ich möchte einen ATMEGA8 für Temperaturmessungen im Garten
benutzen. Einmal stündlich soll die Temperatur gemessen
und gespeichert werden.

Alle paar Tage soll der AVR am PC angeschlossen
und die Daten aus dem Atmega ausgelesen werden.

Frage : Wo speichere ich die Messdaten eigentlich?

Wird der EEProm des AVR's benutzt, um zu speichern?

2.Frage: Besteht wenn der AVR stromlos ist, die Gefahr, dass
der AVR die Daten vergisst?
Gast #1239871
Lesenswert?

Vielleicht musst Du den AVR nicht stromlos schalten, sondern kannst ihn 
schlafen legen, wobei viel weniger Strom verbraucht wird.

Dann bleiben die Werte auch im RAM erhalten, solange er nicht stromlos 
wird.

Vielleicht möchtest Du auch nicht einfach nur stündlich messen, sondern 
einen Mittelwert über mehrere Messwerte pro Stunde bilden.

Wenn die Temperaturwerte für benötigten Temperaturbereich und 
Genauigkeit so skaliert werden, dass sie in ein Byte passen, hasst Du 
die maximale Aufzeichnungsdauer.

Vielleicht könntest Du Werte sogar im Flash speichern, wenn es von der 
Dauer her sonst nicht ausreicht (Urlaub...).
#1240197
Lesenswert?

Ganz recht, das EEPROM des ATmega8 ist mit 512 Bytes doch sehr 
übersichtlich. Wenn Du Dich etwas genauer mit den AVRs auskennst, wäre 
es denkbar den Code im Bootbereich laufen zu lassen und die Daten werden 
ins restliche Flash geschrieben. Es gibt dann aber ein paar 
Einschränkungen, so können die Daten nur pageweise gelöscht werden. Ein 
Ringpuffer ist also nur mit Einschränkungen möglich.

Eine (optionale) Checksumme sollte dennoch im EEPROM abgespeichert 
werden.
#1240281
Lesenswert?

>Ganz recht, das EEPROM des ATmega8 ist mit 512 Bytes doch sehr
>übersichtlich.
Weil:
>Einmal stündlich soll die Temperatur gemessen
>und gespeichert werden.
und
>Alle paar  Tage soll der AVR am PC angeschlossen
>und die Daten aus dem Atmega ausgelesen werden.
da würden die 512 Byte für 3 Wochen reichen wenn 1 Messwert je 1 Byte 
belegt. Die 8 Bit pro Messwert reichen allemal aus.
Wenn du jedoch einen Zeitlichen Bezug haben willst (Datum, Uhrzeit) 
wirds in der Tat sehr eng. Da sollte man sich dann doch überlegen auf 
externe Komponenten zurückzugreifen oder den Flashspeicher dazu zu 
benutzen. Ein 2Kx8 serielles EEPROM kostet auch nur 50 cent oder so.
#1240341
Lesenswert?

Timmo H., der Ansatz bedingt aber, dass es keinen Spannungsausfall oder 
sonstigen Reset gibt, sonst ist der Zeitbezug weg. Dann kann aber auch 
gleich das SRAM (mit-)verwendet werden.
Soll's etwas solider sein, empfehle ich dazu eine RTC, beispielsweise 
den DS1307. In Verbindung mit einem seriellen EEPROM sind der 
SW-Entwicklung fast keine Grenzen mehr gesetzt (Übertragung der Echtzeit 
vom PC zum Zielsystem, Temperaturmessung mit exaktem Zeitstempel, nahezu 
unbegrenzte Aufzeichnungsdauer, keine Inkonsistenzen bei Schaltjahren 
etc.)
#1240560
Lesenswert?

Naja, man kann es ja so machen, dass das Programm generell zu aller erst 
das EEPROM durchguckt, und nachsieht wo die erste "0" steht. An dieser 
Stelle wird dann der Timestamp geschrieben (meinetwegen vom RTC 
ausgelesen) und dann schreibt er fleißig die Temperaturen weiter bis der 
Speicher voll ist.
Bei der Auswertung der Daten muss man dann nur gucken wo ein Timestamp 
ist und ab da gehen die Werte ja immer wieder +1 Stunde.
Nachdem die Daten ausgelesen wurden löscht man das EEPROM wieder und der 
ganze Spaß geht von vorne los.
#1241007
Lesenswert?

Naja wirklich umständlich finde ich das jetzt nicht.
Wahrscheinlich ist der Mega8 ja auch schon vorhanden, dann müsste man 
sich nicht einen "kleineren" kaufen. Das Argument zählt also nur wenn 
die Teile eh noch gekauft werden müssen.
Dann könnte man auch gleich den ATmega88 nehmen, der hat sogar ne RTC 
Funktion, dann würde man sich auch die Echtzeituhr sparen (die kostet 
immerhin über 2€). Das externe EEPROM würde ich aber alleine deswegen 
noch  nehmen, damit man auch noch Möglichkeit hat, an das Teil auch noch 
Luftdruck etc. mitzuloggen.
Aber letzten Endes bleibt es ja jedem selbst überlassen. Wenigstens hat 
der TO jetzt ein paar Anregungen bekommen, falls er das überhaupt alles 
gelesen hat, denn gemeldet hat er sich jetzt ja gar nicht wieder.

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