TODOPIC

Microcontroladores PIC => Todo en microcontroladores PIC => Mensaje iniciado por: delirio en 27 de Septiembre de 2006, 23:27:18

Título: El ADC de los Pic´s...
Publicado por: delirio en 27 de Septiembre de 2006, 23:27:18
Hola a todos, una consulta que talvez parezca algo absurda, pero debo hacerla ya que temo quemar al pic...
las entradas análogas del micro, justamente las que utiliza el ADC para convertir señales, soportan los dos semiciclos de una señal alterna?? (LLamese por los dos semiciclos de una señal alterna como un seno completo), no logro darme cuenta en el datasheet, lo que si me queda claro es que no debe superar a VDD, pero si soportase los dos semiciclos, el NO superar a VDD seria pico a pico?? se entiende??
Muchas gracias de antemano.
Título: Re: El ADC de los Pic´s...
Publicado por: maunix en 28 de Septiembre de 2006, 00:19:57
Hola a todos, una consulta que talvez parezca algo absurda, pero debo hacerla ya que temo quemar al pic...
las entradas análogas del micro, justamente las que utiliza el ADC para convertir señales, soportan los dos semiciclos de una señal alterna?? (LLamese por los dos semiciclos de una señal alterna como un seno completo), no logro darme cuenta en el datasheet, lo que si me queda claro es que no debe superar a VDD, pero si soportase los dos semiciclos, el NO superar a VDD seria pico a pico?? se entiende??
Muchas gracias de antemano.

En el A/D tenes un valor mínimo de tensión y un valor máximo.

No se qué pic estas usando pero si te fijas, el valor mínimo no puede ser 'negativo'.

Si quieres sensar una onda alterna, la deberás montar sobre una continua y escalarla para que su ciclo completo quepa en el rango del A/D.

Saludos
Título: Re: El ADC de los Pic´s...
Publicado por: andros en 28 de Septiembre de 2006, 11:28:39
Hola a todos, tiempo hace que no visitaba este foro:

Como dice maunix lo que debes hacer para que una señal seno quede bien durante la adquisición la debes "acomodar" a los rangos del ADC, a esto se le llama "acondicionamiento" (aunque el término implica elementos adicionales). En tu caso tienes que ver los rangos mínimos y máximos de la señal y compararlos con el adc si es bipolar (si recibe valores negativos y positivos) o si es unipolar (valores positivos solamente); en los pic los ADC (que conozco) son unipolares (FULL ESCALA (valor máximo): alimentación, o una referencia externa. CERO ESCALA: gnd). Para introducir una señal seno con semiciclo positivo y negativo en un ADC debes tener en cuenta lo siguiente:

* Introducir un offset positivo, es decir "montar" el cero de tu señal a un voltaje positivo.

* El voltaje Vpp de la señal de Entrada: Si es mayor al rango del conversor (en este caso Gnd - alimentación), es necesario "comprimir la señal", en caso contrario amplificarla para aprovechar al máximo la resolución del conversor.

* La frecuencia de entrada de la señal: De esto depende cuantas muestras debes tomar, hay que revisar bien si el PIC es lo suficientemente rápido para tomar las muestras que necesitas.

Básicamente es eso, espero te sirve; probablemente mucho de esto ya lo sabías..., pero en mejor que sobre a que falte.

exitos en tu proyecto.
Título: Re: El ADC de los Pic´s...
Publicado por: Veguepic en 28 de Septiembre de 2006, 12:21:11
A mi entender, la forma mas practica de acondicionar la señal es mediante el uso de amplificadores operacionales, podras amplificar o atenuar la señal, asi como pasar la señal a valores positivos que podran ser leidos por el PIC.

He incluso podras filtrarla para evitar que señales con una frecuencia mayor a la soportada por el ADC del PIC ingresen y te den lecturas erroneas.

Un ejemplo de esto es la entrada del osciloscopio de CUCA:

http://www.todopic.com.ar/foros/index.php?topic=2247.0

Saludos
Título: Re: El ADC de los Pic´s...
Publicado por: delirio en 29 de Septiembre de 2006, 00:09:19
maunix, andros, veguepic, muchas gracias por sus respuestas, por el momento estoy en un proyecto qoe me vuelve loco por completo, siempre me llamó la atención los analizadores de espectro para audio, y eso intento hacer; con un LCD y un 16F877A, pues lo que no se si todavía podré hacer es que sea el pic quien analice las distintas frecuencias de la señal, por lo que se implementar filtros digitales llevan demaciados calculos matemáticos y no se si me dan los mips, sino la otra es usar las 8 entradas del ADC pero con operacionales tipo bandpass con frecuencias específicas para cada canal. Los mantendré informados y esperos comentarios y sugerencias.
Saludos desde Martinez, Baires, Argentina.
Título: Re: El ADC de los Pic´s...
Publicado por: Deimos en 29 de Septiembre de 2006, 10:28:54
Para realizar un filtro digital pienso que seria más prudente que utilizases un dsPIC. El pic convencional puede que se quede corto en cuanto a mips, además en los filtros digitales hay que mover tablas con lo que el dsPIC resulta más eficiente.

Otro punto a favor de los dsPIC es que realizan hasta 4 conversiones A/D simultáneamente, aunque la conversión es secuencial. Esto hace que el dsPIC sea ideal para filtrar y reconstruir señales.

Si ya sabes programar pics como 16F o 18F, no te costará nada pasarte a dsPIC.
Título: Re: El ADC de los Pic´s...
Publicado por: maunix en 29 de Septiembre de 2006, 12:18:30
Para realizar un filtro digital pienso que seria más prudente que utilizases un dsPIC. El pic convencional puede que se quede corto en cuanto a mips, además en los filtros digitales hay que mover tablas con lo que el dsPIC resulta más eficiente.

Otro punto a favor de los dsPIC es que realizan hasta 4 conversiones A/D simultáneamente, aunque la conversión es secuencial. Esto hace que el dsPIC sea ideal para filtrar y reconstruir señales.

Si ya sabes programar pics como 16F o 18F, no te costará nada pasarte a dsPIC.

Adhiero a Deimos en que te convendría pasarte a los dsPIC que son más aptos para el tratamiento de señales digitales sobre todo Audio.   

Hay muchas notas de aplicación que versan sobre filtros digitales en la página de microchip y algunso código de ejemplo pero también hay muchas notas de aplicación y ejemplos en todos lados sobre como implementar algoritmos para hacer un ecualizador como el que tu quieres hacer.

No tengo experiencia en el tema pero sí navegando por internet he visto una y otra vez ejemplos de ese tipo.

En cuanto a migrarte a un dsPIC, disciento un poco contigo Deimos en este punto, no me parece que le será tan fácil la migración creo que habrá que leer bien detenidamente el datasheet para conocer la gran diferencia en cuanto a muchas cosas que tiene un dsPIC con un pic de gama baja.

Sin importar si se trabaja o no en C, dominar un nuevo microncontrolador requiere más que solo programar en C, también hay que saber conocer bien la arquitectura para no cometer errores, dañar algo o sacar provecho de la misma.


Saludos
Título: Re: El ADC de los Pic´s...
Publicado por: Deimos en 02 de Octubre de 2006, 11:42:54
Por supuesto que el cambio no es inmediato hombre, que le costará, pero no tanto como si nunca hubiese programado un PIC. Con el dsPIC podrá realizar hasta 1Msps con los ADCs internos, y encima 4 samples a la vez. Si mal no recuerdo, dentro del aplicattion maestro hay ejemplos de FIR en C, pero mucho me temo que serán para 18F.

Si te sirve de consuelo maunix, he visto algun fuente perdido por la red con filtros FIR hechos para dsPIC, donde no habian puesto en marcha el DSP engine interno del dsPIC.

Un dsPIC está pensado precisamente para procesar digitalmente una señal, por eso creo que lo más eficiente para lo que quiere hacer, es usar un dsPIC.
Título: Re: El ADC de los Pic´s...
Publicado por: maunix en 02 de Octubre de 2006, 11:51:18
Por supuesto que el cambio no es inmediato hombre, que le costará, pero no tanto como si nunca hubiese programado un PIC. Con el dsPIC podrá realizar hasta 1Msps con los ADCs internos, y encima 4 samples a la vez. Si mal no recuerdo, dentro del aplicattion maestro hay ejemplos de FIR en C, pero mucho me temo que serán para 18F.

Si te sirve de consuelo maunix, he visto algun fuente perdido por la red con filtros FIR hechos para dsPIC, donde no habian puesto en marcha el DSP engine interno del dsPIC.

Un dsPIC está pensado precisamente para procesar digitalmente una señal, por eso creo que lo más eficiente para lo que quiere hacer, es usar un dsPIC.

Te agradezco tus comentarios Deimos, pero no te estaba contradiciendo en cuanto a las posibilidades de un dsPIC sino que opino diferente en que no es alto simple comenzar un nuevo micro por más que sea de la misma "familia".

Opino que migrar de los 16F a los 18F conlleva algunos detalles que no son menores, sobre todo para el que le quiere sacar jugo a una arquitectura.  Pasar de un 16F a un dsPIC... es un salto mucho mayor y habrá mil cosas que podrán confundir y/o serán muy novedosas.

De hecho ni el compilador se mantienen iguales.