LabVIEWForum.de - kontaktprellen

LabVIEWForum.de

Normale Version: kontaktprellen
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo,

ich hab eine Microcontrollerschaltung die mit USB an den PC geschlossen ist. An der Microcontrollerschaltung habe ich einen analogen Eingang, der über einen Kontakt an eine 5 Volt Spannung angeschlossen ist. In LabVIEW will ich die Eingangsspannung überwachen und das Öffnen/Schliessen zählen. Dabei zeigt sich, dass bei einem Schaltvorgang des Kontaktes mehrere Schaltvorgänge gezählt werden(wie Kontaktprellen). Gibt es in LabVIEW da eine Möglichkeit dies zu unterdrücken?
Es sollten Schaltvorgänge nur einmal gezählt werden, wenn sie ganz dicht auf einander folgen aber nach einer gewissen Totzeit als einzelne Schaltvorgänge gezählt werden.

Danke
Bye
dany
Du hast das erforderliche Programm schon korrekt benannt, also so:
(u: Analogspannung, us: Schwellwert, Signal: prellfreier boolscher Ausgang)

begin
marke1: if u<us goto marke1
Signal=1
warten X ms
marke2: if u>us goto marke2
Signal=0
warten X ms
goto marke1
end

So etwas einfaches läßt sich in jeder Sprache programmieren, natürlich auch mit LabVIEW. Man kann dafür z.B eine State-Machine verwenden. (Zustand 1: Warten auf u>us, 2:Warten X ms, 3: Warten auf u<us, 4: warten X ms. Die Zustände werden zyklisch durchlaufen: 12341234...)
Hier ein VI, wie es vielleicht funktionieren könnte (es wurde nicht getestet). Falls die Samplefrequenz immer dieselbe ist, könnte man die "Totzeit" statt in ms auch in Anzahl von Samples messen. Das VI würde dann noch etwas schneller.
Referenz-URLs