Forum: Mikrocontroller und Digitale Elektronik Automatisierte Auswertung von Messdaten mit dem Arduino


von kogl (Gast)


Lesenswert?

Hallo zusammen,

ich möchte die Auswertung meiner Messdaten (Temperaturwerte) mit dem 
Arduino automatisieren. Dabei soll direkt nach der Messung über eine 
bestimmte Zeit ein entsprechendes Diagramm erstellt werden.

Ich habe allerdings keine Idee, wie man sowas umsetzen kann. Hoffe ihr 
könnt mir ein paar Anregungen geben.

Grüße

kogl

von nurmalso (Gast)


Lesenswert?

Wieso Arduino ? Nimm nen Pi, lass den die Messwerte erfassen und via 
HTML visualisieren. Dazu muss der Pi nen Web Server betreiben und die 
Daten z.B. per PHP dynamisch in HTML umwandeln. Darstellung dann auf 
jedem Tablett oder PC im browser.

von A. S. (Gast)


Lesenswert?

Wo möchtest Du anzeigen?
- auf einem (grafik-?) Display am µC?
- im Webbrowser
- am PC (der per USB/RS232/LAN oder sonstwas angeschlossen ist)
- Drucker, bekannte Visualisierungseinheit,...

Je nach Antwort stellen sich dann so fragen wie
- wer bedient das (automatisch, skalierbar, ...)
- Format (HTML, JPG, direkte Grafikbefehle, ..)
- ....

von Gerhard O. (gerhard_)


Lesenswert?

kogl schrieb:
> Hallo zusammen,
>
> ich möchte die Auswertung meiner Messdaten (Temperaturwerte) mit dem
> Arduino automatisieren. Dabei soll direkt nach der Messung über eine
> bestimmte Zeit ein entsprechendes Diagramm erstellt werden.
>
> Ich habe allerdings keine Idee, wie man sowas umsetzen kann. Hoffe ihr
> könnt mir ein paar Anregungen geben.
>
> Grüße
>
> kogl

Im einfachsten Fall besorge Dir einen SD card oder Data logging shield, 
Probier die Arduino bereitgestellten SD Karten Demos aus, so dass Du 
sicher bist, daß alles funktioniert.

Dann nimm das getestete Demo Programm und fange an die notwendigen 
zusätzlichen Funktionen für Dein Interessengebiet einzufügen. (wieviel 
Kanäle, Zeitintervall...)

In weniger als einer Stunde, besitzt Du dann ein Minimal Program welches 
in einfachster Weise ohne "Glocken und Pfeifen" Analogwerte mißt, die 
Werte im z.B CSV Excel Format speichert. Wenn Du mit dem Loggen fertig 
bist, öffne die Sd-Datei im PC und arbeite nit den erfassten Daten im 
Spreadsheet Deiner Wahl und fertig. So einfach ist das.

: Bearbeitet durch User
von kogl (Gast)


Lesenswert?

Achim S. schrieb:
> - am PC (der per USB/RS232/LAN oder sonstwas angeschlossen ist)

Mein Arduino ist über ein USB-Kabel mit dem PC verbunden und kann die 
Daten daher durch den Seriellen Monitor der Arduino IDE anzeigen lassen.
Aber wie lasse ich mir dadurch ein Diagramm erstellen?

Achim S. schrieb:
> - wer bedient das (automatisch, skalierbar, ...)

Über einen Taster soll die Messung gestartet werden und dann nach 
einstellbarer Zeit die Messdaten ausgewertet werden und ein Diagramm 
entworfen werden.

Achim S. schrieb:
> - Format (HTML, JPG, direkte Grafikbefehle, ..)

Am besten wäre direkt eine Bilddatei (JPG,PNG). Wenn das automatisch mit 
Excel geht, wäre dies auch eine akzeptable Möglichkeit. Oder gibt es 
vielleicht eine fertige Software für den Arduino, die so etwas kann?

Gerhard O. schrieb:
> Im einfachsten Fall besorge Dir einen SD card oder Data logging shield,

Das habe ich mir auch schon überlegt. An dieser Lösungsvariante stört 
mich allerdings, dass dies nicht wirklich automatisch abläuft und man 
stattdessen die SD-Karte erst in den PC stecken muss und danach 
"manuell" eine Excel-Datei erstellen muss. Hätte eben gerne alles 
automatisch.

von rodnas (Gast)


Lesenswert?


von Falk B. (falk)


Lesenswert?

@kogl (Gast)

>Mein Arduino ist über ein USB-Kabel mit dem PC verbunden und kann die
>Daten daher durch den Seriellen Monitor der Arduino IDE anzeigen lassen.
>Aber wie lasse ich mir dadurch ein Diagramm erstellen?

Im einfachsten Fall als ASCII-Grafik im Terminal.

>Über einen Taster soll die Messung gestartet werden und dann nach
>einstellbarer Zeit die Messdaten ausgewertet werden und ein Diagramm
>entworfen werden.

Wenn es schön aussehen soll, braucht man Zusatzsoftware, welche die 
Daten vom Arduino empfängt und darstellt. Das geht in Excel über ein 
Makro, damit kann man die serielle Schnittstelle ansteuern.

>Am besten wäre direkt eine Bilddatei (JPG,PNG). Wenn das automatisch mit
>Excel geht, wäre dies auch eine akzeptable Möglichkeit. Oder gibt es
>vielleicht eine fertige Software für den Arduino, die so etwas kann?

Keine Ahnung.

von Max M. (maxmicr)


Lesenswert?

Hol dir nen ESP8266, den kann man auch mit der Arduino IDE 
programmieren. Der sendet die Messwerte an nen Webserver, der sie dann 
grafisch darstellt.

von Md M. (Firma: Potilatormanufaktur) (mdma)


Lesenswert?

kogl schrieb:
> Dabei soll direkt nach der Messung über eine
> bestimmte Zeit ein entsprechendes Diagramm erstellt werden.
>
> Ich habe allerdings keine Idee, wie man sowas umsetzen kann. Hoffe ihr
> könnt mir ein paar Anregungen geben.

Zumindest eine Anregung hätte ich. Ich mach das folgendermaßen unter 
Linux. Wie das unter was anderem geht müsstest du ggf. selbst 
rausfriemeln:

Ich regele ein System und kann mir auf diese Weise recht komfortabel 
Sprünge ansehen und mir davon z.B. 1 Sekunde mit 100 Samples ausgeben 
lassen.

Ich stelle meine Messdaten in Echtzeit mit feedgnuplot dar. Das ist ein 
frontend für gnuplot, mit welchem man streams plotten kann. Ich habe mir 
damit eine Art Speicheroszilloskop mit single shot function gebaut, um 
Sprungantworten aufzunehmen

Die Daten hole ich mir aus einer FIFO (siehe mkfifo), wo die Messdaten 
auf der anderen Seite einlaufen. Das starte ich mit diesem script:

1
#!/bin/bash
2
3
tail -f ./fifo | feedgnuplot \
4
--lines \
5
--stream 0.01 \
6
--xlen 120 \
7
--dataid \
8
--extracmds "set yrange [-50:50];"

Man könnte die Daten auch direkt aus dem serial port holen, aber so hat 
man bequem die möglichkeit, den stream zu steuern. Ich habe eine GUI mit 
Processing (processing.org) gemacht, die mir den Zustand meines System 
grafisch darstellt (und mit welchem ich auch den Arduino steuern kann). 
Die einkommenden Daten werden also dargestellt und dann in die FIFO 
geschrieben. Das kann ich per Klick an und aus schalten (einfach eine 
Variable setzen und dann if-Abfrage). Außerdem kann ich mit Klick auf 
einen anderen Knopf auch das Schreiben in die FIFO ein- und ausschlaten 
aber zusätzlich einen counter setzen, der runtergezählt wird und im 
Arduino den Sollwert ändern. Wenn er 0 ist, wird nichts mehr in die FIFO 
geschrieben. Damit habe ich den single shot realisiert.

: Bearbeitet durch User
von THOR (Gast)


Lesenswert?

kogl schrieb:
> Achim S. schrieb:
>> - am PC (der per USB/RS232/LAN oder sonstwas angeschlossen ist)
>
> Mein Arduino ist über ein USB-Kabel mit dem PC verbunden und kann die
> Daten daher durch den Seriellen Monitor der Arduino IDE anzeigen lassen.
> Aber wie lasse ich mir dadurch ein Diagramm erstellen?

Statisch indem du die Daten mit nem eigenen Programm entgegennimmst, in 
ne csv Datei packst und dann Excel öffnest.

Wenn das Live am Bildschirm vorbeiscrollen soll, könntest du dir da mit 
C# was schnell zusammenhacken.

Aber wie immer: Viele Wege führen nach Rom. Man kann auch nen PWM 
Channel für die Datenausgabe auf dem Oszi nutzen. Ist auch ein Diagramm.

von Md M. (Firma: Potilatormanufaktur) (mdma)


Lesenswert?

Fast vergessen: Wollte noch kst als alternative zu gnuplot erwähnt 
haben.

von Solarlogger (Gast)


Lesenswert?

Wenn man über längere Zeit Daten erfasst, also eine lange Liste als 
ergebnis hat, wird in Excel (oder auch Calc) das warten auf das Diagramm 
zur Geduldsprobe. Da hab ich gnuplot lieben gelernt, auch weil man ein 
einmal gemachtes Template auf beliebige Log-Dateien anwenden kann.

Ich hatte zum Test mein Solardatenlogger im Sekundentakt aufzeichnen 
lassen - Solarzelle U und I, Akku U und I, Temperatur, Zeitstempel. Die 
Datei wurde schnell groß, bei einer Stunde (=3600) Datensätzen ging 
Excel in die Knie, an einen ganzen 24h-Tag (=86400) Datensätze wäre da 
nicht im Traum dran zu denken gewesen. Ok, das braucht man vielleicht 
auch nicht - aber gnuplot macht innerhalb weniger Sekunden mit nur einem 
Klick daraus eine hübsche Grafik. Auch per Batch aus einem Ordner voll 
mit einem Monat Solar-Logs eine ganze Reihe Bildchen.

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.