impulse zählen - Druckversion +- LabVIEWForum.de (https://www.labviewforum.de) +-- Forum: LabVIEW (/Forum-LabVIEW) +--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein) +--- Thema: impulse zählen (/Thread-impulse-zaehlen--15757) |
impulse zählen - Mecha - 08.05.2006 13:39 hallo, ich habe folgendes problem und es sollte scheinbar einfach zu lösen sein, nur komme ich einfach auf keine lösung: Ich habe eine art periodisches signal wo die spannung in einem Waveform Graph angezeigt wird, nun will ich bei einem gewissen spannungsausschlag den ich manuell festlegen kann über einen gewissen zeitraum die anzahl der spannungsausschläge über diesen manuell eingestellten wert zählen. Im grunde genommen will ich z.B. bei spannungen von 0 bis 5 Volt alle Ausschläge über 3 Volt Messen, oder aber zu einem späteren zeitpunkt wenn ich 2 Volt einstelle, eben die Ausschläge über 2 Volt. Die Spannungsausschläge sind eine Art Impuls. Es soll lediglich die Anzahl der Ausschläge über einen von mir einstellbaren Zeitraum gemessen werden. Über jegliche lösungsmöglichkeit wäre ich dankbar impulse zählen - oppossom - 08.05.2006 13:49 Hi Mecha, hab gestern so ein ähnliches VI gepostet. Schau dir mal diesen Thread an, ob er dir weiterhilft. Lg Stefan impulse zählen - Lucki - 08.05.2006 21:52 Ich würde einfach ein Sub-Vi "Count" erstellen, welches jedes Überschreiten des Schwellwertes meldet. Dabei ist, für den Fall daß die Spannung verrauscht ist, dringend zu empfhelen, in den Schwellwert ein Hysterese einzubauen-. Im Hauptprogramm werden dann die true-Meldungen des SUB-Vi zum Inkrementieren des Zählers verwendet. Ich hab mal so ein Sub-vi gemacht, und, nur als Demo, ein kleines Hauptrogramm dazu. impulse zählen - Mecha - 11.05.2006 12:16 Erstmal danke für eure schnelle Hilfe, ihr habt mir schon sehr viel weiter geholfen, die Spannungsausschläge kann ich nun zählen, habe auch einen Treshold Peak Detector verwendet. nun habe ich noch ein weiteres problem: Das Signal meines Sensors ist sehr empfindlich und führt zu unerwünschter vielfältigkeit der gezählten Ausschläge. Ich würde nun gerne wissen ob es eine Art Filterfunktion gibt. Der Ausschlag ist vergleichbar mit einer Funktion wo man ein System mit seiner Eigenfrequenz anregt und dieses dann E-Funktions-mäßig abklingt. Also ich bekomme bei einem Ausschlag der dann abfällt etwa 4 bis 8 Counts, möchte jedoch nur einen haben. Die Ausschläge etwa einfach durch 4 zu dividieren funtioniert leider nicht weil ich eine gewisse unregelmäßigkeit in meinem Signal erhalte. Gibt es überhaupt eine Filterfunktion die es mir ermöglicht bei solch einem unregelmäßigen Signal nur einen Spannungsausschlag zu zählen??? Habe mir in LabVIEW die Filter VI`s schon angeschaut glaube jedoch dass dies nicht zu meinem gewünschten Ergebnis führt. Vielen dank im Vorraus. impulse zählen - Lucki - 11.05.2006 13:25 In diesem Fall muß das Signal "entprellt werden". Das Prinzip besteht darin, daß, wenn der Schwellwert einmal überschritten wurde, die Detektion weiterer Schwellwertüberschreitungen erst mal totgelegt wird, und zwar so lange, bis die Störungen abgeklungen sind, aber nicht unnötig lange, so daß der nächste echte Schwellwert wieder erfasst wird. Wie leicht einzusehen, kann das aber nur funktionieren, wenn die Zeitdauer der Störungen deutlich geringer ist als die minimale halbe Periodendauer des Signals. Wenn das Tastverhältnis sehr von 0,5 abweicht, wird es u.U. komplizierter, aber nicht unlösbar. Um Dir zu helfen, wären folgende Angaben dienlich: Dauer der Störungen von..bis, Dauer des High-Zustandes von..bis, Dauer das Low-Zustandes von..bis, Gesamt-Periodendauer von..bis, Frequenz der Störung von..bis Dazu noch ein typischer Signalverlauf, und zwar als echte Daten, mit denen man testen kann. Vieleicht schafft Du es selbst das Problem zu lösen mit folgendem Tip: Die eleganteste und zugleich einfachste Realisierung wäre mit einer Zustands-Maschine, mit 4 Zuständen, die zyklisch (1-2-3-4-1-2-3..) durchlaufen werden: Z1: Warten auf Schwellwertüberschreitung Z2: Warten x ms Z3: Warten auf Schwellwertunterschreitung Z4: Warten y ms |