Bonjour,
Suite à cette remarque de @jef59, j’ai fait une fiche de synthèse :
Fiche de synthèse : anti-rebonds – montage pull-up (tension oscillant entre 0 et 5 V) :
1/ Principe de Fonctionnement :
Lorsqu’on réalise un montage électronique, le signal peut être perturbé par l’environnement (CEM : champs électromagnétiques, électricité statique, proximité d’appareils, etc.). Ces perturbations peuvent fausser l’état logique lu sur une entrée (par exemple un 0 interprété comme 1).
Pour garantir un signal stable, on utilise une résistance de pull-up : elle maintient l’entrée à un niveau haut (ex. 5 V) tant que le bouton n’est pas pressé. Lorsque l’utilisateur appuie, le bouton relie l’entrée à la masse, ce qui donne 0 V.
Cette résistance évite donc les valeurs flottantes et empêche un court-circuit direct entre +5 V et GND.
Cependant, un bouton mécanique provoque des rebonds : lors de l’appui et du relâchement, le contact oscille très rapidement entre fermé et ouvert, générant plusieurs transitions parasites.
Pour filtrer les rebonds, on place un condensateur en parallèle avec le bouton.
Ce condensateur ne peut pas se charger ou se décharger instantanément : il ralentit les variations de tension lors de l’appui, et il empêche toute montée de tension tant que les rebonds de relâchement persistent. Ainsi la lecture du µC en S1 est filtrée des rebonds mécaniques du bouton poussoir.
2/ Fonctionnement détaillé :
Appui sur le BP (passage de 5 V à 0 V - tensions approximatives) :
Le condensateur était chargé à 5 V.
Lors de l’appui, il se décharge progressivement vers la masse (quelques millisecondes).
Même si le bouton rebondit et s’ouvre et se referme brièvement, la tension n’a pas le temps de remonter, car le condensateur continue de se décharger.
Le signal descend en une seule fois et de façon lissée.
Relâchement du BP (passage de 0 V à 5 V - tensions approximatives)
Le condensateur est alors déchargé.
Pendant les rebonds du relâchement, chaque micro-recontact à la masse décharge à nouveau le condensateur : la tension reste donc basse, et la broche du micro-contrôleur lit toujours “0”.
- En détail : Le contact se referme brièvement plusieurs fois sur GND. Chaque fois que cela arrive, le condensateur, qui commençait à se charger, est instantanément déchargé (car la résistance du bouton fermé est de quelques ohms c’est à dire très faible).
Le nœud en S1 retourne aussitôt à 0 V.
Tant que les rebonds continuent, la tension du nœud reste basse et le Le µC lit 0 logique en continu sur S1. Ce n’est qu’après la fin des rebonds que le condensateur se recharge réellement via la résistance de pull-up, provoquant une montée unique et progressive de la tension jusqu’à 5 V.
Le signal remonte en une seule fois, sans oscillations, à la fin des rebonds.
Pour un montage en pull-down, c’est l’inverse pour les niveaux logiques mais le filtrage RC anti-rebond fonctionne de la même façon (à l’appui les rebonds sont filtrés par le chargement de C et au relâchement chaque micro-fermeture empêche C de se décharger le temps des rebonds, le µC lit « 1 » jusqu’à la fin des rebonds)
3/ Constante de temps :
La charge ou la décharge d’un condensateur est exponentielle et non linéaire.
On caractérise cette évolution avec la constante de temps tau :
tau = R×C et dans notre cas :
tau = 10 kΩ x 100 nF = 1 ms (environ)
Les pourcentages caractéristiques sont :
-
1 tau→ 63 % du changement effectué
-
2 tau → 86 %. //
-
3 tau → 95 %. //
-
5 tau → 99 % (variation considérée comme stabilisée)
On considère donc qu’en théorie la transition (charge ou décharge) est pratiquement terminée entre 3 et 5 tau, soit ici environ 3 à 5 ms. Mais en pratique c’est le franchissement réel du seuil logique par C qui compte.
Cette constante de temps (tau = RC) permet de calculer R ou C en fonction des besoins.

