Pulso de filtro de 5v desde entrada micro

2

Estoy monitoreando un sistema externo que envía un pulso de 5v cada 2 segundos cuando está en modo normal. Cuando el motor está funcionando, envía una constante de 5 voltios diseñada para alimentar una luz intermitente o LED como un sistema de advertencia. Cuando el pulso no está presente, es 0v. Actualmente no hay nada conectado a esto, y quiero incluirlo en un micro para poder monitorearlo (es decir, saber cuándo está activo el dispositivo y enviarme la señal correspondiente).

Habrá un optoacoplador entre los dos circuitos ya que estos se activan de forma independiente (aunque ahora que lo estoy pensando, ciertamente podría integrar mi micro en el marco existente, pero no es así como está configurado actualmente).

Sé que podría extraer el pulso programáticamente, poniendo la entrada en una interrupción y esperando un tiempo adecuado antes de volver a realizar la prueba, una especie de rebote. Pero me gustaría saber si podría hacerlo filtrando el pulso a través de los circuitos.

Mi idea inicial fue filtrar cualquier cosa (por ejemplo) por debajo de 5Hz (ya que el pulso es de 1/2 Hz) y que necesitaría un filtro de paso alto. Pero entonces alguien me señaló que necesitaba un filtro de paso BAJO ya que la constante de 5v que quiero probar es en realidad a una frecuencia más baja que el pulso.

Como punto adicional, la salida del filtro impulsará una opción de baja impedancia sin otra carga. No tengo idea de cómo tomar esto en consideración.

Cualquier ayuda sería apreciada.

    
pregunta Madivad

2 respuestas

0

Si realmente desea filtrar los pulsos a través de hardware, un filtro de paso bajo (LPF) es definitivamente lo que desea. PASARÁ las frecuencias bajas y atenuará las frecuencias más altas. Está buscando valores de CC que sean de una frecuencia intrínsecamente más baja que cualquier tren de pulsos. La forma más sencilla es implementar un LPF de primer orden utilizando una resistencia y un condensador . La frecuencia de corte es entonces

\ $ f_c = \ frac {1} {2 \ pi RC} \ $

simular este circuito : esquema creado usando CircuitLab

Sin embargo, la respuesta va a ser bastante lenta. Tomará una cantidad considerable de tiempo para que el condensador se cargue. También podría haber un poco de ondulación dependiendo del tamaño de los componentes que elija. Para aliviar un poco la ondulación, puede usar un filtro de segundo orden a través de Sallen-Key topología .

simular este circuito

Si cada resistencia y cada condensador tienen el mismo valor, la frecuencia de corte será la misma que anteriormente.

Lo que elija, la tensión de salida dependerá del ciclo de trabajo del pulso. Por lo tanto, si el pulso es bajo y alto durante cantidades de tiempo iguales, y la amplitud es de 5 V, la salida de los filtros será de 2,5V. Si no está utilizando un comparador o una entrada ADC en el microcontrolador, también deberá implementar un comparador. Dado que habrá una ondulación en la salida del filtro, será necesario un comparador con histéresis. De un artículo sobre Dispositivos analógicos :

Ahora, probablemente pueda ver por qué usar una interrupción de captura de entrada es probablemente la mejor opción. Es probable que sea menos trabajo y definitivamente más barato. Si su frecuencia de pulsos hubiera sido mayor, una solución analógica podría haber sido más útil.

    
respondido por el Justin Trzeciak
1

Sería sencillo hacerlo en el micro. Digamos que tiene un contador que cuenta a 0 a 50 Hz (digamos). Cada vez que se detecta un pulso borde , presintoniza el contador a (por ejemplo) 150. Si el contador llega a cero, se detiene la disminución. Si el contador == 0, entonces se puede considerar que los pulsos se han detenido.

Puede hacer algo similar en hardware utilizando un multibrador monostable que se pueda activar, como la mitad de un 74HC123 . En el siguiente diagrama de tiempo, observe el reajuste desde el borde descendente de la entrada / A (la parte derecha del diagrama de tiempo muestra \ $ t_ {rr} \ $).

Querrías que \ $ t_w \ $ sea algo así como 3 segundos, por lo que los componentes de tiempo funcionarán como 10uF y 300K (para la parte de Toshiba, podría ser diferente para otros fabricantes).

En este caso, la salida Q bajará y la salida / Q alta si los pulsos se detienen.

    
respondido por el Spehro Pefhany

Lea otras preguntas en las etiquetas