Jeffrey Cross
Jeffrey Cross

Fragen Sie MAKE: Einen Schalter entprellen

Ask MAKE ist eine wöchentliche Kolumne, in der wir Leserfragen wie Ihre beantworten. Schreiben Sie sie an [email protected] oder schreiben Sie uns eine Zeile bei Twitter. Wir können es kaum erwarten, Ihre Rätsel zu lösen!

Jen schreibt in:

Ich mache eine Schaltung zum Blinken einer LED mit verschiedenen Geschwindigkeiten, die ich mit einem Tastschalter steuern kann. Es würde nicht funktionieren, bis ich etwas "Debounce" -Code hinzugefügt habe. Was bedeutet das und warum musste ich es hinzufügen?

Gute Frage! Switch Bounce ist einer dieser seltenen elektronischen Effekte, die tatsächlich durch einen mechanischen Mangel verursacht werden. Das Problem liegt in der Art, wie der Switch funktioniert. Wenn Sie einen Schalter umdrehen (oder eine Taste drücken), drücken Sie wirklich ein Stück Metall gegen ein anderes. Wenn dies mit ausreichender Kraft geschieht, verformen sich eines oder beide der Teile leicht und springen dann in die andere Richtung zurück. Je nachdem, wie gut der Schalter entworfen wurde, kann dieser Vorgang einige Male ausgeführt werden, bevor sich beide Teile nicht mehr bewegen. All das bedeutet, dass der Schalter aus elektrischer Sicht so aussieht, als würde er sich schnell öffnen und schließen, bis das Abprallen nachlässt. Dies geschieht sehr schnell, jedoch ist digitale Elektronik schnell genug, um dies als eine Reihe von Schalterpressen zu sehen!

Hierfür gibt es drei Möglichkeiten: mechanisch (Aufbau eines besseren Schalters), elektrisch (Aufbau eines Filters aus diskreten elektrischen Komponenten) oder digital (mit Software).

In Ihrer Frage haben Sie erwähnt, dass Sie einen Debounce-Code verwendet haben, der wahrscheinlich die beste Lösung für Sie ist. Für diese Lösung schreiben Sie eine Softwareroutine, die ausgeführt wird, wenn jemand eine Taste drückt und dann eine kurze Zeit wartet (lange genug, bis das Aufspringen aufgehört hat), bevor der Schalterstatus gelesen wird. Dadurch werden alle Störsignale von den Schaltkontakten ohne zusätzliche Hardware effektiv ignoriert. Wenn Sie die Arduino-Plattform verwenden, probieren Sie dieses Tutorial aus.

Wenn Sie jedoch keinen Mikrocontroller verwenden, hilft die Software nicht, und Sie müssen eine der anderen Lösungen ausprobieren. Die herkömmliche Art und Weise, mit dem Bounce von Schaltern auf einem Steckbrett umzugehen, ist die Verwendung eines Widerstands-Kondensator- (RC-) Filters in einer Tiefpasskonfiguration. Dadurch wird verhindert, dass der Ausgang des Switch zu schnell ansteigt, wodurch Hochgeschwindigkeitssignale effektiv herausgefiltert werden. Schauen Sie sich dieses Tutorial an, wenn Sie diese Methode ausprobieren möchten.

Wie können Sie den Schalter also neu gestalten, um ein Abprallen zu verhindern? Es stellt sich heraus, dass es am häufigsten ist, die Kontakte mit Quecksilber zu benetzen. Da Quecksilber bei Raumtemperatur eine Flüssigkeit ist, bleiben die Kontakte durch die Oberflächenspannung auch dann verbunden, wenn sie abprallen. Das einzige Problem dabei ist, dass Quecksilber ziemlich giftig ist. Sie sollten es daher nur verwenden, wenn Sie es unbedingt brauchen, beispielsweise wenn Sie Hochleistungsmaschinen mit hoher Geschwindigkeit steuern.

[Foto von Flickr-Benutzer russ_j_taylor]

Aktie

Leave A Comment