Autor Tema: Conversor A/D  (Leído 2309 veces)

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

Desconectado umalrovi

  • Colaborador
  • PIC16
  • *****
  • Mensajes: 158
    • Aplicaciones Electrónicas
Conversor A/D
« en: 19 de Julio de 2006, 10:20:02 »
Alguien me podría explicar como funciona el convertidor A/D del PIC. Tengo un programa en C y entiendo como se declaran las cosas, pero lo que no me queda claro es el principio de funcionamiento.

Gracias.
Aplicaciones Electrónicas
http://www.neoingenia.com/

Desconectado RedPic

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 5544
    • Picmania by Redraven
Re: Conversor A/D
« Respuesta #1 en: 19 de Julio de 2006, 12:38:55 »
Vamos a ver si soy capaz de explicarme razonablemente bien sin liarme demasiado ...  :mrgreen:

La conversión Analógica a Digital que es capaz de hacer un PIC consiste en convertir un valor de tensión (voltaje) que conectemos a un PIN, habilitado para ello, en un valor númerico proporcional a dicha tensión que podemos guardar en una variable y ser utilizado por nuestro programa del PIC.

Dicho de otra forma: Si entre un pin del PIC podemos tener una tensión, con respecto a GND, entre 0V y 5V y realizamos una conversion Analógico-Digital de ese pin con una precisión de 8 bits entonces el PIC puede "leer" esa tensión en 256 (2^8=256) valores distintos que nos devuelve como resultado de la lectura, siendo el 0 el correspondiente a los 0V y el 255 el correspondiente a los 5V, y todos los intermedios en "saltos" de 0,019V (5V/256).

Si en lugar de 8 bits estamos utilizando un PIC que tiene una conversor A/D de 10 bits de presición entonces ese mismo rango de 0V a 5V podemos "leerlo" en 1024 (2^10=1024) valores distintos, siendo el "resultado" 0 el que corresponde a los 0v y el 1023 a los 5V. Cualquier valor intermedio nos devolvera un número equivalente con "saltos" de 0,0049V por valor.

Hemos visto que el mínimo que podemos convertir es 0V o tensión del nivel del Vss (GND) del PIC y 5V o tensión del nivel de alimentación (Vcc) del PIC.

Esto es así si no utilizamos los Voltajes de Referencia, porque si los utilizamos entonces las cosas pueden cambiar a mejor ....

Me explico: Imaginemos un dispositivo analogico que varía su tensión de salida entre 0V y 1V. Si le aplicamos  la conversión A/D como antes con 8 bits de presición entonces los valores que vamos a obtener son entre 0 y 51 (1*256/5V) con lo que desperdiciamos una parte muy importante del rango posible de conversión, entre 52 y 255 nunca nos va a aparecer como resultado de la misma.

Entonces el truco está en poner a 1V la patilla VRef+ del PIC con lo que la conversión A/D a realizar en lo que haya presente en nuestro pin a leer se va a efectuar en 256 pasos entre GND y VRef+, no entre GND y Vcc como antes, con lo que obtenemos un resultado 5 veces mas preciso: 1V dividido en 256 trozitos con lo que cada número corresponde con 0,0039V.

Y todavía se le puede dar una vuelta de tuerca más a este asunto.

Imaginemos que nuestro dispositivo analógico varía su tensión de salida entre 1V y 2V. Si utilizamos el primer ejemplo que vimos, conversión A/D entre 0V y 5V con 8 bits de presición, entonces solo obtendremos números entre 51 y 102, perdiendo todos los valores inferiores y superiores a éstos.

Si utilizamos el ejemplo anterior a éste pero colocando el VRef+ a 2V entonces tendremos valores entre 128 y 255 pero ninguno inferior a 128 ya que nuestra tensión analógica no baja de 1V ....

Asi que la solución está en utilizar otra patilla del PIC para VRef-, o sea para ponerle la referencia de tensión mínima a partir de la cual vamos a convertir valores, que junto con la VRef+ tenemos el margen o rango de tensiones a convertir a gusto del consumidor.

En este segundo ejemplo pondríamos VRef- a 1V y VRef+ a 2V con lo que tendríamos una conversión de 8 bits en la que el 0 correspondería a los 1V y el 255 a los 2V ...   :P

Todo esto se puede ver en el siguiente diagrama de bloques del conversor A/D de los PIC's de la familia 16F87X que pongo mas abajo:



Un buen ejemplo lo tienes en Temperatura y Luminosidad con un LM35a y una LDR (Conv. AD)

Espero haberme explicado bien.




 
« Última modificación: 19 de Julio de 2006, 12:51:11 por RedPic »
Contra la estupidez los propios dioses luchan en vano. Schiller
Mi Güeb : Picmania

Desconectado Nocturno

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 18286
    • MicroPIC
Re: Conversor A/D
« Respuesta #2 en: 19 de Julio de 2006, 12:56:41 »
Joe, Diego, qué ganas me entran de plagiar tu post pa la Wiki-PIC.

Desconectado RedPic

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 5544
    • Picmania by Redraven
Re: Conversor A/D
« Respuesta #3 en: 19 de Julio de 2006, 12:59:43 »
Manolito:

Para un humilde picmaníaco, como es un servidor de usted, sería un honor aportar esta breve descripción a su Wiki-Pic como una nueva muestra de cariño, amistad y grácil donosura ....

ja ja ja  :D  :D  :D

Edito: Acabo de ver que en Wiki-Pic en el artículo que hay llamado ADC utilizas exactamente la misma imagen que yo aquí .... ja ja ja  :D  :D  :D

« Última modificación: 19 de Julio de 2006, 13:02:43 por RedPic »
Contra la estupidez los propios dioses luchan en vano. Schiller
Mi Güeb : Picmania

Desconectado pelusac

  • PIC16
  • ***
  • Mensajes: 118
Re: Conversor A/D
« Respuesta #4 en: 19 de Julio de 2006, 14:31:42 »
Bravo, bravo!!!!! Estupenda explicación, podríais ya que sois amigos tú y Nocturno intentar hacer un libro y ganaros unas pelillas extras.
  Saludos de un sevillano muy agradecido por vuestro aporte desinteresado. 8)

Desconectado Nocturno

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 18286
    • MicroPIC
Re: Conversor A/D
« Respuesta #5 en: 20 de Julio de 2006, 15:22:07 »
Plagiatum Est.

ADC en WikiPIC

Gracias Diego.

Desconectado Azicuetano

  • Moderadores
  • PIC24H
  • *****
  • Mensajes: 1020
    • Aplicaciones Electrónicas en Alicante.
Re: Conversor A/D
« Respuesta #6 en: 20 de Julio de 2006, 17:30:44 »
Que ganas que tenía de que te viciaras al foro Alfonso !!!

Además... has tenido el privilegio de leer una explicación de RedPic (el individuo que llamó unos minutos antes que yo a Radon y que me privó de un monton de componentes  :mrgreen: :mrgreen: :mrgreen:).

Ale!! Ahora... a programar mucho, a descansar poco y a enseñar aún más.


Un saludo desde Alicante.

PD: Antes de llamar a Radon tenia pensado lanzar una contraoferta (por si alguien ya lo había pillado) pero cuando me dijo que era RedPic el que se lo iba a llebar me abstuve. Con lo que me deleito cuando leo lo que escribe... me hubiera sentido sucio jajaja  :D :D :D

Desconectado Manofwar

  • Colaborador
  • PIC16
  • *****
  • Mensajes: 156
Re: Conversor A/D
« Respuesta #7 en: 20 de Julio de 2006, 18:33:18 »
Redpic con esas explicaciones le vas a quitar todas las ventas al Angulo  :lol:
Saludos desde Almería, España