WikiElectronique

Wiki sur l'électronique et l'informatique

Outils pour utilisateurs

Outils du site


les_rebonds

Les rebonds

Quand un contact mécanique est actionné des rebonds sont créés. Le passage d'un niveau haut à un niveau bas n'est jamais direct :

:rebonds:rebonds.jpeg

FIXME : Il y a aussi des rebonds lors de l'ouverture du bouton poussoir, donc du front montant.

La durée des rebonds est d'environ 1ms.
Ils deviennent problématiques si le CI est déclenché sur front descendant.
Dans notre cas il sera déclenché 4 fois au lieu d'une seule comme on le souhaite

Solutions

Circuit RC

Un circuit RC (Résistance/Condensateur) dont la constante de temps est grande devant la période des rebonds.

Bascule RS

Traitement logiciel

Si on a par exemple un bouton poussoir connecté à une entrée d'interruption d'un microcontroleur et que l'on souhaite comptabiliser le nombre d'action* sur le bouton poussoir. On peut :

  • Configurer une interruption pour qu'elle se déclanche sur un changement d'état (front montant et front descendant)
  • Lors de l'interruption :
    • Désactiver les interruptions, pour ne pas déclancher l'interruption sur des rebonds.
    • Faire une tempo de 20ms
    • Incrémenter une variable : i=i+1, Si i == 1 on a juste détecté la fermeture du BP, si i == 2 on a détecté la fermeture et l'ouverture du BP, soit une action.
    • Si i == 2 : compteur=compteur+1
    • Réactiver les interruptions

*Action : Une pression + un relâchement

les_rebonds.txt · Dernière modification : 2018/05/24 08:51 de 194.199.240.151

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki