Gast
#1552555
Datenlogger mit Atmel AT45DB081D + ATMEGA88 in C Vor ungefähr einem Monat hatte ich einen Datenlogger auf der Basis des VDIP1 mit USB-Stick als Datenträger ins Netz gestellt. Der Vorteil dieses Loggers ist seine schier unbegrenzte Speicherfähigkeit auf dem USB-Stick. Nachteilig sind die hohen Kosten des VDIP1/Stick, der hohe Stromverbrauch des Gesamtsystems sowie das Volumen des Gerätes. Daher ist ein weiterer Logger auf der Basis eines serial-interfaced Flash Memory (Atmel DataFlash) entstanden. Die Vorteile dieser Variante: preisgüstig, kompaktes Gehäuse realisierbar, schnell, stromsparend (auch im Batteriebetrieb einsetzbar), kein kompletter Dateiverlust bei Stromausfall oder versehentlichem Abschalten (beim VDIP1 muss eine Datei immer ordentlich geschlossen werden). Einziger kleiner Haken: der Speicher wird als smd-Chip geliefert. Im beigefügten Programm wird ein ATMEL AT45DB081D mit 1 MB Speicher an einem ATMEGA168 betrieben. Der Speicherbedarf des Programms liegt unter 4kB für die "passive" Variante, etwas ca. 5 kB für die "aktive" Variante. Wo liegt der Unterschied: In der "passiven" Variante nimmt der Logger Daten via TWI oder RS232 entgegen. Passiv deswegen, weil er eben abwartet, bis ihm irgendjemand irgendwelche Bytes zuschiebt. Diese Variante ist nur für einen einzelnen Sensor sinnvoll (z.B. eine GPS-Maus). Um mehrere Sensoren abzufragen, ist die "aktive" Variante entstanden. Hier aggiert der Logger als TWI-Master und fragt in einstellbaren Zeitabständen seine Slaves ab. Im Beispielcode werden die Temperaturdaten von vier Dallas DS1631 ausgelesen. Die Ausgabe der aufgenommenen Daten erfolgt bei beiden Fällen über die serielle Schnittstelle. Weitere Beschreibungen in der readme sowie im dokumentierten Programmcode (in C). Viel Spaß beim Loggen, Michael S.