Ich habe eine Anwendung, bei der ein Druckknopf und ein mechanischer Gray-Code-Drehgeber (Benutzereingaben) entfernt von der Hauptplatine montiert werden müssen. 24" - 48" entfernt. Dies aus Platz- und Verpackungsgründen.
Ist es in Ordnung, die RC-Entprellschaltung auf der Platine und die Schalter/Encoder ferngesteuert über Kabel zu haben, oder muss die Entprellschaltung mit den Schaltern verbunden sein?
Encoderschaltung aus Datenblatt:
Die Entprellung (und alle Rauschfilter, ESD-Schutzschaltungen) sollten sich auf der Hauptplatine befinden.
Die Schalter selbst benötigen nichts Lokales und es wäre auch nicht optimal, dort zusätzliche Schaltungen zu haben.
Bearbeiten: Wenn der Gray-Code -Encoder aktiv ist (optisch oder magnetisch), könnten einige Remote-Schaltkreise nützlich sein - sicherlich eine Bypass-Versorgung, vielleicht einige Vorwiderstände an den Ausgängen, vielleicht sogar ein lokaler Versorgungsregler.
Da Sie "Anwendung" erwähnt haben, gehe ich davon aus, dass Sie hier Code ausführen, der die Schaltflächen und Kontakte überwacht. Wenn das der Fall ist, kann ich Ihnen aus meiner Erfahrung sagen, dass es besser ist, Ihr Entprellen programmgesteuert durchzuführen. Erwägen Sie die Entwicklung einer Funktion, die Sie gelegentlich aufrufen, um nach Schaltflächen zu suchen. Ohne in eine bestimmte Sprache einzutauchen, was die Funktion tun würde, ist dies ...
Das ist auch alles. Sie haben sich nicht nur mindestens 2 Komponenten pro Taste (das RC-Netzwerk) gespart und effektiv einen "Brick Wall" -Filter erstellt, der viel präziser und konsistenter ist als das RC-Netzwerk. Außerdem haben Sie es sehr einfach gemacht, die alles wichtige Entprellzeit zu ändern, ohne Teile auszulöten.
Eine Anmerkung zu dieser Methodik: Es ist auch möglich, eine ähnliche Funktion per Interrupt aufzurufen, anstatt sie als Teil einer Round-Robin-Sequenz in Ihrer Hauptprogrammschleife aufzurufen. Meiner Meinung nach ist dies KEINE gute Idee, da ein defekter rauschender Kontakt viele Interrupts erzeugen würde, die Ihr Programm leicht blockieren könnten. Im Allgemeinen wurden in größeren Systemen, in denen ein Interrupt tatsächlich Tastenbetätigungen meldet (wie ein Tastatur-Interrupt in einem Computer), die Tastenbetätigungen bereits von einer kleinen dedizierten MCU in der Tastatur selbst vorverarbeitet. Wenn Sie es in einem kleineren System tun und ALLE Entprellungen selbst durchführen, ist die von mir vorgeschlagene Methode die bessere Wahl.
Ob es besser ist, die Tastenentprellung programmgesteuert, in Hardware oder einer Kombination aus beidem zu handhaben, hängt von der Art der Prellung ab. Einige Arten von Knöpfen haben einen Widerstand, der sich unregelmäßig ändern kann, wenn sie gedrückt werden; Wenn sie langsam gedrückt werden, kann sich diese unregelmäßige Periode über einen beträchtlichen Bruchteil einer Sekunde erstrecken. Wenn ein Prozessor zwischen einem niedrigen Widerstand, einem hohen Widerstand und einem offenen Stromkreis unterscheiden kann, funktioniert das Ignorieren von Tastendrücken, bis ein niedriger Widerstand erkannt wird, und das Ignorieren von Freigaben, bis ein offener Stromkreis erkannt wird, gut. Wenn ein Prozessor solche Unterscheidungen jedoch nicht treffen kann, gibt es möglicherweise eine Grenze für viel Software, die allein ohne zusätzliche Hardware auskommen kann.
Der robusteste Ansatz besteht in vielen Fällen darin, ein System mit sowohl Schließer- als auch Öffnerkontakten zu entwerfen; ein derartiger Ansatz kann sowohl im gedrückten als auch im nicht gedrückten Zustand einen Ruhestrom von nahezu null ergeben, während er unter praktisch keinem Prellen jeglicher Form leidet. Ich sehe kein technisches Hindernis für die Entwicklung eines Drehgebers mit ähnlicher Funktionalität, aber ich kenne keinen solchen existierenden Geber.
GisMofx
Spehro Pefhany
GisMofx
Spehro Pefhany
GisMofx