-
-
Erfahrener Benutzer
Begeisterter Techniker
e-Funktion verarbeiten? Störungen Ignorieren?
Hi zusammen,
ich möchte folgendes Projekt in Bascom realisieren:
Mein Controller bekommt ein Rechtecksignal mit einer Frequenz zwischen ca. 15 und 200 Hz (Drehzahl einer Welle). Über den Pulsein-Befehl wird es ausgewertet und entsprechend in einen Wert zwischen ca. 7000 und 500 eingelesen (dieser Wert entspricht dem Pulsabstand in der Einheit [10µs], also je höher die Frequenz desto geringer der Wert).
Bis hierhin funktioniert alles ganz gut, mit einem Problem: In der Messung sind immer mal kleine "Peaks" drin, d.h. wenn ich über mein LCD den Wert ausgebe, dann kommen vereinzelt mal Sprungwerte vor (sehr kleine oder sehr große Werte), was "nicht sein darf", da sich die Drehzahl der Welle nicht sprunghaft ändern kann.
Ich führe diese Sprungwerte auf Störeinflüsse zurück, versuche diese auch noch möglichst herauszufiltern, was aber ggf. nicht 100% möglich sein wird.
Meine Software muss unabhängig von der Hardware sicher sein, d.h. ein Sprungwert muss wenn er vorkommt ignoriert werden.
Ich kenne die Steigung mit der sich die Eingangsfrequenz maximal ändern kann (150 Hz / sec). Wie kann ich es Softwaretechnisch realisieren zu sagen "wenn die Änderung des Wertes größer ist als die maximal zulässige Änderung, dann ignoriere diese Messung"?
Woran ich momentan knobele ist, dass der eingelesene Wert leider nicht linear ist, sondern die Form a*e^-(1/t) hat (mit t = Pulsabstand). D.h. bei steigender Frequenz nähert sich die "Eingangswert-Kurve" Exponentiell-Abnehmend Asymptotisch der t-Achse...
Vielleicht hat jemand ne gute Idee...
Grüße Paul
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- Anhänge hochladen: Nein
- Beiträge bearbeiten: Nein
-
Foren-Regeln
Lesezeichen