Hallo zusammen,
ich habe ein seltsames Verhalten von einem Industrial Counter:
Die Impulse kommen von einem 24V Netzteil, welches über einen Reedkontakt unregelmäßig mit ~3 Hz durchgeschaltet wird und ich möchte die einzelnen Perioden von Falling zu Falling Edge messen. Meistens klappt das gut und die Werte sind sinnvoll, ab und an wird aber eine zu kleine Periode (z.B. 100ms) und ein unrealistischer Duty Cycle Wert von 0,00% (??) oder 50,00% angezeigt. "Echte" Events haben größere Periodenlängen und einen Duty Cycle von ~60% mit zufälligeren Nachkommastellen.
Das Problem tritt nur beim Aufbau mit 24V und dem Reedschalter auf. Mit dem parallel geschalteten Oszi sehe ich keine Auffälligkeiten und keine zu kurze High/Low-Perioden bis auf etwas Überschwingen an den Flanken, welches aber im µs Bereich und in der Amplitude außerhalb des High/Low-Wechsels liegt. Bei einem "perfekten", regelmäßigen Signal von einem 20V Frequenzgenerator gibt es keine Probleme.
Jetzt bin ich mit meinem Latein am Ende:
1. der Prescaler ist ausreichend groß, so dass ein Counter Overflow ausgeschlossen sein sollte (z.B. 4096: Minimale Frequenz 0.36Hz, Auflösung 42.66us)
2. Ein Debouncing-Setting wie im Digital In Bricklet scheint es nicht zu geben?
3. Verschiedene Kanäle zeigen das gleiche Verhalten
Hat jemand eine Idee?
Eine Frage auch zu Callbacks bei Werteänderung:
Was ist mit Werteänderung gemeint, der value, d.h. der High-Low-Zustands des Kanals oder z.B. Periode bzw. Frequenz? Wenn ich den Abstand von Falling zu Falling Edge messen will, bräuchte ich im Idealfall einen Callback bei jedem Übergang von High zu Low (und nicht bei jeder Value-Änderung).