Hallo ich möchte die Frequenz eines rechteckiges Signal, das von einer Maschine kommt. Die Frequenz dieses Signals wird die 200 Hz nicht überschreiten, der High-Pegel beträgt etwa 2,5V bis 3V und der Low-Pegel 0V. Zur Erfassung dieses Signals kommt "leider nur" ein Komparator in Einsatz (Trigger-Level = 1V) Ich verwende für die Messung der Frequenz einen XC164CS von Infineon. Der Ausgang des Komparators (High = 5V und Low= 0V) geht zu einem Pin, das ein schnelles externes Interrupt hat. Die Software zählt nur die positiven Flanke in einer Sekunde, das ist nämlich die Frequenz des Signal (das funktioniert, mit Funktionsgenerator getestet). Das Problem ist jetzt, dass das Signal von der Maschine beim Low-Pegel jede Menge Spikes hat, die sehr oft größer sind als 1V, somit messe ich eine falsche Frequenz. Messung mit Oszi: ca 5KHz. Da ich die Hardware nicht ändern kann, habe ich mir gedacht, einen Tiefpass in der Software zu implementieren. Vielleicht hat einer von euch bereits Erfahrung mit so etwas ähnliches. Was würdet ihr denn empfehlen oder wie man am Besten den Tiefpass implementiert. Ich bedanke mich für jeden Tipp. Ricardo
Im wesentlichen entspricht dein Problem dem Entprellen von Tastern, ich würde erst mal danach suchen, da gibt es bereits genug. Software-Tiefpass, den du wahrscheinlich gar nicht brauchst, wäre so etwas wie
Messwert kann hier ein ADC-Wert oder ein Eingangspin (0 oder 1) sein, man muss den Wert nur so normieren, dass er noch in den gewählten Datentyp passt, 16 Bit würde ich dieser Variablen schon gönnen. Dann muss man in Software nur noch einen Komparator mit Hysterese aufbauen. Bra "Faktor" ist dabei
wobei Tau der Zeitkonstanten eines RC-Tiefpasses entspricht.
Hallo Johannes, vielen für Deine Antwort, die hat mir geholfen, die Problematik besser zu verstehen. Ich überlege noch mir, wie ich am Besten die Frequenz messen. Gruß Ricardo
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.