So implementieren Sie Hardware-Entprellung für Schalter und Relais, wenn Software-Entprellung nicht angemessen ist
HeimHeim > Nachricht > So implementieren Sie Hardware-Entprellung für Schalter und Relais, wenn Software-Entprellung nicht angemessen ist

So implementieren Sie Hardware-Entprellung für Schalter und Relais, wenn Software-Entprellung nicht angemessen ist

Jun 14, 2024

Im Kontext der Elektrotechnik und Elektronik ist ein Schalter ein Bauteil, das einen Stromkreis „machen“ oder „unterbrechen“ kann und dadurch einen elektrischen Strom unterbricht oder von einem Leiter auf einen anderen umleitet. Wie Ingenieure bestätigen können, gibt es viele verschiedene Arten von Schaltern, darunter Kippschalter, Wippschalter, Druckschalter, Mikro- und Endschalter, Magnet- und Reedschalter sowie Relais. Eines haben alle gemeinsam: Sie springen. Es ist einfach das, was sie tun.

Normalerweise hat dieser Sprung keine oder nur geringe Auswirkungen auf die Schaltung. Wenn die digitale Schaltung jedoch schnell genug ist, um mehrere Sprünge zu erkennen und darauf zu reagieren, kann dies schwerwiegende Folgen haben. Die Aufgabe eines Ingenieurs besteht darin, die Auswirkungen dieses Sprungs zu vermeiden oder abzuschwächen oder den Schalter zu „entprellen“. Während die Branche schon seit langem Hardware-Entprellung praktiziert, ist sie in jüngerer Zeit auf softwarebasierte Entprellungsansätze umgestiegen. Es gibt jedoch Situationen, in denen Hardware-Entprellung eine bessere Option ist.

In diesem Artikel wird die Bounce-Funktion erläutert und Software- und Hardware-Ansätze zur Entprellung erläutert. Anschließend wird auf Fälle hingewiesen, in denen Hardware-Entprellung eine bessere Option ist, bevor gezeigt wird, wie es 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 Switch-Bounce?

Wenn ein Schalter oder ein Relais umgelegt oder umgeschaltet wird, kann das, was ein Mensch jedes Mal, wenn das Gerät seinen Zustand ändert, als sofortige Einzelreaktion wahrnimmt, tatsächlich 100 oder mehr Ein-/Ausschaltvorgänge umfassen, die mehrere Tausendstelsekunden andauern, bevor der Kontakt schließlich erfolgt setzt sich fest.

Betrachten Sie beispielsweise einen einpoligen, einpoligen Kippschalter (SPST) mit Schließerkontakt (NO) für die Frontplattenmontage wie einen 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, in diesem Fall der Ausgang, an eine 5-Volt-Stromversorgung angeschlossen ist (dargestellt als +ve). ) über einen Pull-up-Widerstand (R1) (Abbildung 1).

Beachten Sie, dass ein Schalterprellen auftreten kann, sowohl wenn der Schalter aktiviert (geschlossen) als auch deaktiviert (geöffnet) ist. Manchmal können die Sprünge den gesamten Weg zwischen den Versorgungsschienen übergehen, hier betrachtet als logische 0- und 1-Zustände. In diesem Fall handelt es sich um „saubere“ Bounces. Erreicht das Signal dagegen nur eine Zwischenspannung, spricht man von „Dirty“ Bounces.

Bei einem einpoligen Umschalter (SPDT) für die Frontplattenmontage wie dem M2012SS1W01-BC von NKK kann es zu Prellen sowohl an den normalerweise offenen (NO) als auch an den normalerweise geschlossenen (NC) Anschlüssen kommen (Abbildung 2). In diesem Fall wurden der Einfachheit halber nur „saubere“ Bounces dargestellt.

In vielen Fällen ist die Dauer des Signalsprungs so lang, dass er keine Auswirkung hat. Probleme treten auf, wenn ein Schalter an ein elektronisches Gerät angeschlossen ist, das schnell genug ist, um mehrere Sprünge zu erkennen und darauf zu reagieren. Was benötigt wird, ist eine Möglichkeit, das vom Schalter kommende Signal zu entprellen, bevor es vom Schalter bearbeitet wirdelektronische Geräte.

Software- versus Hardware-Entprellung

In den 1960er und 1970er Jahren wurde die Schalterentprellung mithilfe verschiedener Hardwaretechniken implementiert, von einfachen Widerstands-Kondensator-Verzögerungsschaltungen (RC), die mit SPST-Schaltern verwendet werden, bis hin zu ausgefeilteren Set/Reset-Latch-Funktionen (SR).

In jüngerer Zeit und da viele Systeme über eine Mikroprozessoreinheit (MPU) oder eine Mikrocontrollereinheit (MCU) verfügen, ist es üblich geworden, Softwaretechniken zu verwenden, um das von jedem Schalter kommende Signal zu entprellen. Software-Entprellung ist jedoch nicht immer der beste Ansatz. Es gibt einige Anwendungen, die kleine, leistungsschwache Prozessoren mit begrenztem Speicher und begrenztem Coderaum und/oder begrenzten Taktzyklen zur Implementierung von Entprellroutinen beinhalten. In diesen Fällen ist eine Hardware-Implementierung möglicherweise die bessere Lösung.

Außerdem sind viele Softwareentwickler mit den physikalischen Eigenschaften von Schaltern nicht vertraut, beispielsweise mit der Tatsache, dass die Sprungeigenschaften eines Schalters nicht nur von einer Aktivierung zur anderen variieren, sondern auch durch Umgebungsbedingungen wie Temperatur und Luftfeuchtigkeit beeinflusst werden können.

Das Problem der fehlenden Switch-Expertise der Softwareentwickler wird durch die Tatsache verschärft, dass die verfügbare Literatur zum Switch-Bounce oft verwirrend und widersprüchlich ist. Es ist beispielsweise üblich zu lesen, dass ein Schalter 1 Millisekunde (ms) nach seiner Aktivierung oder Deaktivierung aufgehört hat zu springen. Der bekannte Experte für eingebettete Systeme, Jack Ganssle, führte jedoch empirische Tests mit verschiedenen Schaltertypen durch, wobei er jeden Schalter 300 Mal aktivierte und die minimale und maximale Menge an Prellen beim Öffnen und Schließen der Kontakte protokollierte. Er berichtete von einer durchschnittlichen Sprungdauer von 1,6 ms und einer maximalen Sprungdauer von 6,2 ms. Einige industrielle und militärische „Best Practices“ empfehlen, nach der ersten Aktivierung 20 ms zu warten, bevor man davon ausgeht, dass der Schalter nicht mehr springt. Andere befürworten, nach dem letzten erkannten Sprung 20 ms zu warten, bevor Maßnahmen 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 Siebensegmentanzeigen antreibt und Impulse von einem Relais zählt; der Triggereingang für einen 555-One-Shot-Timer, der als Motorsteuerung für eine Tür oder ein Tor verwendet wird; und eine registerbasierte Finite-State-Maschine (FSM), die Tasteneingaben verwendet. Es gibt auch elektronische Trimmpotentiometer (Potis), deren Werte mithilfe von Schaltereingängen (nach oben, unten und manchmal auch zum Speichern) geändert werden, bei denen das Prellen des Schalters problematisch wäre.

Alle diese Beispiele machen deutlich, dass Kenntnisse über die Hardware-Entprellung für jeden Designer oder Entwickler nützlich sein können.

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

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

Bei aktiviertem (geschlossenem) Schalter wird der Kondensator C1 über den Widerstand R2 entladen. Wäre die Diode D1 in diesem Schaltkreis weggelassen worden, würde C1 beim Deaktivieren (Öffnen) des Schalters über die Widerstände (R1 + R2) aufgeladen werden. Das Vorhandensein von D1 bedeutet jedoch, dass C1 nur über R1 aufgeladen wird.

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

Beobachten Sie die exponentiellen Lade- und Entladekurven der Kondensatorspannung VC. Es wäre keine gute Idee, dieses Signal direkt dem Eingang einer nachgeschalteten digitalen Logikfunktion zuzuführen, die es nicht begrüßen würde, ein Signal zu sehen, das im undefinierten Bereich zwischen „guten“ logischen 0- und logischen 1-Werten herumtrödelt. Stattdessen wird dieses Signal dem Eingang eines Puffers mit Schmitt-Trigger-Eingang zugeführt. Darüber hinaus wird typischerweise ein invertierender Puffer verwendet, beispielsweise ein Kanal eines CD74HC14M96 von Texas Instruments, da invertierende Funktionen schneller schalten als ihre nicht invertierenden Gegenstücke.

Entprellen eines SPDT-Schalters mit einem SR-Latch

Im Fall eines SPDT-Schalters besteht eine übliche Hardware-Entprellungslösung darin, einen SR-Latch zu verwenden. Seitdem Unternehmen wie IBM diese Technik in den 1960er Jahren für die Schalttafeln ihrer Großrechner verwendeten, gilt dieser Ansatz als die Crème de la Crème einfacher Hardware-Entprellungslösungen. Ein solcher Latch kann unter Verwendung von zwei Back-to-Back-NAND-Gattern mit zwei Eingängen gebildet werden; zum Beispiel durch den Einsatz von zwei Kanälen eines SN74HC00DR Quad-NAND-IC mit zwei Eingängen von Texas Instruments (Abbildung 4).

Wenn der NC-Anschluss des Schalters mit Masse verbunden ist, wie in der oberen Hälfte von Abbildung 4 dargestellt, wird der Ausgang von Gatter g2 auf logisch 1 gesetzt. Die beiden logischen Einsen an den Eingängen von Gatter g1 wiederum zwingen dessen Ausgang auf logisch 0 Wenn im Vergleich dazu der NO-Anschluss des Schalters mit Masse verbunden ist, wie in der unteren Hälfte von Abbildung 4 dargestellt, wird der Ausgang von Gatter g1 auf den logischen Wert 1 gesetzt. Die beiden logischen Einsen an den Eingängen des Gatters g2 erzwingen wiederum den logischen Wert 1 Ausgang auf logisch 0.

Der Grund dafür, dass diese Schaltung so gut funktioniert, liegt darin, dass sich der SR-Latch an seinen vorherigen Wert erinnert, wenn sich beide Eingänge im inaktiven logischen 1-Zustand befinden. 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 springt. Da diese Sprünge zwischen ihrem ursprünglichen Wert (logisch 0) und ihrem neuen Wert (logisch 1) liegen, haben sie keine Auswirkung auf den aktuellen Zustand des SR-Latches. Erst wenn dieses Terminal aufhört zu springen, beginnt sein Gegenstück zu springen, woraufhin der SR-Latch seinen Zustand ändert.

Entprellen eines SPST-Schalters mit einem dedizierten Gerät

Ein Problem bei der vorherigen Lösung besteht darin, dass viele Designer die Verwendung von SPST-Schaltern bevorzugen, da diese im Allgemeinen weniger kosten als SPDTs. Es gibt eine Reihe bekannter dedizierter SPST-Entprellgeräte auf dem Markt, beispielsweise den MC14490DWG von ON Semiconductor und den MAX6818EAP+T von Maxim Integrated.

Ein weiterer Hersteller, LogiSwitch, bietet eine Reihe von Entprellungslösungen mit drei, sechs und neun Kanälen sowohl in Durchsteck- als auch SMD-Gehäusen (Surface Mount Device) an. Betrachten Sie beispielsweise eine Schaltung mit einem LogiSwitch LS18-S-Gerät (Abbildung 5).

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 des Geräts). Im Gegensatz zu einigen anderen dedizierten IC-Lösungen erfordern LogiSwitch-Entprellgeräte außerdem 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 nutzt die proprietäre adaptive NoBounce-Technologie von LogiSwitch, die ein hohes Maß an Störfestigkeit bietet. Rauschspitzen von weniger als 20 ms Dauer dürfen keinen Zyklus starten oder beenden, und die Ausgänge werden nach dem letzten Schalterprellen bei Aktivierung und Loslassen um einen Zeitraum von 20 ms verzögert, unabhängig von der Prelldauer.

Abschluss

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

Das Prellsignal eines Schalters wird häufig mithilfe von Software entprellt, die in einem Mikrocontroller ausgeführt wird. Obwohl dies, wie gezeigt, eine kostengünstige Lösung ist, ist sie möglicherweise nicht in allen Fällen die beste Option, einschließlich Systemen, die auf leistungs- und speicherbeschränkten Mikrocontrollern basieren, Softwareentwicklern, denen es an Fachwissen zu Schalterproblemen mangelt, oder Systemen, die ohne Mikrocontroller implementiert sind .

Alternativ kann die Entprellung in Hardware mithilfe verschiedener Ansätze durchgeführt werden, die von Widerstands-Kondensator-Netzwerken über SR-Latches bis hin zu dedizierten integrierten Schaltkreisen reichen.

Was ist Switch-Bounce?elektronische GeräteSoftware- versus Hardware-EntprellungHardware-Entprellung eines SPST-Switches mit einem RC-NetzwerkEntprellen eines SPDT-Schalters mit einem SR-LatchEntprellen eines SPST-Schalters mit einem dedizierten GerätAbschluss