Forum: Mikrocontroller und Digitale Elektronik Große Daten Mengen ablegen?


von Stefan B. (blueberlin)


Lesenswert?

Hallo,

ich lese mit ein Atmega8 drei AD Ports ein und Speicher jeden Wert in 
eine Variable.


Das Problem ist, ich weiss nicht wohin mit den Daten, ich würde gerne 
jede Sekunde messen und das ganze vielleicht über 1 Stunde lang.

erste Idee hatte ich das ganze über ein Funkmodul nach jeder Messung an 
ein PC zu Senden, das ganze klappt auch eigendlich nur leider reist oft 
die Funkverbindung ab weil dort wo die schaltungen in einsatz kommt 
viele andere Funkquellen sind.

Idee zwei, auf eine SD Karte Schreiben, leider ist die Schaltung dafür 
aufwendig und braucht relativ viel Platz, die schaltung sollte so klein 
wie möglich bleiben.

Was gibt es für Alternativen? kann man den Ram des Atmegas vergrößern?

dann würde ich das ganze 1 Stunde lang im ram sammeln und dann das ganze 
Packet über ein Kabel auf den PC übertragen.

von Uwe .. (uwegw)


Lesenswert?

Wie viele Bytes sind es denn nun insgesamt?

von Kai aus der Kiste (Gast)


Lesenswert?

Vielleicht reicht schon ein 8k-EEPROM.

von Stefan B. (blueberlin)


Lesenswert?

mhh...

naja ein ad wert besteht maximal aus 4 stellen (0-1023 ) also 4bit bei 3 
eingängen 4*3=12 bit die sekunde * 3600 sekunden = 43200 bit /8= 5400 
Byte

5400 Byte/1024= 5,2 Kbyte

oder irre ich mich?

von holger (Gast)


Lesenswert?

>naja ein ad wert besteht maximal aus 4 stellen (0-1023 ) also 4bit bei 3

Nö, in ASCII wären das 4 Byte. Binär 2 Byte.

Im besten Fall 3 x 2 x 3600 = 21600.

32kB EEPROM oder FRAM passt dazu.

von Patrick (Gast)


Lesenswert?

Stefan B. schrieb:

> kann man den Ram des Atmegas vergrößern?

Nö. Bei anderen AVRs wie z. B. ATmega128 (einen neueren kenne ich jetzt 
nicht auswendig) wäre das gegangen (Interface für ext. Speicher).
Eine andere Möglichkeit besteht darin, ein externes RAM/EEPROM/FLASH 
anzubinden, z. B. ein I²C-EEPROM. Da muss man dann eben noch die 
Ansteuerung implementieren.

Das Ganze hängt natürlich von der Datenmenge und von der Häufigkeit des 
Beschreibens ab.

Ist das für eine Anwendung, die nicht "immer" laufen muss, sondern über 
ihre Lebenszeit nur fünf Mal für eine Stunde aufnimmt? Dann sammele die 
Daten im RAM bis zur Größe einer FLASH-Seite, und schreibe die dann ins 
FLASH.

von Michael (Gast)


Lesenswert?

Uwe ... schrieb:
> Wie viele Bytes sind es denn nun insgesamt?

Das läßt sich noch leich beantworten. Nach Adam Riese, ohne 
Datenkompression bei 10-bit ADC mit 1 Hz wohl
3  10 bit  60 * 60 = 13.2 kByte oder, wenn man jede Sekunde 4 Byte 
ablegt, gut 14 kByte.

von J.-u. G. (juwe)


Lesenswert?

Stefan B. schrieb:
> Was gibt es für Alternativen?

RS232?

von Bastler (Gast)


Lesenswert?

4 Stellen (0 - 1023) ?????

Ich würde sagen 2 Bytes

2 Bytes  3 AD-Signale  3600 / 1024 = 21,1kByte

Vielleicht reicht auch eine kleinere Mittelwertbildung.
jede Sekund wird gemessen und nach 10 Messungen ein Mittelwert gebildet 
und gespeichert.
Bei einer Auswertung über eine Stunde müsste die Auflösung ja reichen.

von Stefan B. (blueberlin)


Lesenswert?

rs232 brauch ich doch ne datenleitung bzw. ne funkverbindung^^

von J.-u. G. (juwe)


Lesenswert?

Stefan B. schrieb:
> rs232 brauch ich doch ne datenleitung

Ja, aber die wolltest Du doch sowieso verlegen.

Stefan B. schrieb:
> dann würde ich das ganze 1 Stunde lang im ram sammeln und dann das ganze
> Packet über ein Kabel auf den PC übertragen.

von Julian O. (juliano)


Lesenswert?

eine microsd-Karte benötigt definitiv nicht mehr Platz als ein Funkmodul 
und bietet für wenig Geld quasi unbegrenzten Speicher.
Ansonsten gibts sehr günstigen Dataflash mit SPI-Interface im SO-8 
Gehäuse (1Mbit für weniger als 2€)

von hans (Gast)


Lesenswert?


von usuru (Gast)


Lesenswert?

> naja ein ad wert besteht maximal aus 4 stellen (0-1023 ) also 4bit

0-1023 sind binär 10 Bit, die bringst Du in 2 Byte unter und hast noch 
Platz über, z.B. für eine "letztes-Byte-Flag". Dezimal geaschrieben sind 
es 4 Stellen, also 4 Byte.

Leichter als SPI- sind I2C-EEPROMS anzusprechen, ich nehme gerne die 
24FC1025 
http://www.microchip.com/wwwproducts/Devices.aspx?dDocName=en024639

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.