Entprellen von Tastern

 

Tactile switches.jpg
Von ScwerllguyEigenes Werk, CC BY-SA 3.0, Link

Mechanische Kontakte sind in einer digitalisierten Welt noch immer oft genutzte Elemente zur Eingabe von Daten (Tastatur), zum Schalten großer Spannungen und Ströme (Schütz, Relais), als Endschalter, Notausschalter, Überfahrtaster … . Das Schließen und Öfnen mechanischer Kontakte geschieht oftmals weniger schnell und eindeutig als vermutet. Rauigkeiten, elastisches Verhalten, Federungen können für Störeffekte bei elektromechanischen Schaltern sorgen. Den beschriebenen, sich in kurz hintereinander stattfindenden Schaltvorgängen darstellenden Störvorgang bezeichnet man mit „Prellen„.

Tastenprellen01.png
Von: Der ursprünglich hochladende Benutzer war Arctanx in der Wikipedia auf DeutschEigenes Werk (Originaltext: Selbst erstellt), Gemeinfrei, Link

Im Schaltvorgang wird die zu schaltende Spannung mehrfach erreicht, sogar übertroffen und bricht wieder zusammen. Der Schaltzeitpunkt ist demzufolge nicht eindeutig und je nach Auswertung des Schaltvorgangs ist nicht nur ein Schaltvorgang sondern eine unbekannte Vielzahl von Schaltvorgängen auszuwerten. Insbesondere bei der Verwendung externer Interrupts in der Mikrocontrollertechnik kann dies zu Fehlfunktionen führen, denen geeignet zu begegnen ist. Der deutschsprachige Wikipedia-Artikel [1] nennt Prellzeiten, also jene Zeit bis sich in Folge der Betätigung ein eindeutiger Zustand einstellt, von zwischen 100 µs und 10 ms sowie bis zu 100 ms bei großen Schützen. Große Schütze finden in Signaleingängen von Mikrocontrollern üblicherweise keine Anwendung.

Unter „Entprellen“ oder englisch „Debouncing“ fasst man wirksame Maßnahmen zusammen, den Tastern und Schaltern die genannten, unerwünschte Eigenschaft abzugewöhnen. Wirksame Maßnahmen können in der Mikrocontrollertechnik sowohl elektrische, wie auch in Software implementierte Lösungen sein. Für beide grundsätzliche Arten der Lösung sind zudem Ausformulierungen von schnell und einfach bis hoch komplex verfügbar, die auf das jeweils zu erfüllende Ziel abgestimmt sind. Zusätzliche Komplexität erreichen die softwareausgeführten Lösungen durch ihre unterschiedliche Verträglichkeit mit Interrupts.

Ausgehend von der Aufgabe eine Schrittmotorsteuerung mit einem Initialisierungslauf zur

 

 

Quellen:

[1] https://de.wikipedia.org/wiki/Prellen

Tutorial „Make It Switch“ von Adafruit. https://learn.adafruit.com/make-it-switch/overview

Der Abschnitt „Debouncing

https://www.mikrocontroller.net/articles/Entprellung

https://arduino.stackexchange.com/questions/66761/debouncing-a-button-with-interrupt

http://shelvin.de/eine-taste-per-interrupt-einlesen-und-entprellen/

https://www.mymakerstuff.de/2018/04/16/taster-entprellen-die-rc-schaltung/

https://elektro.turanis.de/html/prj059/index.html

Entprellung

https://www.elektronik-kompendium.de/sites/dig/0210223.htm

https://www.elektronik-kompendium.de/public/schaerer/pullr.htm