LabVIEWForum.de
Signal-Peaks bei Temperaturaufnahme - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+---- Forum: Instrument IO & VISA (/Forum-Instrument-IO-VISA)
+---- Thema: Signal-Peaks bei Temperaturaufnahme (/Thread-Signal-Peaks-bei-Temperaturaufnahme)

Seiten: 1 2 3 4


Signal-Peaks bei Temperaturaufnahme - taichi - 11.07.2011 12:55

Hallöchen zusammen

brauche gaanz dringend eure Hilfe!

Bin dabei Temperaturmesswerte mit Hilfe eines selbst gebauten IR-Detektors aufzunehmen und mit LabVIEW darzustellen. Die Daten werden vom Sensor über einen Microcontroller (PIC10F206) über eine RS232 Schnittstelle an LabVIEW weiter geleitet.

Habe allerdigs bei den Temperaturdaten so komische Peaks. Habt ihr einen Tipp für mich wie ich diese wegkriege??? Ich weiß, dass mit auch noch so eine Art Mittelwert-Filter fehlt, wie könnte ich das umsetzen???

Danke für die Antworten
taichi

PS: hab anbei nur Abbildungen vom Programm hinzugefügt, weil es ja ohne Sensor sowieso nicht läuft

EDIT jg: Word-Dokument gelöscht und durch Bilder ersetzt


RE: Signal-Peaks bei Temperaturaufnahme - Takuro - 11.07.2011 13:14

Ich würde diese Werte komplett ignorieren.

Je nachdem was du für eine Anwendung planst, sind Sprünge von 130°C doch recht selten. Daher ist es unwahrscheinlich, dass solche Signale auch nur entfernt was mit der Realität zutun haben.

Mein Chef würde sagen, dass sind halt elektroische Störungen, die müssen weg.

Sprich: Ich würde die letzten 5 Werte vor dem aktuellen Wert nehmen und mitteln. Auf diese Werte kannst du bei dem Graphen über Rechtsklick->erstellen->Eigenschaftenknoten->Historie zugreifen(ist ein Array mit allen gespeicherten Daten des Graphen).

Da aus dem Array die letzten 5 Werte rausholen und mitteln.

Anschließend den aktuellen Wert mit diesem Vergleichen. Ist die Abweichung größer als 100% (oder was du für richtig hälst) wird ich den Messwert verwerfen. Wenn nicht, kommt er in das Diagramm hinnein.

Falls dich später solche Werte interessieren, kannst du dir ja speichern, welche Werte du ignoriert hast.

Grüße,

Takuro


RE: Signal-Peaks bei Temperaturaufnahme - jg - 11.07.2011 13:25

Vielleicht solltest du dich fragen, wieso dein PIC immer wieder 5220h sendet (wie man in dem Screenshot sehen kann). Das gewandelt laut deiner Berechnung ergibt die 147,33 °C.

Gruß, Jens

P.S.: Screenshots der Einfachheit halber bitte als Bilder hochladen, nicht verpackt in eine Word-Datei.


RE: Signal-Peaks bei Temperaturaufnahme - taichi - 11.07.2011 14:28

Erstmal danke für die schnelle Antworten!
Das mit der Mittelwertbildung ist eine super Idee, Takuro!
Und danke Jens fürs Konvertieren meiner Datei!

Ich habe jetzt rausgefunden, dass der PIC mit 3 Werte sendet, wie im Front Panel unter "read string" zu erkennen:

1. Temp des Objekts
2. Temp der Umgebung
3. ??? das sind eben die Peaks

Ich müsste theoretisch nur die ersten beiden Werte auslesen. Würde gerne beide Werte im Diagramm darstellen.

Wie könnte ich das umsetzen?


RE: Signal-Peaks bei Temperaturaufnahme - Takuro - 11.07.2011 14:44

Die Werte kannst du durch Suchen in dem String trennen. Such einfach nach dem Komma, nimm das was vor dem steht->erster Wert. Das was danach kommt, nochmal nach Komma durchsuchen, dann hast du alle drei Werte getrennt.

Zur Darstellung von mehreren Plots in einem Diagramm, könnte das helfen.

Ich möchte noch anmerken, dass mein Tipp aus dem vorherigen Post natürlich nicht zu gebrauchen ist, wenn du nicht ausschließlich die richtigen Werte einließt. Sprich, wenn du drei Kanäle hast und alle in eine Datenreihe schreibst, dann kannst du das natürlich nicht unter elektronische Schwankungen verbuchen. Dann ist die Logik in deinem Programm mMn falsch. Ich würde also erstmal verstehen was der Sensor mir sendet (inclusive des dritten Kanals), dann die Aufarbeitung davon planen und erst zum Schluß mir über Ausreißer Gedanken machen.

Grüße,

Takuro


RE: Signal-Peaks bei Temperaturaufnahme - taichi - 11.07.2011 15:16

Hi Takuro,

danke für den Tipp mit "Suchen im String". Werde es ausprobieren und morgen mal berichten wie es geklappt hat.

Viele Grüße
taichi


RE: Signal-Peaks bei Temperaturaufnahme - jg - 11.07.2011 15:29

An deiner Stelle würde ich das "VISA-Read" abändern.

Wenn ich mir nämlich so den String anschaue, der im FP angezeigt wird, dann ist dein PIC "schön" programmiert, er scheint jedes Tripel an Werten mit einem Newline oder mit einem Carriage Return zu quittieren.

Somit brauchst du das ganze "Warten" und das "Auslesen, wieviele Zeichen im Puffer sind" gar nicht.
Einfach das korrekte Abschlußzeichen am "Configure Serial Port" anschließen, dann eine "große" Zahl an VISA-Read anschließen, und VISA-Read beendet dann automatisch das Auslesen aus dem Puffer am nächsten Abschlußzeichen.

Somit ist dann jeder String genau ein Tripel an Messwerten - WUNDERBAR!

Gruß, Jens


RE: Signal-Peaks bei Temperaturaufnahme - Lucki - 11.07.2011 16:21

Die Datenerfassung mit Bytes at Board vor dem Read ist Shit. Da hast Du nie die Gewähr, dass der gelesene String richtig aufgeteilt ist.
Das Endzeichen ist ohnehin aktiviert, es muß nichts weiter getan werden als das Wait wegzulassen und an das Read eine Bytezehl anzuschließen, die größer ist als was Du erwartest.
Habe außerdem die Zeitanzeige für X mal zum Leben erweckt:
[attachment=34627]


RE: Signal-Peaks bei Temperaturaufnahme - taichi - 12.07.2011 10:07

Erstmal danke für die super Tipps!

@Lucki: wie gebe ich bei bei "Scan String" das Datenformat %xh, %xh ein? Einfach als Konstante? und was bedeutet %xh eigentlich genau? Ist das eine festgelegte Formattierungsvorgabe?


RE: Signal-Peaks bei Temperaturaufnahme - GerdW - 12.07.2011 10:14

Hallo taichi,

was würden wir nur ohne die Kontexthilfe bei LabVIEW machen...