Benutzer-Werkzeuge

Webseiten-Werkzeuge


techniken:messdaten

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen gezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
techniken:messdaten [2017/08/07 14:44]
c.jaedicke [Wie Stelle ich meine Messdaten sinnvoll dar?]
techniken:messdaten [2018/02/19 13:01] (aktuell)
SabidJFejzula Qti-plot tutorial eingefügt.
Zeile 1: Zeile 1:
-===== Wie Stelle ​ich meine Messdaten sinnvoll dar? =====+===== Wie stelle ​ich meine Messdaten sinnvoll dar? =====
 Zunächst solltet ihr euch klar machen was für Daten vorliegen, daraus ergibt sich oftmals bereits eine sinnvolle Darstellung. Im Labor werdet ihr häufig mit Sensordaten zu tun haben welche über einen Zeitraum gemessen werden. Da der Arduino digital arbeitet erhaltet ihr beim Messen ein [[https://​de.wikipedia.org/​wiki/​Zeitdiskretes_Signal|zeitdiskretes Signal]]. Die übliche Darstellung ist den Messwert über der Zeit darzustellen. Da ihr diskrete Messungen durchführt ist es im allgemeinen nicht zulässig die Messpunkte miteinander zu verbinden, da dies bereits einer einfachen interpolation zwischen den Messwerten entspricht. Allerdings mag es sein das sich die Daten besser interpretieren lassen wenn der Schein eines [[https://​de.wikipedia.org/​wiki/​Analogsignal|zeitkontinuierlichen Signals]] erhalten bleibt. Daher sollte jede Darstellung von Messdaten diese Fragen beantworten können: ​   Zunächst solltet ihr euch klar machen was für Daten vorliegen, daraus ergibt sich oftmals bereits eine sinnvolle Darstellung. Im Labor werdet ihr häufig mit Sensordaten zu tun haben welche über einen Zeitraum gemessen werden. Da der Arduino digital arbeitet erhaltet ihr beim Messen ein [[https://​de.wikipedia.org/​wiki/​Zeitdiskretes_Signal|zeitdiskretes Signal]]. Die übliche Darstellung ist den Messwert über der Zeit darzustellen. Da ihr diskrete Messungen durchführt ist es im allgemeinen nicht zulässig die Messpunkte miteinander zu verbinden, da dies bereits einer einfachen interpolation zwischen den Messwerten entspricht. Allerdings mag es sein das sich die Daten besser interpretieren lassen wenn der Schein eines [[https://​de.wikipedia.org/​wiki/​Analogsignal|zeitkontinuierlichen Signals]] erhalten bleibt. Daher sollte jede Darstellung von Messdaten diese Fragen beantworten können: ​  
   - Was für Daten werden dargestellt?​   - Was für Daten werden dargestellt?​
Zeile 11: Zeile 11:
   * [[https://​de.wikipedia.org/​wiki/​Python_(Programmiersprache)|Python]]   * [[https://​de.wikipedia.org/​wiki/​Python_(Programmiersprache)|Python]]
 === Mit grafischem Menü === === Mit grafischem Menü ===
-  * [[https://​de.wikipedia.org/​wiki/​Microsoft_Excel|Excel]]+  * [[https://​de.wikipedia.org/​wiki/​Microsoft_Excel|Excel]] / [[https://​www.openoffice.org/​product/​calc.html| OpenOffice Calc]]
   * [[http://​www.qtiplot.com|QtiPlot]]   * [[http://​www.qtiplot.com|QtiPlot]]
- +=== Qti-Plot Einführung === 
-=== Matlab Beispiel ===+{{:​techniken:​qti-plot-einfuehrung.pdf|}} 
 +=== Octave/Matlab Beispiel ===
 Zufallszahlen zwischen 0 und 1 mit Matlab ploten: Zufallszahlen zwischen 0 und 1 mit Matlab ploten:
 {{ :​Techniken:​matlabplot.png?​600 |}} {{ :​Techniken:​matlabplot.png?​600 |}}
 +<​code>​
 +% make some random data points
 +y = rand(1,20);
 +% position on x-axis
 +x = 0:19;
 +% figure we want to plot in
 +figure;
 +% plot function
 +plot(x,y);
 +% set x/y-axis labels
 +xlabel('​n'​);​
 +ylabel('​random data'​);​
 +% turn grid on
 +grid on;
 +</​code>​
  
 +=== R Beispiel ===
 +R ist eine freie Programmiersprache für statistische Anwendungen. Nach der Installation kann man R direkt im Terminal laufen lassen oder mit einem Programm, z.B. rstudio. Anbei ist ein Beispiel einer einfachen Grafik. Die Werde werden aus einer .csv-Datei eingelesen:
  
-===== Alter Artikelalles unterhalb wird gelöscht ===== +<code python>​ 
-=== Motivation === +Zeit,Wert 
-Höchstwahrscheinlich wird euer Roboter mit Sensoren ausgestattet die ihm ermöglichen seine Umwelt wahrzunehmen. Sensoren liefern euch Informationen wie z.B. EntfernungenTemperaturSpannung oder Rad-Umdrehungen (Odometrie). Jedoch liegen diesen Informationen häufig nicht direkt in den geläufigen Maßeinheiten vor, etwa [m] bei Entfernungen. In der Regel wird euer Mikrocontroller eine Spannung als Messwert erhalten die sich proportional zur interessierenden Größe verhält. ​ +1,5 
- +2,
-Ein einfaches Beispiel ist der Fototransistor. Der Mikrocontroller liefert Werte zwischen 0-1024, was einer Spannung zwischen 0-5V entspricht (Arduino), je nach dem ob es sehr hell ist im Raum oder dunkel. Wenn man diese Daten weiter verarbeiten möchte ist es sinnvoll zu wissen ob der Zusammenhang von Helligkeit und Spannung linear ist oder evtl. einer exponentiellen Regel folgt (jeder andere Zusammenhang ist auch denkbar)+3,2 
-In der Regel konstruiert man hierzu eine Messreihe. Im Falle des Fototransistors könnte man wie folgt vorgehen: In einer kontrollierten Umgebung wird der Sensor verschiedenen Helligkeitsstufen ausgesetzt. Zu jeder Helligkeitsstufe werden mehrere Messungen durchgeführt über die anschließend gemittelt wird. Die gesammelten Daten werden gespeichert für die weitere ​//​Auswertung//,​ womit wir zum Pudels Kern kommen.+#usw
 +</code>
  
-=== Was für Ergebnisse können wir erwarten? === +<code python> ​ 
-In diesem Artikel betrachten wir folgenden Aufbau: Ein Sharp GP2Y0A60SZLF wird an einem Stepper-Motor befestigt und misst Entfernungen während der Motor rotiert. Ziel ist ein 360° Ausschnitt ​aus der Umgebung, außerdem interessiert uns die Dauer einer rundum Messung. +#​Daten ​aus einer .csv-Datei lesen: 
-Zunächst lohnt ein Blick auf die Website des Herstellers bzw. Suche nach dem Datenblatt des Sensors. In diesem Fall ist die Hersteller-Website bereits ausreichend[[https://​www.pololu.com/product/2474|Pololu]]+meinedaten = read.csv("/<​pfad-zu-meiner-tabelle>​/meine-csv-datei.csv") 
-Für die Auswertung relevante Informationen+#​Tabellenspalten auswählen, Achsen beschriften (xlab, ylab), Darstellung ändern ("​pch=19"​ steht für einen gefüllten Kreis)
-  * Messbereich 10 - 150cm +plot(meinedaten$Wert ~ meinedaten$Zeit,​ xlab="​Zeit,​ Sekunden",​ ylab="​Abstand,​ mm", col="​blue",​ pch=19) 
-  * Messfrequenz 60Hz +</​code>​ 
-  * Stepper360°/​200Steps = 1.8° pro Step+{{:techniken:​r-plot-example.png?800|}}
  
-<note important>​Wer das Datenblatt des Sharp-Sensor aufmerksam liest wird feststellen das der Zusammenhang von gemessener Entfernung und am input-Pin anliegender Spannung nicht linear ist! In diesem Artikel sind die Messwerte bereits darum bereinigt da es um die Darstellung der Messwerte geht nicht um das Kalibrieren des Sensors. Durch welche Art Messreihe könnte man den Sensor Kalibrieren?</​note>​ 
  
-{{:​techniken:​steppersharp.jpg?​nolink|}} 
  
-Aus der Art des Versuchsaufbaus und den technischen Daten lässt sich bereits ableiten wie die Daten am besten darzustellen sind. In einem normalen Diagramm würden wir die gemessenen Entfernungen auf der Ordinate auftragen und die korrespondierenden Winkel auf der Abszisse. Als zusätzliche Information sollte die Dauer der Messung in das Diagramm eingetragen werden. 
-Die Einheit und Genauigkeit der Achsen wird entsprechend der Messwerte gewählt. 
-Eine weitere Möglichkeit wäre die Darstellung in einem Polargitter:​ 
  
-{{:​techniken:​polar_graph_paper.svg.png?​nolink|}} 
techniken/messdaten.1502109863.txt.gz · Zuletzt geändert: 2017/08/07 14:44 von c.jaedicke