¿Es necesario rebotar al detectar voltaje en una lámpara con relé conmutado?

0

Estaré usando un Arduino para "leer" el cable de la luz de estacionamiento en un automóvil.

Me preguntaba si es necesario hacer rebotes aquí? Quiero pensar que la bombilla de fábrica actuará como un rebote para suavizar la señal ...

Usaré la función de interrupción para leer el cambio de estado del cable de la luz de estacionamiento. En particular, habilitaré alguna función si el estado cambia dos veces en un marco de tiempo particular, por lo tanto, no puedo tener una lectura falsa desde el cambio del conmutador.

El diagrama muestra cómo me conecto al cable de fábrica.

    
pregunta Ivan K

2 respuestas

1

La lámpara no actuará como un capacitor, para ayudar a desproteger el contacto del relé. Aunque la lámpara (suponiendo que es incandescente) no se enciende y apaga inmediatamente, esos son efectos térmicos, no eléctricos. Es un asunto bastante fácil agregar el debouncing en el software; Hay tono de recursos en la web para hacerlo. Busque en el foro arduino debounce y arduino debouncing para comenzar.

    
respondido por el tcrosley
0

Para su aplicación, al detectar varios cambios en poco tiempo, usted, como programador, tiene que tomar una decisión sobre el tiempo que ocupa. Cambios en un tiempo demasiado corto = > 'cambiar bounce', cambios en un tiempo más largo = > 'cambio de comportamiento', cambios en un tiempo aún mayor = > 'comportamiento de intercambio'.

De lo que está hablando es de poner la decisión entre 'rebotar' y cambiar a hardware analógico, y el cambio de no cambiar a software. Seguramente sería mucho más flexible, un menor número de partes, más fácil de sintonizar, poner ambas decisiones en el software y simplemente encajar la luz de freno.

La forma más fácil de simplemente rebotar, es averiguar qué tan lentamente puede leer esa salida, y si es > 50mS o algo así, encuestar la salida con tanta frecuencia. La mayoría de los eventos de rebote terminarán en este momento.

Con una encuesta relativamente lenta, incluso si lees el interruptor mientras rebota, la lectura anterior habrá sido 0, la próxima lectura será 1, y esta lectura será 0 o 1, por lo que aún tendrás una limpieza transición, simplemente incierto en cuanto al momento.

    
respondido por el Neil_UK

Lea otras preguntas en las etiquetas