LabVIEWForum.de
Signalverarbeitung - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+---- Forum: Datenerfassung (DAQ) (/Forum-Datenerfassung-DAQ)
+---- Thema: Signalverarbeitung (/Thread-Signalverarbeitung--22482)



Signalverarbeitung - Schraqnzy - 22.08.2012 13:47

Hi,

Ich lese momentan einen Signalverlauf von einem USB-Oszilloskop von Pico aus und versuche mich daran dieses weiter zu verarbeiten. Das Signal (Schalthysterese eines Relais) soll so verarbeitet werden das ich mir die Dauer des Prellens und die eigentliche Schaltzeit anzeigen lassen kann. Ich habe jetzt alles mögliche ausprobiert und habe mich mal wieder festgefahren. Kann sich vielleicht jemand vorstellen wie ich das anstellen könnte? Das Signal habe ich euch unten mal als Bild angehängt. Für die die nicht wissen was Prellen ist, die kurzen Impulse beim nach dem Abfallen der Kurve bevor sie endgültig auf null sinkt.


RE: Signalverarbeitung - GerdW - 22.08.2012 13:55

Hallo Schraqnzy,

Zitat:Ich habe jetzt alles mögliche ausprobiert
Wirklich?

Beim gezeigten Signal könnte man:
- mit 0,5 vergleichen, man erhält boolsche Werte für low und high
- jetzt die Länge der High/Low-Pulse bestimmen (bzw. die Flanken dazwischen ermitteln)
- entscheiden, ab wann genügend lange low ist: Relais hat geschaltet, davor ist noch prellen...


RE: Signalverarbeitung - Schraqnzy - 22.08.2012 14:07

ja ok aber jetzt kann ich erst mit Verzögerung sagen das geschaltet ist. Wenn ich aber sage dass das Relais mit einer Prellzeit von 5ms noch ok ist aber mit 6ms nicht mehr dann sollte ich die Prellzeit schon sehr genau bestimmen können und nicht erst nach einer gewissen Wartezeit.


RE: Signalverarbeitung - GerdW - 22.08.2012 15:32

Hallo Schraqnzy,

Zitat:sollte ich die Prellzeit schon sehr genau bestimmen können und nicht erst nach einer gewissen Wartezeit.
Du kannst die Prellzeit erst bestimmen, wenn du das Signal eingelesen hast -und zwar den ganzen Verlauf. Also musst du eine "Wartezeit" von einigen Millisekunden in Kauf nehmen - die du sicherlich aufgrund der Datenübertragung vom PICO in den Rechner sowieso hast!
Abgesehen davon kannst du die Prellzeit so genau bestimmen, wie es mit dem PICO (und dessen zeitlicher Auflösungbzw. Samplerate) nur möglich ist...

Zusammenfassung:
Um Prellzeiten zu bestimmen, musst du sicher sein, dass das Relais wirklich geschaltet hat. Also brauchst du den Signalverlauf vom Schaltbefehl bis zu dem Zeitpunkt, an dem du sicher sagen kannst, dass das Relais umgekippt ist (d.h. für eine definierte Zeit auf Low bleibt). Wie willst du sonst die Prellzeit sicher bestimmen?

Ist es wirklich so entscheidend, dass die Messung vielleicht 100ms dauert, obwohl das Relais vielleicht nur 20ms für den kompletten Schaltvorgang benötigt?


RE: Signalverarbeitung - Schraqnzy - 22.08.2012 15:57

Wichtig ist nicht wann ich die Auswertung bekomme die kann von mir aus auch Sekunden später kommen. Ich lese auch das ganze Signal ein bevor ich mit der Auswertung beginnen, wichtig ist aber das ich die genau Zeit des Prellens heraus bekomme. Was jetzt nicht das Problem ist aber auch wichtig ist, wäre das nach der Prellzeit die errechnet wurde das Relais auch wirklich ständig geschaltet hat also muss bis zum nächsten Schaltvorgang überwacht werden.


RE: Signalverarbeitung - GerdW - 22.08.2012 15:59

Hallo Schraqnzy,

und was ist jetzt an meinem Vorschlag aus #2 nicht in Ordnung?


RE: Signalverarbeitung - Schraqnzy - 23.08.2012 13:46

(22.08.2012 15:59 )GerdW schrieb:  Hallo Schraqnzy,

und was ist jetzt an meinem Vorschlag aus #2 nicht in Ordnung?

Das Problem ist die Wartezeit ob noch ein Preller kommt oder nicht, also die Zeit bis entscheiden wird das jetzt geschaltet wird. Diese Zeit muss zwar nicht immer aber sie könnte in Knappen Fällen zu Fehlern führen wo noch gar keine sind.


RE: Signalverarbeitung - GerdW - 23.08.2012 13:52

Hallo,

irgendwie reden wir aneinander vorbei...

Du schaltest dein Relais (einmal) und nimmst ein Signal des Schaltvorgangs auf.
Dann suchst du den ersten Schaltvorgang (erstmaliges Lösen des Kontakts) und den letzten Schaltvorgang (letzmaliges Prellen-Ende) in deinem Signalverlauf.
Das Signal musst du so oder so aufnehmen. Wo ist da eine Wartezeit zu beachten?


RE: Signalverarbeitung - Schraqnzy - 24.08.2012 06:45

Tut mir sehr leid ich stand wohl etwas auf dem Schlauch, jetzt verstehe ich was du meinst. So habe ich das jetzt auch mal aufgebaut. Jetzt taucht das Problem auf das mir die Signalverarbeitenden Vis von LabView mein Schaltsignal leider nicht als verarbeiten da dies bei bestimmten Tests zu langsam ist und nicht mehr als Signal erkannt wird. Hättest du da auch noch eine Idee?


RE: Signalverarbeitung - GerdW - 24.08.2012 07:46

Hallo Schraqnzy,

Zitat:die Signalverarbeitenden Vis von LabView mein Schaltsignal leider nicht als verarbeiten da dies bei bestimmten Tests zu langsam ist und nicht mehr als Signal erkannt wird
Ein Signal, welches nicht mehr als Signal erkannt wird??? Kannst du das mal genauer erläutern?

Warum hängst du nicht mal ein VI an, mit einem typischen Signal (oder auch einem problematischen) und der bisher programmierten Signalverarbeitung?