Datenlogger

Aus Hobbyelektronik.org
Wechseln zu: Navigation, Suche

Diese Seite soll die Entstehung (und irgendwann mal die fertige Software) eines Datenloggers beschreiben.

Geschichte

Ursprung dieses Projekts ist irgendwann zwischen 2006 und 2007. Robert hatte die Idee bzw. den Bedarf nach einem Logger, um über längeren Zeitraum irgendetwas zu messen. Daraus entstand ein schönes Stück Hardware mit einem ADS8344 (8 Kanal mit 16 Bit Auflösung). Dafür entstand eine wirklich unausgegorene Software in VB6, die nichts weiter konnte, als den seriellen ADC per Parallelport auszulesen und CSV-Dateien zu schreiben. Die Auswertung erfolgte dann in Excel bzw. gnumeric unter Linux (was sich auch mit vielen Datensätzen als durchaus performant erwies). Der Zustand war für den Zweck der einfachen Messungen erträglich, wenn auch nicht wirklich optimal. In meinem zweiten Ausbildungsjahr "mussten" wir im Fach SAE (Programmieren) ein kleines Projekt in C# anfertigen.

Dem ständigen Nachfragen nach einer vernünftigen Software nahm ich zum Anlass, einen etwas besseren Logger zu entwickeln. Für den angegebenen Rahmen - 12 Unterrichtsstunden + "Unterrichtsinteresse" - hab ich mir relativ hohe Zeile gesteckt:

Auszug aus der Projektidee:

  • Grafische Benutzeroberfläche
  • Auswahl und Kalibrierung der zu messenden Kanäle der Hardware
  • Aufzeichnung von Messwerten
  • Grafische Auswertung der Messreihen
  • Speichern der Daten als CSV-Datei zur Weiterverarbeitung z. B. in Microsoft Excel

Als kleines "Schmankerl" wurde die Hardware nicht per IEEE1284 (mein heiß geliebter Parallelport, der aber immer mehr ausstirbt) oder RS232, sondern per USB angebunden, weiteres siehe Projektidee

Ende der Geschichte

Das Projekt wurde bis auf den letzten Punkt der Anforderungen vollständig programmiert (wenn auch nicht sonderlich schön) und es gab eine glatte 1 dafür.

Um einen Eindruck in mein erstes C#-Projekt zu gewinnen, hier die Projektdoku.

Anforderungen

Legende
Projekt idee16.png Idee

Projekt fasterledigt16.png Fast erledigt

Projekt erledigt16.png Erledigt

Projekt ueberarbeiten16.png Wird überarbeitet

Projekt verworfen16.png Verworfen

Projekt fehler16.png (Noch) fehlerhaft

Projekt entwickeln16.png Wird momentan entwickelt

  • Unterstützung von Plugins
    • Hardware (Eingabe) Projekt fasterledigt16.png
      • Momentan Testplugin mit ATTiny2313 + MAX1247 am USB Projekt erledigt16.png
    • Visualisierung Projekt idee16.png
    • Algorithmen/Generelle Projekt idee16.png
    • Dateiformate
      • CSV
      • XML
      • SQLite Projekt idee16.png
      • Andere SQL-Datenbanken Projekt idee16.png
  • Datenvisualisierung
    • Standard-Diagramm Projekt ueberarbeiten16.png Projekt entwickeln16.png
      • Notizen Projekt idee16.png
      • Hervorhebung von "besonderen" Werten Projekt idee16.png
      • Achsen
        • Zeitachse Projekt erledigt16.png (+ Scrollbar)
        • Wertachse Projekt erledigt16.png
    • Siehe Plugins

Bargraphs

Damit sich das Warten auch lohnt, hier zwei kleine Einblicke in die Bargraphs:

Logger HBar.png Logger VBar.png

Im horizontalen Bargraph befinden sich drei Vermerke, die wie folgt hinzugefügt wurden:

horizontalBar1.Annotations.Add(new Bargraph.Annotation(0, 2, Color.Gold, ""));
horizontalBar1.Annotations.Add(new Bargraph.Annotation(400, 1.5F, Color.Red, ""));
horizontalBar1.Annotations.Add(new Bargraph.Annotation(600, 4, Color.Blue, ""));

Eine kleine Demo des horizontalen Bargraphs gibt's im Blog

Für den vertikalen Bargraph gibt es nun auch eine Demo: >klick<


to be continued...