Cómo implementar la protección contra rebotes de hardware para interruptores y relés cuando la protección contra rebotes de software no es apropiada
HogarHogar > Noticias > Cómo implementar la protección contra rebotes de hardware para interruptores y relés cuando la protección contra rebotes de software no es apropiada

Cómo implementar la protección contra rebotes de hardware para interruptores y relés cuando la protección contra rebotes de software no es apropiada

Jun 14, 2024

En el contexto de la ingeniería eléctrica y electrónica, un interruptor es un componente que puede "abrir" o "romper" un circuito eléctrico, interrumpiendo así una corriente eléctrica o desviándola de un conductor a otro. Como pueden atestiguar los ingenieros, existen muchos tipos diferentes de interruptores, incluidos interruptores de palanca, interruptores basculantes, interruptores de botón, microinterruptores y de límite, interruptores magnéticos y de láminas, y relés. Todos tienen una cosa en común: rebotan. Es simplemente lo que hacen.

Normalmente, este rebote tiene poco o ningún efecto en el circuito, pero si el circuito digital es lo suficientemente rápido como para detectar y responder a múltiples rebotes, puede haber consecuencias graves. La tarea de un ingeniero es evitar o mitigar los efectos de este rebote, o "antirrebotar" el interruptor. Si bien la industria ha practicado durante mucho tiempo la protección contra rebotes de hardware, más recientemente ha adoptado enfoques de protección contra rebotes basados ​​en software. Sin embargo, hay situaciones en las que el rebote de hardware es una mejor opción.

Este artículo explica el rebote y analiza los enfoques de software y hardware para combatir el rebote. Luego señala casos en los que la protección contra rebotes de hardware es una mejor opción antes de mostrar cómo se puede implementar. Se presentan ejemplos de dispositivos de conmutación y componentes antirrebote de hardware mediante ejemplos de NKK Switches, ON Semiconductor, Texas Instruments, Maxim Integrated y LogiSwitch.

¿Qué es el rebote del interruptor?

Cuando se acciona o conmuta un interruptor o relé, lo que un ser humano percibe como una única respuesta instantánea cada vez que el dispositivo cambia de estado puede en realidad implicar 100 o más acciones decisivas que persisten durante varias milésimas de segundo antes de que finalmente se produzca el contacto. se asienta en su lugar.

Por ejemplo, considere un interruptor de palanca de montaje en panel unipolar, de una vía (SPST) normalmente abierto (NO) como un M2011SS1W01 de NKK. Supongamos que un lado de este interruptor, que puede considerarse la entrada, está conectado a tierra (0 voltios), mientras que el otro lado, que en este caso es la salida, está conectado a una fuente de alimentación de 5 voltios (que se muestra como +ve ) a través de una resistencia pull-up (R1) (Figura 1).

Observe que el rebote del interruptor puede ocurrir tanto cuando el interruptor está activado (cerrado) como desactivado (abierto). A veces, los rebotes pueden hacer una transición completa entre los rieles de suministro, aquí considerados estados lógicos 0 y 1. En este caso se trata de rebotes “limpios”. En comparación, si la señal alcanza sólo un voltaje intermedio, se denominan rebotes "sucios".

En el caso de un interruptor de palanca de montaje en panel unipolar y bidireccional (SPDT) como el M2012SS1W01-BC de NKK, se pueden producir rebotes tanto en los terminales normalmente abiertos (NO) como en los normalmente cerrados (NC) (Figura 2). En este caso, por simplicidad, sólo se han mostrado rebotes “limpios”.

En muchos casos, la duración del rebote de esta señal es tal que no tiene ningún efecto. Los problemas surgen cuando se conecta un interruptor a un equipo electrónico que es lo suficientemente rápido como para detectar y responder a múltiples rebotes. Lo que se requiere es una forma de evitar el rebote de la señal proveniente del interruptor antes de que el interruptor actúe sobre ella.equipo electronico.

Rebote de software versus hardware

En las décadas de 1960 y 1970, el rebote del interruptor se implementó utilizando una variedad de técnicas de hardware, desde simples circuitos de retardo de resistencia-condensador (RC) utilizados con interruptores SPST hasta funciones de pestillo de configuración/reinicio (SR) más sofisticadas.

Más recientemente, y debido a que muchos sistemas cuentan con una unidad de microprocesador (MPU) o una unidad de microcontrolador (MCU), se ha vuelto común utilizar técnicas de software para evitar el rebote de la señal proveniente de cualquier interruptor. Sin embargo, el rebote del software no siempre es el mejor enfoque. Hay algunas aplicaciones que involucran procesadores pequeños, de bajo rendimiento y con memoria limitada, con espacio de código limitado y/o ciclos de reloj disponibles para implementar rutinas antirrebote. En estos casos, una implementación de hardware puede ser una mejor solución.

Además, muchos desarrolladores de software no están familiarizados con las características físicas de los interruptores, como el hecho de que además de variar de una activación a otra, las características de rebote de un interruptor pueden verse afectadas por condiciones ambientales como la temperatura y la humedad.

El problema de la falta de experiencia en conmutadores de los desarrolladores de software se ve exacerbado por el hecho de que la literatura disponible sobre el rebote de conmutadores suele ser confusa y contradictoria. Por ejemplo, es común leer que un interruptor habrá dejado de rebotar 1 milisegundo (ms) después de su activación o desactivación. Sin embargo, el conocido experto en sistemas integrados Jack Ganssle realizó pruebas empíricas en una variedad de tipos de interruptores, activando cada interruptor 300 veces y registrando la cantidad mínima y máxima de rebote tanto para la apertura como para el cierre de los contactos. Informó una duración de rebote promedio de 1,6 ms y una duración de rebote máxima de 6,2 ms. Algunas “mejores prácticas” industriales y militares recomiendan esperar 20 ms después de la activación inicial antes de asumir que el interruptor ha dejado de rebotar; otros recomiendan esperar 20 ms después del último rebote detectado antes de activar cualquier acción.

Además, existen muchos sistemas simples no basados ​​en procesadores que también requieren que los interruptores sean antirrebotes. Algunos ejemplos de tales sistemas son un contador binario que controla pantallas de siete segmentos y que cuenta los pulsos de un relé; la entrada del disparador a un temporizador de un disparo 555 se utiliza como control de motor para una puerta o portón; y una máquina de estados finitos (FSM) basada en registros que emplea entradas con clave. También hay potenciómetros de ajuste electrónicos (potenciómetros) con valores modificados mediante entradas de interruptor (arriba, abajo y, a veces, almacenar) donde el rebote del interruptor sería problemático.

Todos estos ejemplos dejan claro que algún conocimiento sobre cómo realizar el rebote de hardware puede ser útil para cualquier diseñador o desarrollador.

Hardware antirrebote de un conmutador SPST con una red RC

Una de las soluciones antirrebote de conmutadores basadas en hardware más sencillas emplea una red de resistencia-condensador (RC) junto con un conmutador SPST. Hay muchas variaciones de dicho circuito. Una de las implementaciones más versátiles involucra dos resistencias y un diodo (Figura 3).

Cuando el interruptor se activa (cierra), el condensador C1 se descarga a través de la resistencia R2. Si se hubiera omitido el diodo D1 de este circuito, cuando el interruptor se desactivara (abriera), C1 se cargaría a través de resistencias (R1 + R2). Sin embargo, la presencia de D1 significa que C1 se cargará únicamente a través de R1.

En algunos casos, sólo es de interés la activación del interruptor (es decir, desencadena que se produzcan acciones), en cuyo caso se puede omitir D1. Sin embargo, si se van a activar acciones cuando el interruptor está activado y desactivado, y si se considera minimizar el retraso, se recomienda agregar D1.

Observe las curvas exponenciales de carga y descarga que presenta el voltaje del capacitor VC. No sería una buena idea enviar esta señal directamente a la entrada de una función lógica digital descendente, que no apreciaría ver una señal que se detiene en la región indefinida entre los valores lógicos 0 y 1 “buenos”. En cambio, esta señal se envía a la entrada de un búfer con una entrada de disparador Schmitt. Además, normalmente se utiliza un búfer inversor, como un canal de un CD74HC14M96 de Texas Instruments, porque las funciones inversoras cambian más rápido que sus contrapartes no inversoras.

Antirrebote de un interruptor SPDT con un pestillo SR

En el caso de un conmutador SPDT, una solución antirrebote de hardware común es emplear un pestillo SR. Desde que empresas como IBM utilizaron esta técnica para los paneles de conmutación de sus computadoras centrales alrededor de la década de 1960, este enfoque ha sido considerado como la crème de la crème de las soluciones simples de eliminación de rebotes de hardware. Un pestillo de este tipo se puede formar utilizando dos puertas NAND de dos entradas consecutivas; por ejemplo, empleando dos canales de un IC NAND cuádruple de dos entradas SN74HC00DR de Texas Instruments (Figura 4).

Cuando el terminal NC del interruptor está conectado a tierra, como se muestra en la mitad superior de la Figura 4, esto fuerza la salida de la puerta g2 a la lógica 1. A su vez, los dos 1 lógicos en las entradas a la puerta g1 fuerzan su salida a la lógica 0. En comparación, cuando el terminal NO del interruptor está conectado a tierra, como se muestra en la mitad inferior de la Figura 4, esto fuerza la salida de la puerta g1 a la lógica 1. A su vez, los dos 1 lógicos en las entradas a la puerta g2 fuerzan su salida a 0 lógico.

La razón por la que este circuito funciona tan bien es que cuando ambas entradas están en sus estados lógicos 1 inactivos, el pestillo SR recuerda su valor anterior. Recuerde que, como se ilustra en la Figura 2, cuando se conmuta un interruptor SPDT, cualquiera de sus terminales que esté conectado a tierra (en ese momento) rebota primero. Dado que estos rebotes se producen entre su valor original (0 lógico) y su nuevo valor (1 lógico), no tienen ningún efecto en el estado actual del pestillo SR. Sólo después de que este terminal deja de rebotar, su contraparte comienza a rebotar, momento en el que el pestillo SR cambia de estado.

Cómo eliminar el rebote de un conmutador SPST con un dispositivo dedicado

Un problema con la solución anterior es que muchos diseñadores prefieren usar interruptores SPST porque generalmente cuestan menos que los SPDT. Hay varios dispositivos antirrebote SPST dedicados conocidos en el mercado, como el MC14490DWG de ON Semiconductor y el MAX6818EAP+T de Maxim Integrated.

Otro fabricante, LogiSwitch, ofrece un conjunto de soluciones antirrebote de tres, seis y nueve canales en paquetes de dispositivos de montaje en superficie (SMD) y de orificio pasante. Por ejemplo, considere un circuito que utiliza un dispositivo LogiSwitch LS18-S (Figura 5).

Como todos los miembros de la familia LogiSwitch, el LS18-S admite un rango de voltaje de funcionamiento de 2,5 a 5,5 voltios (el valor del voltaje de alimentación no afecta el tiempo de respuesta del dispositivo). Además, a diferencia de otras soluciones IC dedicadas, los dispositivos antirrebote LogiSwitch no requieren componentes adicionales como un reloj externo, una red de sincronización RC o resistencias pull-up en las entradas o salidas.

El LS18-S utiliza la tecnología adaptativa NoBounce patentada por LogiSwitch, que ofrece un alto nivel de inmunidad al ruido. Se prohíbe que los picos de ruido de menos de 20 ms de duración inicien o finalicen un ciclo, y las salidas se retrasan durante un período de 20 ms después del rebote final del interruptor tanto en la activación como en la liberación, independientemente de la duración del rebote.

Conclusión

Hay muchos tipos diferentes de interruptores, incluidos los interruptores de palanca, los interruptores basculantes y los interruptores de botón, todos los cuales pueden rebotar. Si no se mitiga, el rebote del interruptor puede hacer que los microprocesadores y otros circuitos electrónicos consideren que la activación de un solo interruptor comprende múltiples eventos.

La señal que rebota de un interruptor a menudo se elimina mediante un software que se ejecuta en un microcontrolador. Aunque se trata de una solución de bajo coste, como se muestra, puede que no sea la mejor opción en todos los casos, incluidos sistemas basados ​​en microcontroladores con rendimiento y memoria limitada, desarrolladores de software que carecen de experiencia en cuestiones relacionadas con conmutadores o sistemas implementados sin un microcontrolador. .

Como alternativa, la eliminación de rebotes se puede realizar en hardware utilizando una variedad de enfoques que van desde redes de resistencia-condensador hasta pestillos SR y circuitos integrados dedicados.

¿Qué es el rebote del interruptor?equipo electronicoRebote de software versus hardwareHardware antirrebote de un conmutador SPST con una red RCAntirrebote de un interruptor SPDT con un pestillo SRCómo eliminar el rebote de un conmutador SPST con un dispositivo dedicadoConclusión