-         

Ergebnis 1 bis 7 von 7

Thema: Speicherplatz auf dem ATMega8

  1. #1
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    02.04.2004
    Ort
    Friesenheim - Baden
    Beiträge
    199

    Speicherplatz auf dem ATMega8

    Anzeige

    hi

    ich will einen Temperaturlogger bauen. Als Sensor hab ich mir den DS1820 rausgesucht weil ich bei dem nicht noch umständlich umrechnen muss. Der Sensor liefert mir die Temperatur in 2 Bytes.

    Wieviele Messwerte kann ich da auf einem AVR ablegen.

    Kann ich dazu den EEProm oder RAM benutzen oder welcher Speicher ist da für mich interesant ?

    Vielen Dank

  2. #2
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    22.05.2005
    Ort
    12°29´ O, 48°38´ N
    Alter
    48
    Beiträge
    2.731
    Hallo,

    kommt darauf an, was mit den Daten passieren soll, das SRAM hat insgesamt 1kB, da ist aber der Stack und die Variablen des Programms auch mit drin.
    Das EEprom hat 512 Byte, die bleiben dann auch erhalten, wenn man den Strom abdreht, allerdings kann man den nur 100000 mal neu beschreiben.

  3. #3
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    17.02.2006
    Alter
    47
    Beiträge
    781
    Also, der RAM ist flüchtiger Speicher ist, d.h. er ist leer nachdem die Spannungsversorgung nen Moment weg war. Ich denke mal dass das nicht ganz in deinem Interesse ist.
    EEPROM ist nicht sonderlich schnell, aber für nen Temperaturlogger wird's reichen. In die 512 Byte Speicher kannst du 512 Bytes reinlegen. Bei 2 Byte / Temperaturwert macht das 256 Werte. Nicht sonderlich viel.
    Am besten wird's wohl sein, einen Teil vom Codespeicher zu benutzen, davon hast du immerhin 8kB zur Verfügung. Im Datenblatt sollte stehen wie das funktioniert, ansonsten frag halt nochmal nach.

    MfG

  4. #4
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    22.05.2005
    Ort
    12°29´ O, 48°38´ N
    Alter
    48
    Beiträge
    2.731
    Den Flash kann man aber nur 10000 mal neu Beschreiben, und auch nur Seitenweise, beim M8 sind das immer 128 Byte auf einen rutsch.
    Also brauchts erst immer 64 Werte mit 2Byte, damit eine Seite voll wird.

    Nächste Alternative wäre ein Externer Speicher, per I2C o.ä.

    Kommt halt drauf an was es genau werden soll.

  5. #5
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    02.04.2004
    Ort
    Friesenheim - Baden
    Beiträge
    199
    das ganze soll ein Temperaturlogger für unsere Heizung werden und deshalb in Intervallen von höchstens 15min die Temperatur auslesen und speichern auserdem sollte das ganze auch mal mindestens einen Monat laufen können ohne das ich in den Keller muss zum auslesen.

    vom Datenaufkommen müsste ich als überschlagsmäßig auf

    Tag des Jahres + Jahr + volle Temperatur = 5Byte
    24*4=96Byte
    also etwa 100Byte pro Tag

    Ich denke die vollen 2 Byte Temperatur brauche ich nur einmal am Tag und ansonsten zeichne ich nur die Temperaturänderung auf

    ich hab grad gesehen das er ATM16 bzw. 32 ja auch viel mehr speicher hat vll nehm ich einen von denen...

  6. #6
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    10.08.2004
    Ort
    Großbardorf
    Alter
    30
    Beiträge
    674
    auserdem sollte das ganze auch mal mindestens einen Monat laufen können ohne das ich in den Keller muss zum auslesen.
    Falls du auch mal noch längere Zeit nicht danach schauen willst, kannst du ja auch eine MMC (Multimediacard) verwenden. Die sind relativ leicht anzusteuern und für die Menge an Speicherplatz extrem günstig Auf www.ulrichradig.de findest du nähere Informationen dazu.

  7. #7
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    05.09.2005
    Beiträge
    225
    Welche Auflösung brauchst du denn bei der Temperatur? Das bewegt sich ja eh nur in einem kleinem Fenster, das müsste doch reichen das dann mit einem Byte aufzulösen (ist dann wohl eh schon über der Messgenauigkeit) und Tag usw brauchst du ja auch nicht jedesmalzu speichern. Nur den Start der Aufzeichnung und dann weißt du ja das das nächste Byte immer 15min neuer ist.

    Daraus nacher wieder eine Absolute Temperatur zu machen und das Umrechnen der Zeiten für die Messwerte kannst du dann nach dem Auslesen machen. Bzw. auch im Controller falls ein Display ran soll.

    Gruß Philipp

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •