¿Es posible usar solo un condensador para eliminar el rebote de un botón?

19

Me he estado preguntando: ¿por qué no puedes conectar un condensador a un botón para eliminar el rebote? He estado descubriendo cómo reducir el trabajo que tiene que hacer mi microprocesador, pero tengo un espacio muy limitado en un PCB que estoy diseñando, por lo que no quiero hacer un circuito de rebote completo que complicaría el diseño.


esquemático

simular este circuito : esquema creado con CircuitLab


Ese es un circuito de ejemplo; perdón por cualquier error (no soy bueno diseñando circuitos con condensadores). ¿Funcionaría esto? Para el cambio de tachuela, no pude encontrar uno que coincida con lo que es en la vida real, pero funciona para esta situación. El botón es como el que se encuentra aquí . D10significa Digital Pin 10, pero no importa; solo significa la entrada Arduino. Tampoco sé qué tamaño de condensador necesitaría, así que si este circuito funciona, ¿qué tamaño necesito?


Nuevamente, solo estoy tratando de simplificar esto para que sea más fácil de construir sin tener que eliminar el rebote del software. Al observar cómo funcionan los condensadores, parece que funcionaría, pero también podría hacer que el botón se presione más tiempo / retrasarlo si la capacitancia es demasiado grande. Se usan comúnmente para "suavizar" el ruido en las fuentes de alimentación, entonces, ¿no es esto algo similar cuando "suaviza" el rebote? También se agradecería cualquier modificación del circuito para que funcione (si es necesario).

Pingüino anónimo
fuente
1
Aquí es donde lo hemos discutido antes: electronics.stackexchange.com/questions/6884/…
Andy aka
55
¿Te das cuenta de que puedes eliminar el rebote de una entrada simplemente sondeándola con un intervalo de al menos 50 ms? Menos trabajo para tu aduino :)
Wouter van Ooijen
1
50 milisegundos harían, buen punto Sr. O
Andy, también conocido el
1
No, me refiero a la encuesta con un intervalo de al menos 50 ms, y haga lo que sea necesario según el nivel que detecte.
Wouter van Ooijen
1
@AnnonomusPerson: un retraso () en un entorno de subproceso único significa que nada más puede suceder. Si bien esa es una opción, otra es hacer otro trabajo útil hasta que sea hora de verificar nuevamente.
Chris Stratton

Respuestas:

12

Depende de cuál sea el estado predeterminado del conmutador. Un condensador solo se cargará cuando le dé un voltaje positivo. Por lo general, en un entorno integrado, utilizamos un pull-up para dar a un pin un estado alto predeterminado y vincular el interruptor a tierra. Agregar un condensador no ayudará aquí, porque no "almacenará" el estado fundamental.

Sin embargo, también puede usar un menú desplegable. Esto significaría que el pin es por defecto bajo. Al hacerlo alto presionando el interruptor, se cargará el condensador. Después de soltarlo, el capacitor mantendrá el pin alto por un tiempo, así que sí, esto funcionaría. No estoy seguro de si 1uF es suficiente, demasiado poco o demasiado, te recomiendo que mires con un alcance y lo pruebes un poco.


fuente
Entonces, ¿si cambiara el +y -funcionaría?
Anonymous Penguin
@AnnonomusPerson depende. ¿Cuál es el estado predeterminado del conmutador?
¿Quieres decir cuando no se presiona si conduce electricidad? Si eso es lo que quieres decir, puedo hacerlo de cualquier manera debido a la naturaleza del interruptor que estoy usando. Mirando el enlace en mi pregunta, cuando no se presiona, el botón conduce desde top left to the bottom lefty the top right to the bottom right. Cuando se presiona, conduce desde top left to the bottom right, y el top right to the bottom left.
Anonymous Penguin
Bueno. Esto significará que, por defecto, desea que el pin sea bajo. El interruptor debe hacer contacto con +, para que el capacitor se cargue un poco antes de soltar el botón.
3
@AnnonomusPerson No, el interruptor debe hacer contacto con +. Es una especie de jerga de lo que se conectará el interruptor cuando se presiona . El condensador está en el lugar correcto. La resistencia estaría mejor conectada desde tierra al pin IO directamente.