title: Circuito anti-rimbalzo
text: # Circuito anti-rimbalzo
  
  Il circuito anti-rimbalzo viene utilizzato in elettronica per produrre un solo impulso stabile in presenza di un ingresso che risulti elettricamente rumoroso. Di solito viene usato in presenza di un deviatore o un pulsante e viene utilizzato per eliminare i vari impulsi spurii tipici di una contatto effettuato meccanicamente.
  
  L'origine dei suddetti disturbi in presenza di pulsanti o interruttori è dovuta al fatto che la lamina di contatto non garantisce, una volta commutata, un impulso immediatamente stabile. La semplice chiusura del contatto elettromeccanico genera frequentemente, al posto di un impulso preciso e continuo, un treno di impulsi più stretti e ripidi, dovuti sia agli effetti di rimbalzo della lamina di contatto del componente elettromeccanico che ad una degradazione delle capacità conduttive dei contatti stessi, dovuta ad esempio a sporcizia od ossidazione degli stessi.
  
  La scelta della tipologia di circuito da utilizzare è legata sia alla natura dell'elemento disturbante (pulsante singolo o doppio, relè, segnale disturbato, ecc.) sia all'eventuale disponibilità di blocchi circuitali inutilizzati all'interno dello schema elettrico.
  
  ## Tipi di circuiti anti-rimbalzo
  
  Le tipologie di circuiti anti-rimbalzo più diffuse possono utilizzare sia componentistica prettamente analogica, come resistori e condensatori, basarsi su circuiti digitali come le porte logiche o anche utilizzare soluzioni ibride, come nel caso dei sistemi con multivibratore.
  
  ### Circuito analogico
  
  L'impulso di disturbo ha la caratteristica di essere composto da impulsi piuttosto brevi e con fronti ripidi e quindi il suo spettro è concentrato nelle alte frequenze. Un approccio possibile nella risoluzione del problema è, quindi, l'utilizzo di un filtro passa basso di tipo R-C che tende ad eliminare, appunto, le componenti in alta frequenza che costituiscono la maggior parte del disturbo stesso. La squadratura finale del segnale ripulito avviene tramite un circuito a comparatore o uno di tipo Schmitt Trigger. I vantaggi di tale approccio sono un basso costo di realizzazione ed un'elevata semplicità circuitale. Per contro, in presenza di commutazioni particolarmente rumorose dal punto di vista elettrico, non garantisce l'immunità al disturbo. A tale inconveniente sarebbe possibile rimediare aumentando la costante di tempo del gruppo RC, ma valori troppo elevati di tale parametro introdurrebbero dei ritardi nella commutazione che potrebbero risultare problematici.
  
  ### Circuito digitale
  
  Una versione più sofisticata di circuito anti-rimbalzo può essere realizzata tramite porte logiche. In particolare, vengono utilizzate porte NAND o NOR collegate tra loro a realizzare un flip flop di tipo Set-Reset. La funzione di anti-rimbalzo si basa sulla caratteristica di tale circuito di mantenere lo stato dell'uscita indipendentemente dal numero di impulsi ricevuti sul corrispondente ingresso. Ovviamente, per invertire il segnale in uscita l'impulso di commutazione andrà applicato su due diversi ingressi (il Set ed il Reset). Questo tipo di circuito ha un'immunità al disturbo enormemente maggiore rispetto alla versione analogica, a scapito però di una maggiore complessità circuitale (e quindi di costo realizzativo). Può risultare particolarmente conveniente nel momento in cui, durante la realizzazione dello schema elettrico, si realizzi una condizione tale per cui almeno due porte NAND o NOR risultino libere (spare ports) e possano quindi essere utilizzate senza aggiungere componentistica attiva.
  
  ### Circuito a monostabile
  
  Di uso meno frequente rispetto ai primi due, il circuito anti-rimbalzo a monostabile si basa su un principio simile a quello del circuito digitale senza la necessità di avere un doppio segnale di Set e Reset. In pratica, l'impulso viene inviato ad un circuito multivibratore monostabile che ha la caratteristica di generare all'uscita un impulso di lunghezza fissa indipendentemente dalla lunghezza o dal numero degli impulsi in ingresso (nel caso di un multivibratore non retriggerabile) o di lunghezza costante in aggiunta all'impulso in ingresso (multivibratore retriggerabile). In entrambi i casi, scegliendo opportunamente la durata dell'impulso di uscita, in modo che sia sicuramente superiore alla durata del disturbo, il multivibratore funzionerà da filtro eliminando il rimbalzo.
  
  ### Anti-rimbalzo software
  
  Anche se non si tratta di un vero e proprio circuito anti-rimbalzo classico, una funzione analoga può essere svolta via software, ad esempio, dai microcontrollori. Effettuando letture multiple dello stato del segnale d'ingresso e facendo una media dei valori letti, visto che gli impulsi di disturbo sono quantitativamente molto inferiori ai livelli del segnale vero e proprio, si otterrebbe un effetto analogo a quello descritto dal circuito anti-rimbalzo analogico senza aggiunta di componentistica esterna aggiuntiva; un algoritmo alternativo, ancora più semplice, prevede di registrare in una variabile l'ora in cui si verificano i cambiamenti di stato, e di ignorare quelli che avvengono all'interno di una soglia di tempo prestabilita ritenuta ragionevole (ad esempio 200 ms) successiva all'ultimo cambiamento considerato valido.
  
  