Desfase de dos señales

Estoy realizando mi proyecto de grado que consta de un medidor de portencias electricas pero necesito mostrar si el circuito es inductivo capacitivo o resistivo y esto se puede ver con el desfase de las señales de corriente y tension. Necesito saber como puedo hacer un medidor de angulos o desfase, un diagrama que me puedan colaborar o si hay algun integrado o semiconductor que lo haga o como programarlo en un micro. GRACIAS :)
 
si usas compuertas logicas, puedes hacer disparos en el momento en que se encuentran dos fases, y el tiempo que dure el disparo seria el equivalente al tiempo en que las dos fases se superponen. bueno esta es la parte facil ya que deberas adaptar le senal de entrada al voltaje de operacion de las compuertas, y debes tomar en cuenta la frecuencia de la senal junto al tiempo de transision de la compuerta. los osciloscopios usan este metodo para formar el barrido y asi sincronizar las senales
 
Gracias por tu respuesta, pero he decidido realizar los calculos mediante programacion de pics, pero ahora me encuentro con un inconveniente... Quiero tomar la señal por puntos y luego realizar el debido procedimiento para obtener el valor eficaz de la señal, el problema es que solo me toma valores aproximadamente cada 5 ms, el cual es un valor muy alto y pues al tratarse de una señal de 60hz nesecito mas valores en menos tiempo, por ejemplo cada 10 us. Sabes cual es la velocidad del conversor A/D y como puedo configurar este.

El programa que estoy utilizando es este, el maximo valor que voy a leer son 280v AC a 60 hz. Con ayuda de un divisor resistivo bajo la señal a 2.5v y la subo otros 2.5 ya que el pic no puede tener valores negativos en su entrada y por medio de programacion vuelvo a bajar el valor.

Código:
#include <16f877A.h>  
//archivo de cabecera del microcontolador
#fuses HS,NOWDT,NOPROTECT,NOLVP
// HS = Cristal de 20 MHZ, NOWDT = Deshabilitar el Perro Guardian
#device adc=10
//Noprotect = No proteger la memoria de de programa , NOLOVP = deshabilitar programacion en Caliente
#use delay(clock=20000000)   //cristal utilizado
#use rs232(baud=57600,xmit=PIN_C6,rcv=PIN_C7)   //rs232


 


void main()
   {
   int cont;
   int16 q;
   float p;  
  
   setup_adc_ports(AN0);
   setup_adc(ADC_CLOCK_INTERNAL); 
     for(;;)
   {
   cont=cont+1;
   set_adc_channel(0);
   printf("\n\r %3.3f",( (-2.5)+5.0*((read_adc())/1024.0)));
   printf("\n\r %d",cont);
   }
   }
 
Última edición por un moderador:
Atrás
Arriba