Suponga que una entrada en un microcontrolador tiene una resistencia pullup de 5 V y un interruptor a tierra (normalmente abierto) conectado a ella. Sé que se debe eliminar el rebote de un interruptor (en mi caso, en el software) cuando está cerrado, pero ¿es necesario eliminar el rebote cuando se abre un interruptor?
Sí, es necesario eliminar el rebote en ambas direcciones si desea un borde único garantizado cada vez que el interruptor cambia de estado.
Afortunadamente, no necesita ningún hardware adicional para eliminar rebotes si el interruptor está conectado a un microcontrolador. Si el micro tiene un pull-up interno, que es lo que muchos tienen, no necesita nada más externamente que el interruptor entre el micro pin y tierra.
Creo que 50 ms es un buen tiempo de rebote. La mayoría de los interruptores rebotan por mucho menos que eso, pero algunos pueden durar casi tanto tiempo. Sin embargo, 50 ms aún se sentirán instantáneos para un usuario humano, por lo que también podría ser más confiable. La única diferencia es el número que cuenta en el firmware, por lo que no hay costo adicional. Por lo general, tengo una interrupción periódica de 1 ms por otras razones de todos modos, por lo que si el interruptor está en el mismo estado 50 veces seguidas en esa interrupción, entonces lo declaras rebotado al nuevo estado.
Por lo general, tendrá un bit global que indica el estado oficial de rebote del conmutador. Esto es lo que utiliza cualquier lógica que necesite saber de qué manera está configurado el interruptor. El único estado adicional que necesita es un contador, generalmente un solo byte, en la rutina de interrupción. Digamos que la interrupción es cada 1 ms y el tiempo de rebote es de 50 ms. Para cada interrupción:
Si el estado instantáneo coincide con el estado de rebote: Poner el contador a 50 Hecho Si el estado instantáneo difiere del estado de rebote: Contador de decrementos Si el contador llega a 0: Declarar el nuevo estado de rebote Poner el contador a 50 Hecho
Sí, usaría uno, el mecanismo es básicamente el mismo. A medida que rompe el contacto, tendrá puntos en los que el interruptor hace un buen contacto eléctrico y no hace un buen contacto eléctrico. Lo mismo que cuando estás haciendo el contacto.
En general, sí. Los interruptores mecánicos pueden producir ruido eléctrico (rebote) tanto al cerrar como al abrir.
En general, sí, pero siempre depende de lo que estés haciendo con la entrada digital. He tenido algunos sistemas que absolutamente no tenían necesidad de ser rebotados en ninguna dirección.
Sin embargo, si está conduciendo una interrupción, lo más probable es que deba rebotar.
Juan R. Strohm
Wouter van Ooijen
Nate
MickeyfAgain_BeforeExitOfSO
olin lathrop
olin lathrop