Debounce

De Wiki Cursos IFPR Foz
Ir para navegaçãoIr para pesquisar

Bounce

O termo bounce se refere a trepidações que podem ocorrer na abertura ou fechamento de chaves mecânicas em circuitos elétricos, gerando múltiplas transições na chave antes de estabilizar em um valor. Estas múltiplas transições, ou falsos acionamentos da chave, podem provocar funcionamento errôneo de dispositivos, como por exemplo, de um microcontrolador que esteja fazendo leituras do estado desta chave.

Chaves elétricas

Uma chave elétrica simples geralmente envolve uma chave mecânica e um resistor. O resistor utilizado junto com a chave pode ser configurado como resistor pull-down ou resistor pull-up:

  • Pull-down se o resistor estiver conectado a terra;
  • Pull-up se o resistor estiver conectado ao Vcc.

  • Na configuração pull-down, quando a chave estiver aberta, o ponto de leitura tem nível baixo, por está conectado ao terra. Quando a chave for fechada o ponto de leitura parra a nível alto.
  • Na configuração pull-up, quando a chave estiver aberta, o ponto de leitura tem nível alto, por está conectado ao Vcc. Quando a chave for fechada o ponto de leitura parra a nível baixo.

Eliminação das trepidações ou debounce

O efeito bounce se refere a trepidações que podem ocorrer na abertura ou fechamento de chaves em circuitos elétricos, gerando múltiplas transições na chave antes de estabilizar em um valor.

Para eliminar o efeito das trepidações, ou debouce, pode-se utilizar técnicas de hardware, eliminando o as trepidações antes do microcontrolador fazer a leitura do dado, ou utilizar técnicas de software e utilizar algoritmos no microcontrolador para eliminar as trepidações indesejáveis após a leitura.

Eliminação das trepidações por hardware

Uma solução simples para eliminar as trepidações em chaves é baseada no uso de circuitos RC série, aproveitando a constante de tempo (τ) de carga e descarga do capacitor.

No circuito acima, R1 é o resistor pull-up conectado a chave. O resistor R2 e o capacitor C foram incluídos como uma rede RC para eliminar o efeito da trepidação da chave. Variações do circuito pode ser construídas para chaves conectadas a resistores pull-down.

Funcionamento do circuito
Referência: [1]

  • Quando a chave estiver aberta o capacitor C vai ser carregado através dos resistores R1 e R2 e a constante de tempo será ((R1 + R2) * C).
  • Quando a chave estiver fechada o capacitor C vai ser descarregado através do resistor R2 e a constante de tempo será (R2 * C).

Durante a trepidação da chave o capacitor não se descarrega/carrega totalmente devido a constante de tempo. Somente após a estabilização da chave o processo de carga e descarga do capacitor ficará consolidado.

Observe que a carga e descarga do capacitor eliminou as trepidações e fez com que a transição entre os níveis alto e baixo seguissem o formato exponencial da curva de carga e descarga do capacitor. Desta forma, há um atraso, ocasionado pela constante de tempo, para que o microcontrolador detecte cada transição da chave.

Note também que o capacitor R2 poderia ser desnecessário quando a chave for aberta, pois neste caso o resistor R1 poderia controlar sozinho a carga do capacitor e eliminar as trepidações. Entretanto, quando a chave for fechada, caso o resistor R2 não existisse, o capacitor seria colocado em curto, descarregando instantaneamente, podendo provocar danos ou imprecisões no funcionamento do circuito. [2]

Para a escolha correta dos resistores e capacitores deve garantir que o tempo de carga e descarga do capacitor seja superior ao tempo de estabilização da chave.

Versões mais aprimoradas deste circuito são descritos em [1].

Referências


Evandro.cantu (discussão) 17h50min de 23 de setembro de 2021 (-03)