Debounce
Debounce
O termo 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. 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.
Na configuração pull-up, quando a chave estiver aberta, o ponto de leitura tem nível alto, por está conectado ao Vcc.
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 e figuras: [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).
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.
Note também que o capacitor R2 pode ser desnecessário quando a chave for aberta, pois neste caso o resistor R1 pode 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 e danificar o circuito.
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.
Outros detalhes e aprimoramentos deste circuito são descritos em [1].
Referências
- ↑ 1,0 1,1 Max Maxfield. Ultimate Guide to Switch Debounce, 2020. https://www.eejournal.com/article/ultimate-guide-to-switch-debounce-part-3/
Evandro.cantu (discussão) 17h50min de 23 de setembro de 2021 (-03)