Microcontroladores: ¿Cuál es el efecto de rebote clave?

Muchas teclas funcionan al tener dos partes, generalmente de metal o goma / plástico conductor, unidas. (Algunos, como las teclas de efecto Hall, no lo hacen). Las dos partes “rebotan” cuando se presionan juntas. Es decir, hacen y rompen el contacto varias veces antes de quedarse.

En cosas lentas, como las luces, no importa mucho, porque es demasiado rápido para darse cuenta. En electrónica rápida, sin embargo, puede ser un problema. Puede obtener 4 o 5 caracteres cuando presiona una tecla.

En los viejos tiempos, solíamos eliminar el rebote de las teclas colocando condensadores sobre ellas (también podría usar inductores en serie) tal vez con un poco de resistencia, pero muchas teclas ya tienen suficiente, como las de goma conductiva. La esperanza era que para cuando el condensador se cargara lo suficiente como para estar encendido, el rebote habría disminuido. Sin embargo, esto se volvió un poco caro.

Hoy en día, generalmente se realiza mediante un circuito de temporización. Puedes hacer lo mismo en software, por supuesto. El truco es que hay un ligero retraso desde el momento en que se registra una clave hasta que se considera que se ha activado. (Lo mismo se hace en el descanso también, lo que puede ser un problema pero generalmente es menor porque hay menos rebotes en el descanso). Ambos se hacen generalmente con la misma lógica, es decir, cuando el estado cambia, una cierta cantidad de tiempo tiene que transcurrir antes de que se lea otro cambio de estado o, de lo contrario, solo se registra un cambio de estado durante un período de tiempo determinado. El último es generalmente más barato, pero el primero es marginalmente preferible si el momento de la marca es muy importante, por ejemplo, para las pruebas de reacción con un gran botón que golpeas fuerte, causando mucho rebote. Para la mayoría de las aplicaciones no importa mucho.

Considerando el microcontrolador 8051, hay 4 puertos. De estos cuatro puertos, P1, P2 y P3 están unidos con las resistencias pull-up internas de 10k, pero P0 no tiene ninguna resistencia pull-up interna. Entonces, para P0, debe estar conectado externamente con una resistencia de 10k.

El efecto de rebote se relaciona con el cambio de aplicaciones. Cuando consideramos los escenarios ideales, hacemos que el interruptor esté activado o desactivado en t = 0 +, pero prácticamente se necesitan alrededor de 30 ms para obtener cualquiera de los estados, y durante estos 30 ms continúa rebotando. Este efecto se llama como efecto antirrebote.

¡Espero que esto ayude!

Los interruptores mecánicos normales que utiliza no son ideales en absoluto. Cree que se cierran perfectamente en el tiempo t = 0 +, después de presionar, no lo hacen. Se necesita cierto número de movimientos de un lado a otro antes de que finalmente se estabilice.

Aprenda sobre debounce aquí:
TUTORIALES AVR: Rebote

More Interesting

¿Debo unirme al entrenamiento de verano RCPL para sistemas integrados?

¿Por qué hay tan pocas startups conocidas de "software embebido" y / o hardware?

¿Cuáles son algunos proyectos de BTech para el último año que se basan en sistemas integrados?

¿Cuál es el uso de autómatas con respecto al sistema integrado?

¿Cuáles son algunos de los buenos institutos de capacitación de sistemas integrados en Lucknow?

¿Cuáles son las cosas que uno debe aprender antes de actualizar de Arduino a otro microcontrolador como 8051?

¿Cuál es el sistema de microcontrolador con Wi-Fi más barato? ¿Existe una solución de menos de $ 20 para que Wi-Fi habilite un dispositivo Arduino?

¿Cómo se decide si se usa un sistema operativo en tiempo real (RTOS) para un UAV?

¿Qué sucede cuando no usamos la palabra clave 'volátil' para definir registros de hardware en la programación de sistemas integrados?

¿Cuáles son los pros y los contras de usar Yocto versus Debian como distribución de Linux Embebido?

¿Cómo se suministra el agua automáticamente para el sistema de automatización de invernadero integrado?

¿Arduino es un ejemplo de un sistema integrado o no? ¿Cuáles son los campos donde se usa?

¿Qué es un sistema embebido?

Soy un ingeniero electrónico que se graduó recientemente y obtuve un trabajo como ingeniero de sistemas integrados donde tengo que trabajar en la programación C. ¿Es un buen trabajo para mí o no? ¿Debería continuarlo?

¿Cómo es el curso de sistema integrado en VJTI?