Autor Tema: digitalizar señal de 50hz con PIC - extraña falla -  (Leído 5973 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado NANO1985

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1698
    • Desarrollos Tecnologicos - Tucuman - Argentina
digitalizar señal de 50hz con PIC - extraña falla -
« en: 04 de Octubre de 2010, 17:02:47 »
amigosssss.... luego de leer un post de suky sobre ADC quise hacer una prueba con el ADC del 18F4550,... el circuito que monte es: alimentacion general 3.3v, 18F4550, con un cristal de 20Mhz, memoria Ramtrom FM24V10, se interconecta mediante bus I2C y se caracteriza por "no delay write"  ;-) y luego una micro SD en el bus SPI.... la señal alterna ingresa y se acopla a un capacitor, luego le sumo un nivel de continua igual a la mitad de la maxima excursion... y de aqui derecho al AN0 del ADC interno del micro.-
la idea es ingresar primero una señal de 50Hz y tratar de digitalizarla, obteniendo la mayor cantidad muestras por segundos posible, almacenando cada dato de 10bits en la ramtrom y luego de finalizar la adquisicion, se parsarian los datos de la ramtrom a la micro SD para su futuro analisis.... o lo que sea que se quieran hacer con los datos...
pero no se que ocurre.... por ejemplo.... esta es una señal de 50Hz con 1v de pìco aproximadamente.-
la configuracion del micro es la siguiente:

 ADCON1=0b00001110;  // habilita solamente AN0;
 ADCON2=0b10000000;  // configura ADC,    0TaD y Fosc/2

y la rutina de conversion y almacenamiento es en la ramtrom es la siguiente:

I2C_Init(1000000);   // configura la velocidad del reloj bus I2C
Direccion=0;            // inicializa posicion d mmoria flash
CS_RAMTROM=0;     // habilita memoria serial

///// inicializa el bus i2c y ESCRITURA EN MEMORIA ///////////////////

for (i=1;i<=200;i++)
{
  buffer = ADC_Read (0);
  ADC_MSB0 = Hi(buffer);
  ADC_LSB0 = Lo(buffer);
  ADD_H = Hi(Direccion);
  ADD_L = Lo(Direccion);
  I2C_Start();
  I2C_Wr(0b10100000);      // se direciona el dispositivo, modo escritura
  I2C_Wr(ADD_H);             // se manda primera parte de la direccion de memoria pagina 1
  I2C_Wr(ADD_L);              // se manda segunda parte de la direccion de memoria pagina1
  I2C_Wr(ADC_MSB0);       // graba MSB canal 0
  I2C_Wr(ADC_LSB0);       // graba LSB canal 0
  I2C_Stop();
  Direccion=(Direccion+2); //incrementa x2 posicion d memoria
  }

la secuencia es simple.... y como resultado luego de trasferir todos los datos a la Micro SD obtengo ésto...



como se ve, aproximadamente en 200 muestras tomadas, entraron aproximadamente 3 periodos de senoidal de 50Hz, es decir, 66.6 muestras por cada periodo completo, y el tiempo entre muestra y muestra es de aproximadamente 300.3 uS.... lo cual es muy lento para obtener una buena definicion de la curva.
otra cosa extraña es ese salto que se ve periodicamente.... la verdad sin palabras...

Acá va otra prueba , cambiando la configuracion del ADC...

 ADCON1=0b00001110;  // habilita solamente AN0;
 ADCON2=0b10110110;  // configura ADC,    16TaD y Fosc/64

y la le deje la misma rutina de conversion... lo resultados son los siguientes....



como se vé.... se tomaron nuevamente 200 muestras.... pero el salto extraño se hizo mas notorio y la cantidad e muestras por cada perioro sigue siendo de 66.6 muetras....

alguien me puede orientar en que me estoy confundiendo?
saludos a todos!  8) German







« Última modificación: 05 de Octubre de 2010, 02:59:42 por NANO1985 »
"La inquebrantable voluntad de vencer"
"hay dos cosas infinitas... El universo y la Estupidez humana" Albert Einstein
 "El sabio actua sin anhelos, permanece sosegado,... así no es afectado por el resultado de sus acciones sean éstas el triunfo o el fracaso"
- UNIVERSIDAD TECNOLOGICA NACIONAL - FACULTAD REGIONAL TUCUMAN -

Desconectado ema

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1078
Re: digitalizar señal de 50hz con PIC
« Respuesta #1 en: 04 de Octubre de 2010, 17:10:06 »
Nano, es bastante raro... pero me parece que esos tiempos sin muestras se deben a la interface I2C que cada tanto el FM24V10 ocupa el bus y no te deja buscar nuevas muestras. Te recomiendo que lo vayas debugeando con un puerto, por ejemplo RS232.

Saludos

Desconectado NANO1985

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1698
    • Desarrollos Tecnologicos - Tucuman - Argentina
Re: digitalizar señal de 50hz con PIC
« Respuesta #2 en: 04 de Octubre de 2010, 17:14:25 »
Nano, es bastante raro... pero me parece que esos tiempos sin muestras se deben a la interface I2C que cada tanto el FM24V10 ocupa el bus y no te deja buscar nuevas muestras. Te recomiendo que lo vayas debugeando con un puerto, por ejemplo RS232.

Saludos

vos me decis que en vez que guardarlo en la ramtrom lo mande por RS 232 a un terminal en la Pc y vea la continuidad de valores?? si es asi voy a tomar tu idea y voy a efectuar esta prueba ya mismo.
 
y la otra cosa.... sera posible bajar aun mas el tiempo entre muestra y muestra?
"La inquebrantable voluntad de vencer"
"hay dos cosas infinitas... El universo y la Estupidez humana" Albert Einstein
 "El sabio actua sin anhelos, permanece sosegado,... así no es afectado por el resultado de sus acciones sean éstas el triunfo o el fracaso"
- UNIVERSIDAD TECNOLOGICA NACIONAL - FACULTAD REGIONAL TUCUMAN -

Desconectado Suky

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 6758
Re: digitalizar señal de 50hz con PIC
« Respuesta #3 en: 04 de Octubre de 2010, 17:20:22 »
Son 200 valores de 16-bits, 400 bytes, puedes guardarlos en un buffer y luego mandarlo a la PC (Por la velocidad de muestreo). Para ver que es lo que falla, memoria o conversor  ;-)

Que velocidad de I2C usas?


Saludos!
No contesto mensajes privados, las consultas en el foro

Desconectado NANO1985

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1698
    • Desarrollos Tecnologicos - Tucuman - Argentina
Re: digitalizar señal de 50hz con PIC
« Respuesta #4 en: 04 de Octubre de 2010, 19:19:14 »
Son 200 valores de 16-bits, 400 bytes, puedes guardarlos en un buffer y luego mandarlo a la PC (Por la velocidad de muestreo). Para ver que es lo que falla, memoria o conversor  ;-)

Que velocidad de I2C usas?


Saludos!

probe usando una velocidad de clock de 100Khz, 400Khz y 1Mhz y siempre se genera el mismo inconveniente.-
"La inquebrantable voluntad de vencer"
"hay dos cosas infinitas... El universo y la Estupidez humana" Albert Einstein
 "El sabio actua sin anhelos, permanece sosegado,... así no es afectado por el resultado de sus acciones sean éstas el triunfo o el fracaso"
- UNIVERSIDAD TECNOLOGICA NACIONAL - FACULTAD REGIONAL TUCUMAN -

Desconectado Nocturno

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 17909
    • MicroPIC
Re: digitalizar señal de 50hz con PIC
« Respuesta #5 en: 05 de Octubre de 2010, 02:02:23 »
Al principio también pensé que podía deberse a una saturación del I2C, pero me he fijado bien en las capturas y el primer fallo se produce tan sólo después de haber capturado 8 muestras, por lo que no creo que sea eso.

Ambas ondas comienzan más o menos en el mismo ángulo, ¿tienes puesto algún trigger o ha sido casualidad?
¿Tienes la posibilidad de mirar con un osciloscopio la señal que está leyendo el pin analógico del PIC, a ver si también está distorsionada?
Un saludo desde Sevilla, España.
Visita MicroPIC                                                                                        ɔ!doɹɔ!ɯ ɐʇ!s!ʌ

Desconectado NANO1985

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1698
    • Desarrollos Tecnologicos - Tucuman - Argentina
Re: digitalizar señal de 50hz con PIC
« Respuesta #6 en: 05 de Octubre de 2010, 02:58:57 »
Al principio también pensé que podía deberse a una saturación del I2C, pero me he fijado bien en las capturas y el primer fallo se produce tan sólo después de haber capturado 8 muestras, por lo que no creo que sea eso.

Ambas ondas comienzan más o menos en el mismo ángulo, ¿tienes puesto algún trigger o ha sido casualidad?
¿Tienes la posibilidad de mirar con un osciloscopio la señal que está leyendo el pin analógico del PIC, a ver si también está distorsionada?


hola manolo.... mira la señal de la entrada esta bien... no posee trigger ni nada.... la verifique con el osciloscopio....la misma provee de un simple generador de señales...
el salto ese se produce casi aproximadamente a 64 muestras (primer senoidal) y se repite periodicamente... es muy extraño...
"La inquebrantable voluntad de vencer"
"hay dos cosas infinitas... El universo y la Estupidez humana" Albert Einstein
 "El sabio actua sin anhelos, permanece sosegado,... así no es afectado por el resultado de sus acciones sean éstas el triunfo o el fracaso"
- UNIVERSIDAD TECNOLOGICA NACIONAL - FACULTAD REGIONAL TUCUMAN -

Desconectado Nocturno

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 17909
    • MicroPIC
Re: digitalizar señal de 50hz con PIC - extraña falla -
« Respuesta #7 en: 05 de Octubre de 2010, 04:45:27 »
Nano, ¿es posible que la representación gráfica esté al revés?
Si fuera así, sí puedo entender que el buffer se ha llenado al llegar a 64 y se produce la primera discontinuidad.
Un saludo desde Sevilla, España.
Visita MicroPIC                                                                                        ɔ!doɹɔ!ɯ ɐʇ!s!ʌ

Desconectado ema

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1078
Re: digitalizar señal de 50hz con PIC - extraña falla -
« Respuesta #8 en: 05 de Octubre de 2010, 10:02:24 »
vos me decis que en vez que guardarlo en la ramtrom lo mande por RS 232 a un terminal en la Pc y vea la continuidad de valores?? si es asi voy a tomar tu idea y voy a efectuar esta prueba ya mismo.

Probaste esto?

Saludos
« Última modificación: 05 de Octubre de 2010, 10:06:49 por ema »

Desconectado NANO1985

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1698
    • Desarrollos Tecnologicos - Tucuman - Argentina
Re: digitalizar señal de 50hz con PIC - extraña falla -
« Respuesta #9 en: 05 de Octubre de 2010, 11:18:09 »
vos me decis que en vez que guardarlo en la ramtrom lo mande por RS 232 a un terminal en la Pc y vea la continuidad de valores?? si es asi voy a tomar tu idea y voy a efectuar esta prueba ya mismo.

Probaste esto?

Saludos

estoy en esto... ya termino de ensamblar la interfaz serie... y hago una prueba con el puerto serie...
"La inquebrantable voluntad de vencer"
"hay dos cosas infinitas... El universo y la Estupidez humana" Albert Einstein
 "El sabio actua sin anhelos, permanece sosegado,... así no es afectado por el resultado de sus acciones sean éstas el triunfo o el fracaso"
- UNIVERSIDAD TECNOLOGICA NACIONAL - FACULTAD REGIONAL TUCUMAN -

Desconectado pablomanieri

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 639
Re: digitalizar señal de 50hz con PIC - extraña falla -
« Respuesta #10 en: 05 de Octubre de 2010, 11:21:23 »
Estás usando alguna interrupción?

Desconectado NANO1985

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1698
    • Desarrollos Tecnologicos - Tucuman - Argentina
Re: digitalizar señal de 50hz con PIC - extraña falla -
« Respuesta #11 en: 05 de Octubre de 2010, 16:14:06 »
Estás usando alguna interrupción?

no uso nincun tipo de inteerrupcion.
Nano, ¿es posible que la representación gráfica esté al revés?
Si fuera así, sí puedo entender que el buffer se ha llenado al llegar a 64 y se produce la primera discontinuidad.


manolo , no entendi lo de la grafica al reves....
"La inquebrantable voluntad de vencer"
"hay dos cosas infinitas... El universo y la Estupidez humana" Albert Einstein
 "El sabio actua sin anhelos, permanece sosegado,... así no es afectado por el resultado de sus acciones sean éstas el triunfo o el fracaso"
- UNIVERSIDAD TECNOLOGICA NACIONAL - FACULTAD REGIONAL TUCUMAN -

Desconectado Suky

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 6758
Re: digitalizar señal de 50hz con PIC - extraña falla -
« Respuesta #12 en: 05 de Octubre de 2010, 16:51:38 »
Nano, ¿es posible que la representación gráfica esté al revés?
Si fuera así, sí puedo entender que el buffer se ha llenado al llegar a 64 y se produce la primera discontinuidad.


manolo , no entendi lo de la grafica al reves....

Que los primeras muestras sean de derecha a izquierda  ;-)
No contesto mensajes privados, las consultas en el foro

Desconectado Nocturno

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 17909
    • MicroPIC
Re: digitalizar señal de 50hz con PIC - extraña falla -
« Respuesta #13 en: 05 de Octubre de 2010, 17:44:37 »
Exacto, justo como dice Suky.

Y lo de la interrupción también es una posibilidad seria. ¿No será que se te ha escapado y está activada?, ¿quizás el watchdog?
Un saludo desde Sevilla, España.
Visita MicroPIC                                                                                        ɔ!doɹɔ!ɯ ɐʇ!s!ʌ

Desconectado NANO1985

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1698
    • Desarrollos Tecnologicos - Tucuman - Argentina
Re: digitalizar señal de 50hz con PIC - extraña falla -
« Respuesta #14 en: 05 de Octubre de 2010, 21:50:50 »
Exacto, justo como dice Suky.

Y lo de la interrupción también es una posibilidad seria. ¿No será que se te ha escapado y está activada?, ¿quizás el watchdog?

voy a verificar ésto.... no consegui el queridisimo MAX233 para hacer la interfaz serial a 3.3v.... asi que voy a ingeniarmelas para ver el tema de las interrupciones y /o watchdog...
gracias hemanos por la colaboracion...
"La inquebrantable voluntad de vencer"
"hay dos cosas infinitas... El universo y la Estupidez humana" Albert Einstein
 "El sabio actua sin anhelos, permanece sosegado,... así no es afectado por el resultado de sus acciones sean éstas el triunfo o el fracaso"
- UNIVERSIDAD TECNOLOGICA NACIONAL - FACULTAD REGIONAL TUCUMAN -


 

anything