Ist es möglich, nur einen Kondensator zum Entprellen einer Taste zu verwenden?

19

Ich habe mich gefragt: Warum kann man nicht einfach einen Kondensator an einen Knopf anschließen, um ihn zu entprellen? Ich habe herausgefunden, wie ich die Arbeit meines Mikroprozessors reduzieren kann, aber ich habe sehr wenig Platz auf einer Leiterplatte, die ich entwerfe, deshalb möchte ich keine vollständige Entprellungsschaltung machen, die das Design komplizieren würde.


schematisch

simulieren Sie diese Schaltung - Schaltplan erstellt mit CircuitLab


Das ist eine Beispielschaltung; Entschuldigen Sie eventuelle Fehler (ich kann keine Schaltungen mit Kondensatoren entwerfen). Würde das überhaupt funktionieren? Für den Wende-Schalter konnte ich keinen finden, der mit dem im wirklichen Leben übereinstimmt, aber er funktioniert in dieser Situation. Der Knopf ist wie der hier gefundene . D10steht für Digital Pin 10, aber es spielt keine Rolle; es bedeutet nur die Arduino-Eingabe. Ich weiß auch nicht, wie viel Kondensator ich benötigen würde. Wenn diese Schaltung funktioniert, welche Größe brauche ich dann?


Auch hier versuche ich nur, dies zu vereinfachen, um das Erstellen zu vereinfachen, ohne Software-Debouncing durchführen zu müssen. Wenn man sich ansieht, wie Kondensatoren funktionieren, scheint dies zu funktionieren, aber es kann auch dazu führen, dass die Taste länger gedrückt wird oder verzögert wird, wenn die Kapazität zu groß ist. Sie werden häufig zum "Glätten" von Rauschen in Netzteilen verwendet. Ist dies nicht eine ähnliche Sache, bei der das Aufprallen "geglättet" wird? Jegliche Schaltungsänderungen, damit es funktioniert (falls erforderlich), sind ebenfalls erwünscht.

Anonymer Pinguin
quelle
1
Hier haben wir bereits darüber gesprochen: electronics.stackexchange.com/questions/6884/…
Andy aka
5
Ist Ihnen klar, dass Sie einen Eingang einfach entprellen können, indem Sie ihn mit einem Intervall von mindestens 50 ms abrufen? Weniger Arbeit für Ihren Aduino zu tun :)
Wouter van Ooijen
1
50 Millisekunden würden reichen - guter Punkt Mr O
Andy aka
1
Nein, ich meine eine Abfrage mit einem Intervall von mindestens 50 ms und mache alles, was du tun musst, je nach dem Level, das du entdeckst.
Wouter van Ooijen
1
@AnnonomusPerson - Eine Verzögerung () in einer Umgebung mit einem Thread bedeutet, dass nichts anderes passieren kann. Während dies eine Option ist, besteht eine andere darin, andere nützliche Arbeiten auszuführen, bis es Zeit ist, erneut zu prüfen.
Chris Stratton

Antworten:

12

Dies hängt vom Standardstatus des Switch ab. Ein Kondensator wird nur aufgeladen, wenn Sie ihm eine positive Spannung geben. Normalerweise verwenden wir in einer eingebetteten Umgebung ein Pull-up, um einem Pin einen standardmäßigen High-Status zuzuweisen und den Schalter mit Masse zu verbinden. Das Hinzufügen eines Kondensators wird hier nicht helfen, da er den Grundzustand nicht "speichert".

Sie können jedoch auch ein Pulldown verwenden. Dies würde bedeuten, dass der Pin standardmäßig niedrig ist. Wenn Sie den Schalter drücken, wird der Kondensator aufgeladen. Nach dem Loslassen hält der Kondensator den Pin für eine Weile hoch, also würde dies funktionieren. Ich bin mir nicht sicher, ob 1uF genug ist, zu wenig oder zu viel. Ich empfehle Ihnen, mit einem Zielfernrohr nachzuschauen und es ein wenig auszuprobieren.


quelle
Also wenn ich das ändere +und das -es klappen würde?
Anonym Pinguin
@AnnonomusPerson es kommt darauf an. Wie lautet der Standardstatus des Switch?
Du meinst, wenn es nicht drückt, ob es Strom leitet? Wenn es das ist, was Sie meinen, kann ich es so oder so tun, weil ich einen Schalter verwende. Betrachtet man den Link in meiner Frage, so leitet der Button bei nicht gedrücktem top left to the bottom leftund ab the top right to the bottom right. Beim Drücken leitet es vom top left to the bottom rightund vom top right to the bottom left.
Anonymous Penguin
Okay. Dies bedeutet, dass der Pin standardmäßig niedrig sein soll. Der Schalter sollte Kontakt zu + haben, damit sich der Kondensator auflädt, bevor Sie die Taste loslassen.
3
@AnnonomusPerson Nein, soll der Schalter macht Kontakt +. Es ist eine Art Jargon für das, mit dem der Switch verbunden wird, wenn er gedrückt wird . Der Kondensator ist am richtigen Ort. Der Widerstand sollte besser direkt von Masse an den IO-Pin angeschlossen werden.