Hallo liebe LV-Community.
Ich bin neu hier in diesem Forum, und hoffe ihr könnt mir weiterhelfen.
Ich möchte von einem Analogen-Induktiven Näherungssensor Messkurven auswerten.
Das Programm soll folgendes können:
beim Unterschreiten einer Spannung (z.b: 8V) soll eine Zeitmessung losgestoßen werden. Sobald der Analogeingang wieder mehr als 8V erreicht hat soll die Zeitmessung gestoppt und ausgegeben werden.
Weiters möchte ich parallel das Analogeeingangssignal differenzieren. Um die Steigung der Kurve zu bestimmen, möchte ich auch hier wieder bei zwei Schwellwerten die Zeitdifferenz messen.
Zusätzlich möchte ich die Impulse eines Drehgebers (von einem Schrittmotor) zählen während je die Schaltschwellen durchschritten werden.
eine kleine Skizze erstellt um es zu verdeutlichen.
Meine Frage/n:
Wie messe ich am besten die Zeit zwischen zwei "Trigger-Punkten"?
Wie schaffe ich es, beim Differenzierten Signal, die äußeren Flanken (steileren) als Referenzpunkt zu nehmen?
Und ich bin ja so gut wie ungeschult in LV, wie schaffe ich es die Drehimpulse des Inkrementalgebers zu zählen.
Meine Peripherie umfasst:
NI cDAQ-9174
- NI9401
- NI9223
beste Grüße,
Michael
Da mich unbeantwortete Fragen auf Dauer stören, gebe ich hier mal Halbantworten:
hoellerm schrieb:Wie messe ich am besten die Zeit zwischen zwei "Trigger-Punkten"?
Diese Frage ist mit leider zu unspezifisch. Liegt das Messsignal bereits vor? Dann zähl die dts zwischen den Triggerpunkten. Soll das ganze "live" geschehen? Von welchen Zeiten sprechen wir hier?
hoellerm schrieb:Wie schaffe ich es, beim Differenzierten Signal, die äußeren Flanken (steileren) als Referenzpunkt zu nehmen?
Mich stört deine Skizze, weil die irgendwie falsch aussieht. Wenn ich mit dem Auge das Signal ableite, sollte die Ableitung eher zwei Plateaus annehmen, als das, was du gezeichnet hast.
Ansonsten: "äußere" Flanke heisst immer "Rückkehr zu null -> also musst du nur den "null" -> "größer null" und den "größer null" -> "null" Übergang identifizieren
hoellerm schrieb:Wie schaffe ich es die Drehimpulse des Inkrementalgebers zu zählen?
Such mal im Forum nach "Flanken zählen". 254 Ergebnisse.
Habe jetzt einmal ein Signal aufgenommen, differenziert und den Betrag daraus gebildet! musste das Signal mit einen Tiefpass filtern, da es ansonsten nicht zu verwenden ist!
Ich versuche die Zeit zwischen den äußeren Flanken mittels den vorhandenen Übergangsmessungen VI zu ermitteln. Dies jedoch nicht mit dem gewünschten Ergebnis.
Wie ihr auch aus dem Angehängten Bild entnehmen könnt dauert so eine "Periode" in etwa 80ms. und Ich möchte eine Auflösung bis zu 0,1ms schaffen!
Nehme derzeit das Signal über ein Agilent-Oszi auf. Wie ist es möglich nur einen Abschnitt des aufgenommenen Signals zu verwenden. zB: die ersten 1-2ms des aufgezeichneten Signals zu entfernen.
Hallo hoellerm,
Zitat:Wie ihr auch aus dem Angehängten Bild entnehmen könnt dauert so eine "Periode" in etwa 80ms. und Ich möchte eine Auflösung bis zu 0,1ms schaffen!
Was hat die Signalperiode mit deiner Auflösung (=Abtastrate) zu tun?
Zitat:Wie ist es möglich nur einen Abschnitt des aufgenommenen Signals zu verwenden. zB: die ersten 1-2ms des aufgezeichneten Signals zu entfernen.
Das Signal wird als Array oder Waveform vorliegen: Einfach Samples am Anfang entfernen!
- Mit Bildern allein lässt sich nicht viel machen. Ein VI würde mehr aussagen...
- Ließe sich nicht das Eingangssignal direkt untersuchen? Es scheint doch sehr schöne Flanken und eine ausgeprägte "Nulllinie" bei 9,75V zu zeigen!? Einfach einen Vergleich auf "<9,5" und du hast ein prima Rechtecksignal gewonnen...
Habe mich etwas unverständlich ausgedrückt! Wollte eben nur mitteilen dass die Perioden von denen ich hier spreche ca. 80ms lang sind!
Ich möchte bei der Messung eine Genauigkeit von mindestens 0.1ms erreichen!
Die Aufgabe besteht einerseits darin das Eingangssignal zu differenzieren, und die Zeit zwischen den größten Steigungen zu ermitteln.
Habe jetzt einmal mein derzeitiges VI angefügt. Es ist derzeit nur zum ausprobieren, habe noch keine Messungen durchgeführt, da es mit meinem Eingangssignal nur erschwert funktioniert. Bin für jeden Ratschlag offen.
Danke
Hallo hoellerm,
ein Rüffel vom Admin: Bitte Profil anpassen!
Wenn du Hilfe von den bisher in diesem Thread vertretenen haben willst: Dein VI bitte für ältere LV-Versionen konvertieren!
Hallo michael,
jetzt wäre noch ein typisches Signal vorteilhaft: Daten aufnehmen, dann bei einem "schönen" Signal Rechtsklick auf den Graph "Eingangssignal" und Datenoperation->"Aktuelle Werte als Standard". Nun speichern (für ältere Version).
Bis dahin:
- Warum jeweils 3 Queue-Zugriffe, um 3 Werte weiterzureichen. Reicht nicht ein Zugriff, um ein Array von 3 Werten weiterzureichen?
- Warum am Ende der Queue einfügen und nicht am Anfang?
- Warum ArrayToCluster und Unbundle, wenn du mit IndexArray viel einfacher an das erste Arrayelement kommst?
(Ich stufe alle 3 Punkte als Rube-Goldberg ein...)
- Profil anpassen!
Habe jetzt eine einigermaßen schöne Messkurve aufgenommen.
Würdet mir echt sehr sehr weiterhelfen, wenn ihr mir einen Lösungsvorschlag machen könntets, bin echt ein Neuling in Labview und ja.
Habe aber die Möglichkeiten etwas erkannt was man alles mit Labview realisieren kann. Welche Kurse/Einschulungen würdet ihr mir vorschlagen?
Danke.
Hallo Michael,
wie oben schon beschrieben:
[
attachment=44257]
Ich musste nur den Puls verdoppeln, um die Pulsmessung zu ermöglichen...
Bei dem Rauschen (50mV Rauschen bei 9,75V Signal) würde ich noch einen Filter empfehlen!