Implementierung der Hardware-Entprellung für Schalter und Relais, wenn die Software-Entprellung nicht geeignet ist

Von Clive „Max“ Maxfield

Zur Verfügung gestellt von Nordamerikanische Fachredakteure von DigiKey

Im Zusammenhang mit der Elektrotechnik und Elektronik ist ein Schalter ein Bauteil, das einen elektrischen Stromkreis „schließen“ oder „öffnen“ kann und damit einen elektrischen Strom unterbricht oder von einem Leiter zu einem anderen umleitet. Wie Ingenieure bestätigen können, gibt es viele verschiedene Arten von Schaltern, darunter Kippschalter, Wippschalter, Druckschalter, Mikro- und Endschalter, Magnet- und Reed-Schalter sowie Relais. Alle haben eines gemeinsam: Sie prellen. Das ist ein völlig normaler Vorgang.

Normalerweise hat dieses Prellen keine oder nur geringe Auswirkungen auf die Schaltung, aber wenn die digitale Schaltung schnell genug ist, um mehrere Prellvorgänge zu erkennen und darauf zu reagieren, kann dies ernsthafte Folgen haben. Die Aufgabe eines Ingenieurs ist es, die Auswirkungen dieses Prellens zu vermeiden oder abzuschwächen, oder den Schalter zu „entprellen“. Während die Industrie lange Zeit Hardware-Entprellung praktiziert hat, ist sie in letzter Zeit zu softwarebasierten Entprellungsansätzen übergegangen. Es gibt jedoch Situationen, in denen eine Hardware-Entprellung eine bessere Option ist.

Dieser Artikel erklärt das Prellen und bespricht Software- und Hardware-Ansätze zur Entprellung. Anschließend wird auf Fälle hingewiesen, in denen eine Hardware-Entprellung eine bessere Option ist, bevor gezeigt wird, wie sie implementiert werden kann. Beispielhafte Schaltgeräte und Hardware-Entprellkomponenten werden anhand von Beispielen von NKK Switches, ON Semiconductor, Texas Instruments, Maxim Integrated und LogiSwitch vorgestellt.

Was ist Schalterprellen?

Wenn ein Schalter oder ein Relais betätigt wird, kann das, was ein Mensch als sofortige Einzelreaktion bei jeder Zustandsänderung des Geräts wahrnimmt, in Wirklichkeit 100 oder mehr Schließ- oder Unterbrechungsvorgänge umfassen, die mehrere Tausendstelsekunden andauern, bevor der Kontakt schließlich einrastet.

Betrachten Sie zum Beispiel einen einpoligen Einschalter (SPST, NO, Schließer) für die Schalttafelmontage wie den M2011SS1W01 von NKK. Nehmen Sie an, dass eine Seite dieses Schalters, die als Eingang betrachtet werden kann, mit Masse (0 Volt) verbunden ist, während die andere Seite, die in diesem Fall der Ausgang ist, über einen Pull-up-Widerstand (R1) mit einer 5-Volt-Spannungsversorgung (dargestellt als +ve) verbunden ist (Abbildung 1).

Diagramm eines SPST-NO-Kippschalters, der prellt (zum Vergrößern anklicken)Abbildung 1: Bei einem SPST-NO-Kippschalter kann es sowohl beim Aktivieren als auch beim Deaktivieren des Schalters zum Prellen kommen. (Bildquelle: Max Maxfield)

Beachten Sie, dass ein Prellen des Schalters sowohl beim Aktivieren (Schließen) als auch beim Deaktivieren (Öffnen) des Schalters auftreten kann. Manchmal kann das Prellen den ganzen Weg zwischen den Versorgungsschienen zurücklegen, hier als logische 0- und 1-Zustände betrachtet. In diesem Fall handelt es sich um „sauberes“ Prellen. Erreicht das Signal dagegen nur eine Zwischenspannung, so spricht man von „schmutzigem“ Prellen.

Im Falle eines einpoligen Wechselschalters (SPDT) für die Schalttafelmontage, wie dem M2012SS1W01-BC von NKK, kann ein Prellen sowohl an den schließenden (NO) als auch an den öffnenden (NC) Kontakten auftreten (Abbildung 2). In diesem Fall wurde der Einfachheit halber nur „sauberes“ Prellen dargestellt.

Diagramm eines SPDT-Kippschalters, der prellt (zum Vergrößern anklicken)Abbildung 2: Bei einem SPDT-Kippschalter kann es sowohl an den NO- als auch an den NC-Kontakten beim Aktivieren als auch beim Deaktivieren des Schalters zum Prellen kommen. (Bildquelle: Max Maxfield)

In vielen Fällen ist die Prellzeit des Signals so kurz, dass es keine Auswirkungen hat. Probleme entstehen, wenn ein Schalter an ein elektronisches Gerät angeschlossen wird, das schnell genug ist, um jedes einzelne Prellen zu erkennen und darauf zu reagieren. Es wird eine Möglichkeit benötigt, das vom Schalter kommende Signal zu entprellen, bevor es von der Elektronik verarbeitet wird.

Software- versus Hardware-Entprellung

In den 1960er und 1970er Jahren wurde die Entprellung von Schaltern mit einer Vielzahl von Hardwaretechniken implementiert, von einfachen RC-Verzögerungsschaltungen, die mit SPST-Schaltern verwendet wurden, bis hin zu anspruchsvolleren Set/Reset(SR)-Latch-Funktionen.

In jüngerer Zeit und da viele Systeme mit einer Mikroprozessoreinheit (MPU) oder Mikrocontrollereinheit (MCU) ausgestattet sind, ist es üblich geworden, Softwaretechniken zu verwenden, um das von einem beliebigen Schalter kommende Signal zu entprellen. Die Software-Entprellung ist jedoch nicht immer der beste Ansatz. Es gibt einige Anwendungen, bei denen kleine, leistungsschwache, speicherbegrenzte Prozessoren mit begrenztem Codeplatz und/oder Taktzyklen für die Implementierung von Entprellungsroutinen zur Verfügung stehen. In diesen Fällen kann eine Hardware-Implementierung eine bessere Lösung sein.

Außerdem sind viele Softwareentwickler nicht mit den physikalischen Eigenschaften von Schaltern vertraut, wie z. B. der Tatsache, dass die Prelleigenschaften eines Schalters nicht nur von einer Aktivierung zur nächsten variieren, sondern auch von Umgebungsbedingungen wie Temperatur und Feuchtigkeit beeinflusst werden können.

Das Problem des mangelnden Schalterwissens der Softwareentwickler wird durch die Tatsache verschärft, dass die verfügbare Literatur zum Thema Schalterprellen oft verwirrend und widersprüchlich ist. Es ist zum Beispiel üblich zu lesen, dass ein Schalter 1 Millisekunde (ms) nach seiner Aktivierung oder Deaktivierung aufgehört hat zu prellen. Der bekannte Experte für eingebettete Systeme, Jack Ganssle, führte jedoch empirische Tests mit verschiedenen Schaltertypen durch, wobei er jeden Schalter 300 Mal betätigte und den minimalen und maximalen Betrag des Prellens sowohl für das Öffnen als auch für das Schließen der Kontakte aufzeichnete. Er berichtete von einer durchschnittlichen Prelldauer von 1,6 ms und einer maximalen Prelldauer von 6,2 ms. Einige industrielle und militärische „bewährte Methoden“ empfehlen, bis 20 ms nach der ersten Aktivierung zu warten, bevor angenommen wird, dass der Schalter nicht mehr prellt; andere empfehlen, bis 20 ms nach dem letzten erkannten Prellen zu warten, bevor irgendwelche Aktionen ausgelöst werden.

Darüber hinaus gibt es viele einfache, nicht prozessorbasierte Systeme, bei denen auch Schalter entprellt werden müssen. Einige Beispiele für solche Systeme sind ein Binärzähler, der Sieben-Segment-Anzeigen ansteuert und Impulse von einem Relais zählt; der Triggereingang eines 555 One-Shot-Timers, der als Motorsteuerung für eine Tür oder ein Tor verwendet wird; und eine registerbasierte „endliche Zustandsmaschine“ (FSM), die getastete Eingänge verwendet. Es gibt auch elektronische Trimmpotentiometer (Potentiometer), deren Werte über Schalteingänge (aufwärts, abwärts und manchmal auch speichern) verändert werden, bei denen ein Schalterprellen problematisch wäre.

All diese Beispiele machen deutlich, dass ein gewisses Wissen über die Durchführung der Hardware-Entprellung für jeden Designer oder Entwickler nützlich sein kann.

Hardware-Entprellung eines SPST-Schalters mit einem RC-Netzwerk

Eine der einfachsten hardwarebasierten Lösungen zur Entprellung von Schaltern verwendet ein Widerstands-Kondensator-Netzwerk (RC) in Verbindung mit einem SPST-Schalter. Es gibt viele Varianten einer solchen Schaltung. Eine der vielseitigeren Implementierungen umfasst zwei Widerstände und eine Diode (Abbildung 3).

Diagramm des RC-Netzwerks zur Entprellung eines SPST-Schalters (zum Vergrößern anklicken)Abbildung 3: Bei Verwendung eines RC-Netzwerks zur Entprellung eines SPST-Schalters (oben) zwingt das Hinzufügen der Diode (D1) den Kondensator (C1), sich über den Widerstand R1 aufzuladen und über den Widerstand R2 zu entladen. (Bildquelle: Max Maxfield)

Wenn der Schalter aktiviert (geschlossen) wird, wird der Kondensator C1 über den Widerstand R2 entladen. Hätte man in dieser Schaltung die Diode D1 weggelassen, dann würde beim Deaktivieren (Öffnen) des Schalters C1 über die Widerstände (R1 + R2) aufgeladen werden. Das Vorhandensein von D1 bedeutet jedoch, dass C1 nur über R1 geladen wird.

In manchen Fällen ist nur die Aktivierung des Schalters von Interesse (d. h. das Auslösen von Aktionen), in diesem Fall kann D1 weggelassen werden. Wenn jedoch Aktionen ausgelöst werden sollen, wenn der Schalter sowohl aktiviert als auch deaktiviert wird, und wenn eine Minimierung der Verzögerung in Betracht gezogen wird, wird die Verwendung von D1 empfohlen.

Beachten Sie die exponentiellen Lade- und Entladekurven der Kondensatorspannung VC. Es wäre keine gute Idee, dieses Signal direkt an den Eingang einer nachgeschalteten digitalen Logikfunktion zu führen, die es nicht schätzen würde, ein Signal zu sehen, das im undefinierten Bereich zwischen „guten“ logischen 0- und logischen 1-Werten trödelt. Stattdessen wird dieses Signal dem Eingang eines Puffers mit einem Schmitt-Trigger-Eingang zugeführt. Außerdem wird typischerweise ein invertierender Puffer verwendet, wie z. B. ein Kanal eines CD74HC14M96 von Texas Instruments, da invertierende Funktionen schneller schalten als ihre nichtinvertierenden Gegenstücke.

Entprellung eines SPDT-Schalters mit einem SR-Latch

Im Falle eines SPDT-Schalters ist eine übliche Hardware-Entprellungslösung der Einsatz eines SR-Latches. Seit Firmen wie IBM diese Technik für die Schalttafeln ihrer Großrechner etwa in den 1960er Jahren eingesetzt haben, gilt dieser Ansatz als die Crème de la Crème der einfachen Hardware-Entprellungslösungen. Ein solches Latch kann mit zwei hintereinander geschalteten NAND-Gattern mit zwei Eingängen gebildet werden, z. B. durch Verwendung von zwei Kanälen eines Vierfach-NAND-ICs SN74HC00DR mit zwei Eingängen von Texas Instruments (Abbildung 4).

Diagramm eines NAND-basierten SR-Latches zur Entprellung eines SPDT-SchaltersAbbildung 4: Die Verwendung eines NAND-basierten SR-Latches zur Entprellung eines SPDT-Schalters ist eine sehr effektive Hardware-Entprellungslösung. (Bildquelle: Max Maxfield)

Wenn der NC-Kontakt des Schalters mit Masse verbunden ist, wie in der oberen Hälfte von Abbildung 4 gezeigt, zwingt dies den Ausgang von Gate g2 auf logisch 1. Die beiden logischen 1en an den Eingängen des Gatters g1 wiederum zwingen dessen Ausgang auf logisch 0. Zum Vergleich: Wenn der NO-Kontakt des Schalters mit Masse verbunden ist, wie in der unteren Hälfte von Abbildung 4 gezeigt, zwingt dies den Ausgang von Gate g1 auf logisch 1. Die beiden logischen 1en an den Eingängen des Gatters g2 wiederum zwingen dessen Ausgang auf logisch 0.

Der Grund, warum diese Schaltung so gut funktioniert, ist, dass das SR-Latch seinen vorherigen Wert speichert, wenn beide Eingänge in ihren inaktiven logischen 1-Zuständen sind. Denken Sie daran, dass, wie in Abbildung 2 dargestellt, beim Umschalten eines SPDT-Schalters derjenige seiner Anschlüsse, der zu diesem Zeitpunkt mit Masse verbunden ist, zuerst prellt. Da dieses Prellen zwischen seinem ursprünglichen Wert (logisch 0) und seinem neuen Wert (logisch 1) liegen, haben sie keine Auswirkung auf den aktuellen Zustand des SR-Latches. Erst wenn dieser Kontakt nicht mehr prellt, beginnt sein Gegenstück zu prellen, woraufhin das SR-Latch seinen Zustand ändert.

Entprellung eines SPST-Schalters mit einer speziellen Komponente

Ein Problem mit der bisherigen Lösung ist, dass viele Entwickler SPST-Schalter bevorzugen, weil diese in der Regel weniger kosten als SPDTs. Es gibt eine Reihe von bekannten dedizierten SPST-Entprellern auf dem Markt, wie z.B. den MC14490DWG von ON Semiconductor und den MAX6818EAP+T von Maxim Integrated.

Ein weiterer Hersteller, LogiSwitch, bietet eine Reihe von Drei-, Sechs- und Neunkanal-Entprellungslösungen sowohl in durchkontaktierbaren als auch in SMD-Gehäusen (oberflächenmontierbar) an. Betrachten Sie zum Beispiel eine Schaltung mit der Komponente LS18-S von LogiSwitch (Abbildung 5).

Diagramm des dedizierten dreikanaligen LS18-S-Chips zur Entprellung eines SPDT-SchaltersAbbildung 5: Verwendung eines speziellen dreikanaligen LS18-S-Chips zur Entprellung eines SPDT-Schalters (sechs- und neunkanalige Komponenten sind ebenfalls erhältlich). (Bildquelle: Max Maxfield)

Wie alle Mitglieder der LogiSwitch-Familie unterstützt der LS18-S einen Betriebsspannungsbereich von 2,5 bis 5,5 Volt (der Wert der Versorgungsspannung hat keinen Einfluss auf die Reaktionszeit der Komponente). Außerdem benötigen die LogiSwitch-Entpreller im Gegensatz zu einigen anderen dedizierten IC-Lösungen keine zusätzlichen Komponenten wie einen externen Taktgeber, ein RC-Timing-Netzwerk oder Pull-up-Widerstände an den Ein- oder Ausgängen.

Der LS18-S verwendet die proprietäre adaptive NoBounce-Technologie von LogiSwitch, die ein hohes Maß an Störsicherheit bietet. Rauschspitzen mit einer Dauer von weniger als 20 ms dürfen einen Zyklus nicht starten oder beenden, und die Ausgänge werden unabhängig von der Dauer des Prellens für eine Dauer von 20 ms nach dem letzten Prellen des Schalters sowohl beim Aktivieren als auch beim Deaktivieren verzögert.

Fazit

Es gibt viele verschiedene Arten von Schaltern, darunter Kippschalter, Wippschalter und Drucktastenschalter, die alle prellen können. Wenn es nicht gemildert wird, kann Schalterprellen dazu führen, dass Mikroprozessoren und andere elektronische Schaltungen eine einzelne Schalteraktivierung als mehrere Ereignisse ansehen.

Das Prellsignal eines Schalters wird oft mit Hilfe einer Software, die in einem Mikrocontroller läuft, entprellt. Obwohl dies, wie gezeigt, eine kostengünstige Lösung ist, ist sie möglicherweise nicht in allen Fällen die beste Option, z. B. bei Systemen, die auf leistungs- und speicherbegrenzten Mikrocontrollern basieren, bei Softwareentwicklern, denen es an Fachwissen in Bezug auf Schalter fehlt, oder bei Systemen, die ohne Mikrocontroller implementiert werden.

Alternativ kann die Entprellung in Hardware mit einer Vielzahl von Ansätzen durchgeführt werden, die von Widerstands-Kondensator-Netzwerken über SR-Latches bis hin zu speziellen integrierten Schaltungen reichen.

DigiKey logo

Haftungsausschluss: Die Meinungen, Überzeugungen und Standpunkte der verschiedenen Autoren und/oder Forumsteilnehmer dieser Website spiegeln nicht notwendigerweise die Meinungen, Überzeugungen und Standpunkte der DigiKey oder offiziellen Politik der DigiKey wider.

Über den Autor

Image of Max Maxfield

Clive „Max“ Maxfield

Clive „Max“ Maxfield erhielt 1980 seinen BSc in Regelungstechnik von der Sheffield Hallam University, England, und begann seine Karriere als Entwickler von Zentraleinheiten (CPUs) für Großrechner. Im Laufe der Jahre hat Max alles von Siliziumchips bis hin zu Leiterplatten und von Gehirnwellenverstärkern bis hin zu Steampunk-Prognosemaschinen (bitte nicht fragen) entwickelt. Darüber hinaus ist er seit mehr als 30 Jahren an der Spitze der Electronic Design Automation (EDA) tätig.

Max ist Autor und/oder Co-Autor einer Reihe von Büchern, darunter „Designus Maximus Unleashed“ (in Alabama verboten), „Bebop to the Boolean Boogie“ (Ein unkonventioneller Leitfaden zur Elektronik), „EDA: Where Electronics Begins“, „FPGAs: Instant Access“ und „How Computers Do Math“. Werfen Sie auch einen Blick auf seinen Blog „Max's Cool Beans“.

Über den Verlag

Nordamerikanische Fachredakteure von DigiKey