Osciloscopio con PIC GLCD

Bueno, el proyecto que debemos realizar consta de un osciloscopio digital cuyo despliegue sea en una pequeña pantalla de GLCD, pero sin utilizar ninguna computadora (PC), hasta ahora hemos logrado desplegar señales de hasta 1Khz,ya que al PIC le toma mucho tiempo tomar los datos y deplegarlos, por eso a partir de esta frecuencia la señal se cae, solo se muestran puntos dispersos, por eso debo preguntar a ustedes sin un DSP funcionaria de mejor forma y como podria utilizarlo ya que no soy muy familiar con esta tecnologia.
 
Utiliza PIC rápidos como los PIC32 que van hasta los 80 MHz, los PIC de 8 bit de la serie 18F hasta los 48 MHz. Esto influye mucho.
 
MARIOCO dijo:
Bueno, el proyecto que debemos realizar consta de un osciloscopio digital cuyo despliegue sea en una pequeña pantalla de GLCD, pero sin utilizar ninguna computadora (PC), hasta ahora hemos logrado desplegar señales de hasta 1Khz,ya que al PIC le toma mucho tiempo tomar los datos y deplegarlos, por eso a partir de esta frecuencia la señal se cae, solo se muestran puntos dispersos, por eso debo preguntar a ustedes sin un DSP funcionaria de mejor forma y como podria utilizarlo ya que no soy muy familiar con esta tecnologia.

Mira, el teorema de Niquist impone un limite practico a la digitalizacion de una senal. Este teorema dice, que para digitalizar una senal determinada, debes tomar las muestras al menos al doble de la frecuencia maxima de la senal. Es decir, si tu quieres digitalizar una senal d 1k, las muestras las debes tomar a 2kHz (cada 0,5mS).

En resumidas cuentas, no necesitas un DSP, sino un Convertidor A/D mas rapido ( o optimizar el uso del que ya tienes).

Te recomiendo leas este manual, hay mucho que puedes aprender de el. Y no, no siempre se consiguen buenos resultados con solamente poner un micro mas grande.

http://es.wikipedia.org/wiki/Frecuencia_de_muestreo
http://fing.uncu.edu.ar/catedras/industrial/electronica/archivos/electronica/tema7r.pdf

Pero q hayan conseguido 1KHz con un pic es impresionante. (cual es la frecuencia de reloj q usan?, cual es la precision?, puedes poner fotos?). El resto es optimizar, y como te daras cuenta al leer los manuales, Hay mucho trabajo por hacer! (que seria de nosotros sin trabajo)

(Puede ser, y creo q ese es el problema que tienes, que el pic este demasiado ocupado en otras cosas. Libera recursos como puedas y deja al pic concentrarse lo mas posible en la conversion)

Salu2
 
macraig dijo:
MARIOCO dijo:
(Puede ser, y creo q ese es el problema que tienes, que el pic este demasiado ocupado en otras cosas. Libera recursos como puedas y deja al pic concentrarse lo mas posible en la conversion)

Salu2

Coincido con maqraiq, y por lo que leí en el primer post el PIC toma una muestra y la imprime directamente en el display, eso debe ser lo que más tiempo consume. Supuestamente el ADC del PIC llega hasta varios kHz, no me acuerdo cuánto exactamente pero más de 10kHz seguro, también depende de la cantidad de bits efectivos que quieras lograr.
Podés muestrear ráfagas de 100 muestras (o de la cantidad de memoria interna del PIC que tengas libre) y después mostrar en la pantalla todas esas muestras juntas. Otra cosa sería conectar una memoria externa al PIC y almacenar los datos ahí para después mostrarlos todos juntos. Te repito, más de 10kHz vas a lograr con seguridad.

Otra cosa con respecto a lo del teorema de Niquist que bien nombró Macraiq, una vez hayas logrado la máxima velocidad te recomiendo que pongas a la entrada analógica un filtro pasa bajos con frecuencia de corte igual a la mitad de tu sample rate para que no te aparezcan señales fantasmas (aliasing).

Slds...

Mariano
 
que tal amigos, mis conocimientos sobre micro son muy pocos sin embargo me interesa conocer información sobre la construccion de un osciloscopio si me puedes mandar toda la información que puedas para leer sobre el temea se lo agradeceria
 
Ese proyecto viene realizado en un libro del que hablaron mal de él. Pero la verdad vale la pena, sobre todo ayuda a entender la historia y evolución de los atmel y de los pic. El libro se llama "Microcontroladores Motorola - Freescale Programación, familias y sus distintas aplicaciones en la industria".
En el viene lo que tu estas haciendo y lo hacen funcionar a 1khz, como lo mencionas.

Te dire que para obtener mejores resultados puedes hacer varias cosas.

Pero la que veo mas factible, es que realizes en una gal o FPGA un circuito que se encargue de visualizar los datos en el display, y utilices el micro para el control de seleccionar canales, mostrar la frecuencia de muestreo, etc., es decir los indicadores y predas leds cosas así, y el grueso lo dejes a un controlador logico programable, puesto que son tareas repetitivas.

Recuerda que para eso se hicieron los DSP "Procesadores Digitales de Señales" y las muy convenientes FPGA. El microcontrolador lo puedes utilizar para control y atencíon de los eventos solicitados por el usuario.

Ademas puedes utilizar las observaciones bien acertadas de guardar los datos y despues mostrarlos, con lo cual puedes comprobar si han cambiado y solo mostrar los cambios, te recomiendo que leas lo que es OpenGL y XWindows, muy buenas tecnicas de refresco de imagenes.

En este caso si recomiendo la más alta velocidad que puedas encontrar, debido a que un micro puede funcionar a una velocidad de reloj muy alta pero lo importante son la cantidad de código a ejecutar para cumplir con la función de un solo muestreo y visualizarlo.

En conclusión, todo depende hasta que frecuencia de muestreo deseas llegar, y eso te indicara que elementos utilizar. Por cierto en youtube hay un osciloscopio realizado con microcontrolador y un display gráfico.

Suerte.
 
Me acorde de los DMA, y como uno puede funcionar el controlador lógico programable, entre la memoria, y los convertidores analógicos a digitales. Y el microcontrolador se encargaría de mostrar de la mejor forma el dato, es decir leer el boton de resolución (Volts/Div). Y mostrar la señal muestrada en el display gráfico.
 
Atrás
Arriba