Cálculo del valor del circuito de eliminación de rebotes RC por hardware y el tiempo de carga/descarga

I. Principio básico y criterios de selección del circuito RC para eliminación de rebotes

La esencia del anti-rebote mecánico de un botón consiste en aprovechar la inercia en la carga y descarga del circuito RC (resistencia-condensador) para suavizar las fluctuaciones de voltaje generadas al presionar o soltar el botón, eliminando así los rebotes mecánicos. El circuito más común conecta una resistencia de pull-up R en paralelo con un condensador C a ambos extremos del botón. El parámetro clave es la constante de tiempo RC:

\boldsymbol{\tau = R \times C}
  • \tau: constante de tiempo RC, medida en segundos (s); representa el tiempo necesario para que el voltaje del condensador alcance el 63,2 % del valor estable durante la carga o descarga;
  • Desde el punto de vista ingenieril, se considera que el circuito alcanza un estado estable superior al 99 % y elimina completamente los rebotes tras un tiempo de \boldsymbol{5\tau};
  • La duración típica del rebote mecánico en pulsadores comunes es de 5 a 20 ms. Para garantizar una eliminación fiable del rebote, debe cumplirse que \boldsymbol{5\tau \geq 20\,\mathrm{ms}}, es decir, \boldsymbol{\tau \geq 4\,\mathrm{ms}}.

II. Valor recomendado del condensador con resistencia de pull-up de 10 kΩ

Conociendo que la resistencia de pull-up es R = 10\,\mathrm{k}\Omega = 10 \times 10^3\,\Omega y aplicando el requisito \tau \geq 4\,\mathrm{ms} = 4 \times 10^{-3}\,\mathrm{s}, se calcula la capacitancia mínima:

C_{\text{min}} = \frac{\tau}{R} = \frac{4 \times 10^{-3}}{10 \times 10^3} = \boldsymbol{400\,\mathrm{nF}}

Considerando los valores normalizados de componentes electrónicos, se recomienda la siguiente tabla para seleccionar el condensador con una resistencia de pull-up de 10 kΩ:

Valor nominal del condensador Constante de tiempo RC \tau Tiempo completo de eliminación de rebote (5\tau) Aplicabilidad
220 nF 2,2 ms 11 ms Efecto de filtrado débil; solo adecuado para botones de alta calidad con muy pocos rebotes
470 nF 4,7 ms 23,5 ms Satisface la mayoría de necesidades de eliminación de rebotes; combinación común en aplicaciones prácticas
1 µF 10 ms 50 ms Alta eficacia contra rebotes, pero respuesta del botón más lenta; adecuado para aplicaciones donde la velocidad de respuesta no es crítica

Conclusión: Con una resistencia de pull-up de 10 kΩ, se recomienda priorizar un condensador de 470 nF, ya que ofrece un buen equilibrio entre eficacia en la eliminación de rebotes y rapidez de respuesta del botón.

III. Cálculo del tiempo de carga y descarga con 10 kΩ y 470 nF

Aplicando la fórmula con valores exactos:

  1. Constante de tiempo RC
\tau = R \times C = 10 \times 10^3\,\Omega \times 470 \times 10^{-9}\,\mathrm{F} = \boldsymbol{0{,}0047\,\mathrm{s} = 4{,}7\,\mathrm{ms}}
  1. Tiempo de carga/descarga completo y eliminación fiable de rebotes

Para alcanzar más del 99 % del estado estable, se requiere un tiempo de 5\tau:

5\tau = 5 \times 4{,}7\,\mathrm{ms} = \boldsymbol{23{,}5\,\mathrm{ms}}

Este tiempo es mucho mayor que la duración máxima del rebote mecánico (20 ms), por lo que puede eliminar completamente los rebotes sin provocar un retardo notable en la respuesta del botón.

IV. Observaciones adicionales para aplicaciones prácticas

  1. Se recomienda usar preferentemente condensadores cerámicos multilayer (MLCC) o condensadores cerámicos, que ofrecen buena estabilidad y bajo costo. Evite usar condensadores electrolíticos (son polarizados y tienen mal comportamiento en frecuencias altas);
  2. Si el microcontrolador tiene resistencias de pull-up internas habilitadas en el pin GPIO, puede omitirse la resistencia externa de 10 kΩ, conectando directamente el condensador en paralelo con el botón;
  3. El anti-rebote mediante circuito RC es un filtro pasivo que no elimina completamente rebotes extremos. En aplicaciones que requieren alta fiabilidad, puede complementarse con anti-rebote por software (leer el nivel del GPIO, esperar un retardo de 10–20 ms y volver a leer), logrando así una doble protección contra rebotes.
1 me gusta

También se puede realizar la eliminación del rebote mediante software; una máquina de estados para botones puede implementar funciones como eliminación del rebote, pulsación corta, pulsación larga y doble clic.

1 me gusta