budo's Web
Hier findet ihr einiges zu meinen Hobbies

SRAM-Data-Logger

Für die Aufzeichnung von Beschleunigungskurven bei höchst möglicher Geschwindigkeit, genügt ein Data-Logger mit SD-Karte nicht und ein budoino XXL Data-Logger mit 16k SRAM wurde bei den Winkel-Scanner-Messungen verwendet. Dies erlaubte Aufzeichnungen von etwa 15000 bytes im 115µs Takt, d.h. maximal 1.7s. Für längere Aufzeichnungen, ggf. bei etwas reduzierter Geschwindigkeit, z.B. für Untersuchungen des Bremsverhaltens am Fahrrad, ist deutlich mehr Speicher erforderlich. Darum wurde ein Batterie betriebener, erweiterbarer SRAM-Data-Logger basierend auf einem 20MHz-budoino mit zunächst 10x 32kByte SPI-SRAMs entwickelt. Der ATmega382P wird mit 5V und 20MHz betrieben und steuert die 3.3V-SPI-SRAM-Bausteine über Spannungskonverter 74HC4050. Der Rückkanal wurde nicht konvertiert, so dass keine zusätzlichen 5V-SPI-Bausteine angeschlossen werden dürfen. Die Installation des Bootloaders (Board: Arduino Uno (5V-20MHz-500k baud) von optiboot) über die Arduino-Umgebung erfolgte problemlos über SPI via Diamex-Programmer.

Die Software hierzu ist einfach gehalten und insbesondere beim Aufnehmen und Speichern der Beschleunigungswerte optimiert bezüglich der Geschwindigkeit. Die Speicherzugriffe erfolgen über die SpiRAM Library. Diese musste allerdings angepasst werden, um während des Laufs einen schnellen ChipSelectPin-Wechsel für die 10 Speicherchips zu ermöglichen. Die Beschleunigungswerte werten von 10 Bit auf 8 Bit gekürzt, da dies Speicherplatz und und Schreib- / Lesezeit spart. Währen des Ablaufs wird mit Ton-Zeichen signalisiert, an welcher Stelle der Software sich das Programm befindet. Nach der Aufzeichnung und dem Anschluss eines USB-Light-Adapters kann man das Auslesen auf Knopfdruck starten. Das Auslesen erfolgt mit 256000 baud. Bei der Ausgabe der 320kByte erfolgt eine Datenergänzung um einen Zählerwert und um zusätzliche Zeichen, so dass die mit Hterm aufgenommenen Daten direkt als Datei für ein Google Dygraph-Diagramm verwendet werden können. Gemessen wurden 48.9s (für 320kByte) zum Aufnehmen und Schreiben und 322.5s zum Lesen und Anzeigen in Hterm. Die Zeit zum Lesen und Anzeigen erhöht sich auf 378s, wenn die Daten gleich in g und ms umgerechnet werden. Beim Aufnehmen und Schreiben wird der Großteil der Zeit für die AD-Wandlung benötigt, und beim Lesen und Anzeigen wird der Großteil der Zeit für die Anzeige der 9.8 Mio. Zeichen für die Google Dygraph-Diagramm-Datei benötigt.

Stromlaufplan

tbd

Bilder

srdl

SRAM-Data-Logger Platine mit 20MHz Prozessor ATmega328P, 10 SRAM Speicher-Chips 23K256 und 2 Spannungsanpassungen 74HC4050

Messungen

Mit dem Data-Logger wurden einige Messreihen durchgeführt (siehe Messungen).

Ausblick

Anstelle der Datenübertragung zu einem Laptop die 5 Minuten dauert und einem bei der weiteren Aufzeichnung stört, wäre eine automatische Speicherung der Daten auf einer SD-Karte besser geeignet, wenn für jede Aufzeichnung eine separate Datei erzeugt wird. Das Abspeichern kostet natürlich weiterhin seine Zeit, aber mehrere Aufzeichnungen hintereinader sind möglich.

SD-Karten-Erweiterung

Die SD-Kartenerweiterung für den SRAM-Data-Logger ist relativ simpel, da eine passive SD-Kartenhalterung direkt an einer 3.3V-SPI-Schnittstelle betrieben wird. Da auf dem SRAM-Data-Logger keine 3.3V ChipSelect-Leitung mehr frei war, wurde kurzerhand ein Speicherchip entfernt und hierfür die SD-Karte über die IC-Fassung adaptiert.

srdl

Passiver SD-Kartenhalter für 3.3V SPI-Schnittstelle.


Nach Oben