Inhalt
Live messen – aber wie?
Bei Mess-Experimenten steht man ab und zu vor der Herausforderung, die Messwerte live auswerten zu können. Und wenn möglich, möchte man die Kurven dabei auch gerade entstehen sehen. Verständlicherweise kann man nicht immer warten, bis die Werte nach Abschluss des Experimentes – das vielleicht sehr lange dauern kann – vorliegen und danach händisch in Excel o.ä. übernommen werden können.
Die Speicherung als CSV Datei wäre ja ganz einfach mit der Arduino IDE oder einem anderen Terminalprogramm zu bewerkstelligen (How to log Arduino serial data to csv file). Auch die grafische Anzeige mit dem Serial Plotter in der Arduino IDE ist hübsch.
Leider schliessen sich Serial Plotter und Serial Monitor aus, sodass man entweder die Grafik oder die Messwerte hat, aber nie beides live.
Also: Ideen sind gefragt.
Tipp: Daten live in Excel auswerten (Excel mit VBA Makro)
Messwerte von Sensoren können mit Excel direkt und automatisch erfasst werden. Alles was es braucht, ist ein Zwischenstück (Raspberry Pi oder Arduino Mikrocontrollerboard o.ä.) und eine Excel-Datei mit Makros. Ein solches System ist PLX-DAQ:
- Arduino meet Excel ( PLX-DAQ )
- http://www.instructables.com/id/Sending-data-from-Arduino-to-Excel-and-plotting-it/
- https://medium.com/@islamnegm/quick-start-to-simple-daq-system-using-plx-daq-excel-arduino-d2457773384b
- https://hackaday.com/2015/09/03/sending-serial-data-from-excel/
- http://forum.arduino.cc/index.php?topic=437398.0
- http://forum.arduino.cc/index.php?topic=437398.msg3251256#msg3251256
- The Swiss Gui: via Keyboard #9 Arduino Data Logger with Direct Input to Excel.
Die Messwerte werden vom Arduino via seriellen Port/USB als Textzeilen an einen PC geschickt. Sie werden dabei mit Anweisungen zum Aufbau der Excel Tabelle ergänzt:
Die Makros in der Excel Datei lesen die Daten vom COM-Port (resp. USB Schnittstelle) und führen die Anweisungen aus. Beispielsweise kann man die Spaltenüberschriften vorgeben und das Excel Blatt bei Messbeginn automatisch erstellen lassen. Für weitere Details siehe diese Anleitung und diese Anleitung.
Excel ist unglaublich mächtig von Hause aus. Zum Beispiel kann man nach der Messung mit dem Solver-Modul Optimierungsaufgaben (Curve Fitting, Regressionsanalyse) angehen.
Beispiel: Das Kaffeetassen-Experiment
Die Abkühlung einer heissen Tasse Kaffe zu messen, ist ein beliebtes Experiment. Die Ausstattung:
- ein wasserdichter DS18B20 Temperatursensor, erhältlich für ca. 5 Dollar aus China (Alibaba)
- der elektrische Anschluss erfolgt mit dem „Dallas Onewire“ Interface (1 Widerstand ist nötig)
- ein Arduino Nano (auch andere Modelle gehen, solange ein USB Port vorhanden ist)
- Excel mit PLX-DAQ Makro
- Arduino IDE für die Programmierung
Das Excel Blatt wurde automatisch beschriftet und ausgefüllt. Die Grafik kann man vorbereiten und wird ebenfalls live nachgezeichnet. Mit dieser Methode hat man die Messdaten schon im Excel während der Messung.
Mein Experiment mit dünnwandiger Blechdose und dickwandiger Kaffeetasse:
hier das Resultat mit einer grossen, dickwandigen Kaffeetasse: 3000 Messwerte, ungefähr einer pro Sekunde, werden mit Excel als Liniengrafik dargestellt. Man sieht schon optisch, dass man Anfang kein exponentieller Abfall vorliegt. Tendenziell wird die Endtemperatur hier zu niedrig geschätzt.
Alternative: Sensoren von Vernier mit proprietärer Software
Vom Sensorhersteller Vernier gibt es auch eine frei nutzbare Erfassungssoftware (Loggerlite).
Alternative: via Tastaturpuffer
Man kann die Daten via Tastaturpuffer an ein beliebiges Programm weitergeben. Der am PC angeschlossene Mikrocontroller gibt sich dabei als Tastatur aus. Dazu braucht es einen Mikrocontroller mit USB Chip (was viele Arduinos nicht haben – USB-Seriell Adapter nötig) und eine SW wie diese oder jene, welche den seriellen Datenstrom in geeigneter Form als Tastenanschläge an die Applikation weiterreicht.
Alternative: Messwerte per Bluetooth an Handy senden
Bluetooth ist eine interessante Technik, da wir damit die Werte drahtlos übertragen können. Als Buetooth Empfänger kommt z.B. jedes Android Smartphone in Frage. Ausführliche Grundlagenartikel findet man leicht:
- https://www.heise.de/developer/artikel/Bluetooth-Koenig-Blauzahn-verbindet-3380571.html
- http://appinventor.mit.edu/explore/get-started?
- http://lookmanowire.blogspot.ch/search/label/Arduino
- https://play.google.com/store/apps/details?id=com.frederikhauke.ArduTooth&hl=de
Ein einfacher Weg, um sich Arduino Sensor-Daten direkt auf dem Android-Smartphone anzeigen zu lassen, führt über Cloud-basierte Apps wie Blynkk:
Die BlynkkApp kann die Messwerte von bis zu 10 Sensoren simultan darstellen. Auf dem Mikrontroller läuft ein Blynkk-Agent, der einerseits Daten in die Cloud schickt, aber auch Fernsteuer-Befehle entgegennimmt. Auf dem Smartphone fingert man sich aus Widgets die Oberfläche zusammen. Hier als Beispiel die Überwachung einer Solarladeschaltung.
Derzeit werden diese Hardware Module unterstützt:
- Arduino: Uno, Nano, Mini, Pro Mini, Pro Micro, Mega, YÚN (Bridge), Due
- Raspberry Pi
- Particle (ex Spark Core)
- ESP8266
- TinyDuino (CC3000)
- Wicked WildFire (CC300)
Referenzen zum Thema Datenauswertung
Einsatz von Excel Solver für Regressionsanalyse
- http://www.matheboard.de/archive/498717/thread.html
- https://www.eng.auburn.edu/~clemept/CEANALYSIS_FALL2011/Week1/non_Linearregression_paper.pdf
- http://people.chem.ucsb.edu/laverman/leroy/Chem116/PDF116CL/Solver.pdf
- http://www.excelmasterseries.com/ClickBank/Thank_You_New_Manual_Order/ePUB_Files/Advanced_Regression/Text/Nonlinear_Regression.html
- https://www.orauh.de/excel-ohne-vba/nichtlineare-regression/
Bücher