Detectar el desfase entre dos señales de onda cuadrada

#1
Buén día.
Estoy utilizando las interrupciones externas del PIC 18F4550 (RB0,RB1 habilitándolas por flanco de subida ambas) donde estoy comparando 2 señales de onda cuadrada desfasadas una de otra. dado que el desfase va a estar variando (para carga Inductiva o Capacitiva) la señal de RB1 va a estar adelantándose o atrasándose respecto a la de RB0. Mi intención es detectar si la señal de RB1 está adelantada o atrazada respecto a la de RB0 para eso quiero saber si hay una forma de saber qué flanco de subida ocurre primero entre las 2 señales

Gracias por su respuesta. :)
 
#2
No necesitas dos interrupciones, basta con una, supongamos el flanco de subida de RB0. Cuando ocurre la interrupcion lees el valor de RB1, si es uno quiere decir que RB1 adelanta a RB0, si es cero, RB1 atrasa.
 
#3
No necesitas dos interrupciones, basta con una, supongamos el flanco de subida de RB0. Cuando ocurre la interrupcion lees el valor de RB1, si es uno quiere decir que RB1 adelanta a RB0, si es cero, RB1 atrasa.
Perdón por responder tarde. gracias por tu respuesta
Acabo de comprender lo que me querías decir, me parece muy útil así como lo planteas, pero al momento de estar en fase las señales me tomará como si la segunda señal estuviese atrazada

aquí una imagen para daros una idea: lo que necesito saber es si una señal está adelantada,atrazada o en fase respecto a otra
 

Adjuntos

Última edición:
#4
Entonces lo que podes usar es realmente interrupciones con las dos ondas a medir, yo usaria una con flanco creciente y otra con flanco decreciente, ante una interrupcion se mide el valor de la otra onda, te dejo para que pienses como harias la logica con la informacion recogida en las dos interrupciones para decidir si adelanta, atrasa o esta en fase.
 
#5
Amigo puedes utilizar la aplicación de TMR0 o TMR1, asociada a la interrupcion, de esta manera, cuentas el tiempo que existe en el desfasaje, por ejem. si la cuenta es menor a X, consideras 0 desfase.
 

Temas similares

Arriba