Después de lidiar con la eliminación de rebotes del software por un tiempo, encuentro que tiene un alto costo en el sistema, así que pensé en hacer inicialmente un rebote de hardware con un disparador Schmitt (74HC14), un condensador, un botón y una resistencia como se muestra a continuación en talkingelectronics.com :
Pero leí que el disparador Schmitt es la mitad de desagradable que un inversor normal al determinar cuándo emitir un valor alto o bajo, porque cambia de estado en la marca del 33% y 66%, donde un inversor normal cambiaría más cerca de la marca del 50% (pero con la versión HC probablemente sea más del 55%).
Me preguntaba, porque el disparador Schmitt es de seis inversores en un paquete, mejoraría considerablemente la eliminación de rebotes con cualquier botón de mi elección aplicado a la primera entrada si hiciera seis del circuito en el lado derecho con los mismos valores de componente y conectara todos de ellos en serie? (Ejemplo: salida del primer circuito a la entrada del segundo circuito donde se encuentran el condensador y la resistencia).
fuente
Respuestas:
El uso de disparadores Schmitt en serie no reduciría aún más el rebote.
Considere el filtro:
La entrada es (U). La línea roja es un umbral del 50%, cuya salida se ve como señal (A). Rebota cada vez que se cruza la entrada.
Las líneas verdes son algo así como el 33% y el 66%, como has dicho. Pero la salida (B) solo cambia cuando la entrada (U) cruza de un umbral verde al otro.
Lo más importante, la salida es totalmente ALTA o BAJA (digital). Entonces, si la salida de un disparador Schmitt se alimenta a la entrada de otro, esencialmente no habría diferencia.
Tome la salida filtrada de arriba (B) y piense cómo sería visto por otro disparador de Schmitt:
Nuevamente, la salida del primero sería ALTA o BAJA. Por lo tanto, cruzaría los umbrales al mismo tiempo, dando como resultado la misma salida que la entrada. ¡No hay nada que renunciar! En todo caso, esperaría que creara más ruido, porque está introduciendo más componentes y, por lo tanto, más margen de error.
Parece que lo que está buscando es un disparador Schmitt con umbrales ajustables. Algunos son simétricos (por ejemplo: 33% y 66%, o 10% y 90%). Otros no son simétricos (por ejemplo: 33% y 80%). Puedes crear el tuyo usando un amplificador operacional.
Intenta jugar con esta simulación que armé hace un tiempo: Schmitt Trigger Simulation - No invertido No simétrico
fuente
Se puede usar un solo disparador Schmitt con un filtro analógico delante para eliminar el rebote. Sin embargo, después de ese disparo de Schmitt, la señal es completamente digital. Cualquier activador adicional de Schmitt no cambiará eso. Idealmente, preservarán la señal.
En otro tema, la eliminación de rebotes en el firmware no debería presentar mucha carga. La forma habitual es muestrear el estado del interruptor en una interrupción periódica que ya tiene de todos modos. Usted declara el estado sin rebote el valor actual del interruptor cuando ha visto el interruptor en ese estado durante N muestras consecutivas. Por lo general, requiero que el interruptor esté en el mismo estado durante 50 interrupciones consecutivas de 1 ms para que el nuevo estado se considere válido. Eso generalmente toma una fracción muy pequeña de los ciclos generales del procesador.
fuente