Questo non è un buon circuito di rimbalzo.
Un problema è che (almeno idealmente) l'interruttore e i suoi fili di collegamento hanno una resistenza pari a zero. Ciò significa che il condensatore si scarica istantaneamente quando l'interruttore è chiuso. (In termini pratici, inoltre, questa scarica rapida potrebbe persino essere dannosa per i contatti dell'interruttore o il cablaggio, se sul condensatore è presente una tensione sufficientemente elevata e ha una capacità sufficientemente elevata.)
Un debounce dell'interruttore capacitivo dovrebbe caricare lentamente il condensatore quando l'interruttore è in uno stato e scaricarlo lentamente quando si trova in un altro stato. La costante RC non deve essere la stessa, ma dovrebbe essere qualcosa di diverso da zero. Il circuito ha resistori che controllano la carica del condensatore; ha solo bisogno di una resistenza nel circuito dell'interruttore per scaricarlo con grazia.
Un altro problema con questo circuito è che il LED è spento solo se il circuito è stato acceso per un po 'di tempo, come se il circuito esistesse dall'inizio del tempo con quella stessa sorgente di tensione. Ma cosa succede se, al momento , la sorgente di tensione è stata 0V e salta improvvisamente alla sua tensione? In quel momento, il condensatore, che deve essere stato vuoto, inizia a caricarsi. Durante la carica, la corrente scorre e il LED si illumina brevemente e poi si spegne. (Beh, forse no, perché la tua fonte ha solo 1V, ma questa è un'altra storia).t = 0
In CircuitLab, puoi distinguere queste due situazioni nella simulazione "Dominio temporale". Puoi "Salta iniziale" oppure no. Il risolutore può fingere che il circuito sia esistito nel dato stato per tutta l'eternità fino al tempo , e iniziare a risolverlo da lì. Oppure può risolverlo dal punto di vista del fatto che il circuito è appena nato a e le sorgenti di tensione prendono vita, i condensatori sono vuoti e così via.t = 0t = 0t = 0
Un'ultima considerazione qui è che il circuito illumina solo un LED, quindi il rimbalzo dell'interruttore è sostanzialmente discutibile, a meno che il LED non brilli su un rilevatore ottico in cui il rimbalzo dell'interruttore si trasforma in un difetto nel segnale. Se il compito del LED è quello di fornire solo una bella luce, il tuo occhio non sarà nemmeno abbastanza veloce da vedere l'interruttore rimbalzare.
Ecco una simulazione nel dominio del tempo del circuito (dopo aver cambiato V1 in 3V). Ciò che viene tracciato è la corrente del LED. Importante: il parametro Skip Initial è impostato su Sì, quindi possiamo vedere cosa succede quando il condensatore è inizialmente vuoto e la sorgente di tensione si eccita a 3V. Questo è tutto con l'interruttore in uno stato aperto.
Come puoi vedere, la corrente aumenta attraverso il LED e poi si spegne. Se il tuo intento era che il LED fosse controllato rigorosamente dall'operatore tramite il pulsante, il tuo progetto non implementerà il tuo intento al cento per cento.
Per quanto riguarda il commento qui sotto, supponiamo che l'obiettivo sia effettivamente guidare un pin del microcontrollore (tutto ciò che funziona a 5 V). In primo luogo, possiamo farlo senza alcuna capacità e gestire il debouncing nel software campionando il pin a una velocità ragionevolmente bassa.
simula questo circuito - Schema creato usando CircuitLab
Quando l'interruttore è aperto, l'uscita viene tirata a 0 V dal resistore pull-down. Quando chiudiamo l'interruttore, la tensione nella parte superiore della resistenza sale a 5V. Questa uscita può essere considerata come un segnale. Siamo interessati alla componente a bassa frequenza del segnale: pressioni interruttore relativamente lente. Vogliamo rifiutare le alte frequenze, come il cambio di rimbalzo. A tale scopo, possiamo aggiungere un filtro passa basso RC passivo unipolare:
simula questo circuito
Ora quando l'interruttore si chiude, la tensione aumenta gradualmente man mano che il condensatore viene caricato. Puoi vederlo nella simulazione del dominio del tempo:
Quando l'interruttore viene aperto, il condensatore si scarica attraverso R1 e R1, riportando gradualmente la tensione a zero. Il condensatore segue fondamentalmente la tensione di R1, ma con un ritardo dovuto alla necessità di caricare attraverso R1 e scaricarsi attraverso R1 e R2. (Nota che lo scarico è due volte più lento della carica!)
L'ingresso a microprocessore rileva la tensione con alta impedenza, quindi possiamo ignorare il suo effetto di caricamento e nemmeno mostrarlo sul diagramma. Non possiamo farlo nel caso del LED perché richiede corrente che il nostro circuito deve fornire. Quella corrente fluisce attraverso i nostri resistori e sviluppa tensioni di cui dobbiamo tener conto: in altre parole, ha "effetti di caricamento".
Questo tipo di circuito funziona ancora meglio se alimentiamo l'uscita a un trigger Schmidt. Un trigger Schmidt è una sorta di buffer per segnali digitali che mostra un'isteresi simile a un termometro. La sua uscita aumenta quando viene superata una soglia di ingresso elevata e scende quando viene superata una soglia bassa diversa. Ad esempio, potrebbe aumentare quando l'ingresso supera 3,5 volt e scendere solo quando l'ingresso scende al di sotto di 1,5.
Quindi, anche se il condensatore permette attraverso un po 'di rumore che potrebbe comunque causare qualche piccolo ribaltamento avanti e indietro vicino al superamento della soglia di un ingresso, il trigger Schmidt lo rifiuterà.
Supponiamo di voler rimbalzare il LED con un condensatore? Il problema è che le resistenze finiscono per essere troppo basse a causa della necessità di fornire corrente al LED. Se utilizziamo semplicemente lo stesso circuito e riduciamo i resistori (e il condensatore si ingrandisce dello stesso fattore), si finisce con qualcosa che consuma energia. Il modo per farlo è quello di utilizzare un piccolo circuito di segnale per gestire l'interruttore e rimbalzarlo, quindi utilizzare la tensione per controllare un transistor che scarica corrente nel LED.
Anche se rimbalzare un LED potrebbe essere inutile, se rendiamo i resistori e / o il condensatore abbastanza grandi, possiamo ottenere un comportamento piacevole: quello del LED che si sbiadisce lentamente quando si tiene premuto il pulsante e che si sbiadisce quando viene rilasciato.
simula questo circuito
Questo è lo stesso circuito di prima: il nodo "out to microcontroller" ora si collega alla base di un MOSFET a canale n che guida la corrente al LED. Il MOSFET "buffer" la logica di debounce dal pilotaggio del LED. Il circuito di debounce non è disturbato dalla bassa impedenza del LED e il LED non è privo di corrente dalle alte impedenze nel circuito di debounce.