Nachdem ich mich eine Weile mit dem Entprellen von Software befasst habe, stelle ich fest, dass dies eine enorme Belastung für das System darstellt. Daher habe ich mir überlegt, zunächst einen Hardware-Entpreller mit einem Schmitt-Trigger (74HC14), einem Kondensator, einer Taste und einem Widerstand herzustellen, wie unten von talkelectronics.com gezeigt ::
Ich habe jedoch gelesen, dass der Schmitt-Trigger bei der Bestimmung, wann ein High oder Low ausgegeben werden soll, halb so unangenehm ist wie ein normaler Wechselrichter, da er bei der 33% - und 66% -Marke umschaltet, während ein normaler Wechselrichter näher an die 50% -Marke schaltet (aber mit der HC-Version ist es wahrscheinlich mehr bei 55%).
Ich habe mich gefragt, ob der Schmitt-Trigger aus sechs Wechselrichtern in einem Gehäuse besteht. Mit jeder Taste meiner Wahl, die auf den ersten Eingang angewendet wird, würde sich die Entprellung erheblich verbessern, wenn ich sechs Schaltkreise auf der rechten Seite mit denselben Komponentenwerten herstellen und alle anschließen würde von ihnen in Serie? (Beispiel: Ausgang der ersten Schaltung an den Eingang der zweiten Schaltung, wo sich Kondensator und Widerstand treffen.)
Antworten:
Die Verwendung von Schmitt-Triggern in Reihe würde die Sprungkraft nicht weiter reduzieren.
Betrachten Sie den Filter:
Die Eingabe ist (U). Die rote Linie ist eine 50% -Schwelle, deren Ausgang als Signal (A) angesehen wird. Es springt jedes Mal, wenn sich die Eingabe kreuzt.
Die grünen Linien sind ungefähr 33% und 66%, wie Sie angegeben hatten. Der Ausgang (B) schaltet jedoch nur, wenn der Eingang (U) von einer grünen Schwelle zur anderen wechselt.
Am wichtigsten ist, dass der Ausgang entweder vollständig HIGH oder LOW (digital) ist. Wenn also der Ausgang eines Schmitt-Triggers in den Eingang eines anderen eingespeist wurde, gab es im Wesentlichen keinen Unterschied.
Nehmen Sie die gefilterte Ausgabe von oben (B) und überlegen Sie, wie sie von einem anderen Schmitt-Trigger gesehen werden würde:
Wiederum wäre der Ausgang des ersten entweder HIGH oder LOW. Es würde also gleichzeitig die Schwellenwerte überschreiten, was zu derselben Ausgabe wie die Eingabe führen würde. Es gibt nichts zu entprellen! Wenn überhaupt, würde ich erwarten, dass es mehr Rauschen erzeugt, weil Sie mehr Komponenten und damit mehr Raum für Fehler einführen.
Es klingt so, als ob Sie nach einem Schmitt-Trigger mit einstellbaren Schwellenwerten suchen. Einige sind symmetrisch (zum Beispiel: 33% und 66% oder 10% und 90%). Andere sind nicht symmetrisch (zum Beispiel: 33% und 80%). Sie können Ihre eigenen mit einem Operationsverstärker erstellen.
Versuchen Sie, mit dieser Simulation herumzuspielen, die ich vor einiger Zeit zusammengestellt habe: Schmitt-Triggersimulation - Nicht invertierend, nicht symmetrisch
quelle
Ein einzelner Schmitt-Trigger mit einem analogen Filter davor kann zum Entprellen verwendet werden. Nach diesem Schmitt-Trigger ist das Signal jedoch vollständig digital. Zusätzliche Schmitt-Trigger ändern daran nichts. Im Idealfall erhalten sie das Signal.
Bei einem anderen Thema sollte das Entprellen in der Firmware keine große Belastung darstellen. Die übliche Methode besteht darin, den Schaltzustand in einem periodischen Interrupt abzutasten, den Sie ohnehin schon haben. Sie deklarieren den entprellten Zustand zum aktuellen Schaltwert, wenn Sie den Schalter für N aufeinanderfolgende Abtastwerte in diesem Zustand gesehen haben. Normalerweise muss sich der Switch für 50 aufeinanderfolgende 1-ms-Interrupts im gleichen Zustand befinden, damit der neue Zustand als gültig angesehen wird. Dies nimmt normalerweise einen sehr kleinen Teil der gesamten Prozessorzyklen in Anspruch.
quelle