Autor Tema: Interpretando la señal capturada en el osciloscopio  (Leído 7457 veces)

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

Desconectado MichaelKnight

  • PIC16
  • ***
  • Mensajes: 154
Interpretando la señal capturada en el osciloscopio
« en: 24 de Septiembre de 2011, 12:17:28 »
Gracias a la ayuda de MerLiNz por fin he conseguido capturar correctamente la señal mediante el osciloscopio, ahora toca su correspondiente interpretacion.
Sirviendome de las capturas en BMP he ido "troceando" de forma evidente la trama usando de referencia cada  una de las subdivisiones. Teniendo en cuenta que en la imagen que muestro la captura se hizo con con 4ms/DIV, entonces cada subdivision es 1/5 de 4ms, lo que me sale 0.8ms por division. Ahora bien, raramente me coinciden los flancos con las subdivisiones, ¿como hago entonces para establecer su duracion?



Gracias de antemano por vuestras respuestas!

Desconectado MerLiNz

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 2463
Re: Interpretando la señal capturada en el osciloscopio
« Respuesta #1 en: 24 de Septiembre de 2011, 13:04:38 »
lo puedes hacer de la siguiente manera, el programa tiene una opcion para medir frecuencia, tiempo de flancos, etc..

vete a Measure/source y pones el CH1

en measure/horizontal podras ver varias opciones que te pueden servir para calcular el tiempo de cada bit en este caso al ser una señal digital. Como tu señal es variable pues deberias intentar aislar la parte donde se repiten continuamente 0-5-0-5...

Otra forma es, el 4º boton empezando por la izk, pinchas en el inicio de la onda, abajo veras que te va marcando el tiempo segun vas moviendo el mouse en busca de el otro flanco. Para obtener una buena precision, vas bajando la escala de tiempo hasta que te quede unicamente 5-0-5, asi tendras mucha precision, alrededor de los ns

Desconectado MichaelKnight

  • PIC16
  • ***
  • Mensajes: 154
Re: Interpretando la señal capturada en el osciloscopio
« Respuesta #2 en: 24 de Septiembre de 2011, 14:07:00 »
Muchas gracias MerLiNz, lo del 4º boton por la izquierda me parece que va a ser de gran ayuda dado que ahora puedo ir flanco a flanco midiendo en que tiempo se produce el cambio y de ese modo podria programar mi pic. Como valores raros decir que en la cima de cada pulso me marca el voltaje en negativo, en concreto me da -4,942 V. Digo que es raro porque se entiende que si estoy en la cima del flanco de subida deberia de tener 1 (5v) y cuando estoy abajo un 0 (0v) hablando siempre de logica binaria tal y como me la enseñaron en clase. ¿Debo ignorar este valor negativo y seguir tomando cada cima como 1 y cada base 0?

Por otra parte, muestree la señal con el trigger en - y me sale inicialmente  un pulso largo a 0, pero en realidad ese 0 lo entiendo como led IR apagado, por tanto lo que me deberia interesar es capturar la señal partiendo del primer 1 que es lo primero que va a excitar mi emisor, ¿cierto?

Por ultimo, para sacar la trama entera he de muestrear a 10ms/DIV, pero me resulta dificil poder sacar la informacion que necesito viendose tan pequeño. Si cambio la escala entonces no me muestra la señal completa y no doy con la tecla para poder ir moviendo la señal sobre la pantalla del osciloscopio como haciamos en la facultad. ¿existe esta funcion en el osciloscopio software?


Saludos y muchas gracias por la ayuda que me estas prestando.

Desconectado MerLiNz

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 2463
Re: Interpretando la señal capturada en el osciloscopio
« Respuesta #3 en: 24 de Septiembre de 2011, 14:47:44 »
no se puede ir moviendo de lado a lado creo.

No te compliques en medir la trama entera, con saber el tiempo de cada bit, unicamente averiguas el numero de bits y lo multiplicas por el tiempo.

Es decir, si tienes 16bits y cada bit = 10us, pues la trama completa son 160us.

Si lo que quieres es imitar la señal debes hacer eso, buscar lo mas exacto el tiempo de 1 bit y usar ese delay para reproducir una trama con los bits que quieras.

Desconectado MichaelKnight

  • PIC16
  • ***
  • Mensajes: 154
Re: Interpretando la señal capturada en el osciloscopio
« Respuesta #4 en: 25 de Septiembre de 2011, 07:22:39 »
Anoche hice la identificacion de la trama completa habiendo un total de 131 pulsos que los he codificado tal que asi:

Código: [Seleccionar]
si;
   delay_ms(1634);
   no;
   delay_us(474);
   si;
   delay_ms(1229);
   no;
   delay_us(440);
   si;
   delay_us(372);
   no;
   delay_us(468);
   si;
   delay_us(364);
   no;
   delay_us(474);
   si;
   delay_us(364);
   no;
   delay_us(474);
   si;
   delay_ms(1231);
   no;
   delay_us(474);
   si;
   delay_us(372);
   no;
   delay_us(460);
   .........

El problema es que no puedo meter la trama entera de este modo porque solo con eso y el main el pic se queda sin ROM suficiente, cosa que veo exajerado porque el programa no tiene complejidad ninguna. Visto esto, esta claro que tal y como dice MerLiNz debo de buscar otra formula basada en bits, pero el caso es que aqui me es complicado encontrar cuantos bits y que duracion por bit. De igual modo, cada bit tendra un delay y tendre que ir diciendo cuando esta a 1 y cuando 0, entonces tendria nuevamente este mismo problema de codigo excesivo. Me siento bastante torpe la verdad, no alcanzo a ver la forma.

Siento ser tan pesado, espero que una vez consiga entender este problema que elegi de muestra sea capaz de desenvolverme por mi mismo en el futuro y ser yo quien ayude a los demas.

Gracias de antemano.
Saludos.

Desconectado MerLiNz

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 2463
Re: Interpretando la señal capturada en el osciloscopio
« Respuesta #5 en: 25 de Septiembre de 2011, 10:33:45 »
haz lo siguiente, un array

unsigned char trama[]={'0','1','1','0'....};

ahora

unsigned char x;
for(x=0;x<tamañotrama;x++) {
pinqueuses=trama[ x];
delay_que_hayas_calculado();
}

he visto que los delays son todos distintos, esto no puede ser asi, como ya te dije tiene que ir basado en una velocidad, es decir, de bit a bit siempre debe haber un mismo tiempo, cuando se mantiene 2 o 3 veces en estado alto/bajo se interpreta como 111 o 000..
« Última modificación: 25 de Septiembre de 2011, 10:40:09 por MerLiNz »

Desconectado MichaelKnight

  • PIC16
  • ***
  • Mensajes: 154
Re: Interpretando la señal capturada en el osciloscopio
« Respuesta #6 en: 25 de Septiembre de 2011, 10:48:13 »
Coincido contigo en que este seria el modo mas logico de hacerlo, ahora bien, toca averiguar la duracion por bit.

Creo que la forma mas sencilla de sacarlo puede ser esta, midiendo desde el flanco de subida hasta el siguiente flanco de subida de los pulsos mas pequeños.



Segun mido ahi me salen 358us. El siguiente paso deberia ser divivir por este tiempo los diferentes pulsos y asi sabre cuantos bits los componen.

¿alguna idea mejor?

Saludos y gracias.

Desconectado MerLiNz

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 2463
Re: Interpretando la señal capturada en el osciloscopio
« Respuesta #7 en: 25 de Septiembre de 2011, 10:56:14 »
ahi en ese caso estas midiendo el periodo, para obtener cuanto tarda cada bit seria periodo/2. En tu caso debes averiguar durante cuanto tiempo esta un pulso a +5V o bien a 0V

Por eso te dije que bajases la escala al minimo donde solo veas 3 flancos por ejemplo, asi obtendras una medicion mas precisa.

Desconectado MichaelKnight

  • PIC16
  • ***
  • Mensajes: 154
Re: Interpretando la señal capturada en el osciloscopio
« Respuesta #8 en: 25 de Septiembre de 2011, 10:58:59 »
Pues pongo la protoboard sobre la mesa porque con lo tengo ahora muestreado me salen los 1 mas cortos que los 0. A ver en una escala diferente que precision logro. En un instante posteo mi medicion.

Gracias por la ayuda que me estas prestando tan buena.

Desconectado MerLiNz

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 2463
Re: Interpretando la señal capturada en el osciloscopio
« Respuesta #9 en: 25 de Septiembre de 2011, 11:08:06 »
te pongo un ejemplo para que veas, con las señales de ejemplo que trae (es señal senoidal, con la cuadrada (tuya) es mucho mas sencillo)

es una señal de 50khz, el periodo deberia ser 20us exactos. Como ves en la primera medicion por mucho que afine hay mas margen de error, y en la 2ª queda casi clavado.

Lo que te digo es que intentes congelar la parte donde se repite constantemente la trama de 0-1-0-1..... lo mas grande que puedas, y asi lo midas, incluso poniendo el measure/vertical/period te dira el numero sin tener que medir, como puedes ver en la imagen2.

http://img163.imageshack.us/img163/6761/cap1w.png
http://img269.imageshack.us/img269/8291/cap2cg.png

Desconectado MichaelKnight

  • PIC16
  • ***
  • Mensajes: 154
Re: Interpretando la señal capturada en el osciloscopio
« Respuesta #10 en: 25 de Septiembre de 2011, 11:42:31 »
Siguiendo tus consejos he utilizado la herramienta de medicion horizontal y automaticamente me marca una frecuencia y periodo. En cambio, cuando mido manualmente, en la parte inferior me indica valores distintos para freq y time.

http://img705.imageshack.us/img705/2948/freqper.png

¿Debo asumir entonces que el periodo son 1.72ms y que cada pulso la mitad=0.86ms? ¿O me quedo con la medicion manual y los valores que aparecen abajo del todo en la barra de estado?

Saludos y gracias nuevamente.

Desconectado MerLiNz

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 2463
Re: Interpretando la señal capturada en el osciloscopio
« Respuesta #11 en: 25 de Septiembre de 2011, 12:02:46 »
Siguiendo tus consejos he utilizado la herramienta de medicion horizontal y automaticamente me marca una frecuencia y periodo. En cambio, cuando mido manualmente, en la parte inferior me indica valores distintos para freq y time.

http://img705.imageshack.us/img705/2948/freqper.png

¿Debo asumir entonces que el periodo son 1.72ms y que cada pulso la mitad=0.86ms? ¿O me quedo con la medicion manual y los valores que aparecen abajo del todo en la barra de estado?

Saludos y gracias nuevamente.

esto te ocurre porque la trama es irregular, es decir, ves que se mantiene mucho tiempo en 1, luego en 0, luego menos tiempo... Es decir el osciloscopio no es capaz de calcular una trama irregular ya que los tiempos serian erroneos, por eso te aconseje que mirases la parte de la trama donde se repite 0-1-0-1-0 constantemente, ahi obtendras lo que necesitas.

Para ello en vez de single utiliza "normal" e intenta congelar con el STOP cuando pase la trama que buscas.

Desconectado MichaelKnight

  • PIC16
  • ***
  • Mensajes: 154
Re: Interpretando la señal capturada en el osciloscopio
« Respuesta #12 en: 25 de Septiembre de 2011, 12:14:48 »
Ahora si ha coincidido medicion manual con medicion automatica.

http://img148.imageshack.us/img148/9990/freqyper.png

Creo que ya por fin  hemos llegado al valor que nos interesa.

En tal caso, si 880us es mi periodo, cada bit es de 440us, ¿cierto?

Desconectado MerLiNz

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 2463
Re: Interpretando la señal capturada en el osciloscopio
« Respuesta #13 en: 25 de Septiembre de 2011, 12:25:23 »
exacto, asi es, 440us es tu delay

Desconectado MichaelKnight

  • PIC16
  • ***
  • Mensajes: 154
Re: Interpretando la señal capturada en el osciloscopio
« Respuesta #14 en: 25 de Septiembre de 2011, 12:40:03 »
Fenomeno! entonces dentro de un rato me pongo a sacar todos los bits y programarlos.

Gracias por tu ayuda!