¿Cómo leer un PWM con una conexión a tierra por separado usando PIC?

4

Tengo una señal PWM que se parece a la imagen adjunta. Es 12V con pulsos de 0V en un ciclo de trabajo del 5%. La frecuencia varía de aproximadamente 5Hz a aproximadamente 50Hz. Estoy reduciendo el voltaje de la señal con un simple divisor para mantenerlo aproximadamente 5V o menos.

Quiero provocar una interrupción en cada pulso usando un PIC uC pero no estoy seguro de cuál es la mejor manera de hacerlo. No me importa usar ECCP (el chip que estoy usando lo tiene) pero es más simple para mi código conducir una simple interrupción. No puedo usar el terreno de la señal para mi PIC ya que no hay un live correspondiente utilizable. Mi plan original era simplemente usar un COI en ese pin ... ¿pero me imagino que no funcionará con un terreno separado? ¿Alguna idea?
La segunda imagen es para comprobar mi comprensión de la primera respuesta ...

    
pregunta Jon

1 respuesta

5

La mejor solución es probablemente un optoacoplador. Lo arreglaría para que el LED se encienda cuando la señal se apague. Por lo general, las opciones son más rápidas de activar que de desactivar, y de esta manera usaremos mucha menos corriente ininterrumpida.

La salida del opto será el colector y el emisor de un transistor flotante, generalmente NPN. Conecte el emisor a la tierra PIC y el colector a un pin PIC INT o una interrupción en el pin de cambio. Habilite el pullup interno del pin si tiene uno, o proporcione un pullup externo a Vdd. La mayor recuperación sería aproximadamente 100 kΩ si tiene un tiempo bastante largo (10s de µs) entre los bordes, no le importa el borde posterior de cada pulso y el drenaje de corriente es importante. Probablemente usaría 10 kΩ a menos que fuera necesaria una velocidad de unos pocos µs.

Añadido sobre tu circuito propuesto

Usted propuso el circuito:

No, esto no es lo que quise decir. No parece que hayas leído mucho de lo que escribí.

No hay necesidad de Q2. Como dije, conecte el emisor del transistor del opto a tierra y el colector al pin de entrada PIC. Básicamente, deje que el transistor en el opto sea Q2 en su esquema.

También, como dije, debes asegurarte de que el pin PIC esté levantado de alguna manera. Esto puede ser habilitando el pullup interno, pero requiere una resistencia externa, si no.

Otro punto que parece haberse perdido es que sería mejor encender el LED en el opto cuando el pulso baja. No está claro que hayas hecho eso. En cualquier caso, no puede simplemente conectar un LED a una señal de 12 V. Calcule que el LED tendrá una caída de aproximadamente 1.8 V (el valor real estará en la hoja de datos opto), y no debería necesitar más de unos pocos mA a través del LED. Digamos que después de tomar en cuenta la relación de transferencia actual, el tiempo de respuesta y la carga de salida, usted decide que el LED debe manejarse con un mínimo de 2 mA. Una resistencia de 4,7 kΩ en serie con el LED garantizaría que cuando se apliquen 12 V.

    
respondido por el Olin Lathrop

Lea otras preguntas en las etiquetas