¿Es esta una buena manera de deshacer un cambio?

4

Hay muchos circuitos de rebote en internet, pero realmente no pude encontrar uno que se ajustara a mis necesidades / partes disponibles, por lo que se me ocurrió lo mío, de lo que tenía. No tiene nada de especial, y probablemente ya exista, simplemente no lo he encontrado todavía.

Aquí está el esquema:

schematic http://kepfeltoltes.hu/141017/debouncing_www.kepfeltoltes.hu_.png

Supongo que también funciona con 5V, pero lo uso con mi Raspberry Pi, que tiene una lógica de 3.3V en los pines GPIO, por eso dice eso en el esquema.

Fui con el combo de 330k y 100nF porque leí que algunos conmutadores incluso pueden tener un rebote de más de 10 ms, por lo que realmente quería asegurarme de que esto sea más fácil. No necesito un cambio súper rápido, así que esto está bien para mí. Hace que los bordes ascendentes y descendentes sean muy suaves. Además, en cierto modo invierte el interruptor: cuando está abierto, la salida se lee alto, y cuando lo cierras, cae a 0V. Pero estoy bien con eso.

¿Entonces solo quería saber si esto es bueno o debo adoptar un enfoque diferente? ¿Que piensas de eso? ¿Algún consejo tal vez?

EDITAR:

Actualicé el circuito un poco en base a tus sugerencias. Me di cuenta de que las resistencias de 220 ohmios estaban perdiendo corriente por nada, por lo que las reemplacé con valores más apropiados. Además, fui con 100k / 150nF para una operación más rápida. Creo que el 330k / 100nF fue un poco excesivo. Como puede ver, eso alcanzaría 1.8V (aproximadamente el umbral lógico para los Raspberry Pi GPIOs) en aproximadamente 25ms . Este nuevo circuito toma aproximadamente 10 ms para alcanzar ese nivel, por lo tanto, permite más de 10 ms de rebote, lo cual es suficiente para casi todos los interruptores, y sigue siendo imperceptible para un humano.

También, sé que el transistor es redundante, pero ya lo construí de esta manera, así que lo dejo ahí.

Esquema 2 http://kepfeltoltes.hu/141018/debouncing_v2_www.kepfeltoltes.hu_.png

    
pregunta adam10603

3 respuestas

9

En su diseño, asumiendo que está usando una pequeña señal común NPN BJT (2n2222, BC547, 2n3904 ...), está perdiendo alrededor de 20-30mA de corriente cuando el interruptor está cerrado. Es decir, aproximadamente 10-15 mA a través de la resistencia superior de 220Ω y 10-15 a través de la inferior. Además, la conducción de la base del transistor con 10 mA o más en esta situación no tiene sentido: usar una resistencia de base de 10 KΩ y, por lo tanto, reducir la corriente de base hace que el circuito se comporte casi de la misma manera. Dicho esto, simplemente evitaría usar el transistor, algo como esto debería funcionar:

simular este circuito : esquema creado usando CircuitLab

Mantuve sus valores para R1 y C1, por lo que la frecuencia de corte del circuito es similar a la suya. Es decir, el pin GPIO no "verá" los cambios del conmutador por encima de 5Hz (bueno, simplistic y no es completamente exacto: consulte Wikipedia - Filtros de paso bajo para obtener información detallada).

R2 se usa como resistencia desplegable: es útil porque claramente tira del pin a tierra cuando el interruptor está abierto. Su valor no es crítico, algo entre 10 y 150KΩ debería estar bien.

    
respondido por el Cerv
4

Respuesta corta, sí.

Respuesta larga, sí, ¡y usa un simulador de circuito!

La traza verde es el interruptor, el azul es el resultado de la devolución.

    
respondido por el Oliver
3

Entonces, cuando se presiona el interruptor, se enciende el transistor y cuando se suelta, el transistor se corta. Entonces, ¿por qué usar el transistor en primer lugar? ¿No puede simplemente conectar su interruptor en lugar del transistor? Me refiero a esto:

simular este circuito : esquema creado usando CircuitLab

(No importa los valores de los componentes)

    
respondido por el Sajid

Lea otras preguntas en las etiquetas